From 42ac2136b014255369755157e3e4c20d24639662 Mon Sep 17 00:00:00 2001 From: Youngbok Shin Date: Tue, 26 Sep 2017 14:33:10 +0300 Subject: evas textblock: use main font's ascent/descent as minimum value Summary: The patch will adjust ascent/descent with considering main font's ascent/descent as minimum value. Actually, this patch re-apply D5217 with resolving linegap issue on the _layout_format_ascent_descent_adjust() function. @fix Test Plan: Put a text which will load smaller font. And put a text which will load primary font. Reviewers: raster, cedric, herdsman, jpeg Differential Revision: https://phab.enlightenment.org/D5227 --- src/lib/evas/canvas/evas_object_textblock.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/lib/evas/canvas') diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index 60d2ff0545..eabc0b18bc 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -3032,16 +3032,19 @@ _layout_item_ascent_descent_adjust(Evas_Object_Protected_Data *obj, } } - if (fi) + if (fmt) { - asc = evas_common_font_instance_ascent_get(fi); - desc = evas_common_font_instance_descent_get(fi); + asc = ENFN->font_ascent_get(ENC, fmt->font.font); + desc = ENFN->font_descent_get(ENC, fmt->font.font); } - else if (fmt) + if (fi) { - asc = ENFN->font_ascent_get(ENC, fmt->font.font); - desc = ENFN->font_descent_get(ENC, fmt->font.font); + int fi_asc = evas_common_font_instance_ascent_get(fi); + int fi_desc = evas_common_font_instance_descent_get(fi); + + if (fi_asc > asc) asc = fi_asc; + if (fi_desc > desc) desc = fi_desc; } if (fmt) _layout_format_ascent_descent_adjust(obj, &asc, &desc, fmt); -- cgit v1.2.1