[gs-bugs] [Bug 689198] Handling of missing glyphs in fonts

bugs.ghostscript.com-bugzilla-daemon at ghostscript.com bugs.ghostscript.com-bugzilla-daemon at ghostscript.com
Fri Feb 6 03:13:29 PST 2009


http://bugs.ghostscript.com/show_bug.cgi?id=689198





------- Additional Comments From ken.sharp at artifex.com  2009-02-06 03:13 -------
Hmm, I'm coming into this thread with no background, could Till or Hin-Tak help
me out here please ?

Are we referring to PostScript (type 1, type 3, CID etc) or TrueType fonts ?
>From my understanding of the spec(s), a font *must* contain a .notdef as the
bare minimum, precisely to handle the condition of missing glyphs. A font which
does not contain a .notdef is an invalid font.

If I remember correctly, the equivalent in a TrueType font is the glyph whose ID
is 0.

When a glyph is missing in a font, it must be replaced by the .notdef glyph (GID
0 for TT).

As Hin-Tak says, what a .notdef looks like is entirely up to the font designer,
most PostScript fonts use a glyph which draws nothing, most TrueType fonts use a
hollow rectangle (which is a common cause of complaint about glyphs being
replaced with squares). There are exceptions to both these cases.

>From Till's original comment, I infer that what we have here is a discussion
about TrueType fonts, where glyph 0 is the 'hollow rectangle', the common case.
I'm assuming that there are complaints because the missing glyph is substituted
by the rectangle, and that Acrobat just shows an empty space. I've tried in the
past to decipher what rules Acrobat uses for this, and failed. Sometimes it
shows GID 0, sometimes it draws nothing.

If this is the problem, then one possible proposal is to add a new contrl (eg
UseTrueTypeNotDef) which defaults to true and causes GS to use the glyph at ID 0
for missing TrueType glyphs. When the control is false, GS simply elides the
glyph, and moves the current point, effectively replacing with a space.

Comments, opinions ? Did I completely misunderstand the problem ?




------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.



More information about the gs-bugs mailing list