diff --git a/src/hb-buffer-private.hh b/src/hb-buffer-private.hh index 8f2095a10e6890bc49049b6a5a5cf7d7f637073a..a4d7b8f58f1c7872e5af639953f816f7e649685c 100644 --- a/src/hb-buffer-private.hh +++ b/src/hb-buffer-private.hh @@ -135,6 +135,8 @@ struct _hb_buffer_t { { return likely (size <= allocated) ? TRUE : enlarge (size); } HB_INTERNAL bool make_room_for (unsigned int num_in, unsigned int num_out); + + HB_INTERNAL void *get_scratch_buffer (unsigned int *size); }; diff --git a/src/hb-buffer.cc b/src/hb-buffer.cc index ea05307a224f81b36cdc3c9c166dc87da35c63f6..968e673d705b185faac1d367065a9dfb2eb69876 100644 --- a/src/hb-buffer.cc +++ b/src/hb-buffer.cc @@ -135,6 +135,16 @@ hb_buffer_t::make_room_for (unsigned int num_in, return TRUE; } +void * +hb_buffer_t::get_scratch_buffer (unsigned int *size) +{ + have_output = FALSE; + have_positions = FALSE; + out_len = 0; + *size = allocated * sizeof (pos[0]); + return pos; +} + /* HarfBuzz-Internal API */