When forming clusters, participate all mark types

This commit is contained in:
Behdad Esfahbod 2011-07-21 00:14:01 -04:00
parent 5157e12a55
commit 4a68684654
1 changed files with 4 additions and 2 deletions

View File

@ -202,8 +202,10 @@ hb_form_clusters (hb_ot_shape_context_t *c)
{ {
unsigned int count = c->buffer->len; unsigned int count = c->buffer->len;
for (unsigned int i = 1; i < count; i++) for (unsigned int i = 1; i < count; i++)
/* TODO: Match other mark types too? */ if (FLAG (c->buffer->info[i].general_category()) &
if (c->buffer->info[i].general_category() == HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK) (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; c->buffer->info[i].cluster = c->buffer->info[i - 1].cluster;
} }