[NTG-context] RTL section heads

Mohammad Hossein Bateni bateni at gmail.com
Wed Apr 13 02:46:12 CEST 2016


Unfortunately when I use method=two for bidi, the numbers in the main body
are written from right to left.  I'm starting to wonder whether it does
anything nontrivial at all.

\usemodule[simplefonts]
\setmainfont[ALM Fixed][features=arabic,range=arabic]

\setupdirections[bidi=global,method=two]
\setupalign[r2l]

\starttext

سال ۲۰۱۶

2016

\stoptext


I'm pretty sure this used to work (for example in version 2016.01.18
22:21).  A similar piece of code is working fine on the website
<http://wiki.contextgarden.net/RTL>.  I'm using CONTEXT version: 2016.04.01
13:01.  I also verified that it is not working in version: 2016.04.10 23:52.

On Mon, Apr 11, 2016 at 11:47 AM, Mohammad Hossein Bateni <bateni at gmail.com>
wrote:

> Thanks, Hans!  This does solve the problem with the list of numbers.  And
> actually if I add a numberstyle field, I can the section heads the way I
> like.  Here is the setup that worked.  (I will update Wiki later.)
>
> \setupdirections[bidi=global,method=two]
> \setupalign[r2l]
>
> \def\LTR#1{{\lefttoright#1}}
> \def\leftpersiandecimals#1{\LTR{\persiandecimals{#1}}}
> \defineconversion[leftpersiandecimals][\leftpersiandecimals]
> \setuphead[chapter,title,section,subject]
> [conversion=leftpersiandecimals,numberstyle=\righttoleft]
>
> \defineseparatorset[dashsep][-,-,-,-]
> \setuphead[section][sectionseparatorset=dashsep]
>
> On Mon, Apr 11, 2016 at 10:46 AM, Hans Hagen <pragma at wxs.nl> wrote:
>
>> On 4/11/2016 4:25 AM, Mohammad Hossein Bateni wrote:
>>
>>> Hans & Wolfgang,
>>>
>>> Do you have suggestions here?  How can I get the behavior I want for the
>>> section head numbers?
>>>
>>> In fact, the following may be quite relevant.
>>>
>>> \usemodule[simplefonts]
>>> \setmainfont[ALM Fixed][features=arabic,range=arabic]
>>>
>>> \setupdirections[bidi=global,method=default]
>>> \setupalign[r2l]
>>>
>>> \starttext
>>>
>>> اعداد ۱، ۲، ۳ و ۴ را در نظر بگیرید.
>>>
>>> اعداد 1، 2، 3 و 4 را در نظر بگیرید.
>>>
>>> اعداد 1, 2, 3 و 4 را در نظر بگیرید.
>>>
>>> \stoptext
>>>
>>>
>>> I expect the numbers 1, 2, 3 and 4 to appear in the same order from
>>> right to left.  However, the visual order that I observe (regardless of
>>> whether I use Persian digits or English digits, or whether I use Persian
>>> or English commas) is 4, 1, 2, 3 (from left to right).  Is this a bug in
>>> the bidi code?  If so, are there any workarounds?
>>>
>>
>> method=two
>>
>> Thanks,
>>> Hossein
>>>
>>> On Fri, Apr 8, 2016 at 5:20 PM, Mohammad Hossein Bateni
>>> <bateni at gmail.com <mailto:bateni at gmail.com>> wrote:
>>>
>>>     Hi,
>>>
>>>     This is concerning an RTL text.  I have one chapter and 10 sections
>>>     under that.  My goal is to achieve the following.
>>>     1) The number 10 should appear correctly with '1' visually to the
>>>     left of '0'.
>>>     2) The chapter number should visually appear to the right of the
>>>     section number.
>>>     3) Chapter and section numbers should be separated with a dash.
>>>       (This is ignored in this email and I will follow up about it in
>>>     another thread.  To get a minimal working example, I also do not try
>>>     to change the numbers to use Persian digits.)
>>>
>>>     In particular, the headings will be visually something like the
>>>     following (aligned to the right).
>>>     elpmas 1
>>>     txet 1-1
>>>     txet 2-1
>>>     txet 3-1
>>>     ...
>>>     txet 10-1
>>>
>>>     Here's the first attempt.
>>>
>>>     %% Attempt 1
>>>     \setupalign[r2l]
>>>
>>>     \starttext
>>>     \placecontent
>>>
>>>     \chapter{sample}
>>>     \dorecurse{10}{\section{text}}
>>>     \stoptext
>>>
>>>     The result is:
>>>     elpmas 1
>>>     txet 1-1
>>>     ...
>>>     txet 01-1
>>>
>>>
>>>     Then I add "\setupdirections[bidi=global,method=default]" to the
>>>     beginning and I get the most strange result (number right-aligned
>>>     but texts left-aligned):
>>>     sample                                    1
>>>     text                                       1.1
>>>     ...
>>>     text                                     1.10
>>>
>>>
>>>     A third attempt gives almost what I want (without period as the
>>>     separator).
>>>
>>>     %% Attempt 3
>>>     \setupalign[r2l]
>>>
>>>     \def\LTR#1{{\lefttoright#1}}
>>>     \def\leftnumbers#1{\LTR{\numbers{#1}}}
>>>     \defineconversion[leftnumbers][\leftnumbers]
>>>     \setuphead[chapter,title,section,subject] [conversion=leftnumbers]
>>>
>>>     \starttext
>>>     \placecontent
>>>
>>>     \chapter{sample}
>>>     \dorecurse{10}{\section{text}}
>>>     \stoptext
>>>
>>>
>>>     The big problem is that in my RTL documents, I always have the
>>>     setupdirections command, which messes things up here.  (This makes
>>>     it difficult to one section name with English title, which should
>>>     still be typeset on the right-hand side of the page.)  Note that in
>>>     attempt 2 above, there were two issues:
>>>     (1) Text and numbers appeared on the two far ends of the screen
>>>     instead of being close to each other.  This does not happen when I
>>>     use Farsi text.
>>>     (2) Chapter number appears to the left of section number.
>>>
>>>
>>>     %% Attempt 5
>>>     \usemodule[simplefonts]
>>>     \setmainfont[ALM Fixed][features=arabic,range=arabic]
>>>
>>>     \setupdirections[bidi=global,method=default]
>>>     \setupalign[r2l]
>>>
>>>     \starttext
>>>     \placecontent
>>>
>>>     \chapter{نمونه}
>>>     \dorecurse{10}{\section{متن}}
>>>     \stoptext
>>>
>>>
>>>     Interestingly the table of contents looks fine if I put the number
>>>     inside an LTR macro; still in the main body, the section heads are
>>>     typeset incorrectly.
>>>
>>>     %% Attempt 6
>>>     \usemodule[simplefonts]
>>>     \setmainfont[ALM Fixed][features=arabic,range=arabic]
>>>
>>>     \setupdirections[bidi=global,method=default]
>>>     \setupalign[r2l]
>>>
>>>     \def\LTR#1{{\lefttoright#1}}
>>>     \def\leftnumbers#1{\LTR{\numbers{#1}}}
>>>     \defineconversion[leftnumbers][\leftnumbers]
>>>     \setuphead[chapter,title,section,subject] [conversion=leftnumbers]
>>>
>>>     \starttext
>>>     \placecontent
>>>
>>>     \chapter{نمونه}
>>>     \dorecurse{10}{\section{متن}}
>>>     \stoptext
>>>
>>>
>>>     I guess the solution is to get the entire section head number string
>>>     (e.g., 1.10) to have RTL direction, however, each individual number
>>>     string inside (say, 1 or 10) should be written LTR.  How can this be
>>>     achieved?
>>>
>>>     The six TeX files (with corresponding PDF outputs) are attached.
>>>
>>>     BTW this is using ConTeXt ver: 2016.04.01 13:01 MKIV beta fmt:
>>>     2016.4.7 int: english/english, running LuaTeX, Version beta-0.90.0
>>>     (TeX Live 2016) on Mac OS X.
>>>
>>>     Thanks a lot,
>>>     —MHB
>>>
>>>
>>>
>>
>> --
>>
>> -----------------------------------------------------------------
>>                                           Hans Hagen | PRAGMA ADE
>>               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
>>       tel: 038 477 53 69 | www.pragma-ade.com | www.pragma-pod.nl
>> -----------------------------------------------------------------
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20160412/f253d0a5/attachment.html>


More information about the ntg-context mailing list