[aat] Disable fallback mark advance zeroing and positioning if morx applied

Fixes https://github.com/harfbuzz/harfbuzz/issues/1357
This commit is contained in:
Behdad Esfahbod 2018-11-13 21:10:10 -05:00
parent dc4225ccd1
commit 3c3eb5ea9c
1 changed files with 2 additions and 2 deletions

View File

@ -138,9 +138,9 @@ hb_ot_shape_planner_t::compile (hb_ot_shape_plan_t &plan,
} }
bool has_kern_mark = plan.apply_kern && hb_ot_layout_has_cross_kerning (face); bool has_kern_mark = plan.apply_kern && hb_ot_layout_has_cross_kerning (face);
plan.zero_marks = !plan.apply_kerx && !has_kern_mark; plan.zero_marks = !plan.apply_morx && !plan.apply_kerx && !has_kern_mark;
plan.has_gpos_mark = !!plan.map.get_1_mask (HB_TAG ('m','a','r','k')); plan.has_gpos_mark = !!plan.map.get_1_mask (HB_TAG ('m','a','r','k'));
plan.fallback_mark_positioning = !plan.apply_gpos && !plan.apply_kerx && !has_kern_mark; plan.fallback_mark_positioning = !plan.apply_gpos && plan.zero_marks;
/* Currently we always apply trak. */ /* Currently we always apply trak. */
plan.apply_trak = plan.requested_tracking && hb_aat_layout_has_tracking (face); plan.apply_trak = plan.requested_tracking && hb_aat_layout_has_tracking (face);