emacs-bidi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [emacs-bidi] Re: Callbacks?


From: Eli Zaretskii
Subject: Re: [emacs-bidi] Re: Callbacks?
Date: Wed, 30 Nov 2005 23:28:57 +0200

> Date: Wed, 30 Nov 2005 07:13:08 -0600
> From: Gregg Reynolds <address@hidden>
> Cc: address@hidden
> 
> > - In our current approach, we not only change the properties of some
> >   characters, but also introduce additional embedding (or occasionally
> >   override) levels. Is this possible in your implementation?
> > 
> Have you taken a look at the source for nxml mode?  You might be able to 
> hack it up do do something like this.  As I understand it, in Emacs you 
> can set whatever properties you like on each character in a buffer.  See 
> node 32.19, "Text Properties", of the Elisp manual.

There's a confusion here, I think: the term ``properties'' is used in
two different meanings (sorry, it's partly my blame, since I started
to talk about ``directional properties'' or some such).  The text
properties mentioned in the ELisp manuals have nothing to do with
directionality, they are a way to specify the typeface (color, font,
etc.,) used to display a portion of a buffer.  With ingenious enough
usage of text properties, you can even display one character as
something else, e.g., display `a' as `b'; but there's no way to use
text properties to reorder characters for display.  (If there were a
way, I would not need to write the bidi reordering code in C.)

> Now the interesting possibility presents itself, which is to add 
> Unicode-related "special" (ie. built-in) text properties.  In 
> particular, directional class.

Not a good idea: text properties are considered part of the text, so
they are, e.g., copied together with the characters when you
copy/paste text.

Use of text properties as part of the reordering (specifically, to
store the Unicode bidi embedding levels) was discussed here in the
past, and the conclusion was that we should not use them.  Again,
please read past discussions.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]