[luatex] Info on direction primitives/implementation

Joseph Wright joseph.wright at morningstar2.co.uk
Tue Dec 4 12:43:40 CET 2012

On 04/12/2012 11:20, Arthur Reutenauer wrote:
>> Reading the LuaTeX manual again, I spot section 9.4 ('Changes from ALEPH
>> RC4') which gives a few more clues, at least with regard to directions
>> supported (Latin, Arabic, CJK, Monoglian only). So perhaps I need an
>> Aleph manual too :-)
>   No, Aleph didn't introduce changes to Omega's typesetting direction
> model.  It mostly fixed bugs and added a few convenience functions,
> which is why its code base was using as LuaTeX's starting point, rather
> than Omega's, when the big merge was done (pdfTeX + Omega / Aleph +
> Lua).  The changes documented in the manual are from Aleph to LuaTeX:
> the latter restricted the possible writing directions to the ones that
> are actually used in typeset texts, disabling such fanciful options as
> boustrophedon (OK, I'm kidding, that one never was supported ;-)
> 	Arthur

Tracking changes through from one engine to another is pretty tricky,
particularly when the docs for the older engines are not so easy to
find. I'm also aware that there are lots of things that LuaTeX improves
on over older engines, so it's best to be sure what is done and moreover
how it works. So I'm keen to find an answer that covers LuaTeX
'directly', if at all possible.

I'd picked up the simplification of directions, and have at least some
idea of a list of primitives:
 - \bodydir
 - \mathdir
 - \pagedir
 - \pardir
 - \textdir
based on LuaTeX manual 'Direction parameters'. However, I still
don't know how this is implemented. (e-TeX says \beginR, etc. are an
abuse of the math on/off system, so there I have some clue.)
Joseph Wright

More information about the luatex mailing list