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
View this message in rfc822 format
In article <87393j7fdv.fsf <at> gnu.org>, Jason Rumney <jasonr <at> gnu.org> writes:
>>> > So, apparently Emacs on Windows and GNU/Linux uses the
>>> > different metrics of glyphs.
> Right, but adding the offsets to the corresponding metrics, we get the
> same result with both the Windows and GNU/Linux cases,
?? I don't understand what you mean.
> except for the
> total height of the font, which I think is because Windows counts
> inter-line spacing, while on GNU/Linux, that is separate.
I'm not sure, but currently, y-axis metrics are not the problem.
> > For Hebrew too, on Windows, I see the same problem as what
> > Steffan <smias <at> yandex.ru> reported:
> If you are seeing something different than Eli for Hebrew with the same
> font, then I suspect the cause is linked with the version of Uniscribe
> that is installed. Maybe diacritic handling for Hebrew and Arabic is a
> more recent addition to Uniscribe than the basic support for those
> languages.
Perhaps. I tested it on Windows 7, and the tested version
of Emacs was 24.0.?, not the latest one. I'm now
downloading the latest Windows binary of Emacs.
>>> > 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]
> I'm curious as to how we ended up with the same C entry in those
> vectors. Could this be causing us problems later on?
I don't think so. As far as I remember, the C entries in a
glyphs string is not used after being shaped.
> The glyph index
> is correct (comparing to the GNU/Linux version), but I wonder if
> Uniscribe is referring back to the character at some point and tripping
> up because it has been changed.
I have no idea about that.
> > The comment refer to "clusters". I don't know what it
> > exactly means in uniscribe, but I guess it relates to
> > grapheme cluster, and if so, this part seems to relates to
> > the ordering of glyphs in this kind of grapheme clauster:
> >
> > [0 1 1593 969 8 1 8 12 4 nil]
> > [0 1 1593 760 0 3 6 12 4 [1 -2 0]]
> That seems to be correct.
Why? As the xadvance of the first glyph is 8, and
the xoffset of the second glyph is 1, the second glyph is
never drawn at the same column as the first glyph.
> Maybe this is the code that is changing the
> character code to 1593. I seem to recall that something like this was
> required for Indic languages to let Emacs know which characters had been
> linked back into one glyph.
Is that Windows specific?
---
Kenichi Handa
handa <at> gnu.org
This bug report was last modified 4 years and 275 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.