[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