Another Variation on Missing Glyphs

Discuss FontCreator here, please do not post support requests, feature requests, or bug reports!
Post Reply
Dick Pape
Top Typographer
Top Typographer
Posts: 1360
Joined: Wed Oct 01, 2003 1:19 pm
Location: North Dallas, Texas

Another Variation on Missing Glyphs

Post by Dick Pape »

Came up against a problem wherein a font with some rather complex glyphs wouldn't fully display - either in Test Font or in MS Word.

Symptom: the line the large character was on wouldn't display, but the lines before and after were ok. The other characters would show when they were on a line by themselves. When these very large characters were unmapped, things cleared up of course.

A font would show at 30k points and not at 35k points, so I trimmed the 35k down to the point at which it would. Magically 32,768 points was the dividing line. It was an easy test to add a point and have it go away.

32,768 is 2^15 and is the maximum value of a signed 32 bits integer so perhaps this is being used along the way.

Interesting, FC wouldn't show the letter, but MT did not have the same limit. I added a thousand points of dark ... and MT was still showing the glyph, but it wouldn't display the 57k glyph so there is a stopping point someplace..

There were no problems printing when the glyphs could be seen on the screen. These images were silhouettes yet still had so many points -- largest was 57k points and was simple picture of a man in white tie tuxedo(!) drinking Martini Cocktails from a bottle(!) and smoking a cigar(!). The designer had drawn the smoke as thousands of tiny particles.
William
Top Typographer
Top Typographer
Posts: 2038
Joined: Tue Sep 14, 2004 6:41 pm
Location: Worcestershire, England
Contact:

Post by William »

32,768 is 2^15 and is the maximum value of a signed 32 bits integer so perhaps this is being used along the way.
This could perhaps be reworded as follows.

32,768 is 2^15 and is one more than the maximum positive value of a signed 16 bits integer so perhaps this is being used along the way.

William
Dick Pape
Top Typographer
Top Typographer
Posts: 1360
Joined: Wed Oct 01, 2003 1:19 pm
Location: North Dallas, Texas

Post by Dick Pape »

Don't forget to count 0 ...
William
Top Typographer
Top Typographer
Posts: 2038
Joined: Tue Sep 14, 2004 6:41 pm
Location: Worcestershire, England
Contact:

Post by William »

As I remember it, a 16 bit signed integer can have a value from -32768 to 32767. That is a total of 65536 different possible values, one of which is 0.

The least significant bit contributes either 0 or 1 to the value.
The next least significant bit contributes either 0 or 2 to the value.
The next least significant bit contributes either 0 or 4 to the value.
The next least significant bit contributes either 0 or 8 to the value.
.
.
.
The most significant but 1 bit contributes either 0 or 16384 to the value.

Then we have the following.

The most significant bit contributes either 0 or -32768 to the value.

Thus, for any 16 bit pattern one can calculate the number represented if the pattern is being regarded as a 16 bit signed integer.

William
Post Reply