From f368ba4a9edec4e297616698097546e8e6c89e53 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Thu, 4 Apr 2013 14:25:36 -0400 Subject: [PATCH] [Arabic] Zero marks by GDEF, not Unicode category MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Testing shows that this is closer to what Uniscribe does. Reported by Khaled Hosny: """ commit 568000274c8edb5f41bc4f876ce21fcc8bdaeed8 ... This commit is causing a regression with Amiri, the string “هَٰذ” with Uniscribe and HarfBuzz before this commit, gives: [uni0630.fina=3+965|uni0670.medi=0+600|uni064E=0@-256,0+0|uni0647.init=0+926] But now it gives: [uni0630.fina=3+965|uni0670.medi=0+0|uni064E=0@-256,0+0|uni0647.init=0+926] i.e. uni0670.medi is zeroed though it has a base glyph GDEF class. """ The test case is U+0647,U+064E,U+0670,U+0630 with Amiri. --- src/hb-ot-shape-complex-arabic.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hb-ot-shape-complex-arabic.cc b/src/hb-ot-shape-complex-arabic.cc index 18b3d02dc..2f069d05f 100644 --- a/src/hb-ot-shape-complex-arabic.cc +++ b/src/hb-ot-shape-complex-arabic.cc @@ -352,6 +352,6 @@ const hb_ot_complex_shaper_t _hb_ot_complex_shaper_arabic = NULL, /* decompose */ NULL, /* compose */ setup_masks_arabic, - HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_UNICODE, + HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF, true, /* fallback_position */ };