[HarfBuzz] harfbuzz: Branch 'master'

Behdad Esfahbod behdad at kemper.freedesktop.org
Tue Aug 5 11:19:54 PDT 2014


 src/hb-ot-shape-complex-arabic.cc                                       |    4 ++--
 test/shaping/Makefile.am                                                |    1 +
 test/shaping/fonts/sha1sum/MANIFEST                                     |    1 +
 test/shaping/fonts/sha1sum/df768b9c257e0c9c35786c47cae15c46571d56be.ttf |binary
 test/shaping/tests/MANIFEST                                             |    1 +
 test/shaping/tests/arabic-fallback-shaping.tests                        |    1 +
 6 files changed, 6 insertions(+), 2 deletions(-)

New commits:
commit d5e61470fa8e5046c35a79988e00e012ae4fff0f
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Tue Aug 5 14:19:01 2014 -0400

    [arabic] Fix fallback shaping regression
    
    Was broken in 615d00ea252739da57edbd980ff27e573.
    
    Fixes https://github.com/behdad/harfbuzz/pull/48
    
    Micro-test added.

diff --git a/src/hb-ot-shape-complex-arabic.cc b/src/hb-ot-shape-complex-arabic.cc
index 6cf1a7f..ae90864 100644
--- a/src/hb-ot-shape-complex-arabic.cc
+++ b/src/hb-ot-shape-complex-arabic.cc
@@ -223,8 +223,8 @@ data_create_arabic (const hb_ot_shape_plan_t *plan)
   for (unsigned int i = 0; i < ARABIC_NUM_FEATURES; i++) {
     arabic_plan->mask_array[i] = plan->map.get_1_mask (arabic_features[i]);
     arabic_plan->do_fallback = arabic_plan->do_fallback &&
-			       !FEATURE_IS_SYRIAC (arabic_features[i]) &&
-			       plan->map.needs_fallback (arabic_features[i]);
+			       (FEATURE_IS_SYRIAC (arabic_features[i]) ||
+			        plan->map.needs_fallback (arabic_features[i]));
   }
 
   return arabic_plan;
diff --git a/test/shaping/Makefile.am b/test/shaping/Makefile.am
index 9e82513..e2dcc98 100644
--- a/test/shaping/Makefile.am
+++ b/test/shaping/Makefile.am
@@ -36,6 +36,7 @@ CLEANFILES += \
 	$(NULL)
 
 TESTS = \
+	tests/arabic-fallback-shaping.tests \
 	tests/arabic-feature-order.tests \
 	tests/context-matching.tests \
 	tests/hangul-jamo.tests \
diff --git a/test/shaping/fonts/sha1sum/MANIFEST b/test/shaping/fonts/sha1sum/MANIFEST
index a8ca117..c51639b 100644
--- a/test/shaping/fonts/sha1sum/MANIFEST
+++ b/test/shaping/fonts/sha1sum/MANIFEST
@@ -12,6 +12,7 @@ a919b33197965846f21074b24e30250d67277bce.ttf
 bb29ce50df2bdba2d10726427c6b7609bf460e04.ttf
 bb9473d2403488714043bcfb946c9f78b86ad627.ttf
 d629e7fedc0b350222d7987345fe61613fa3929a.ttf
+df768b9c257e0c9c35786c47cae15c46571d56be.ttf
 e207635780b42f898d58654b65098763e340f5c7.ttf
 ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttf
 f499fbc23865022234775c43503bba2e63978fe1.ttf
diff --git a/test/shaping/fonts/sha1sum/df768b9c257e0c9c35786c47cae15c46571d56be.ttf b/test/shaping/fonts/sha1sum/df768b9c257e0c9c35786c47cae15c46571d56be.ttf
new file mode 100644
index 0000000..c6d8b18
Binary files /dev/null and b/test/shaping/fonts/sha1sum/df768b9c257e0c9c35786c47cae15c46571d56be.ttf differ
diff --git a/test/shaping/tests/MANIFEST b/test/shaping/tests/MANIFEST
index 3639133..3f2aed4 100644
--- a/test/shaping/tests/MANIFEST
+++ b/test/shaping/tests/MANIFEST
@@ -1,3 +1,4 @@
+arabic-fallback-shaping.tests
 arabic-feature-order.tests
 context-matching.tests
 hangul-jamo.tests
diff --git a/test/shaping/tests/arabic-fallback-shaping.tests b/test/shaping/tests/arabic-fallback-shaping.tests
new file mode 100644
index 0000000..0240448
--- /dev/null
+++ b/test/shaping/tests/arabic-fallback-shaping.tests
@@ -0,0 +1 @@
+fonts/sha1sum/df768b9c257e0c9c35786c47cae15c46571d56be.ttf:U+0633,U+064F,U+0644,U+064E,U+0651,U+0627,U+0651,U+0650,U+0645,U+062A,U+06CC:[uni06CC.fina=10+1655|uni062A.medi=9+868|uni0645.init=8+1098|uni0650=2 at 208,0+0|uni0651=2 at 272,768+0|uni064E=2 at 944,1216+0|uni0651=2 at 1008,768+0|uni06440627.fina=2+1470|uni064F=0 at 576,-32+0|uni0633.init=0+1585]


More information about the HarfBuzz mailing list