[luatex] get the hyphenation patterns matching a word

Taco Hoekwater taco at elvenkind.com
Wed Feb 24 09:08:54 CET 2010


Stephan Hennig wrote:
> Am 23.02.2010 17:15, schrieb Taco Hoekwater:
>> Stephan Hennig wrote:
>>>
>>> Are there any plans to replace libhnj by a pure Lua implementation?  As
>>> long as hyphenation is hard-coded in C, it remains a black box for the
>>> LuaTeX user.
>>
>> But it is a reasonably fast black box. :)
> 
> Sure.  But I wonder what impact hyphenation has on runtime in comparison 
> to paragraph breaking.

Not a lot, that is true.

> I haven't found much about libhnj's finite state hash approach, so I 
> have to ask here: Is that something else than an automaton that is the 
> result of pre-calculating all states the /list/ of tries can ever take 
> on for arbitrary (word) input?

That's pretty much what it does, yes. There is a severe lack of
documentation, though. I recall seeing a set of slides explaining
the algorithm, but I can't find it on the web any more.

> To me, it sound like Lua's tables are just made for automata (but who am 
> I?).  I don't want to push you re-writing existing code.  Actually, I'm 
> considering doing that myself (for various reasons)).  So, an honest 
> question: Is there anything that makes implementing the finite state 
> hash approach hard in Lua (other than performance)?

No, it should be reasonably straightforward. Ok, as I have some time to
spare today, I'll have a go at it (I got stuck in metapost anyway, and
can use a bit of distraction).

Best wishes,
Taco


More information about the luatex mailing list