> 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
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
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.