[luatex] About the level of bidi implementation
Yannis Haralambous
yannis.haralambous at telecom-bretagne.eu
Fri Apr 10 18:17:40 CEST 2009
Le 10 avr. 09 à 15:02, Idris Samawi Hamid ادريس سماوي
حامد a écrit :
> There is a difference of philosophy here: It is not the job of the
> engine to hardwire the bidi algorithm or any other implementation.
> This is the job of the macropackage. Then one has full control
> without having to fiddle with the engine.
I do not agree. Bidi is something fundamental, just like contextual
analysis. It should be treated on a low level.
**But** it should be deactivetable: by default bidi should be active,
but the user should be able to deactivate it.
This will make the difference with XeTeX. XeTeX uses Uniscribe, which
is a black box leaving no freedom whatsoever to the user. This is
fine, except when we want to do something different. For example, for
a very specific application (2D barcodes) I need Arabic typeset left-
to-right. Under Windows it is impossible. Under luaTeX it should be
possible. Another example: contextual analysis of Urdu is quite more
complicated than the one of regular Arabic script, it is not possible
in the presence of Uniscribe.
For reasons of efficiency, whatever is done by Uniscribe or Pango (for
example, Indic reordering, Korean hangul composition, etc.) should be
hardcoded into luatex (written in C, etc.) so that it happens very
quickly. But one should be able to deactivate it using a primitive or
something of the kind (otherwise we may as well use XeTeX...).
To reply to Idris: if you use a macropackage to do bidi, it's like
adopting the ArabTeX philosophy: it's like using macros to do the most
fundamental operations, and it's a pity.
cheers
Yannis
--
+
-----------------------------------------------------------------------+
| Yannis Haralambous, Ph.D. yannis.haralambous at telecom-
bretagne.eu |
| Directeur d'Études http://omega.enstb.org/
yannis |
| Tel. +33
(0)2.29.00.14.27 |
| Fax +33
(0)2.29.00.12.82 |
| Département
Informatique |
| Télécom
Bretagne |
| Technopôle de Brest Iroise, CS 83818, 29238 Brest Cedex 3,
France |
| Coordonnées Google-Earth : 48°21'31.57"N
4°34'16.76"W |
+
-----------------------------------------------------------------------+
...pour distinguer l'extérieur d'un
aquarium,
mieux vaut n'être pas
poisson
...the ball I threw while playing in the
park
has not yet reached the
ground
Es gab eine Zeit, wo ich nur ungern über Schubert
sprechen,
nur Nächtens den Bäumen und Sternen von ihm vorerzählen
mögen.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Yannis Haralambous.vcf
Type: text/directory
Size: 508 bytes
Desc: not available
Url : http://tug.org/pipermail/luatex/attachments/20090410/26e56264/attachment-0001.bin
-------------- next part --------------
More information about the luatex
mailing list