[Poppler-bugs] [Bug 13131] New: problem with dingbats
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Wed Nov 7 10:01:14 PST 2007
http://bugs.freedesktop.org/show_bug.cgi?id=13131
Summary: problem with dingbats
Product: poppler
Version: unspecified
Platform: Other
OS/Version: Linux (All)
Status: NEW
Severity: minor
Priority: medium
Component: general
AssignedTo: poppler-bugs at lists.freedesktop.org
ReportedBy: danw at gnome.org
With the latest poppler and evince, given a form such as
http://www.irs.gov/pub/irs-pdf/f1040.pdf, I don't see checks in the checkboxes
when I click them. But it works fine for Carlos, and I'm not sure why.
I'm on Fedora 8. I have the Zapf Dingbats -> Dingbats alias in fontconfig,
although it doesn't seem to be relevant.
Stepping through the code, the Gfx8BitFont constructor in poppler/GfxFont.cc
gets called, finds that ZapfDingbats *is* a builtin font (line 522), sets
baseEnc to the defaultBaseEnc from the builtinFont (line 690), and initializes
enc from that (which is to say, from zapfDingbatsEncoding in
poppler/FontEncodingTables.cc). But then, when it gets to
the "build the mapping to Unicode" step, the
globalParams->mapNameToUnicode(charName) call (line 763) fails for every
character in zapfDingbatsEncoding except "space". So then "pass 2" (lines
794-821) interprets the Zapf Dingbats dummy character names (eg, "a20" for the
checkmark) as being hexadecimal, and initializes toUnicode accordingly. So the
char code -> Unicode mapping ends up completely wrong (except for space), and
as a result, when it tries to render the check later, it ends up drawing
nothing.
If I add the line
{0x2714, "a20"},
to nameToUnicodeTab in NameToUnicodeTable.h, then everything works. (Well, at
least for that one character, presumably you'd want to add mappings for all of
the other Zapf Dingbats characters too.)
As I said, the code apparently works as-is for Carlos, so I'm not sure what's
going wrong on my machine...
--
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the Poppler-bugs
mailing list