[Poppler-bugs] [Bug 18002] character "q" instead of circle

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat Oct 11 16:22:07 PDT 2008


http://bugs.freedesktop.org/show_bug.cgi?id=18002





--- Comment #8 from James Cloos <cloos at jhcloos.com>  2008-10-11 16:22:04 PST ---
I can verify the bug using git master poppler and xpdf/poppler.

And that it does not occur with upstream xpdf-302.

Of note:

:; pdffonts attachment_19560.pdf 
name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
ZapfDingbats                         Type 1            no  no  no       5  0
Helvetica                            Type 1            no  no  no      10  0

and lsof(8) shows that xpdf/poppler loads only my prefered font for the
Sans alias and Nimbus Sans for Helvetica.  (Although I would have
expected it to load Arial....)

For me, the latter is related to this difference:

:; fc-match 'ZapfDingbats'
LucidaSansRegular.ttf: "Lucida Sans" "Regular"

:; fc-match 'Zapf Dingbats'
Dingbats.ttf: "Dingbats" "Regular"

The latter is due to this code in /etc/fonts/conf.d/30-urw-aliases.conf:

        <alias binding="same">
          <family>Zapf Dingbats</family>
          <accept><family>Dingbats</family></accept>
        </alias>

Something of that sort is probably also the case for the OP.

I just added this similar snippit to my ~/.fonts.conf:

        <alias binding="same">
          <family>ZapfDingbats</family>
          <accept><family>Dingbats</family></accept>
        </alias>

and pdf/poppler started rendering the pdf correctly.

It still seems odd that it displays a 'q'.  The solid circle in the
Dingbats encoding is at 0x6C, the same spot as 'l' in ASCII.  And in
fact the PDF has many occurances of the form of:

  /F1 1 Tf 1 Tr 9.97 0 0 9.97 71.38 78.65 Tm (l) Tj 0 Tr

all setting the string (l) in ZapfDingbats.  Somehow poppler is
converting that to a 'q'....

There is no /Encoding specified for /F1, just:

  << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /ZapfDingbats >>

And I see that R uses the Tr operator to choose filled vs open circles.

So why 'q' instead of 'l'???

(Interestingly, selecting a circle in the xpdf-302 window and pasting
to a terminal pastes a 'q', not an 'l', even though xpdf-302 renders
the circle from Dingbats.  Acroread will only dump core for me since
I last upgraded it, so I can’t compare what it sends when doing copy/
paste of the circles.)

The PDF uses Helvetica only for the x, y and digits on the axes,
the ZapfDingbats only for the circle.  Everything else is done with
stroked and/or filled lines and curves.

I also see a difference between the pdf and png at x=5,y=3.  The PDF
shows a WHITE UP-POINTING TRIANGLE in a COMBINING ENCLOSING SQUARE
whereas the png has a WHITE DOWN-POINTING TRIANGLE in the COMBINING
ENCLOSING SQUARE.


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the Poppler-bugs mailing list