[pdftex] Font (embedding) problem

Reinhard Kotucha reinhard.kotucha at web.de
Wed Apr 11 22:52:59 CEST 2007

Hi, I now added pdftex, NTG-pdftex, and Eddie to the CC.  

For people who did not follow the thread on the pdftex mailing list,
here is a short summary:

Marcel created some subsets of an OTF font using lcdf typetools.  One
subset used normal figures, one used oldstyle figures and one used
superscript figures.  His printer produced wrong output.

I examined the output files produced by pdftex:  All the subsets used
the same encoding scheme,  the glyph names had been /one, /two, and
/three in all subsets, the /UniqueID is the same in all subsets.  The
only difference was /FontName since an arbitrary string had been
prepended to the original /FontName.

It turned out that Marcel's printer ignores /FontName and entirely
depends on the /UniqueID.  I converted the three subsets to PFA and
wrote a small test file and even Ghostscript (-sDEVICE=X11alpha)
produced wrong output.  See:


It works with gs if you comment out the /UniqueID in testfonts.ps but
this seems not to be sufficient for Marcel's printer because:

>>>>> "Marcel" == Marcel Korpel <marcel.lists at gmail.com> writes:

  > On 04/04/07, Reinhard Kotucha <reinhard.kotucha at web.de> wrote:
  >> The current release (1.40.3) does this already.  At least it
  >> removes the first occurrence of the UniqueID.  But there is still
  >> a UniqueID in the /Private dictionary.  Maybe it should be
  >> removed too.  I'm quite confident that no interpreter looks for a
  >> UniqueID in the /Private dictionary.

  > Well, at least the mentioned Océ printer seems to use it. When I
  > only remove the first instance of the /UniqueID, the bug pops up
  > again...

In my opinion it is wrong to ignore /FontName.  But on the other hand
I think that it is also wrong *not* to delete the /UniqueID when a
subset of a font is created.  I don't know what the Adobe reference
manuals say, the nasty things are in the TechNotes, but it seems that
developers of PS interpreters interpret the specs slightly different

Though I think that the /UniqueID is helpful to distinguish between
Adobe Courier and IBM Courier (shipped with X11), I now come to the
conclusion that it causes more trouble than it helps.

I don't think that it's bad that a font provides a /UniqueID.  But it
is probably quite appropriate to remove it when a subset is created.

The current release of pdftex deletes the /UniqueID from the font
dictionary but not the instance in the /Private dictionary.  But
certainly it should.

I also think that lcdf typetools should remove the /UniqueID if a font
is altered.


Reinhard Kotucha			              Phone: +49-511-4592165
Marschnerstr. 25
D-30167 Hannover	                      mailto:reinhard.kotucha at web.de
Microsoft isn't the answer. Microsoft is the question, and the answer is NO.

More information about the pdftex mailing list