LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Michael John Downes <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Mon, 14 May 2001 10:36:16 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (34 lines)
> Javier Bezos wrote:
> >> >For example, removing the fi ligature in Turkish. Or using an alternate
> >> >ortography in languages with contextual analysis.
...
> >Actually, they aren't, but for some reason Knuth
> >very likely understands, this information is included
> >in the tfm files (text font *metrics*).

It is because the pattern-matching required to identify ligature points
is almost identical (in the standard English cases) to the
pattern-matching required for kerning.

For kerns between pairs of characters, it is natural to store the
information in the .tfm file because it is highly dependent on the glyph
shapes. Then one needs to run some sort of pattern-matching process to
catch pairs of characters in the typesetting sequence in order to insert
kerns where applicable. For ligatures a very similar pattern-matching
process is needed, only somewhat more generalized. (For more complicated
requirements one needs something even more general, like the Omega
OCPs.)

The idea of repeating the similar processing in two separate steps
instead of combining them as much as possible into a single subroutine
would doubtless have seemed horrifyingly wasteful to Knuth. This would
fall within the fabled "inner loop" that he mentions so often in
tex.web as an area of special concern.

And then it is natural to store the ligature pattern data in the same
place (the .tfm file) to make using it as simple as possible.

But consequently if one wants to typeset some material with ligatures
turned off, the need to call a different 'no-ligatures' font tends to be
a real hindrance in practice.

ATOM RSS1 RSS2