bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#15273: 24.3.50; Combining character sequences are displayed weirdly


From: Kenichi Handa
Subject: bug#15273: 24.3.50; Combining character sequences are displayed weirdly
Date: Sun, 08 Sep 2013 22:05:41 +0900

In article <83r4d2mpi2.fsf@gnu.org>, Eli Zaretskii <eliz@gnu.org> writes:

> Character composition in Emacs can happen in 1 of 2 ways:

>  . The font driver tells Emacs to compose several characters into a
>    single grapheme cluster, by drawing all of them as a single unit,
>    and by drawing the 2nd, 3rd, etc. character glyphs at certain pixel
>    offsets relative to the base glyph.

>  . Emacs itself has composition rules for 2 or more characters; in
>    this case, the same pixel offsets come from those rules.

Right.  And U+20E4 has this entry.

(aref composition-function-table #x20E4)
=> (["\\c.\\c^+" 1 compose-gstring-for-graphic]
    [nil 0 compose-gstring-for-graphic])

This says that a base character (char-category ".") followed
by a combing character (char-category "^") should be
composed by the function compose-gstring-for-graphic if
those character are displayed by the same font.

But, I found a bug in characters.el.  In it, U+20E4's
char-actegory is not set as "^".  So, Emacs couldn't compose
it with the preceding base character.  I've just installed a
fix.

Now, Emacs composes U+20E4 with the preceding "!" if the
same font is selected for those two characters.

Next, I'm not sure whether Emacs composes them correctly if
the underlying font driver doesn't support OTF's "mark" and
"mkmk" features.  The function compose-gstring-for-graphic
has a code for such a case, but I don't remember that I
wrote a code for "enclosing combining marks".

---
Kenichi Handa
handa@gnu.org





reply via email to

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