[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