In article <aanlktinrgpzgquxpmfigvzlzgbids39yu942sfwkg...@mail.gmail.com>, Yair F <yair.f.li...@gmail.com> writes:
> On Wed, Aug 18, 2010 at 5:06 AM, Kenichi Handa <ha...@m17n.org> wrote: > > I think it's about the time to decide how to display these > > formatting characters: LRE, RLE, LRO, RLO, PDF, LRM, RLM. > This is not a bidi-specific issue. Yes. I included emacs-de...@gnu.org in CC:. > It is possible that these characters > and other Unicode control characters needs to be trated as non-visiblle > characters. The assitional characters are CGJ, IAA, IAS, ZWNBSP (BOM), > IAT LSEP, PSEP, WJ, Invisible Operators, ans all Zero width characters: > ZWSP, ZWNJ, ZWJ. > All of these characters modify the environment aboud them but do not > display glyphs. In some way they are like the TAB character. > I am thinking of extending whitespace.el to make them visible if the > user wishes, but IMO, they should bot be visible by default. See the > impact on the HELLO fle. Extending whitespace.el will be good. But, anyway we must hide those characters by default, so we need some char-table to specify that. Currently standard-display-table is not made by default. I think the first step is to made it by default, and specify [] for all of those characters. > > (1) invisible-mode (perhaps the default) > > > > Hide them, for instance, by > > (aset standard-display-table #x202e []) > > > > Then, you have to type C-f or C-b twice to pass over those > > characters. That means users can still put cursor anywhere > > if he moves cursor carefully. > Yes, but currently the cursore is "gone" if it is on invisible character. "Gone"? The cursor is displayed on the next visible character. It may be good to show a bar cursor of 1-pixel width when it's on a zero-width character. > > (2) light-visible-mode > > > > Show them by a space of 1-pixel width. > > > > (3) heavy-visible-mode > > > > Show them, for instance, by > > (aset standard-display-table #x202e [?[ ?R ?L ?O ?]]) > > perhaps with some color attribute (forground? underline?). > > > These modes seems less usable. I may use (2) for my default setting. And (3) may be usable on terminal where we can't show a fancy glyph. > > (4) fancy-visible-mode > > > > Show them by a glyph something like what you can see by this code: > > > Yes, SI 1452 indeed specify characters look U21B2 and U21B3 for > keyboard marking for LRM and RLM. What is "SI 1452"? Anyway, for that we must implement a fundamental mechanism in display engine. I think it's not a hard work. I'd like to extend the elements of a display table. Currently only a glyph vector or nil is allowed. It seems good to extend it so that it can completely control the displaying of a character (like by face and display text properties). At least, for (2), I want to specify a space width (relative or absolute), and for (4) I want to specify a special form (list?) containing a mnemonic label. --- Kenichi Handa ha...@m17n.org _______________________________________________ emacs-bidi mailing list emacs-bidi@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-bidi