Evas font: Fixed line size calculation using multiple fonts.

Additional fixes to cc4cf77865.
There were two problems:
1. Usage of max_ascent instead of ascent.
2. Initialization of the ascent value according to the first font,
   instead of 0 (as the first font might not even be used).
This commit is contained in:
Tom Hacohen 2013-06-06 15:40:41 +01:00
parent e81edab826
commit f1ba71147e
1 changed files with 2 additions and 15 deletions

View File

@ -466,14 +466,6 @@ _text_font_set(Eo *eo_obj, void *_pd, va_list *list)
o->font = evas_font_load(obj->layer->evas->evas, o->cur.fdesc, o->cur.source,
(int)(((double) o->cur.size) * obj->cur->scale));
if (o->font)
{
o->ascent = ENFN->font_ascent_get(ENDT, o->font);
o->descent = ENFN->font_descent_get(ENDT, o->font);
o->max_ascent = ENFN->font_max_ascent_get(ENDT, o->font);
o->max_descent = ENFN->font_max_descent_get(ENDT, o->font);
}
else
{
o->ascent = 0;
o->descent = 0;
@ -2420,13 +2412,8 @@ _evas_object_text_recalc(Evas_Object *eo_obj, Eina_Unicode *text)
if (desc > o->descent)
o->descent = desc;
max_asc = evas_common_font_instance_max_ascent_get(item->text_props.font_instance);
max_desc = evas_common_font_instance_max_descent_get(item->text_props.font_instance);
if (max_asc > o->max_ascent)
o->max_ascent = max_asc;
if (max_desc > o->max_descent)
o->max_descent = max_desc;
o->max_ascent = o->ascent;
o->max_descent = o->descent;
}
}