[Dev-luatex] Modifying the LuaTeX Engine

Idris Samawi Hamid ادريس سماوي ح Idris Samawi Hamid ادريس سماوي ح
Fri Dec 26 02:03:44 CET 2008

Dear Vafa,

On Thu, 25 Dec 2008 04:03:03 -0700, وفا خلیقی، Vafa Khalighi  
<vafa at live.com.au> wrote:

> TeX-e-Parsi is better
> than omega because it was written a long time ago (15 years ago) and
> since then, the developer (Yazdipur) has modified and corrected the
> code.

Hmm, not sure if this is completely correct: See below.

I'm just curious: Did Yazdipur try to communicate with the Omega  
developers and offer patches etc?

Another question: TeX-e-Parsi was originally closed source, I think: What  
is the status of the source code?

> So firstly I think it does not have any bugs or if it has, it has
> a very small number of bugs comparing to Omega.

I think the same is true of luatex in this regard.

> Secondly TeX-e-Parsi
> have been used by the Iranians for the whole period and still people
> continue to use it and they are very happy with it since it is not
> buggy at all.

Have you tested the bidi in luatex and compared it with that of  
TeX-e-Parsi? It is already much better than etex's.

According to Behdad Esfahbod and Roozbeh Pournader,


TeX-e-Parsi has not been developed since 1996. I know that there has been  
development of Omega since then, including a new bidi model -- with new  
primitives -- that replaced the one in pre-1996 Omega. Looking at the  
primitive list you provided, I don't think TeX-e-Parsi builds on the  
later, improved Omega model.

A better approach might be to

1. Make an exhaustive test suite that compares bidi behavior in luatex  
with that of TeX-e-Parsi. You don't need to use any arabic-script, just  
latin modern samples;

2. Identify the diffferences between the two and determine which -- if  
either -- has the saner behavior for each case;

3. Make specific feature/debugging requests and -- if possible -- point to  
areas where TeX-e-Parsi code may be useful in implementing the features  
you want.

I did such a suite when we were testing bidi a couple of years back --  
comparing aleph with luatex and looking for bugs. IIRC the remaining area  
where luatex needs work is in its handling of verbatim, but I need to go  
back to my test files and check.

> I believe TeX-e-Parsi is much more advanced than Omega
> and it defines a set of new primitives to support LTR and RTL
> typesetting fully in addition to changing some of TeX codes.

As I mentioned above, I think the last Omega primitives are newer than  
TeX-e-Parsi's. But a related issue: Are those primitives based on the  
unicode bidi algorithm? There is also an ongoing implementation of the  
algorithm in the MKIV inteface to luatex. Again, the best thing may be to  
identify missing features and bugs, then the developers can identify the  
best approach to implementing/fixing things. That may or may not involve  
using TeX-e-Parsi code.


Professor Idris Samawi Hamid, Editor-in-Chief
International Journal of Shi`i Studies
Department of Philosophy
Colorado State University
Fort Collins, CO 80523

More information about the dev-luatex mailing list