summaryrefslogtreecommitdiff
path: root/src/lib/evas
diff options
context:
space:
mode:
authorAli Alzyod <ali198724@gmail.com>2020-08-18 19:15:12 +0900
committerWooHyun Jung <wh0705.jung@samsung.com>2020-08-18 19:15:12 +0900
commiteed4068fa2a24693514a7713b779b7a84e803b85 (patch)
treec14166bfc30d7c641c526aa43f9e57b6bb1144e8 /src/lib/evas
parenteb0f7183ddfdaa83b12e2cc0c7ee4b29f54b5a3e (diff)
evas_textblock: myanmar script rendering with e vowel.
Summary: Resolve rendering e vowel (0x1031) with Myanmar(Burmese) with zero width non joiner (0x200C) Test Plan: ninja test Reviewers: woohyun, bowonryu Reviewed By: bowonryu Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12102
Diffstat (limited to 'src/lib/evas')
-rw-r--r--src/lib/evas/canvas/evas_object_textblock.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c
index 7a4a37134c..d50592cc5d 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -5436,6 +5436,27 @@ skip:
5436 5436
5437 script = evas_common_language_script_type_get(str, script_len); 5437 script = evas_common_language_script_type_get(str, script_len);
5438 5438
5439 /* FIXME Workaround for Burmese Vowel E Rendering, caused by bug in Harfbuzz
5440 breaking text run will fix the visual issue.
5441 */
5442 if (script == EVAS_SCRIPT_MYANMAR && script_len > 1)
5443 {
5444 int i;
5445 for (i = 0 ; i < script_len - 1; i++)
5446 {
5447 if (str[i] == 0x200C)
5448 {
5449 if (str[i+1] == 0x1031)
5450 {
5451 cur_len += script_len;
5452 script_len = i + 1;
5453 cur_len -= script_len;
5454 break;
5455 }
5456 }
5457 }
5458 }
5459
5439 Evas_Object_Protected_Data *obj = efl_data_scope_get(c->obj, EFL_CANVAS_OBJECT_CLASS); 5460 Evas_Object_Protected_Data *obj = efl_data_scope_get(c->obj, EFL_CANVAS_OBJECT_CLASS);
5440 while (script_len > 0) 5461 while (script_len > 0)
5441 { 5462 {