[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ft-devel] Bug with hinting of references to composite glyphs
From: |
Ben Laenen |
Subject: |
[ft-devel] Bug with hinting of references to composite glyphs |
Date: |
Sat, 24 Jun 2006 14:48:58 +0200 |
User-agent: |
KMail/1.9.1 |
Hi all,
We found an issue with the bytecode interpreter. When you have the
following glyphs:
* A: base glyph, nothing special
* B: accent 1
* C: accent 2
* D: reference to accent 1 and accent 2
* E: reference to A and D
the hinting instructions of D aren't executed well. I have a sreenshot
attached that makes it clearer (the font used for testing can be
downloaded from
http://fenix.cmi.ua.ac.be/~p015259/dejavu/DejaVuSans.ttf so you can
test it out yourself):
the glyphs in question are:
A: for example alpha
B: tilde
C: psili (the comma-like accent)
D: psili + tilde (U+1FCF)
E: alpha + psili + tilde (U+1F06)
I tried something silly in the psili + tilde glyph with hinting to test
it out: horizontally aligning the left points of psili and tilde, so
you get the effect shown in the green circle in the screenshot.
Now, alpha + psili + tilde or other vowels + psili + tilde, some of them
in red circles in the screenshot, have references to the psili+tilde
glyph. But the accents aren't aligned in that glyph any more (the
alpha+psili+tilde glyph does not have any hinting instructions).
Furthermore, the entire reference to the double accent is shifted to
the right, so the hinting of psili+tilde has some effect in the final
glyph.
Further investigation lead to the belief that the bug happens when the
reference to the composite glyph isn't ordered first. Because we
discovered that we experienced two different results with
diaeresistonos (U+0385): we lowered the acute accent 2 pixels.
Iotadiaeresistonos (U+0390) shows the expected behaviour.
Usilondiaeresistonos (U+03B0) on the other hand shifts the entire
diaeresistonos accent (so the same effect as the first example).
Since the order of the references in U+0390 and U+03B0 is different
(U+0390 has the accent first, U+03B0 has the upsilon first), and
reordering the references of U+03B0 gives the good behaviour, we came
to the conclusion that FreeType does something wrong when the reference
to the composite glyph isn't ordered first.
Greetings
Ben
PS: please keep us CC'ed, as we're not subscribed to the list
hintingerror.png
Description: PNG image
- [ft-devel] Bug with hinting of references to composite glyphs,
Ben Laenen <=