summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYoungbok Shin <youngb.shin@samsung.com>2017-09-04 10:18:05 +0300
committerDaniel Hirt <hirt.danny@gmail.com>2017-09-04 10:18:05 +0300
commitbf1c0e2657259ab6d6c7ac44408bc46429c9d1c9 (patch)
tree333f07deaf39bf29c2d5810a89e701145f727bbb
parent8574128b67d336e796ca0f0abc9b97e65f7799d4 (diff)
downloadefl-bf1c0e2657259ab6d6c7ac44408bc46429c9d1c9.tar.gz
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
-rw-r--r--src/lib/evas/common/evas_text_utils.c3
1 files changed, 1 insertions, 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