From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manuel GJT Subject: Re: Right-to-left text in org mode Date: Tue, 25 Jun 2013 20:49:07 -0500 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=bcaec5171e51f53ee104e004d9d7 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34865) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Urer9-0004ni-S3 for emacs-orgmode@gnu.org; Tue, 25 Jun 2013 21:49:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Urer6-0000jd-VO for emacs-orgmode@gnu.org; Tue, 25 Jun 2013 21:49:11 -0400 Received: from mail-vb0-x235.google.com ([2607:f8b0:400c:c02::235]:36361) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Urer6-0000jU-PY for emacs-orgmode@gnu.org; Tue, 25 Jun 2013 21:49:08 -0400 Received: by mail-vb0-f53.google.com with SMTP id p12so10216160vbe.12 for ; Tue, 25 Jun 2013 18:49:08 -0700 (PDT) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Dov Grobgeld Cc: emacs-orgmode --bcaec5171e51f53ee104e004d9d7 Content-Type: text/plain; charset=UTF-8 It turns out that org mode does force directionality in its buffers. I found in org.el the line 5308 (setq bidi-paragraph-direction 'left-to-right) However, bidi-paragraph-direction is always buffer local when set. That explains why switching to other mode does not help. The solution is to set bidi-paragraph-direction to nil in org buffers with mixed LTR and RTL texts. This, however, might change the alignment of some headings to right-aligned. But the bidi markers now work just fine, so it's just a matter of placing them wisely. I appreciate the time you took for this little discussion. It helped me get a clearer picture of the inner workings of bidi and emacs. Kind regards, Manuel GJT On Tue, Jun 25, 2013 at 2:03 AM, Dov Grobgeld wrote: > A work around seems to be to provide an empty line between the LTR and > the RTL paragraph. I.e. instead of > > * this is ltr > * THIS IS RTL > > do: > > * this is ltr > > * THIS IS RTL > > But you are correct that the wrapping of LTR paragraphs with RTL text > is buggy. This bug seems to have nothing to do with org mode, but > happens e.g. in text mode and fundamental mode as well. You should > raise this issue on the emacs-list or file a bug with emacs. > > On Tue, Jun 25, 2013 at 7:27 AM, Manuel GJT wrote: > > Specifically what additional information should I provide? This happens > to > > me even without my .emacs loaded. I'm running Ubuntu 12.04 with > > m17n-(db/contrib), libm17n-(0/dev) installed. > > > > It seems that in org mode is forcing LTR in mixed-directionality texts > > since, for example, a heading with RTL text will not change the stars to > be > > right-aligned, and the cursor's behavior in org mode is different than > in a > > clean buffer. > > > > Perhaps you could show me how to ignore any previous paragraph settings > > other than with R-T-L MARK? > > > > > > Kind regards, > > > > Manuel GJT > > > > > > On Mon, Jun 24, 2013 at 12:49 PM, Dov Grobgeld > > wrote: > >> > >> I was able to reproduce this behavior only with by forcing the > >> paragraph direction to LTR or equivilantly by having a first strong > >> LTR character in the beginning of the paragraph. Please provide more > >> information about your environment, and someone might be able to help > >> you. > >> > >> Regards, > >> Dov > >> > >> > >> On Mon, Jun 24, 2013 at 8:22 PM, Manuel GJT wrote: > >> > Hello everyone, > >> > > >> > I need to work in an org buffer with both left-to-right and > >> > right-to-left > >> > text. Although the character directionality and composition works > fine, > >> > when > >> > writing paragraphs with visual-line-mode on the lines get inverted, > >> > i.e., > >> > the line > >> > > >> > ZYX CBA > >> > > >> > appears as > >> > > >> > ZYX > >> > CBA > >> > > >> > instead of > >> > > >> > CBA > >> > ZYX > >> > > >> > The section "22.20 Bidirectional Editing" of the Emacs manual suggests > >> > forcing the directionality of the paragraph with RIGHT-TO-LEFT MARK, > but > >> > this does not seem to work: even with such a character beginning the > >> > line, > >> > (current-bidi-paragraph-direction) returns "left-to-right". > >> > > >> > The RTL MARK seems to work just fine in tables. > >> > > >> > When written in a clean text-mode buffer the same text appears with > >> > proper > >> > directionality. However switching from org-mode to text-mode does not > >> > correct directionality in said paragraphs. The issue persists even > when > >> > visiting the file with emacs -Q. > >> > > >> > org-version 8.0.3, same issue with v. 7.9.4 > >> > > >> > Your help is much appreciated. > >> > > >> > -- > >> > Manuel GJT > > > > > > > > > > -- > > Manuel GJT > -- Manuel GJT --bcaec5171e51f53ee104e004d9d7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
It turns out that org mode does f= orce directionality in its buffers. I found in org.el the line

5308= =C2=A0 (setq bidi-paragraph-direction 'left-to-right)

Howe= ver, bidi-paragraph-direction is always buffer local when set. That explain= s why switching to other mode does not help.

The solution is to set bidi-paragraph-direction to nil in org buf= fers with mixed LTR and RTL texts. This, however, might change the alignmen= t of some headings to right-aligned. But the bidi markers now work just fi= ne, so it's just a matter of placing them wisely.

I appreciate the time you took for this little discussion. It hel= ped me get a clearer picture of the inner workings of bidi and emacs.

Kind regards,

Manuel GJT


On Tue, Jun 25, 2013 at 2:03 AM, Dov Gro= bgeld <dov.grobgeld@gmail.com> wrote:
A work around seems to be to provide an empty line between the LTR and
the RTL paragraph. I.e. instead of

* this is ltr
* THIS IS RTL

do:

* this is ltr

* THIS IS RTL

But you are correct that the wrapping of LTR paragraphs with RTL text
is buggy. This bug seems to have nothing to do with org mode, but
happens e.g. in text mode and fundamental mode as well. You should
raise this issue on the emacs-list or file a bug with emacs.

On Tue, Jun 25, 2013 at 7:27 AM, Manuel GJT <valhifi@gmail.com> wrote:
> Specifically what additional information should I provide? This happen= s to
> me even without my .emacs loaded. I'm running Ubuntu 12.04 with > m17n-(db/contrib), libm17n-(0/dev) installed.
>
> It seems that in org mode is forcing LTR in mixed-directionality texts=
> since, for example, a heading with RTL text will not change the stars = to be
> right-aligned, and the cursor's behavior in org mode is different = than in a
> clean buffer.
>
> Perhaps you could show me how to ignore any previous paragraph setting= s
> other than with R-T-L MARK?
>
>
> Kind regards,
>
> Manuel GJT
>
>
> On Mon, Jun 24, 2013 at 12:49 PM, Dov Grobgeld <dov.grobgeld@gmail.com>
> wrote:
>>
>> I was able to reproduce this behavior only with by forcing the
>> paragraph direction to LTR or equivilantly by having a first stron= g
>> LTR character in the beginning of the paragraph. Please provide mo= re
>> information about your environment, and someone might be able to h= elp
>> you.
>>
>> Regards,
>> Dov
>>
>>
>> On Mon, Jun 24, 2013 at 8:22 PM, Manuel GJT <valhifi@gmail.com> wrote:
>> > Hello everyone,
>> >
>> > I need to work in an org buffer with both left-to-right and >> > right-to-left
>> > text. Although the character directionality and composition w= orks fine,
>> > when
>> > writing paragraphs with visual-line-mode on the lines get inv= erted,
>> > i.e.,
>> > the line
>> >
>> > ZYX CBA
>> >
>> > appears as
>> >
>> > ZYX
>> > CBA
>> >
>> > instead of
>> >
>> > CBA
>> > ZYX
>> >
>> > The section "22.20 Bidirectional Editing" of the Em= acs manual suggests
>> > forcing the directionality of the paragraph with RIGHT-TO-LEF= T MARK, but
>> > this does not seem to work: even with such a character beginn= ing the
>> > line,
>> > (current-bidi-paragraph-direction) returns "left-to-righ= t".
>> >
>> > The RTL MARK seems to work just fine in tables.
>> >
>> > When written in a clean text-mode buffer the same text appear= s with
>> > proper
>> > directionality. However switching from org-mode to text-mode = does not
>> > correct directionality in said paragraphs. The issue persists= even when
>> > visiting the file with emacs -Q.
>> >
>> > org-version 8.0.3, same issue with v. 7.9.4
>> >
>> > Your help is much appreciated.
>> >
>> > --
>> > Manuel GJT
>
>
>
>
> --
> Manuel GJT



--
Manuel GJT
--bcaec5171e51f53ee104e004d9d7--