<div>Thank you very much! I can't thank you enough and you are right it does improve the output greatly.</div>
<div>There was one glitch however and I was able to figure it out and fix it rather easily (with little insight). The kashida was slightly misplaced between characters above the base line with fonts I am using with dramatic effects. I changed this line:</div>
<div>\def\kashida{\zwj\nobreak \setbox0=\hbox{\ksh}%<br> \leaders\hrule height\ht0 \hskip0pt plus 0.5em \zwj}<br></div>
<div>to </div>
<div>\def\kashida{\zwj\nobreak \setbox0=\hbox{\ksh}%<br> \leaders\hrule height\ht0 \hskip0pt plus 0.0em \zwj}<br></div>
<div>(\hskip0pt plus 0em from \hskip0pt plus 0.5em)</div>
<div>(see attached image before and after).</div>
<div>And yes I thank Vafa too because she sent me a code the other day to reverse a 2-column syriac document from her xpersian package.</div>
<div> </div>
<div>Thanks,</div>
<div>Sargon<br><br></div>
<div class="gmail_quote">On Fri, May 1, 2009 at 11:36 AM, Fr. Michael Gilmary <span dir="ltr"><<a href="mailto:FrMichaelGilmary@maronitemonks.org">FrMichaelGilmary@maronitemonks.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">OOPS ... forgot the file!
<div>
<div></div>
<div class="h5"><br><br>-- <br>United in adoration of Jesus, <br><br><br>fr. michael gilmary, mma<br><br>Most Holy Trinity Monastery<br>67 Dugway Road<br>Petersham, MA 01366-9725<br><br><br></div></div><br>%% Configure xetex to do "kashida" justification in Persian/Arabic/Syriac text --- from Jonathan Kew, modified for Syriac<br>
<br>\chardef\zwj="200D % zero-width joiner<br>\chardef\ksh="0640 % kashida = Syriac/Arabic "tatweel"<br><br>\chardef\D=10 % dual-joiner class<br>\chardef\L=11 % lam<br>\chardef\R=12 % right-joiner<br>\chardef\A=13 % alef<br>
\chardef\V=256 % vowel or other combining mark (to be ignored)<br><br>\def\kashida{\zwj\nobreak \setbox0=\hbox{\ksh}%<br> \leaders\hrule height\ht0 \hskip0pt plus 0.5em \zwj}<br><br>\def\setclass#1#2{\def\theclass{#1}\def\charlist{#2}%<br>
\expandafter\dosetclass\charlist,\end}<br>\def\dosetclass#1,#2\end{%<br> \def\test{#1}\def\charlist{#2}%<br> \ifx\test\empty\let\next\finishsetclass<br> \else \XeTeXcharclass "\test = \theclass<br> \let\next\dosetclass \fi<br>
\expandafter\next\charlist,,\end}<br>\def\finishsetclass#1,,\end{}<br><br>%% code for Melthofonts = Syriac fonts<br>\setclass \A {710}<br>\setclass \R {0715,0717,0718,0721,0728,072A,072C}<br>\setclass \D {0712,0713,071A,071B,071D,071F}<br>
\setclass \D {0722,0723,0725,0729,072B}<br>\setclass \L {0720}<br>\setclass \V {0730,0731,0732,0733,0734,0735}<br>\setclass \V {0736,0737,0738,0739,073A,073B,073C}<br>\setclass \V {073D,073E,073F,0740,0741,0742,0743}<br>\setclass \V {0744,0745,0746,0747,0748}<br>
<br><br>% JK's code for Arabic/Farsi fonts<br>\setclass \A {0622,0623,0625,0627}<br>\setclass \R {0624,0629,062F,0630,0631,0632,0648,0698}<br>\setclass \D {0626,0628,062A,062B,062C,062D,062E}<br>\setclass \D {0633,0634,0635,0636,0637,0638,0639,063A}<br>
\setclass \D {0640,0641,0642,0643,0645,0646,0647,0649,064A}<br>\setclass \D {067E,0686,06A9,06AF,06CC}<br>\setclass \L {0644}<br>\setclass \V {064B,064C,064D,064E,064F,0650,0651,0652}<br><br><br>\XeTeXinterchartoks \D \D = {\kashida}<br>
\XeTeXinterchartoks \L \D = {\kashida}<br>\XeTeXinterchartoks \D \L = {\kashida}<br>\XeTeXinterchartoks \L \L = {\kashida}<br>\XeTeXinterchartoks \D \R = {\kashida}<br>\XeTeXinterchartoks \D \A = {\kashida}<br>\XeTeXinterchartoks \L \R = {\kashida}<br>
\XeTeXinterchartoks \L \A = {}<br><br>\XeTeXinterchartokenstate=1<br><br>\endinput<br><br><br>_______________________________________________<br>XeTeX mailing list<br><a href="mailto:postmaster@tug.org">postmaster@tug.org</a><br>
<a href="http://tug.org/mailman/listinfo/xetex" target="_blank">http://tug.org/mailman/listinfo/xetex</a><br><br></blockquote></div><br>