all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Kenichi Handa <handa@m17n.org>
To: Yair F <yair.f.lists@gmail.com>
Cc: emacs-bidi@gnu.org, emacs-devel@gnu.org
Subject: Re: [emacs-bidi] Treatment of LRE,RLE,LRO,RLO,PDF,LRM,RLM
Date: Thu, 19 Aug 2010 11:49:14 +0900	[thread overview]
Message-ID: <tl7vd77z591.fsf@m17n.org> (raw)
In-Reply-To: <AANLkTinrGPzGquxPmfigvZLzGbids39yU942sfwKGMYk@mail.gmail.com> (message from Yair F on Wed, 18 Aug 2010 17:33:46 +0300)

In article <AANLkTinrGPzGquxPmfigvZLzGbids39yU942sfwKGMYk@mail.gmail.com>, Yair F <yair.f.lists@gmail.com> writes:

> On Wed, Aug 18, 2010 at 5:06 AM, Kenichi Handa <handa@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-devel@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
handa@m17n.org



       reply	other threads:[~2010-08-19  2:49 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <tl7hbis1xop.fsf@m17n.org>
     [not found] ` <AANLkTinrGPzGquxPmfigvZLzGbids39yU942sfwKGMYk@mail.gmail.com>
2010-08-19  2:49   ` Kenichi Handa [this message]
2010-11-01  8:15     ` Treatment of LRE,RLE,LRO,RLO,PDF,LRM,RLM Kenichi Handa
2010-11-01  9:57       ` Eli Zaretskii
2010-11-01 11:16         ` Kenichi Handa
2010-11-13 13:51           ` [emacs-bidi] " Eli Zaretskii
2010-11-17  5:58             ` Kenichi Handa
2010-11-17  7:14               ` Kenichi Handa
2010-11-17 12:21               ` Eli Zaretskii
2010-11-17 19:20                 ` Eli Zaretskii
2010-11-13 13:44       ` Eli Zaretskii
2010-11-13 14:07         ` Eli Zaretskii
2010-11-17  3:57         ` Kenichi Handa
2010-11-17 12:26           ` Eli Zaretskii
2010-11-17 12:55             ` Andreas Schwab
2010-11-17 13:24               ` Stefan Monnier
2010-11-18 20:07                 ` Eli Zaretskii
2010-11-17 17:54               ` Eli Zaretskii
2010-11-17 23:59                 ` Stefan Monnier
2010-11-18 20:04                   ` Eli Zaretskii
2010-11-18 22:15                     ` Stefan Monnier
2010-11-19 11:31                       ` Eli Zaretskii
2010-11-20 15:06                       ` Eli Zaretskii
2010-11-19  9:53                     ` Andreas Schwab
2010-11-19 11:31                       ` Eli Zaretskii
2010-11-19 11:47                         ` Andreas Schwab
2010-11-17 19:39             ` Eli Zaretskii
2010-11-26 12:20               ` Eli Zaretskii
2010-11-26 12:29               ` Kenichi Handa
2010-11-27  8:42                 ` Eli Zaretskii
2010-11-29  6:35                   ` Kenichi Handa
2010-11-29 18:06                     ` Stefan Monnier
2010-11-20 14:38           ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=tl7vd77z591.fsf@m17n.org \
    --to=handa@m17n.org \
    --cc=emacs-bidi@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=yair.f.lists@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.