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

Paul Isambert zappathustra at free.fr
Tue Feb 1 20:54:45 CET 2011

Le 01/02/2011 20:21, Graham Douglas a écrit :
> Hi to all
> Apologies in advance for the slightly off-topic nature of this
> post. I've been reading about HarfBuzz which certainly looks to
> be an interesting project. From the project page there is a link
> to an article titled "State of Text Rendering" by Behdad Esfahbod
> http://behdad.org/text/
> Within that article is a section on TeX engines with a reference to
> XeTeX and LuaTeX --- I'm just quoting a small bit of the article which
> I hope is not too much out of context:
> "The XeTeX creator is working on HarfBuzz on behalf of Mozilla now, 
> and plans to port XeTeX to HarfBuzz eventually. In the long term 
> though, pdfTeX's successor luaTeX should be made to do the same thing. 
> There is more to Unicode support than just shaping, and in those areas 
> the TeX engines can gain a lot by building on top of existing libraries."
> At present my own understanding of the precise role that HarfBuzz could
> play is a little sketch/hazy right now, but I'm working on that ;-). 
> In the meantime I'd be interested to know if, in theory, HarfBuzz 
> could be
> usefully plugged into LuaTeX, such as via an external library 
> (.so/.dll).From what I understand... HarfBuzz provides a shaping engine
> so that, for example, it could provide useful services such as the 
> bidi algorithm, and information that could be useful for typesetting 
> complex
> scripts such as Arabic. Again, I stress my currently incomplete 
> understanding of the precise services HarfBuzz  would provide. lso,
> how would you pass back to LuaTeX the results so that the LuaTeX engine
> could use them?
> If anyone could help me understand this a little more or indeed let me 
> know if there really is nothing to explore that too would be good. I 
> have not tried to compile HarfBuzz yet so have not played with it at 
> all. I'm merely curious in light of the remarks on the HarfBuzz site.

I don't understand exactly what HarfBuzz does, but as I get it it maps 
characters to glyphs, what it calls "text shaping", taking care of such 
things as substitutions and the like.

With LuaTeX (which I don't pretend to understand exactly either), when 
it comes to such matters, you're alone: you're the one in charge of 
"text shaping", even for ligatures from pairs of glyphs (e.g. "ff"), 
since you're supposed to have created them when loading the font. So I 
don't think integrating HarfBuzz would be in line with LuaTeX's 
philosophy, otherwise it would be no different from XeTeX in that 
respect. On the other hand, nothing prevents you (the user) from calling 
HarfBuzz (or doing whatever you're supposed to do with it) from LuaTeX, 
I guess.

As for the sentence "LuaTeX should be made to do the same thing", if 
"should" means "it'd be good", I suppose the author hasn't really 
understood LuaTeX; if "should" means "it is going to happen, normally", 
then /I/ haven't really understood LuaTeX. What the last sentence means 
is obscure to me.

Again, I don't know much about HarfBuzz, and I can't obviously make any 
authorized statement on LuaTeX, but that's how I see things.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ntg.nl/pipermail/dev-luatex/attachments/20110201/c6fa8792/attachment.html>

More information about the dev-luatex mailing list