emacs-bidi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [emacs-bidi] Treatment of LRE,RLE,LRO,RLO,PDF,LRM,RLM


From: Eli Zaretskii
Subject: Re: [emacs-bidi] Treatment of LRE,RLE,LRO,RLO,PDF,LRM,RLM
Date: Wed, 18 Aug 2010 01:56:44 -0400

> From: Kenichi Handa <address@hidden>
> Cc: address@hidden
> Date: Wed, 18 Aug 2010 13:31:18 +0900
> 
> A problem happens when one wants to put point at (before or
> after) those formatting characters or wants to insert/delete
> those characters, which doesn't seem like a usual case.

I agree.  For that use-case, the user will want to reveal these
characters first.

> For instance, just after one inserts RLE, it can be deleted
> by DEL.  But, once one moves point (and thus RLE is composed
> with the following char), he must use C-d to delete that
> RLE.
> 
> In addition, we have some technical problem in composing.
> 
> For instance, if you have this text:
>   r2l contents is embeded here [RLE] R2L CONTENTS [PDF].
> the current bidi code generates glyphs in this visual order:
>    ... here [PDF] STNETNOC L2R [RLE].

Yes, this is intentional: when these formatting characters are
revealed, they should enclose the text they affect.

> and that means we can't compose [PDF] with the following ".".

Hmm.. I thought composition works on the buffer text level, i.e. it
examines characters in logical order (even if it sometimes does it
backwards).  So you should be able to compose PDF with the period that
follows it, no?

> And what should we do when the last character is one of
> formatting characters?
> 
> At last, it seems like an abuse of composition in this case
> because those formatting characters don't construct a
> grapheme cluster with the following char.

OK, I'm convinced.  Let's go with the hide mode instead.  I hope the
need for one more C-f/C-b will not be confusing.  Maybe we should
modify cursor motion commands to automatically move past these
characters?  What do other application do, for example OpenOffice?

Thanks.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]