From 4a68684654e645882095c1189477146287ce9437 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Thu, 21 Jul 2011 00:14:01 -0400 Subject: [PATCH] When forming clusters, participate all mark types --- src/hb-ot-shape.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc index 7a84d9b2c..a9a8a7a3d 100644 --- a/src/hb-ot-shape.cc +++ b/src/hb-ot-shape.cc @@ -202,8 +202,10 @@ hb_form_clusters (hb_ot_shape_context_t *c) { unsigned int count = c->buffer->len; for (unsigned int i = 1; i < count; i++) - /* TODO: Match other mark types too? */ - if (c->buffer->info[i].general_category() == HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK) + if (FLAG (c->buffer->info[i].general_category()) & + (FLAG (HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK) | + FLAG (HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK) | + FLAG (HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK))) c->buffer->info[i].cluster = c->buffer->info[i - 1].cluster; }