emacs-bidi
[Top][All Lists]
Advanced

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

Re: [emacs-bidi] Thank you Eli for your work on bidi!


From: Eli Zaretskii
Subject: Re: [emacs-bidi] Thank you Eli for your work on bidi!
Date: Wed, 07 Jul 2010 14:40:46 +0300

> Date: Tue, 6 Jul 2010 13:07:24 +0300
> From: Yair F <address@hidden>
> Cc: "Ze'ev Clementson" <address@hidden>, address@hidden
> 
> On Mon, Jul 5, 2010 at 9:42 PM, Eli Zaretskii <address@hidden> wrote:
> > The rest is mostly higher-level application and usability features,
> > which I hope can be written entirely in Lisp.  I also hope that
> > motivated people who use bidi scripts and know Lips will come up on
> > board and help both design and implement these features, because no
> > single person can do that alone, especially not this old fart.
> 
> I can give a hand, What else do you think is missing at the lisp level?

Thanks.

I don't have a full list or a detailed plan.  What's below is just a
knee-jerk reaction, plus bits and pieces I gathered from my notes.
Note that most of the suff needs at least some discussion and then
design, before it can be coded.

For now, there's only one feature implemented on this level: the
effect of left and right arrow keys that is sensitive to the current
paragraph direction.  But this is just a bare minimum.

With those caveats out of my way, here's what I've got, in no
particular order:

 . UI issues.

   Some URLs with UI issues pertinent to bidi scripts are:

   - http://www-01.ibm.com/software/globalization/topics/bidiui/index.jsp
   - "better tutorial on mixed directionality" in comp.windows.x.intrinsics
   - http://osdir.com/ml/region.israel.ivrix.discuss/2003-05/msg00031.html
   - https://bugzilla.gnome.org/show_bug.cgi?id=70451
   - https://bugzilla.gnome.org/show_bug.cgi?id=136529
   - https://bugzilla.gnome.org/show_bug.cgi?id=116626

   Do we need some or all of those features?  If we do, how would we
   want them to work in Emacs?  This needs discussion and decisions,
   before coding.

 . Reveal formatting codes and bidi-specific peculiarities: do we need
   a mode that makes RLM, LRM, RLE, LRO, PDF, etc. visible?  What
   about displaying the resolved bidi level of each character?

 . Do we need a convenient method of inserting directional formatting
   codes?  Currently, unless you remember the Unicode codepoint by
   heart, the only way is "C-x 8 RET RIGHT-TO-LEFT OVERRIDE RET" etc.

 . A command to force L2R or R2L base direction on a paragraph (should
   simply insert LRM or RLM in front of the paragraph).  Should also
   handle several paragraphs marked by the region.

 . Display a second cursor where insertion and deletion positions are
   ambiguous due to reordering.  (hexl-mode is an example of
   displaying a second cursor using overlays.)

   - This will need some kind of support from the display engine.  Is
     it enough to return the resolved level of a character given its
     buffer or screen position?

 . A mode that shows the buffer in its un-reordered logical order.
   This one is trivial to implement (just toggle
   bidi-display-reordering), but I'd like to hear agreement that it is
   needed.

 . What about inserting mirrored characters?  We can easily handle
   this in input methods, and keyboard input, at least with some
   localized keyboard layouts, already does this outside of Emacs, but
   what about Emacs APIs such as `insert', `ucs-insert' etc.? do we
   need them to mirror characters as well?

 . Reordering strings and comments in program source code.  See the
   other discussion on this list, which is still on-going.
   Implementing this will certainly need some support from the display
   engine, but most of the work is on the Lisp level.  I would like to
   have the main design decisions soon, and then I will code the parts
   in the display engine that are needed for this.

 . Some interactive facility to fix reordering of a portion of text so
   it displays correctly.  A non-specialist, who does not know the
   exact effect of the formatting characters on the reordering, will
   have hard time figuring out how to do that.  Even I sometimes need
   to try several possible ways before I get it right.  It would be
   nice to have an interactive feature whereby the user could type
   some portion of text in the visual order, and have Emacs insert
   formatting characters to produce that effect on the screen.

This will do for the time being.  If someone wants to discuss some of
these, please start a new thread for each feature (or set of features,
if they are related).

TIA




reply via email to

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