[Poppler-bugs] [Bug 88242] Some characters from embedded type1 (8bit) font are not rendered

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Jan 9 08:31:06 PST 2015


https://bugs.freedesktop.org/show_bug.cgi?id=88242

--- Comment #3 from Mike Kroutikov <mkroutikov at innodata.com> ---
Here is my understanding of what goes wrong:

1. embedded font has encoding table that uses glyph names like Cxx, where xx is
a numeric code. For example, C65 is a name for the glyph "a"

2. PDF defines encoding Differences array that says that code 65 should be
associated with name "A"

3. When SplashFTFontFile::loadType1Font is called it builds codeToGIDA mapping
from character code to gid (using the encoding names). For code 65 it asks
FreeType engine to find a glyph "A", which is not present in the embedded font.
Hence 65 is mapped to 0. This causes glyph to be silently skipped.

Looks like the Differences array in PDF is generated incorrectly. 

Section 5.5 of PDF reference manual says:

"An Encoding entry can alter a Type 1 font’s mapping from character codes to
character names. The Differences array can map a code to the name of any glyph
description that exists in the font program, whether or not that glyph is
referenced
by the font’s built-in encoding or by the encoding specified in the
BaseEncoding entry."

It does not say what to do when Differences array maps to a name that is NOT in
the font program. But apparently Acrobat just ignores such a mapping entry.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/poppler-bugs/attachments/20150109/1e417c93/attachment.html>


More information about the Poppler-bugs mailing list