[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.


| Yannis Haralambous, Ph.D.      yannis.haralambous at telecom- 
bretagne.eu |
| Directeur d'Études                      http://omega.enstb.org/ 
yannis |
|                                             Tel. +33  
(0) |
|                                             Fax  +33  
(0) |
| 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  
                                            mieux vaut n'être pas  

                            ...the ball I threw while playing in the  
                                           has not yet reached the  

               Es gab eine Zeit, wo ich nur ungern über Schubert  
            nur Nächtens den Bäumen und Sternen von ihm vorerzählen  

-------------- 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