herdsman pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7a1075500aec849310e796c191aabff0b31f7c68
commit 7a1075500aec849310e796c191aabff0b31f7c68 Author: Youngbok Shin <[email protected]> Date: Mon Sep 11 08:52:03 2017 +0300 evas: don't search other fonts only for INHERITED script unicodes Summary: INHERITED script unicodes are only meaningful when it comes after the previous unicode from same font. Even if there is no glyph for the INHERTED script unicode from current font, don't search other font for loading the unicdoe as first unicode of next item. It will be meaningless. @fix Test Plan: Check the following Emoji sequence with an emoji font which does not have variation selector glyphs. { 0x1F3F3, 0xFE0F, 0x200D, 0x1F308 } Reviewers: raster, cedric, herdsman, jpeg, woohyun Reviewed By: herdsman Differential Revision: https://phab.enlightenment.org/D5156 --- src/lib/evas/common/evas_font_query.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib/evas/common/evas_font_query.c b/src/lib/evas/common/evas_font_query.c index 081f9a5e54..8fe82dacbb 100644 --- a/src/lib/evas/common/evas_font_query.c +++ b/src/lib/evas/common/evas_font_query.c @@ -77,6 +77,12 @@ evas_common_font_query_run_font_end_get(RGBA_Font *fn, RGBA_Font_Int **script_fi * the meanwhile. */ if (*itr <= 0x1F) continue; + + /* Skip searching font for INHERITED script unicodes. + * It is meaningful when only it comes after other unicodes from same font. */ + if (evas_common_language_char_script_get(*itr) == EVAS_SCRIPT_INHERITED) + continue; + /* Break if either it's not in the font, or if it is in the * script's font. */ if (!evas_common_get_char_index(fi, *itr)) --
