[HarfBuzz] harfbuzz: Branch 'stable'
Simon Hausmann
hausmann at kemper.freedesktop.org
Tue Apr 3 04:57:20 PDT 2007
src/harfbuzz-gpos.c | 6 ++++++
1 files changed, 6 insertions(+)
New commits:
diff-tree 03e5277999d9366e2746481e01243cf32d4446e8 (from 8ada6d20e1b0fb6e3dfdc8ca113ac8dd7ef2a243)
Author: Simon Hausmann <shausman at rhea.troll.no>
Date: Tue Apr 3 13:48:15 2007 +0200
Fixed gpos pair adjustments sometimes not being applied if the first glyph
was covered but not the second. In that case we did not try looking up the
second glyph in the next iteration. This mean for example that while "Te"
was nicely kerned "QTe" wasn't because after we failed to look up "T" for
the "QT" pair we skipped looking up "T" for "TE" in the next iteration.
Reviewed by Denis Jacquerye
diff --git a/src/harfbuzz-gpos.c b/src/harfbuzz-gpos.c
index 2ed9df7..513f3fb 100644
--- a/src/harfbuzz-gpos.c
+++ b/src/harfbuzz-gpos.c
@@ -1652,6 +1652,12 @@ static FT_Error Lookup_PairPos( GPOS_In
return HB_Err_Invalid_GPOS_SubTable_Format;
}
+ /* if we don't have coverage for the second glyph don't skip it for
+ further lookups but reset in_pos back to the first_glyph and let
+ the caller in Do_String_Lookup increment in_pos */
+ if ( error == HB_Err_Not_Covered )
+ buffer->in_pos = first_pos;
+
/* adjusting the `next' glyph */
if ( pp->ValueFormat2 )
More information about the HarfBuzz
mailing list