[cups.bugs] [LOW] STR #2138: pdftops creates invalid PS fromparticularPDF

Hin-Tak Leung hintak_leung at yahoo.co.uk
Wed Dec 13 16:28:25 PST 2006


Helge Blischke wrote:
> Michael Sweet wrote:
>> Tim Waugh wrote:
>>
>>> On Mon, 2006-12-11 at 08:54 -0500, Michael Sweet wrote:
>>>
>>>> The embedded font in the PDF file does not contain a space glyph. The
>>>> default "missing character" glyph name in ESP Ghostscript is "space"
>>>> instead of ".notdef".  Ghostscript is throwing an error because it can't
>>>> find a space character in the embedded font.
>>>>
>>>> espgsMissingChar is defined in gs_init.ps; you can patch it to use
>>>> .notdef, however keep in mind that this will lead to some PDF files
>>>> printing with boxes for missing characters instead of spaces...
>>>
>>> Isn't it possible to have GS try 'space' first and fall back to
>>> '.notdef' if 'space' isn't defined?
>>
>> Possibly, but I'm not sure how convoluted it would be (gs_type1.ps
>> and gs_ttf.ps both use espgsMissingChar...)
>>
>> Given that we're trying to get ESP Ghostscript and GPL Ghostscript
>> merged, I'd recommend filing a bug against GPL Ghostscript requesting
>> that both space and .notdef be tried; currently GPL Ghostscript only
>> uses .notdef...
>>
> 
> The real error is that the font subset embedded in the PDF
> does not contain a space glyph though the text rendered using this font
> *does* contain space characters.
> 
> As dvips itself does not font subsetting by itself, I suspect
> that the subsetting bug is in espgs.

But .notdef is required by most (all?) of the font specs as a fall-back
glyph, space isn't (it is rare for the space glyph to be absent in a font,
but I can well imagine some symbol fonts simply
don't have the space glyph, but .notdef is definitely required, or it
is not a valid font file). The behavior of GPL ghostscript is correct
and that of ESP ghostscript is simply wrong.

Why was EPS gs changed in the first place? I know the excuse "customer
prefers space than a black/white box", for which I can only say, "use a 
different font with all the glyph you need"  - using .notdef, and only
..notdef, is the correct behavior. That's the whole reason why there
is a glyph called ".notdef"!


Send instant messages to your online friends http://uk.messenger.yahoo.com 





More information about the cups-devel mailing list