From 862f913489a868154a3733a93e1ea0407e68cc05 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Mon, 15 Mar 2021 14:48:50 -0600 Subject: [PATCH] [buffer] Implement output_glyph() in terms of replace_glyphs(0,1) To my surprise, saves ~20kb in my build (non-size-optimized) build. The output_glyph() method is never used in the fast paths, so doesn't matter if is not fully optimized for the special case it is. --- src/hb-buffer.hh | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/hb-buffer.hh b/src/hb-buffer.hh index c457e7392..1a5229c57 100644 --- a/src/hb-buffer.hh +++ b/src/hb-buffer.hh @@ -251,15 +251,8 @@ struct hb_buffer_t } /* Makes a copy of the glyph at idx to output and replace glyph_index */ HB_NODISCARD bool output_glyph (hb_codepoint_t glyph_index) - { - if (unlikely (!make_room_for (0, 1))) return false; + { return replace_glyphs (0, 1, &glyph_index); } - out_info[out_len] = idx < len ? cur() : prev(); - out_info[out_len].codepoint = glyph_index; - - out_len++; - return true; - } HB_NODISCARD bool output_info (const hb_glyph_info_t &glyph_info) { if (unlikely (!make_room_for (0, 1))) return false;