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

Use merge_clusters instead of open-coding

上级 330a2af3
...@@ -237,13 +237,9 @@ hb_buffer_t::replace_glyphs_be16 (unsigned int num_in, ...@@ -237,13 +237,9 @@ hb_buffer_t::replace_glyphs_be16 (unsigned int num_in,
{ {
if (!make_room_for (num_in, num_out)) return; if (!make_room_for (num_in, num_out)) return;
hb_glyph_info_t orig_info = info[idx]; merge_clusters (idx, idx + num_in);
for (unsigned int i = 1; i < num_in; i++)
{
hb_glyph_info_t *inf = &info[idx + i];
orig_info.cluster = MIN (orig_info.cluster, inf->cluster);
}
hb_glyph_info_t orig_info = info[idx];
hb_glyph_info_t *pinfo = &out_info[out_len]; hb_glyph_info_t *pinfo = &out_info[out_len];
const unsigned char *data = (const unsigned char *) glyph_data_be; const unsigned char *data = (const unsigned char *) glyph_data_be;
for (unsigned int i = 0; i < num_out; i++) for (unsigned int i = 0; i < num_out; i++)
...@@ -264,13 +260,9 @@ hb_buffer_t::replace_glyphs (unsigned int num_in, ...@@ -264,13 +260,9 @@ hb_buffer_t::replace_glyphs (unsigned int num_in,
{ {
if (!make_room_for (num_in, num_out)) return; if (!make_room_for (num_in, num_out)) return;
hb_glyph_info_t orig_info = info[idx]; merge_clusters (idx, idx + num_in);
for (unsigned int i = 1; i < num_in; i++)
{
hb_glyph_info_t *inf = &info[idx + i];
orig_info.cluster = MIN (orig_info.cluster, inf->cluster);
}
hb_glyph_info_t orig_info = info[idx];
hb_glyph_info_t *pinfo = &out_info[out_len]; hb_glyph_info_t *pinfo = &out_info[out_len];
for (unsigned int i = 0; i < num_out; i++) for (unsigned int i = 0; i < num_out; i++)
{ {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册