[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.
diff --git a/src/hb-buffer.hh b/src/hb-buffer.hh
index c457e73..1a5229c 100644
--- a/src/hb-buffer.hh
+++ b/src/hb-buffer.hh
@@ -251,15 +251,8 @@
}
/* 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;