diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc index 459e1229d0b479a6034233c5d55483cf398ff140..a383b78231a102099fcaaea13e3af1fccbdc90a9 100644 --- a/src/hb-ot-shape.cc +++ b/src/hb-ot-shape.cc @@ -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); - 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.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. */ plan.apply_trak = plan.requested_tracking && hb_aat_layout_has_tracking (face);