Taco Hoekwater
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 small-caps-substitution. 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.