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 <[email protected]>
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@208,0+0|uni0651=2@272,768+0|uni064E=2@944,1216+0|uni0651=2@1008,768+0|uni06440627.fina=2+1470|uni064F=0@576,-32+0|uni0633.init=0+1585]
_______________________________________________
HarfBuzz mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/harfbuzz

Reply via email to