emacs-devel
[Top][All Lists]
Advanced

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

Re: Unicode support


From: Roozbeh Pournader
Subject: Re: Unicode support
Date: Wed, 25 Jul 2001 01:09:38 +0430 (IRDT)

On Tue, 24 Jul 2001, Werner LEMBERG wrote:

> [This mail is about how to implement advanced Unicode support (level 2
>  and 3) in Emacs.]

Just trying to be technically correct: There is no such thing as level 2
and level 3 in Unicode. These things are ISO 10646 terms (and well, I
don't like them).

> > Shouldn't Arabic presentation forms addition be delayed for some
> > (short) time, in case the user types more characters of the same
> > word?  Emacs will not normally know how to display the character
> > just typed: as initial, medial, or final form, since it doesn't know
> > what will be typed next.

What I believe to be the best experiment for the user, is having something
like a U+200D ZERO WIDTH JOINER move with the cursor: when she presses a
new "letter", remove the last ZWJ (if it exists), add the character to the
buffer, add the ZWJ, and reshape. If she typed a non-letter, remove the
ZWJ, add the new character, and reshape. Because the letters are much more
frequent than non-letter, this strategy will minimize the change of the
shapes on the screen (which is good for many things, from the
communication software, to the users's eyes).

I can provide more details or examples, if that's needed.

> BTW, I forgot to mention language tags.

Plane 14 ones?!!!

> Eli, you are the expert here.  Maybe it is possible to use some freely
> available Unicode BIDI algorithms to avoid the reinvention of the
> wheel.

Fribidi is always available, fully compliant, and LGPL-ed. You can get the
latest version by CVS from:

        http://sourceforge.net/cvs/?group_id=2722

The mailing list is at:

        http://sourceforge.net/mail/?group_id=2722

We are currently thinking on implementing it in some other language than
C, which will most probably be Omega's OTP. I don't know much about the
Emacs structure, but I think reimplementing bidi in Lisp would be a waste
of [insert something you value here ;)], specially since making it
compliant takes much more than you may guess. Use Fribidi if you can.

roozbeh




reply via email to

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