[Dev-luatex] A few newbie questions

Hans Hagen pragma at wxs.nl
Thu Jan 29 10:06:41 CET 2009

Yue Wang wrote:
>> later in 2009 we will have another formal release, which opens up a bit more
>> (and the reason for openin gup via lua is that users will use lua for
>> extensions and not so much start patching the core engine written in pascal
>> or c)
> Well, I think without a rough understanding of TeX's algorithms, and
> various specifications (including PDF's and various Font's),
> mere mortals cannot write the extension code in Lua. The situation in
> LaTeX world can prove this. XeTeX's success lies in the fact that it
> is simple and easy to use. Without much knowledge of font, one can use
> its font mechanism just as other programs like InDesign. So it is easy
> to write a higher level wrap up for LaTeX (like fontspec). However,
> the situation for LuaTeX is different. LuaTeX's API is rather
> complicated, and difficult to understand unless the users have a good
> understanding of fonts and TeX's internals. Moreover, instead of using
> ATS or ICU directly, the users should write the layout code themselves
> which is a huge task. In order to write a fontspec equivalent for
> LuaTeX, the macro writer should be familiar with

well, but even then it's just a (few) macro writer(s) and not all users; 
also keep in mind that in 30 years of tex, fonts have never been easy, 
always demanded some expertise, etc and there was always a small group 
(per macro package) that dealt with it

also, we are aware of xetex being easier to use out-of-the-box with 
respect to fonts, which is great; we definitely do not advocate users to 
use luatex instead of xetex, they should use what fits best and it might 
be that 90% of the users is better of with xetex

> - layout algorithm (similar to the one used in ICU)

well, use xetex then; there will be no hard codes layout extensions; for 
instance, as part of the oriental tex project an alternative line break 
routine is written (a subproject by idris, taco and me) and that's all 
done in lua

> - font structure (especially fontforge API)

sure, but in any case one should be familiar with what a font is; this 
is normally not something that an average user will deal with (and once 
a macro package supports something, it's even more hidden and stays 

> - lua language (well, he/she should read the Lua Programming Language at least)

that's not too much work as we've chosen a language which is relatively 
easy to learn and is not burdened by tons of libraries that you need to 
keep up with (apart from installation mess that would result from that)

> - TeX language (well, he/she should finish reading the TeXBook several times)

it depens on what one does

> - TeX internals (like token, node, font, catcode, hyphenation, line
> breaking, font expansion, margin kerning, also noad, mlist if the font
> package deal with math fonts)

> That might be one of the reasons why there is no such LaTeX package
> for LuaTeX. In ConTeXt world this is quite different, since Hans Hagen
> is a Lua+TeX+fontforge+MetaPost+whatever expert. So unless there exist
> several Hans Hagens in the LaTeX world, ordinary LaTeX users will not
> benefit from LuaTeX development.

well, eventually it will happen i guess; just look at it from the other 
end ... when i started writing context i didn't have a clue what tex was 
doing, and i simply didn't understand enough of tex to see what happened 
in latex code (we're talking 1992 or so); eventually context catched up 
quite well; this time context happens to be a bit ahead with respect to 

btw, in pdftex similar things happened ... context has been using some 
features of pdftex before latex did simply because i was involved in the 
development, such is live


                                           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