lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Snippet 706: Generating custom flags


From: Werner LEMBERG
Subject: Re: Snippet 706: Generating custom flags
Date: Tue, 29 Dec 2015 16:59:16 +0100 (CET)

>>> pdfTeX warning: pdfetex (file
>>> /usr/share/texmf-dist/fonts/type1/public/tex-gyre
>>> /qcsr.pfb): glyph `f_i' undefined
>>
>> Yep, the font in question only contains `fi' and `fl' glyph names.
> 
> How could we fix this?

We can't, except using luatex, as suggested by Masamichi-san.

Lilypond uses the OpenType (CFF) version of TeXGyreSchola to create
the PDF.  pdftex, however, uses the Type 1 (PFB) version.  The former
contains `f_i' and `f_l' glyphs, while the latter has `fi' and `fl'.
To make the output PDF file as small as possible, pdftex tries (a) to
merge the (subsetted) fonts of included PDF files, and (b) to subset
the fonts afterwards again.  To unify fonts, pdftex obviously looks at
the font name only – it assumes that fonts with identical names have
identical glyph names, which normally is a sound assumption, but here
it fails.

There are two bugs in pdftex.

  (1) It touches the fonts of an included PDF file without any need,
      since the test LaTeX document doesn't use TeXGyreSchola.

  (2) It doesn't check for alternative glyph names of ligatures; due
      to the Adobe Glyph Name (AGN) algorithm, valid names for the
      `fi' ligature are both `fi' and `f_i'.

Similarly, there is a bug in TeXGyre: There is absolutely no need to
use the two different glyph names `fi' and `f_i', depending on the
font format.  If you really want to do that, it is trivial to make the
CFF and PFB version both contain `fi' and `f_i'.

luatex, on the other hand, also uses the CFF version, so there is no
font format clash.


    Werner

reply via email to

[Prev in Thread] Current Thread [Next in Thread]