[Dev-luatex] OTF engine in LuaTeX

Hans Hagen pragma at wxs.nl
Mon Dec 29 11:49:32 CET 2008

Barry Schwartz wrote:
> Hans Hagen <pragma at wxs.nl> skribis:
>> not even that, you just (re)construct node lists and manipulate glyph nodes 
>> (which can have lig info)
> I just get concerned when I see reference to stuff like ligature info,
> because in general, and speaking in part as an amateur font designer,
> it seems difficult to stray from just strictly following the algorithm
> (an algorithm that is treated oddly casually in the spec). For
> example, once you throw in contextual alternates and contextual
> ligatures, you have two or more lookup tables to go through, with any
> number of single, multiple, and ligature substitutions, which have to
> be performed in order. Just throwing in 'dlig' along with 'liga', or
> even just one of them, is likely to get you two or more lookups to go
> through, with arbitrary substitutions performed in-between. In
> general, how can one know what the result will be without just going
> through lookup lists or equivalent data structures?

one cannot, which is why i think that fonts will have bugs and since 
font vendors have no update program (bug fixes) one is then stuck with 
this problem

add to that the fact that when something works in the designers 
favourite program (which isthen seen as standard) changes are low that 
it will be fixed; but the same is true for features in general: when 
(say) indesign 2 does not support something (thereby hiding bugs in 
fonts) but version 3 does ... what is the standard? the indesign defaults?

ligatures are kin dof manageable but think of frac and friends: often 
implemented partially so unpredictable for global usage; it assumes that 
one 'selects a piece of text in a gui and applies that feature'; a tex 
macro package can deal with that better by providing some mechanism that 
is clever enough to see if something is in the font or not

> I've moved on to wonder how best to handle chaining contextual
> substitutions that look at glyphs in more than one word at a
> time.

always tricky .. crossing word boundaries (what is a boundary? space? 
small kern?) and it also concerns line breaks (which might alter things)

we're experimenting with alternative arabic typesetting, using info 
stored in features but applying different algorithms


                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                              | www.pragma-pod.nl

More information about the dev-luatex mailing list