Evas_Font_Instance *cur_fi = NULL;
Evas_Text_Props text_props;
Evas_Script_Type script;
- int advance, vadvance;
+ int inset, advance, vadvance;
script = evas_common_language_script_type_get(W, 1);
ENFN->font_run_end_get(ENDT, o->font, &script_fi, &cur_fi,
ENFN->font_string_size_get(ENDT, o->font, &text_props,
&o->cur.char_width, &o->cur.char_height);
o->max_ascent = ENFN->font_max_ascent_get(ENDT, o->font);
+ inset = ENFN->font_inset_get(ENDT, o->font, &text_props);
advance = ENFN->font_h_advance_get(ENDT, o->font, &text_props);
vadvance = ENFN->font_v_advance_get(ENDT, o->font, &text_props);
+ printf("%ix%i | %i %i | %i\n",
+ o->cur.char_width, o->cur.char_height,
+ inset, advance,
+ vadvance);
if (advance > o->cur.char_width) o->cur.char_width = advance;
if (vadvance > o->cur.char_height) o->cur.char_height = vadvance;
evas_common_text_props_content_unref(&text_props);
fi->src->current_size = fi->size;
}
val = (int)fi->src->ft.face->size->metrics.height;
- if (fi->src->ft.face->units_per_EM == 0)
+ if ((fi->src->ft.face->bbox.yMax == 0) &&
+ (fi->src->ft.face->bbox.yMin == 0) &&
+ (fi->src->ft.face->units_per_EM == 0))
+ return val >> 6;
+ else if (fi->src->ft.face->units_per_EM == 0)
return val;
return val >> 6;
// dv = (fi->src->ft.orig_upem * 2048) / fi->src->ft.face->units_per_EM;