workaround text issue not getting widht of stirng right with bimtap

fonts - use advance+inset as workaround.



SVN revision: 72195
This commit is contained in:
Carsten Haitzler 2012-06-15 14:24:01 +00:00
parent 735115f581
commit 8156f2f103
1 changed files with 5 additions and 5 deletions

View File

@ -766,15 +766,13 @@ evas_object_textgrid_font_set(Evas_Object *obj, const char *font_name, Evas_Font
Evas_Font_Instance *cur_fi = NULL;
Evas_Text_Props text_props;
Evas_Script_Type script;
int run_len;
int run_len, inset, adv;
script = evas_common_language_script_type_get((const Eina_Unicode *)W, 1);
run_len = TG_ENFN->font_run_end_get(TG_ENDT,
o->font,
&script_fi, &cur_fi,
script, W, 1);
printf("run_len : %d\n", run_len);
memset(&text_props, 0, sizeof(Evas_Text_Props));
evas_common_text_props_script_set(&text_props,
script);
@ -792,12 +790,14 @@ evas_object_textgrid_font_set(Evas_Object *obj, const char *font_name, Evas_Font
&text_props,
&o->cur.char_width,
&o->cur.char_height);
adv = TG_ENFN->font_h_advance_get(TG_ENDT, o->font, &text_props);
inset = TG_ENFN->font_inset_get(TG_ENDT, o->font, &text_props);
if ((inset + adv) > o->cur.char_width)
o->cur.char_width = inset + adv;
o->max_ascent = TG_ENFN->font_max_ascent_get(TG_ENDT, o->font);
printf("size of W : %dx%d\n", o->cur.char_width, o->cur.char_height);
}
else
{
printf ("no font\n");
obj->cur.geometry.w = 0;
obj->cur.geometry.h = 0;
o->max_ascent = 0;