GNU bug report logs -
#11860
24.1; Arabic - Harakat (diacritics, short vowels) don't appear
Previous Next
Reported by: Steffan <smias <at> yandex.ru>
Date: Wed, 4 Jul 2012 18:43:12 UTC
Severity: normal
Found in version 24.1
Done: Stefan Kangas <stefan <at> marxist.se>
Bug is archived. No further changes may be made.
Full log
Message #41 received at 11860 <at> debbugs.gnu.org (full text, mbox):
>>>>> On Sat, 18 Aug 2012 11:45:27 +0900, Kenichi Handa <handa <at> gnu.org> said:
> If this problem happens only for bidi scripts, one
> possibility is that Emacs's rendering engine (xdisp.c)
> expects glyphs in a glyph-string are rendered in that order
> from left to right, but the returned glyph-string on Windows
> should be rendered in reverse order. For instance, in the
> above case, we may have to render glyphs in this order
> (diacritical mark first):
> [0 1 1593 760 0 3 6 12 4 [1 -2 0]]
> [0 1 1593 969 8 1 8 12 4 nil]
The font backend driver on the Mac port is supposed to support
right-to-left shaping (including for non-BMP chars, though I don't
have a good example), and it gives the following result (diacritical
mark comes first) for Courier New 13pt:
mac-ct:-*-Courier New-normal-normal-normal-*-13-*-*-*-m-0-iso10646-1
by these glyphs:
[0 1 1618 760 8 0 2 11 -8 [-1 2 1]]
[0 1 1593 969 8 0 6 5 4 [-1 0 8]]
In the above example, the grapheme cluster consists of glyphs having
non-nil adjustments (the last element of each vector). In the
function Ffont_shape_gstring, there is some code that merges grapheme
clusters generated by a font backend driver so each of them starts
with a glyph having non-nil adjustment (except the first grapheme
cluster of the gstring). I think this is not correct especially for
right-to-left text, and I disabled that part in the Mac port. Could
you give an example if you think this part is necessary?
YAMAMOTO Mitsuharu
mituharu <at> math.s.chiba-u.ac.jp
This bug report was last modified 4 years and 274 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.