提交 bc8357ea 编写于 作者: B Behdad Esfahbod

Merge clusters during normalization

上级 fe3dabc0
...@@ -259,12 +259,15 @@ _hb_ot_shape_normalize (hb_font_t *font, hb_buffer_t *buffer, ...@@ -259,12 +259,15 @@ _hb_ot_shape_normalize (hb_font_t *font, hb_buffer_t *buffer,
/* And the font has glyph for the composite. */ /* And the font has glyph for the composite. */
hb_font_get_glyph (font, composed, 0, &glyph)) hb_font_get_glyph (font, composed, 0, &glyph))
{ {
/* Composes. Modify starter and carry on. */ /* Composes. */
buffer->out_info[starter].codepoint = composed; buffer->next_glyph (); /* Copy to out-buffer. */
/* XXX update cluster */ if (unlikely (buffer->in_error))
return;
buffer->merge_out_clusters (starter, buffer->out_len);
buffer->out_len--; /* Remove the second composble. */
buffer->out_info[starter].codepoint = composed; /* Modify starter and carry on. */
_hb_glyph_info_set_unicode_props (&buffer->out_info[starter], buffer->unicode); _hb_glyph_info_set_unicode_props (&buffer->out_info[starter], buffer->unicode);
buffer->skip_glyph ();
continue; continue;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册