From d17e0d39369b0c6a9dfb596688a38615dd25922d Mon Sep 17 00:00:00 2001 From: Youngbok Shin Date: Fri, 18 Oct 2013 11:25:59 +0100 Subject: [PATCH] evas: Fixed the textblock format to be drawn according to the glyph's horizontal advance width. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Summary: Some characters have different two value on glyph's width and horizontal advance width. If the glyph's width is smaller than advance width, format can be drawn weird. Test Plan: Set underline:on to the entry style and just insert the following characters. 。 、 ) ( Reviewers: tasn, woohyun CC: cedric Differential Revision: https://phab.enlightenment.org/D270 --- ChangeLog | 5 +++++ NEWS | 1 + src/lib/evas/canvas/evas_object_textblock.c | 9 +-------- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index aaf58a1f39..d952a2258b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-10-18 Youngbok Shin + + * Fixed the textblock format to be drawn according to + the glyph's horizontal advance width. + 2013-10-15 ChunEon Park (Hermet) * Fixed the map surface to be updated properly. By tranversing the diff --git a/NEWS b/NEWS index 000fe0daeb..99ca54a673 100644 --- a/NEWS +++ b/NEWS @@ -357,6 +357,7 @@ Fixes: - Evas bidi: Fixed a bug causing BiDi not to work in some cases. - Evas textblock: fixed an issue with markup_get and markup_to_utf8 behaving differently (markup_get was misbehaving). - Fixed the map surface to be updated properly. By tranversing the whole of the map target's tree, it decides to update the map surface to be redrawn if one of the objects is changed except the clipper itself. + - Fixed the textblock format to be drawn according to the glyph's horizontal advance width. * Ecore: - Don't leak fd on exec. diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index acddf83121..0566f9303f 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -10869,14 +10869,7 @@ evas_object_textblock_render(Evas_Object *eo_obj EINA_UNUSED, _og = itr->format->color.oname.g; \ _ob = itr->format->color.oname.b; \ _oa = itr->format->color.oname.a; \ - if (!EINA_INLIST_GET(itr)->next) \ - { \ - DRAW_RECT(itr->x, oy, itr->w, oh, _or, _og, _ob, _oa); \ - } \ - else \ - { \ - DRAW_RECT(itr->x, oy, itr->adv, oh, _or, _og, _ob, _oa); \ - } \ + DRAW_RECT(itr->x, oy, itr->adv, oh, _or, _og, _ob, _oa); \ } \ } \ while (0)