Disable joiner-skipping when looking back for base to attach mark to

Fixes https://github.com/harfbuzz/harfbuzz/issues/1189
This commit is contained in:
Behdad Esfahbod 2018-10-02 14:40:14 +02:00
parent c36f3f5bef
commit 729f634728
4 changed files with 6 additions and 1 deletions

View File

@ -129,7 +129,10 @@ hb_ot_shape_collect_features (hb_ot_shape_planner_t *planner,
planner->shaper->collect_features (planner);
for (unsigned int i = 0; i < ARRAY_LENGTH (common_features); i++)
map->enable_feature (common_features[i]);
map->add_feature (common_features[i], F_GLOBAL |
(common_features[i] == HB_TAG('m','a','r','k') ||
common_features[i] == HB_TAG('m','k','m','k') ?
F_MANUAL_JOINERS : F_NONE));
if (HB_DIRECTION_IS_HORIZONTAL (props->direction))
for (unsigned int i = 0; i < ARRAY_LENGTH (horizontal_features); i++)

View File

@ -2,6 +2,7 @@ TESTS = \
tests/arabic-fallback-shaping.tests \
tests/arabic-feature-order.tests \
tests/arabic-like-joining.tests \
tests/arabic-mark-attach.tests \
tests/arabic-mark-order.tests \
tests/arabic-stch.tests \
tests/automatic-fractions.tests \

View File

@ -0,0 +1 @@
../fonts/641ca9d7808b01cafa9a666c13811c9b56eb9c52.ttf::U+064A,U+0633,U+06E1,U+200D,U+0654,U+064E,U+0644:[afii57444.zz04=6+1091|afii57454=1@75,925+0|uni0654=1+0|space=1+0|uni06E1=1@950,1115+0|afii57427.zz03_calt=1+1847|afii57450.zz21=0+345]