From f724cc351640ee075a9867ef42df32cf5e0ef3b7 Mon Sep 17 00:00:00 2001 From: Jonathan Kew Date: Thu, 23 Apr 2015 12:45:02 +0100 Subject: [PATCH] Don't apply Arabic shaping to vertical text. --- src/hb-ot-shape-complex-private.hh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/hb-ot-shape-complex-private.hh b/src/hb-ot-shape-complex-private.hh index e268933..4dc4f58 100644 --- a/src/hb-ot-shape-complex-private.hh +++ b/src/hb-ot-shape-complex-private.hh @@ -179,9 +179,12 @@ hb_ot_shape_complex_categorize (const hb_ot_shape_planner_t *planner) case HB_SCRIPT_PSALTER_PAHLAVI: /* For Arabic script, use the Arabic shaper even if no OT script tag was found. - * This is because we do fallback shaping for Arabic script (and not others). */ - if (planner->map.chosen_script[0] != HB_OT_TAG_DEFAULT_SCRIPT || - planner->props.script == HB_SCRIPT_ARABIC) + * This is because we do fallback shaping for Arabic script (and not others). + * But note that Arabic shaping is applicable only to horizontal layout; for + * vertical text, just use the generic shaper instead. */ + if ((planner->map.chosen_script[0] != HB_OT_TAG_DEFAULT_SCRIPT || + planner->props.script == HB_SCRIPT_ARABIC) && + HB_DIRECTION_IS_HORIZONTAL(planner->props.direction)) return &_hb_ot_complex_shaper_arabic; else return &_hb_ot_complex_shaper_default; -- 2.7.4