diff --git a/src/hb-ot-shape-complex-arabic.cc b/src/hb-ot-shape-complex-arabic.cc index 6cf1a7f59..ae9086412 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 9e825133a..e2dcc98ef 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 a8ca117f1..c51639b61 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 000000000..c6d8b18e7 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 363913334..3f2aed45e 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 000000000..024044808 --- /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]