Use merge_clusters when forming Unicode clusters

This commit is contained in:
Behdad Esfahbod 2012-06-08 20:40:02 -04:00
parent bd300df9ad
commit 330a2af3ff
1 changed files with 3 additions and 1 deletions

View File

@ -188,7 +188,7 @@ hb_form_clusters (hb_buffer_t *buffer)
(FLAG (HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK) | (FLAG (HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK) |
FLAG (HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK) | FLAG (HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK) |
FLAG (HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK))) FLAG (HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK)))
buffer->info[i].cluster = buffer->info[i - 1].cluster; /* XXX do the min() here */ buffer->merge_clusters (i - 1, i + 1);
} }
static void static void
@ -405,6 +405,8 @@ hb_ot_shape_execute_internal (hb_ot_shape_context_t *c)
HB_BUFFER_ALLOCATE_VAR (c->buffer, unicode_props0); HB_BUFFER_ALLOCATE_VAR (c->buffer, unicode_props0);
HB_BUFFER_ALLOCATE_VAR (c->buffer, unicode_props1); HB_BUFFER_ALLOCATE_VAR (c->buffer, unicode_props1);
c->buffer->clear_output ();
hb_set_unicode_props (c->buffer); hb_set_unicode_props (c->buffer);
hb_form_clusters (c->buffer); hb_form_clusters (c->buffer);