}
}
- 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);