[Dev-luatex] OTF engine in LuaTeX

Barry Schwartz chemoelectric at chemoelectric.org
Sun Dec 28 23:11:02 CET 2008

Taco Hoekwater <taco at elvenkind.com> skribis:
> Elie Roux wrote:
>> Hans Hagen a écrit :
>>> there will be no built in otf engine or any engine
>>> (context comes with one written in lua; at some point i will make a 
>>> spin-off for plain tex that then also can be used elsewhere)
>> Ok... I still want to help with OTF support, whatever the solution, so if 
>> you need any help, just ask me.
> It makes sense to start with that generalization of the otf processing
> sooner rather than later, so maybe Elie could start studying the
> context font-related lua files?

It's probably a good idea to have many eyes looking at that code,
because there seems to be a tendency to implement feature support
incorrectly (including myself when I first started dealing with
OpenType features in my hobby work). A common effect that I have seen
with both Ant and HarfBuzz is for ligatures to be applied before

It is important to keep in mind that features are not ordered; they
are simply sets of lookup indexes. What you do is compute the union of
all the lookups of the selected features, and then do the lookups in
the order they appear in the lookup table.

It concerns me a little that LuaTeX should be able to handle ligatures
but not line-breaks in the middle of ligatures, because
ligature-lookups in OpenType are handled just like any other
substitution lookup. They don't require any special code different
from that of other lookup types; from my point of view, LuaTeX
shouldn't have to know anything about ligatures, just how to select
and execute lookups.

I studied the mkiv code several weeks ago but never in enough depth to
see what was going on in there. Also I don't know much at all about
OpenType support for non-LGC scripts.

More information about the dev-luatex mailing list