Summary:
valign tag is for handling vertical align according to line's height and
text's height. But, it worked in a line which has only one font and
one font size, too. And the result was abnormal depending its font.
The line's height is [ascent + descent]. But, Textblock uses max ascent and
items's height(could be used max ascent + max descent according to its position)
when Textblock calculates item's yoff.
So, If Textblock calculate yoff based on line's height,
it should use only ascent and descent instead of max ascent and max descent.
@fix
Test Plan: Will attached in comment section.
Reviewers: raster, herdsman, jpeg, woohyun
Reviewed By: raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D4760
Change-Id: I05a552f230dc821d8d749fc05139967c7c82e81a
Evas_Object_Textblock_Text_Item *titr = \
(Evas_Object_Textblock_Text_Item *)itr; \
int ascent = 0; \
+ int descent = 0; \
if (titr->text_props.font_instance) \
- ascent = evas_common_font_instance_max_ascent_get(titr->text_props.font_instance); \
+ { \
+ ascent = evas_common_font_instance_ascent_get(titr->text_props.font_instance); \
+ descent = evas_common_font_instance_descent_get(titr->text_props.font_instance); \
+ } \
yoff = ascent + \
- (itr->format->valign * (ln->h - itr->h)); \
+ (itr->format->valign * (ln->h - (ascent + descent))); \
} \
else yoff = itr->format->valign * (ln->h - itr->h); \
} \