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

Reply via email to