[poppler] Fwd: [Bug 690722] Problem with the font embedding logic
Martin Schröder
martin at oneiros.de
Thu Aug 20 03:57:40 PDT 2009
Hi,
users of pdftex & luatex frequently get the message
Error: Illegal entry in bfchar block in ToUnicode CMap
Apparently some (mostly harmless) buglet in xpdf...
Best
Martin
---------- Forwarded message ----------
From: <bugs.ghostscript.com-bugzilla-daemon at ghostscript.com>
Date: Thu, Aug 20, 2009 at 12:29 PM
Subject: [Bug 690722] Problem with the font embedding logic
To: luigi.scarso at gmail.com
http://bugs.ghostscript.com/show_bug.cgi?id=690722
ken.sharp at artifex.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |INVALID
------- Additional Comments From ken.sharp at artifex.com 2009-08-20 03:29 -------
This appears to be an error with xpdf, not Ghostscript. The original file
includes a ToUnicode CMap which uses the ~bfchar operators:
0 beginbfrange
endbfrange
5 beginbfchar
<0004> <0021>
<002B> <0048>
<0048> <0065>
<004F> <006C>
<0052> <006F>
endbfchar
The output from pdfwrite encodes the same information but uses the ~bfrange
operators instead:
5 beginbfrange
<04><04><0021>
<2b><2b><0048>
<48><48><0065>
<4f><4f><006c>
<52><52><006f>
endbfrange
Now this is nominally slightly less efficient, since it requires a start and end
range, but the spec does not say (Technical note 5014 Adobe CMap and CIDFont
files specification) that these cannot be the same (p72 and 73 of the spec).
In fact it appears that xpdf is assuming that the start and end codes will be 4
bytes long. If I modify the entries thus:
5 beginbfrange
<0004><0004><0021>
<002b><002b><0048>
<0048><0048><0065>
<004f><004f><006c>
<0052><0052><006f>
endbfrange
The problem disappears. The spec says:
"Values for srcCodeLo and srcCodeHi must be in hexadecimal notation. "
There is no apparent requirement for null padding, so this requirement by xpdf
would seem to be incorrect. Further, Adobe Acrobat is capable of opening both
files *and* searching for the text in both cases. Since Acrobat requires the
ToUnicode table to search for text in a CIDFont it would seem that Adobe do not
require this either.
------- You are receiving this mail because: -------
More information about the poppler
mailing list