Hi,

وفا خلیقی، Vafa Khalighi wrote:
I have written a small doc explaining some of the main primitives. You can find it at http://parsilatex.org/parsitex/primitives.pdf

I've read that document and browsed through tex.ch a bit, and here
are my thoughts so far:


On direction changes
--------------------

If I understand the document correctly, it appears that the automatic
switch works in one of two ways:

A you use a special 8-bit font with the upper half persian and the
  lower half latin. This case confines the input to an 8-bit encoding
  table, something like Microsoft page 1256.

B or you can use two fonts; a full 8-bit arabic and an 8-bit latin
  or symbolic font, and then your font switch triggers the direction
  change.

And you can always go back to explicit \begin[LR] \end[LR] commands,
whenever you so desire. I hope I got that right.

Method A can easily be implemented using lua input filtering in such
a way that it is transparent to the luatex user (it should use Unicode
characters and a Unicode-enabled font, of course). Doing that would
not be hard at all and does not require engine changes.

Method B is absolutely unsuitable for luatex because it assumes
that there is only duality in scripts, instead of multiplicity.
For the same reason, a number of the new primitives is unsuited
for luatex (\semichar, \semispaceskip, \everysemi<>, etc.).


On localization
---------------

It is interesting that TeX-e-Parsi can read primitives and keywords
in Persian, and report errors in Persian as well. In Luatex, it is
possible to \let any utf-8 sequence to a primitive, but the
localization of keywords and error messages is something that we
definately can/should look into.


Other stuff
-----------

I can deduce that there are some accent extensions in TeX-e-Parsi,
can you explain a bit about how that works?

Reading the rest of the document, I am a bit curious what \lcode is.
It seems related to wordstring detection?


As far as I can see, the other typesetting-related primitives are
already provided by luatex via Aleph via Omega, and usually in a more
generic fashion.

For example, TeX-e-Parsi has

   \curboxdir           % read
   \rightvbox \leftvbox % write

Luatex has

    \the\boxdir          % read
    \boxdir <DIR>        % write

If you feel something is currently missing from luatex in this regard
than you have to be explicit about that, I may well have overlooked
something.


Best wishes,
Taco




_______________________________________________
dev-luatex mailing list
[email protected]
http://www.ntg.nl/mailman/listinfo/dev-luatex

Reply via email to