[HarfBuzz] harfbuzz: Branch 'master' - 3 commits
Behdad Esfahbod
behdad at kemper.freedesktop.org
Thu Nov 22 22:32:28 UTC 2018
src/hb-ot-shape.cc | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
New commits:
commit 199a0f7b41b691e371487fd569c0d0146da3c3f3
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Thu Nov 22 17:31:07 2018 -0500
[ot-shape] Simplify logic
diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc
index 31fb3b7c..8d844807 100644
--- a/src/hb-ot-shape.cc
+++ b/src/hb-ot-shape.cc
@@ -149,9 +149,12 @@ hb_ot_shape_planner_t::compile (hb_ot_shape_plan_t &plan,
plan.zero_marks = script_zero_marks && !plan.apply_kerx;
plan.has_gpos_mark = !!plan.map.get_1_mask (HB_TAG ('m','a','r','k'));
- bool has_kern_mark = plan.apply_kern && hb_ot_layout_has_cross_kerning (face);
- plan.fallback_mark_positioning = script_fallback_mark_positioning && !plan.apply_gpos && !plan.apply_kerx && !has_kern_mark;
- plan.adjust_mark_positioning_when_zeroing = !plan.apply_gpos && !plan.apply_kerx && !has_kern_mark;
+ plan.adjust_mark_positioning_when_zeroing = !plan.apply_gpos &&
+ !plan.apply_kerx &&
+ (!plan.apply_kern || !hb_ot_layout_has_cross_kerning (face));
+
+ plan.fallback_mark_positioning = plan.adjust_mark_positioning_when_zeroing &&
+ script_fallback_mark_positioning;
/* Currently we always apply trak. */
plan.apply_trak = plan.requested_tracking && hb_aat_layout_has_tracking (face);
commit 014e4980ed9c8c473001abdb3a44121eb73fd50d
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Thu Nov 22 16:21:49 2018 -0500
Move
diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc
index a7ec6b34..31fb3b7c 100644
--- a/src/hb-ot-shape.cc
+++ b/src/hb-ot-shape.cc
@@ -146,10 +146,10 @@ hb_ot_shape_planner_t::compile (hb_ot_shape_plan_t &plan,
plan.apply_kern = true;
}
- bool has_kern_mark = plan.apply_kern && hb_ot_layout_has_cross_kerning (face);
plan.zero_marks = script_zero_marks && !plan.apply_kerx;
plan.has_gpos_mark = !!plan.map.get_1_mask (HB_TAG ('m','a','r','k'));
+ bool has_kern_mark = plan.apply_kern && hb_ot_layout_has_cross_kerning (face);
plan.fallback_mark_positioning = script_fallback_mark_positioning && !plan.apply_gpos && !plan.apply_kerx && !has_kern_mark;
plan.adjust_mark_positioning_when_zeroing = !plan.apply_gpos && !plan.apply_kerx && !has_kern_mark;
commit 62890dee18b88865a2014fb6a1322c1c9218bd49
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Thu Nov 22 16:20:29 2018 -0500
[aat] Zero mark advances if decided so even if there's cross-kerning
Cross-kerning can only take care of positioning vertically. It doesn't
adjust mark advance...
diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc
index e87848d2..a7ec6b34 100644
--- a/src/hb-ot-shape.cc
+++ b/src/hb-ot-shape.cc
@@ -147,7 +147,7 @@ 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 = script_zero_marks && !plan.apply_kerx && !has_kern_mark;
+ plan.zero_marks = script_zero_marks && !plan.apply_kerx;
plan.has_gpos_mark = !!plan.map.get_1_mask (HB_TAG ('m','a','r','k'));
plan.fallback_mark_positioning = script_fallback_mark_positioning && !plan.apply_gpos && !plan.apply_kerx && !has_kern_mark;
More information about the HarfBuzz
mailing list