<div dir="ltr">Dear, Jonathan and others<br><br>A while ago I talked about the changes that if we make in XeTeX engine, we will have the perfect bidirectional typesetting (LTR and RTL). Now it has been some time that I have been studying the TeX-e-Parsi engine and have studied the changes that they have done in the actual TeX engine.<br>
<br>TeX-e-Parsi is a localised version of TeX which has perfect bidirectional support and I hope that we can make these changes in the XeTeX engine so we have perfect bidirectional support.<br><br>TeX-e-Parsi adds about 100 Prmitive commands to the Original TeX primitive commands. I think we would not need all of these 100 commands but we will need the commands that have something to do with the directions.<br>
<br>These extra 100 commands are:<br><br>\LtoR, \RtoL, \accfactor, \activefont, \aftereverydisplay, \autoLRdirset, \autofontset, \autoLRset, \basefont, \billions, \everysemidisplay, \everysemimath, \everysemipar, \fonttwin, \hboxR, \ifLtoR, \ifRtoL, \ifautoLRdir, \ifautofont,<br>
<br>\ifjoinable, \iflatin, \ifleftvbox, \ifcase, \ifonesof, \iftensof, \ifhundredsof, \ifthousands, \ifmillions, \ifbillions, \ifprehundreds, \ifprethousands, \ifpremillions, \ifprebillions, \ifsetlatin, \ifsetsemitic, \ifsetrawprinting, \ifsemiticchar, \ifsplited,<br>
<br>\inputR, \jattrib, \lastcharjoinable, \lastcharunjoinable, \latin, \lcode, \leftvbox, \curboxdir, \curdirection, \curLRswch, \curspeech, \maketwin, \manLRset, \midruleinit, \midrulespec, \millions, \openinR, \openoutR, \rawprinting, \eqprinting,<br>
<br>\rightvbox, \leftinput, \semiaccent, \semiaccentdown, \retainaccentchar, \semichar, \semichardef, \semiday, \semifam, \dblfont, \semifont, \semihalign, \semimonth, \semispaceskip, \semitic, \semixspaceskip, \semiyear, \thousands,<br>
<br>\twinfont, \vboxjustification, \LRshowswitch, \LRmiscswitch, \eqwrite, \letlatinname, \letsemiticname, \leteqname, \eqchar, \eqcharif, \letnoteqname, \letnoteqchar, \letnoteqcharif, \endspecial, \beginspecial<br><br><br>
I am attaching the actual change file (tex.ch) with this email. Jonathan, would wou think that we could possibly define these new primitives in the XeTeX engine? if you do that, then there will be no problem at all with bidirectional typesetting and XeTeX will have most complete bidirectional algorithm for typesetting in TeX.<br>
<br>Please feel free to comment about the commands.<br><br><br>Thanks<br clear="all"><br>-- <br>``Life is not empty,<br>There is kindness, there is apple and there is faith<br><br>One day will come,<br>and to a mendicant I will endow a jasmine&#39;&#39;<br>
<br>-- Sohrab Sepehri<br>
</div>