[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
forever)
> - 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
luatex
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
-----------------------------------------------------------------
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