[Fontinst] Bug in fontinstversion{1.927}

Lars Hellström Lars.Hellstrom at math.umu.se
Sat Jan 1 16:35:01 CET 2005

At 13.28 +0100 05-01-01, Peter Dyballa wrote:
>These are my statements to install Lucida Sans Typewriter in T1
>   \transformfont{slsrt8r}    {\reencodefont{8r}   {\fromafm{slsrt8a}}}
>   \transformfont{slsrot8r}   {\reencodefont{8r}   {\fromafm{slsrot8a}}}
>   \transformfont{slsbt8r}    {\reencodefont{8r}   {\fromafm{slsbt8a}}}
>   \transformfont{slsbot8r}   {\reencodefont{8r}   {\fromafm{slsbot8a}}}
>The log file contains these warnings:
>	Warning: missing glyph `Eng'.
>	Warning: missing glyph `eng'.
>although in shell I at least get:
>	pete 191 /\ grep -iw eng *.mtx
>	slsbot8a.mtx:\setnotglyph{Eng}{slsbot8a}{10pt}{-1}{750}{723}{205}{0}
>	slsbot8a.mtx:\setnotglyph{eng}{slsbot8a}{10pt}{-1}{750}{542}{205}{0}

Note that these are \setnotglyph's, not \setrawglyphs. This means the glyph
is present in the font, but not available in its current encoding, and thus
not accessible from a virtual font.

>	slsbot8r.mtx:\setscalednotglyph{Eng}{slsbot8r}{10pt}{1000}{
>	slsbot8r.mtx:\setscalednotglyph{eng}{slsbot8r}{10pt}{1000}{

Reencoding to 8r didn't help, of course, since neither Eng nor eng are in
that encoding.

>In t1.etx they're documented as being in the slots 141 and 173


>in which
>I can see:
>	pete 193 /\ egrep '141|173' *.mtx
>	slsbot8a.mtx:\setrawglyph{.notdef}{slsbot8a}{10pt}{141}{750}{625}{0}{0}
>	slsbot8a.mtx:\setrawglyph{sfthyphen}{slsbot8a}{10pt}{173}{750}{349}{

What is in a slot in one font has nothing to do with where there is in that
slot in another font.

>This can only come from the probably not Adobe encoded AFM files
>(ttf2p1 V3.4.4 writes StartFontMetrics 4.1 and puts descriptions for a
>few hundred up to almost 1,500 glyphs into the AFM files):

Well, one should expect it to write entries for all the glyphs that are in
the font, should one not?

>Invoking ttf2pt with '-l adobestd' I get these entries in the AFM files:
>	pete 227 /\ egrep '141|173' *.mtx
>	slsbot8a.mtx:\setrawglyph{.notdef}{slsbot8a}{10pt}{141}{750}{625}{0}{0}
>	slsbot8a.mtx:

Since that probably means "reencode to 8a", this is entirely natural too.
(It looks from the ttf2pt1 docs on sourceforge though as this would have
the effect of making a PS font with only those glyphs that are in the 8a
encoding, so it probably not a good idea.)

>and too the warning about eng/Eng.
>What's going wrong?

Nothing that I can see. Everything does precisely what you tell it to do;
the above certainly doesn't demonstrate any bug in fontinst.

What it boils down to is that you need to use provide the base font in
another encoding (besides 8r), since you want to make use of glyphs not
encoded in that encoding. Walter Schmidt and I gave some general
explanations on how to do this only yesterday on this list!

Lars Hellström

More information about the fontinst mailing list