Faking ff ligatures

Rebecca and Rowland rebecca@astrid.u-net.com
Fri, 2 Oct 1998 01:45:59 +0100

At 12:47 am +0100 25/9/98, Hilmar Schlegel wrote:
>rebecca@astrid.u-net.com  Thu Sep 24 16:26:22 1998 writes:
>> Righto - so it seems to me that the sensible thing to do in this case is to
>> fill the ffi and ffl ligature slots with `f' `f' `l'  rather than `f' `fl'
>> ligature (etc).
>It is open for a discussion if f f l or f fl is right thing to do but f
>f i causes either a collision or is spaced out: if all else fails use of
>f fi is to recommend.

In the case of Gill Sans Outline Light, f fi looks awful; f f i is *much*

>> I reckon the appropriate modification is writing a file ffl+ffi_hack.mtx
>> and putting this in it:
>Well, first of all keep the filename within 8.3 constrictions ;-)

Ah, but I only need to do that if I'm going to release the code...  Since
I've not got the slightest intention of letting this horrible hackery out
of my sight, I'll stick with a meaningful filename.  I avoided a braindead
filesystem especially so I *could* use meaningful filenames.

>Two steps are necessary:
>1. adjust the kerns in the AFM or set leftkerning of fi to that of f in
>case f is kerned with itself in an acceptable way.

It is, in my opinion.  The only problem is with the combinations: f fi and
f  fl; ff alone is fine in my opinion, as are fi and fl.  It's only the f
fl and f fi `ligatures' that need dealing with.

>> \setglyph{ffi}
>>    \glyph{f}{1000}
>>    \movert{\kerning{f}{fi}}
>>    \glyph{fi}{1000}
>> \endsetglyph

This is already done by latin.mtx.

>You can also drop ff, ffi and ffl at all for your case as Thierry
>suggests - only the kerns have to be adjusted accordingly anyway.

How do you mean?

>> Is this less mad?
>No, use the ligs you have and get the metrics of your font straight.

As far as I can tell, the metrics of the fount *are* straight; I've been
playing around, and I think Thierry's solution (drop the fi and fl
ligatures from the ffi and ffl ligatures) is the best idea.

> If
>that is not sufficient get the expert set with the ligs, or make/order
>the ligs which are missing for your font.

These alternatives aren't practical: no expert fount exists for the fount
in question; I don't have (nor can I afford) the tools to create and modify
Type 1 founts; and I certainly can't afford to get someone to do the work
for me.