[Dev-luatex] Making a Lua Package

Hans Hagen pragma at wxs.nl
Fri Sep 26 13:44:20 CEST 2008

وفا خلیقی، Vafa Khalighi wrote:
> Hi, I hope that this is the right place to ask this question. I am one of the author of XePersian ( a XeTeX package for typesetting Persian). We have to decided to write our package based on LuaTeX and call it LuaPersian. and we want to maintain and develop both packages at the same time so that the user have freedom in coice, either XeTeX or LuaTeX.
> As far as I know no latex package is still done for LuaTeX. so If I want to write my package in Lua, I have to do a considerable amount of extra work. My question is, is there any way that by some changes in fontspec package of XeTeX, that package would also work for LuaTeX? or we should be writing a new fontspec package for LuaTeX? I have heard that LuaTeX handles bidirectional texts, far better than XeTeX? is that correct?
> and also XeTeX allows you to have unicode maths characters, is LuaTeX currently support this feature?

luatex is a merge of pdftex and aleph and as such does the same as those 
two engines

in addition it provides interfaces to the internals of tex and permits 
you to overload current behaviour

as such, it's a starting point for macro package writers who can use lua 
scripting to solve problems as well as provide solutions without the 
need to change the tex kernel;

so, in order to support xepersian you need to

(1) implement open type support (or any support needed using fonts), as 
luatex only provides loading of an opentype font and at the tex end 
turning characters into glyphs, as well as traditional line breaking, 
hyphenation, and lig building; anything else is to be programmed

(2) make your system work with the omega bidirectional mechanisms which 
provide the basicbuilding blocks

(3) manipulate tex's internal datastructures (if needed at all), take 
care of the input stream (if needed), etc

so, contrary to xetex, luatex has no frozen behaviour (does not use 
libraries) but is more in the tradition of tex: program it yourself 
(after all, there are multiple ways to solve a problem)

btw, one of the driving forces behind luatex development is the oriental 
tex project which aims at high quality arabic typesetting; code for this 
is in all 3 categories mentioned

(of course you can wait till the context mkiv modules that deal with 
these issues are generalized which might take a while)

idris might show a few more insights


                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                              | www.pragma-pod.nl

More information about the dev-luatex mailing list