emacs-devel
[Top][All Lists]
Advanced

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

Re: RLM and LRM are composed?


From: Kenichi Handa
Subject: Re: RLM and LRM are composed?
Date: Thu, 01 Apr 2010 15:39:30 +0900

In article <address@hidden>, Eli Zaretskii <address@hidden> writes:

> Evaluate this form:
>   (aset standard-display-table ?‎ (vconcat "->"))

> and then visit a file with this single line:

>     Hebrew ‏(עברית)   שלום

> The character being set up in the standard-display-table is RLM,
> RIGHT-TO-LEFT MARK.  If you are reading this in a GUI session, chances
> are it will be displayed as whitespace.  The same character is before
> the left paren after "Hebrew".  However, Emacs does not display "->"
> instead of it, as I'd expect.  It thinks it does (try "C-u C-x =" on
> that character), but it doesn't.

> If I step with a debugger through produce_glyphs (in the TTY case) or
> through x_produce_glyphs (in the GUI case), I see that the glyph we
> produce for displaying this character is not IT_CHARACTER, but
> IT_COMPOSITION.

Current code try to compose any non-spacing mark characters
with the previous spacing characters.  But, the detection of
non-spacing mark is done by (= (aref char-width-table CH)
0).  This should be changed to check char-code-property
`general-category'.  I'll fix the code soon, but at the
moment, you can workaround the problem by this:

  (aset composition-function-table #x200f nil)

---
Kenichi Handa
address@hidden




reply via email to

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