From: Youngbok Shin Date: Fri, 18 Oct 2013 10:25:59 +0000 (+0100) Subject: evas: Fixed the textblock format to be drawn according to the glyph's horizontal... X-Git-Tag: submit/devel/efl/20131029.075644~37 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d17e0d39369b0c6a9dfb596688a38615dd25922d;p=platform%2Fupstream%2Fefl.git evas: Fixed the textblock format to be drawn according to the glyph's horizontal advance width. 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 --- diff --git a/ChangeLog b/ChangeLog index aaf58a1..d952a22 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 000fe0d..99ca54a 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 acddf83..0566f93 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)