On 9/11/2013 1:34 PM, Vafa Khalighi wrote:
Also the itemize environment is broken too (perhaps same issue is here too):

\setupitemize[left=(, right=), margin=4em, stopper=]
\starttext
\setupalign[r2l]
\definefont[arabicfont][Arial*arabic at 20pt]
\setupdirections[bidi=global,method=default]
\arabicfont
\startitemize[a]
\item اولی
\item دومی
\stopitemize
\stoptext

and if I swap right and left parentheses, I get the following error:

thanks for testing

the problem is that sometimes it's hard to deduce the state so i've added

\righttolefthbox \rtlhbox
\lefttorighthbox \ltrhbox
\righttoleftvbox \rtlvbox
\lefttorightvbox \ltrvbox
\righttoleftvtop \rtlvtop
\lefttorightvtop \ltrvtop

\autodirhbox
\autodirvbox
\autodirvtop

some cases are (using the default parser, which is a one-pass forward scanner) tricky to determine

                  \hbox{\righttoleft(0001)}\par
   \dontleavehmode\hbox{\righttoleft(0002)}\par
                       {\righttoleft(0003)\par}
                       {\righttoleft(0004)}\par
        \dontleavehmode{\righttoleft(0005)\par}
        \dontleavehmode{\righttoleft(0006)}\par
               \rtlhbox{(0007)}\par
               \ltrhbox{(0008)}\par
\dontleavehmode\rtlhbox{(0009)}\par
\dontleavehmode\ltrhbox{(0010)}\par

                  \hbox{(0011)}\par
   \dontleavehmode\hbox{(0012)}\par

the other parsers do several passes and are slower can can handle some cases better

anyway, it would be nice to see where the three methods fail:

\setuplayout[middle]

\starttext

\setupalign[r2l]

\definefont[arabicfont][Arial*arabic at 20pt]

\enabletrackers[typesetters.directions.default]
\enabletrackers[typesetters.directions.one]
\enabletrackers[typesetters.directions.two]

\setupdirections[bidi=global,method=default]
% \setupdirections[bidi=global,method=one]
% \setupdirections[bidi=global,method=two]

\arabicfont \setupinterlinespace

                  \hbox{\righttoleft(0001)}\par
   \dontleavehmode\hbox{\righttoleft(0002)}\par
                       {\righttoleft(0003)\par}
                       {\righttoleft(0004)}\par
        \dontleavehmode{\righttoleft(0005)\par}
        \dontleavehmode{\righttoleft(0006)}\par
               \rtlhbox{(0007)}\par
               \ltrhbox{(0008)}\par
\dontleavehmode\rtlhbox{(0009)}\par
\dontleavehmode\ltrhbox{(0010)}\par

                  \hbox{(0011)}\par
   \dontleavehmode\hbox{(0012)}\par

\setupitemize[left=(,right=),distance=1em]

\startitemize[a]
\item اولی
\item دومی
\stopitemize

(1984)

این (آزمایش 1363] و یک (آزمایش 1984] خوب است  و باقی ماجرا. \blank

این (آزمایش (oeps 1363)) و یک (آزمایش 1984) خوب است  و باقی ماجرا. \blank

این (آزمایش (oeps 1363)) و یک \blank

این (آزمایش [oeps 1363]) و یک \blank
این (آزمایش [oeps 1363)] و یک \blank

\stoptext


Hans


-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
    tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                             | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to