src/hb-buffer-serialize.cc | 6 ++++-- src/hb-ot-layout.cc | 12 ++++++++++++ src/hb-ot-shape.cc | 2 ++ 3 files changed, 18 insertions(+), 2 deletions(-)
New commits: commit 902e74a098dad8c3b487856284f9fdf99b04f9f1 Author: Behdad Esfahbod <[email protected]> Date: Tue Aug 18 18:55:03 2015 +0100 Commented-out code to print buffer before each lookup To be turned into a useful HB_DEBUG_SHAPE infrastructure... diff --git a/src/hb-ot-layout.cc b/src/hb-ot-layout.cc index 5a573dd..39d007d 100644 --- a/src/hb-ot-layout.cc +++ b/src/hb-ot-layout.cc @@ -1010,6 +1010,18 @@ inline void hb_ot_map_t::apply (const Proxy &proxy, const stage_map_t *stage = &stages[table_index][stage_index]; for (; i < stage->last_lookup; i++) { +#if 0 + char buf[4096]; + hb_buffer_serialize_glyphs (buffer, 0, buffer->len, + buf, sizeof (buf), NULL, + font, + HB_BUFFER_SERIALIZE_FORMAT_TEXT, + Proxy::table_index == 0 ? + HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS : + HB_BUFFER_SERIALIZE_FLAG_DEFAULT); + printf ("buf: [%s]\n", buf); +#endif + unsigned int lookup_index = lookups[table_index][i].index; c.set_lookup_index (lookup_index); c.set_lookup_mask (lookups[table_index][i].mask); commit 75504a50488a6aac0b9789f728fb5b87e641d4c3 Author: Behdad Esfahbod <[email protected]> Date: Tue Aug 18 18:47:02 2015 +0100 Allow serializing buffer with output-buffer being used Ie, don't call get_positions() if positions are not requested for serialization. diff --git a/src/hb-buffer-serialize.cc b/src/hb-buffer-serialize.cc index 406d69d..8a22224 100644 --- a/src/hb-buffer-serialize.cc +++ b/src/hb-buffer-serialize.cc @@ -99,7 +99,8 @@ _hb_buffer_serialize_glyphs_json (hb_buffer_t *buffer, hb_buffer_serialize_flags_t flags) { hb_glyph_info_t *info = hb_buffer_get_glyph_infos (buffer, NULL); - hb_glyph_position_t *pos = hb_buffer_get_glyph_positions (buffer, NULL); + hb_glyph_position_t *pos = (flags & HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS) ? + NULL : hb_buffer_get_glyph_positions (buffer, NULL); *buf_consumed = 0; for (unsigned int i = start; i < end; i++) @@ -172,7 +173,8 @@ _hb_buffer_serialize_glyphs_text (hb_buffer_t *buffer, hb_buffer_serialize_flags_t flags) { hb_glyph_info_t *info = hb_buffer_get_glyph_infos (buffer, NULL); - hb_glyph_position_t *pos = hb_buffer_get_glyph_positions (buffer, NULL); + hb_glyph_position_t *pos = (flags & HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS) ? + NULL : hb_buffer_get_glyph_positions (buffer, NULL); *buf_consumed = 0; for (unsigned int i = start; i < end; i++) commit e47b772a56af44a9a4f9ec907ee2091b725b94c1 Author: Behdad Esfahbod <[email protected]> Date: Tue Aug 18 18:42:47 2015 +0100 [ot] Change buffer content type right after we map to glyphs Needed for upcoming debug output changes. diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc index f20be2a..e24f7a8 100644 --- a/src/hb-ot-shape.cc +++ b/src/hb-ot-shape.cc @@ -513,6 +513,8 @@ hb_ot_map_glyphs_fast (hb_buffer_t *buffer) hb_glyph_info_t *info = buffer->info; for (unsigned int i = 0; i < count; i++) info[i].codepoint = info[i].glyph_index(); + + buffer->content_type = HB_BUFFER_CONTENT_TYPE_GLYPHS; } static inline void _______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
