[buffer] HB_NODISCARD replace_glyphs()

This commit is contained in:
Behdad Esfahbod 2021-03-15 13:23:48 -06:00
parent 906c9928bb
commit 607979d12f
3 changed files with 9 additions and 10 deletions

View File

@ -210,7 +210,8 @@ struct hb_buffer_t
HB_INTERNAL void clear_output (); HB_INTERNAL void clear_output ();
HB_INTERNAL void clear_positions (); HB_INTERNAL void clear_positions ();
HB_INTERNAL bool replace_glyphs (unsigned int num_in, HB_INTERNAL HB_NODISCARD
bool replace_glyphs (unsigned int num_in,
unsigned int num_out, unsigned int num_out,
const hb_codepoint_t *glyph_data); const hb_codepoint_t *glyph_data);

View File

@ -231,7 +231,7 @@ preprocess_text_hangul (const hb_ot_shape_plan_t *plan HB_UNUSED,
chars[0] = 0x25CCu; chars[0] = 0x25CCu;
chars[1] = u; chars[1] = u;
} }
buffer->replace_glyphs (1, 2, chars); (void) buffer->replace_glyphs (1, 2, chars);
} }
else else
{ {
@ -273,7 +273,7 @@ preprocess_text_hangul (const hb_ot_shape_plan_t *plan HB_UNUSED,
hb_codepoint_t s = SBase + (l - LBase) * NCount + (v - VBase) * TCount + tindex; hb_codepoint_t s = SBase + (l - LBase) * NCount + (v - VBase) * TCount + tindex;
if (font->has_glyph (s)) if (font->has_glyph (s))
{ {
buffer->replace_glyphs (t ? 3 : 2, 1, &s); (void) buffer->replace_glyphs (t ? 3 : 2, 1, &s);
end = start + 1; end = start + 1;
continue; continue;
} }
@ -323,9 +323,7 @@ preprocess_text_hangul (const hb_ot_shape_plan_t *plan HB_UNUSED,
hb_codepoint_t new_s = s + new_tindex; hb_codepoint_t new_s = s + new_tindex;
if (font->has_glyph (new_s)) if (font->has_glyph (new_s))
{ {
buffer->replace_glyphs (2, 1, &new_s); (void) buffer->replace_glyphs (2, 1, &new_s);
if (unlikely (!buffer->successful))
break;
end = start + 1; end = start + 1;
continue; continue;
} }
@ -349,7 +347,7 @@ preprocess_text_hangul (const hb_ot_shape_plan_t *plan HB_UNUSED,
(!tindex || font->has_glyph (decomposed[2]))) (!tindex || font->has_glyph (decomposed[2])))
{ {
unsigned int s_len = tindex ? 3 : 2; unsigned int s_len = tindex ? 3 : 2;
buffer->replace_glyphs (1, s_len, decomposed); (void) buffer->replace_glyphs (1, s_len, decomposed);
/* If we decomposed an LV because of a non-combining T following, /* If we decomposed an LV because of a non-combining T following,
* we want to include this T in the syllable. * we want to include this T in the syllable.

View File

@ -229,7 +229,7 @@ handle_variation_selector_cluster (const hb_ot_shape_normalize_context_t *c,
if (font->get_variation_glyph (buffer->cur().codepoint, buffer->cur(+1).codepoint, &buffer->cur().glyph_index())) if (font->get_variation_glyph (buffer->cur().codepoint, buffer->cur(+1).codepoint, &buffer->cur().glyph_index()))
{ {
hb_codepoint_t unicode = buffer->cur().codepoint; hb_codepoint_t unicode = buffer->cur().codepoint;
buffer->replace_glyphs (2, 1, &unicode); (void) buffer->replace_glyphs (2, 1, &unicode);
} }
else else
{ {