[Poppler-bugs] [Bug 46744] New: [patch] pdftops git 29feb12 -passfonts regression

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Feb 28 20:56:35 PST 2012


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

             Bug #: 46744
           Summary: [patch] pdftops git 29feb12 -passfonts regression
    Classification: Unclassified
           Product: poppler
           Version: unspecified
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: utils
        AssignedTo: poppler-bugs at lists.freedesktop.org
        ReportedBy: williambader at hotmail.com


Created attachment 57789
  --> https://bugs.freedesktop.org/attachment.cgi?id=57789
patch against poppler cloned from git on 29Feb12

When a PDF references a non-embedded font, the git version of pdftops ignores
-passfonts and attempts to embed an external font.

This is a regression from 0.18.4 on two counts.

First, when pdftops embeds the font, it creates a font with the name referenced
in the pdf even if it embeds a substitute.  This makes the generated EPS file
misleading because pre-flight scans of the EPS won't generate warnings about
missing fonts, but the file will print incorrectly, even if the printer has the
correct font.

Second, even if pdftops embeds a font with the same name, the font might be
different, for example, the Linux system running pdftops might have a low
quality free font while the printer might have a high quality commercial font.

In addition, I have a workflow with a lot of little files that all use a small
number of fonts.  For a sample 2326 byte PDF, pdftops 0.18.4 generated a 18080
byte EPS while the new git version generates a 1157015 byte EPS, over 60X as
large, due to the embedded font (which happens to be a substitution anyway).  I
have to build PS pages that each contain several hundred of these files, and
all of the extra copies of the font add up.

It seems like someone tried to replace psSubstFonts with psFontPassthrough in
GlobalParams, but pdftops.cc sets psSubstFonts while GfxFont.cc tests
psFontPassthrough.  I made the smallest change to get -passfonts working, which
was restoring GlobalParams::getPSSubstFonts() and testing
globalParams->getPSSubstFonts() in GfxFont::locateFont().  This restores the
behavior of 0.18.4 (and previous versions).

William

-- 
Configure bugmail: https://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