[Fontinst] LIG plus kerning
raichle at Informatik.Uni-Stuttgart.DE
Thu Oct 21 10:47:53 CEST 2004
On Wednesday, 20 October 2004 11:40:05 +0200,
Ulrich Dirr <ud at art-satz.de> writes:
> > Ulrich Dirr wrote:
> > > Lars Hellström wrote:
> > >
> > >>Not really, since this is a fundamental limitation of the TeX ligaturing
> > >>mechanism: kerns and ligatures are formed in a single pass over the text,
> > >>so the right hand side of a kerning or ligature pair will always be a raw
> > >>character. (Maybe you can get it right if you do something really clever
> > >>with the more exotic ligaturing instructions and additional dummy
> > >>characters, but that it most likely not worth the trouble.)
> > >>
> > >>
> > >>>Can I combine this 'two-step'-ligatures with individual kerning pairs?
> > >>
> > >>Kerns to its right will work as usual. Kerns on its left have no effect
> > >>since the ligature has not yet been formed when that kern position is
> > >>considered.
> > >>
> > >>Similar problems occur in the T1 encoding for the >> and << ligatures.
> > >
> > > That's bad news. So I've to find a 'nice' looking char for direct input
> > > (the ANSI dec133 is already used by another glyph). And a macro solution
> > > like \dots would make the input file unreadable because 'ellipsis' is used
> > > heavily.
> > Well, experience shows that for typical texts with ...
> > this: '...' --> '..' + '.' --> 'ellipsis' or '. . .' (kerned dots)
> > works reasonably well and provides an easy automatic + transparent
> > improvement compared to the text where authors simply didn't
> > care about...
> I don't understand this. I've made the lig mechanism '.' + '.' --> '..' +
> '.' --> 'ellipsis'. But as Lars has pointed out I will lose the kerning.
As already mentioned TeX single pass interwoven ligature&kerning
builder won't allow kerning for glyph/ligature + ligature. It only
allows kerning for glyph/ligature + glyph.
On the non-macro level there exists only one solution using TeX: There
is no problem if the first glyph of a ligature has (almost) the same
kerning on the left side as the ligature. If this is not true you
have to use a macro based solution.
What is needed to solve this restriction is a TeX extension, where the
ligature and kerning building passes are separated. After some
experiments I have a prototypical implementation showing that this
separation of ligature building and kerning insertion is possible in a
single pass, too! :-)
The sad thing is that I had no time to implement this prototypical
solution as a TeX.web patch. Probably there is someone with enough time
and TeX.web knowledge?
More information about the fontinst