herdsman pushed a commit to branch efl-1.20. http://git.enlightenment.org/core/efl.git/commit/?id=d24c0431dd474bdcfc46502f35c6c895b7fc855b
commit d24c0431dd474bdcfc46502f35c6c895b7fc855b Author: Youngbok Shin <[email protected]> Date: Mon Sep 4 10:18:05 2017 +0300 evas: proceed glyph iterator to handle next index properly Summary: When harfbuzz is enabled, _content_create_ot() function will be used for shaping. If evas_common_font_int_cache_glyph_get() failed in some reason, it never proceed gl_itr until the end. It can cause weird rendering result. Because, all of gl_itr after the failure can't have proper x_bear, y_bear and width. @fix Test Plan: N/A Reviewers: raster, cedric, herdsman, jpeg Differential Revision: https://phab.enlightenment.org/D5154 --- src/lib/evas/common/evas_text_utils.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/evas/common/evas_text_utils.c b/src/lib/evas/common/evas_text_utils.c index 9223c6e50b..5c00c7fb54 100644 --- a/src/lib/evas/common/evas_text_utils.c +++ b/src/lib/evas/common/evas_text_utils.c @@ -352,7 +352,7 @@ _content_create_ot(RGBA_Font_Int *fi, const Eina_Unicode *text, evas_common_font_ot_populate_text_props(text, text_props, len, mode, lang); gl_itr = text_props->info->glyph; - for (char_index = 0 ; char_index < text_props->len ; char_index++) + for (char_index = 0 ; char_index < text_props->len ; char_index++, gl_itr++) { FT_UInt idx; RGBA_Font_Glyph *fg; @@ -406,7 +406,6 @@ _content_create_ot(RGBA_Font_Int *fi, const Eina_Unicode *text, gl_itr->pen_after += adjust_x; fi = text_props->font_instance; - gl_itr++; } } #else --
