[Dev-luatex] HarfBuzz [slightly off-topic]

Graham Douglas graham.douglas at readytext.co.uk
Thu Feb 3 21:54:37 CET 2011


 > HarfBuzz provide an OpenType layout engine (Graphite support existed at
 > some point, but were removed to be rewritten, AAT is planned in some
 > distant future) but no bidi (the client have to do it in its own or use
 > other libraries like fribidi).
 >
 > HarfBuzz workflow is usually 1) loading a font in FreeType 2) shaping
 > text in HarfBuzz for that font 3) getting back glyph indices and
 > positions. Of course there are more details like itemizing the text,
 > selecting font features and so on.
 >
 > FreeType is not mandatory, but using it simplifies the process.
 >
 > Hans have written (and still improving) an OpenType layout engine
 > completely in lua(tex) and it more or less does what HarfBuzz would do,
 > it may support more features than HarfBuzz but HarfBuzz code is more
 > widely tested, so each have its pros and cons.
 >
 > I can imagine a separate module where HarfBuzz is plugged into LuaTeX
 > allowing it to process node lists instead of text strings (HarfBuzz have
 > callbacks that I think can be used to plug function that deal with node
 > buffers instead of text strings), it can be an interesting exercise and
 > I expect HarfBuzz maintainer to be willing to cooperate.
 >
 >
 > Regards,
 >  Khaled

-- 
 > Khaled Hosny
 > Egyptian


Dear Khaled

Thanks very much indeed for this helpful summary.
I've now compiled HarfBuzz on Windows (using Visual Studio)
so, it's time to explore it :-)

Just to add, I do of course understand why libraries such as HarfBuzz
should not be part of core LuaTeX and only ever "plugged in"
via library facilities as a DLL/so. As I'm sure many others have 
experienced when using/building tools, it can be quite annoying to
hit "multiple cascading library dependancies" which can be a real 
nightmare to sort out even for a one-off build, let alone trying to
maintain!

Thanks again to everyone for the discussions on this thread.

Cheers

Graham






More information about the dev-luatex mailing list