Comment 4 for bug 132417

Revision history for this message
In , Sebastien Bacher (seb128) wrote :

The bug has been opened on https://bugs.launchpad.net/bugs/132417

"...
When displaying a PDF document with a non-embedded font 'ArialMT', no attempt is made to display the ArialMT font.

Expected behavior:
evince asking fontconfig to produce the closest match to the ArialMT font.

Actual behavior:
no request for font is seen in debug output of fontconfig.

It might be a poppler issue, poppler seems to convert ArialMT into Helvetica wich receives a less fitting match from fontconfig when Arial is present.
...

After trying to find an excellent example, i'll have to amend my bugreport a tiny bit. It is not about ArialMT but about non-embedded: PalatinoLinotype-Roman

It's about document http://www.vmware.com/pdf/vi3_301_201_admin_guide.pdf

The 'normal' text on for instance book page 7, is in acrobat reader a serif typeface, in evince it is a 'sans-serif'.

When i turn on FC_DEBUG=4 and 'printCommands yes' i learn the following:

Add Subst match
        pattern any family Equal "Palatino-Roman"
edit
        Edit family Append "URWPalladioL-Roma";

(indeed: fc-match Palatino-Roman gives: URWPalladioL-Roma.pfb: "URW Palladio L" "Roman", which is in gfonts-x11)

I am not a master in interpreting fontconfig / poppler debug output, but i will try to find the relevant spot:

If poppler encounters the lines:

Tf /TT8 1
  font: tag=TT8 name='PalatinoLinotype-Roman' 1
Tm 10.98 0 0 10.98 153 640.02
Tc 0.0008
Tw -0.0049
Tj (Customizing Guest Op)

It starts finding a proper font match.

FcConfigSubstitute Pattern has 6 elts (size 16)
        family: "Palatino Linotype"(s)
        slant: 0(i)(s)
        weight: 80(i)(s)
        width: 100(i)(s)
        spacing: 0(i)(s)
        lang: "xx"(s)
...
(it passes the opportunity to match a close relative:)
FcConfigSubstitute test pattern any family Equal "Palatino-Roman"
No match
...
(and concludes with:)
Substitute match
        pattern all family NotEqual "sans-serif"
        pattern all family NotEqual "serif"
        pattern all family NotEqual "monospace"
edit
        Edit family AppendLast "sans-serif";

Does this help you any further?

Gr. Sim
...
By the way, i've recompiled libpoppler-glib and removed the internal font face translation (effectively delegating it to fontconfig). And the PDF's look almost perfect."