[HarfBuzz] harfbuzz: Branch 'master'

Behdad Esfahbod behdad at kemper.freedesktop.org
Wed Mar 1 22:29:05 UTC 2017


 src/hb-ot-layout-gsubgpos-private.hh                                    |    7 +++----
 test/shaping/fonts/sha1sum/5bbf3712e6f79775c66a4407837a90e591efbef2.ttf |binary
 test/shaping/tests/context-matching.tests                               |    1 +
 3 files changed, 4 insertions(+), 4 deletions(-)

New commits:
commit b9b005f3a44ccf78a45b212b126287b69b9f4b40
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Wed Mar 1 14:27:23 2017 -0800

    Fix Context lookup application when moving back after a glyph delete
    
    This was broken forever, since days that we did not allow moving
    tape backwards. Works now. Reported by Doug Felt.

diff --git a/src/hb-ot-layout-gsubgpos-private.hh b/src/hb-ot-layout-gsubgpos-private.hh
index 0c42352..244c395 100644
--- a/src/hb-ot-layout-gsubgpos-private.hh
+++ b/src/hb-ot-layout-gsubgpos-private.hh
@@ -999,14 +999,13 @@ static inline bool apply_lookup (hb_apply_context_t *c,
     /* Recursed lookup changed buffer len.  Adjust. */
 
     end += delta;
-    if (end <= int (match_positions[idx]))
+    if (end < int (match_positions[idx]))
     {
       /* End might end up being smaller than match_positions[idx] if the recursed
-       * lookup ended up removing many items, more than we have had matched.
+       * lookup ended up removing too many items.
        * Just never rewind end back and get out of here.
        * https://bugs.chromium.org/p/chromium/issues/detail?id=659496 */
       end = match_positions[idx];
-      /* There can't be any further changes. */
       break;
     }
 
@@ -1019,7 +1018,7 @@ static inline bool apply_lookup (hb_apply_context_t *c,
     }
     else
     {
-      /* NOTE: delta is negative. */
+      /* NOTE: delta is non-positive. */
       delta = MAX (delta, (int) next - (int) count);
       next -= delta;
     }
diff --git a/test/shaping/fonts/sha1sum/5bbf3712e6f79775c66a4407837a90e591efbef2.ttf b/test/shaping/fonts/sha1sum/5bbf3712e6f79775c66a4407837a90e591efbef2.ttf
new file mode 100644
index 0000000..2d2bf19
Binary files /dev/null and b/test/shaping/fonts/sha1sum/5bbf3712e6f79775c66a4407837a90e591efbef2.ttf differ
diff --git a/test/shaping/tests/context-matching.tests b/test/shaping/tests/context-matching.tests
index e20616e..1711818 100644
--- a/test/shaping/tests/context-matching.tests
+++ b/test/shaping/tests/context-matching.tests
@@ -1,3 +1,4 @@
 fonts/sha1sum/4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf::U+1A48,U+1A58,U+1A25,U+1A48,U+1A58,U+1A25,U+1A6E,U+1A63:[uni1A48=0+1212|uni1A25=0+1912|uni1A58=0+0|uni1A48=3+1212|uni1A6E=3+0|uni1A25=3+1912|uni1A58=3+0|uni1A63=3+1212]
 fonts/sha1sum/d629e7fedc0b350222d7987345fe61613fa3929a.ttf::U+0915,U+093F,U+0915,U+093F:[ivowelsign03deva=0+530|kadeva=0+1561|ivowelsign03deva=2+530|kadeva=2+1561]
 fonts/sha1sum/f499fbc23865022234775c43503bba2e63978fe1.ttf::U+09B0,U+09CD,U+09A5,U+09CD,U+09AF,U+09C0:[gid1=0+1320|gid13=0+523|gid18=0+545]
+fonts/sha1sum/5bbf3712e6f79775c66a4407837a90e591efbef2.ttf:--font-funcs=ot:U+1F1FA,U+1F1FC:[gid3=0+2550]


More information about the HarfBuzz mailing list