Faking the ligatures

Primoz Peterlin peterlin@biofiz.mf.uni-lj.si
Tue, 5 Sep 2000 15:47:32 -0400


Hello,

OK, this is a rookie question, I know. So please bear with a fontinst
beginner for a moment...

HISTORIA: A minor local publishing house here uses a set of Type 1 fonts
for a series of books they produce. They are usually doing their
typesetting with PageMaker or some similar Windows thing. And... Their set
of Type 1 fonts is not using Adobe Standard Encoding, but Windows' own
CP1250 encoding instead. And... I was challenged with the task of
mimicking their layout in LaTeX. :)

STORIA: Fontinst looks *the* tool for the job. When encountered an
encoding other than Adobe Standard Encoding, fontinst surprised me with
the intelligent reaction. All the letters I need -- \v{c}, \v{s} etc. --
are here. I don't really understand whether fontinst takes the ready-made
glyphs from the original fonts or constructed them, but I don't care at
this stage.

However, I have problems with `fi' and `fl' ligatures. Even though CP1250
is much more populated with glyphs than the Adobe Standard Encoding, it is
lacking them. I would like to substitute them with `fi' and `fl',
respectively. I believe virtual fonts are the right place to make such a
substitution, right?

Another interesting observation (which probably only tells how little I
know about fontinst operation): `fi' and `fl' are there on the screen when
I preview with Xdvi, but are missing when I print the document on a
PostScript printer. MakeTeXPK -- or gsftopk -- obviously knows how to
replace `fi' ligature with f and i. Where does it get this information
from? 

The fontinst file I am using is rather basic:

\input fontinst.sty
\transformfont{ulgr8r} {\reencodefont{8r}{\fromafm{ulgr8a}}}
\installfonts
\installfont{ulgr8t} {ulgr8r,latin} {T1}{T1}{ulg}{m}{n}{}
\endinstallfonts
\bye

And it actually produces a virtual properties list file which IMHO
contains the instructions on constructing the ligature:

(CHARACTER D 28 (COMMENT fi)
   (CHARWD R 12.0)
   (CHARHT R 7.34998)
   (CHARDP R 0.0)
   (MAP
      (SETCHAR D 102) (COMMENT f)
      (SETCHAR D 105) (COMMENT i)
      )
   )

So why is the slot still empty on the printer? My psfonts.map contains

ulgr8t LetterGotLEE-Medi "CorkEncoding ReEncodeFont" <cork.enc <LE21004L.PFB

So what am I doing wrong?

With kind regards,

Primoz

--
Primo&zcaron; Peterlin,   Inštitut za biofiziko, Med. fakulteta, Univerza v Ljubljani
Lipi&ccaron;eva 2, SI-1000 Ljubljana, Slovenija.  primoz.peterlin@biofiz.mf.uni-lj.si
Tel: +386-1-5437632, fax: +386-1-4315127, http://sizif.mf.uni-lj.si/~peterlin/