> Date: Tue, 6 Jul 2010 13:07:24 +0300 > From: Yair F <yair.f.li...@gmail.com> > Cc: "Ze'ev Clementson" <beresh...@gmail.com>, emacs-bidi@gnu.org > > On Mon, Jul 5, 2010 at 9:42 PM, Eli Zaretskii <e...@gnu.org> 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 _______________________________________________ emacs-bidi mailing list emacs-bidi@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-bidi