On Sun, 15 Jun 2008 14:32:40 -0600, Hans Hagen
currently there is no reset command but you can say \setcharactermirroring[-1] since -1 resets an attribute
I tried that, but the result is the same: first occurrence of an RL open-paren in an LR paragraph is mis-mirrored. Next occurrences are fine. The enclosed test file can serve as a benchmark for now. Best Idris =============mirroring.tex============== % engine=luatex % OpenType features needed for Arabtype font \definefontfeature [arab] [mode=node,language=dflt,script=arab, init=yes,medi=yes,fina=yes,isol=yes, liga=yes,dlig=yes,rlig=yes,clig=yes, mark=yes,mkmk=yes,kern=yes,curs=yes] \font\Arabic = arabtype*arab at 19pt \def\ArabicParDir{\textdir TRT\pardir TRT} \def\ArabicTextDir{\textdir TRT} \def\LatinParDir{\textdir TLT\pardir TLT} \def\LatinTextDir{\textdir TLT} \definestartstop [arabicpar] [commands=% {\Arabic \ArabicParDir \setcharactermirroring[1]% }] \definestartstop [arabictext] [commands=% {\Arabic\setcharactermirroring[1] \ArabicTextDir % }] \definestartstop [latinpar] [commands=% {\Arabic\LatinParDir \setcharactermirroring[-1]% }] \definestartstop [latintext] [commands={\LatinTextDir \setcharactermirroring[-1]% }] \setupwhitespace[big] \showframe[text] \starttext \startarabicpar سلام (قوس) وقوس <قوس> و [قوس] وهذا قوس حول نص غير عربي \startlatintext(Latin)\stoplatintext\ ثم عربي \crlf وهذا قوس حول نص غير عربي \startlatintext(Latin)\stoplatintext\ ثم عربي \crlf وهذا قوس حول نص غير عربي \startlatintext(Latin)\stoplatintext\ ثم عربي \stoparabicpar \blank \startlatinpar Peace (paren) \& [paren] \& <paren> Here is some mixed Arabic {\startarabictext(عربي)\stoparabictext} \ and Latin script. \crlf Here is some mixed Arabic {\startarabictext(عربي)\stoparabictext} \ and Latin script. \crlf Here is some mixed Arabic {\startarabictext(عربي)\stoparabictext} \ and Latin script. As you can see, \LUATEX\ does a very good job mixing LR \startarabictext(يسار-يمين)\stoparabictext \ and RL \startarabictext(يمين-يسار)\stoparabictext \ texts. \crlf As you can see, \LUATEX\ does a very good job mixing LR \startarabictext(يسار-يمين)\stoparabictext \ and RL \startarabictext(يمين-يسار)\stoparabictext \ texts. \crlf As you can see, \LUATEX\ does a very good job mixing LR \startarabictext(يسار-يمين)\stoparabictext \ and RL \startarabictext(يمين-يسار)\stoparabictext \ texts. % \hfill\break temporary workaround for luatex bug \LUATEX\ even does a great job breaking Arabic phrases \startarabictext(و هنا جملة منقطعة في وسط قرينة لاتينية)\stoparabictext \ across lines. \hfill\break \LUATEX\ even does a great job breaking Arabic phrases \startarabictext(و هنا جملة منقطعة في وسط قرينة لاتينية)\stoparabictext \ across lines. \hfill\break \LUATEX\ even does a great job breaking Arabic phrases \startarabictext(و هنا جملة منقطعة في وسط قرينة لاتينية)\stoparabictext \ across lines. (bracket) and <bracket> and [bracket] \stoplatinpar \stoptext ======================================== -- Professor Idris Samawi Hamid, Editor-in-Chief International Journal of Shi`i Studies Department of Philosophy Colorado State University Fort Collins, CO 80523