fix grid sizing for textgrid with some mono ttf fonts!
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 20 Jun 2012 04:45:05 +0000 (04:45 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 20 Jun 2012 04:45:05 +0000 (04:45 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@72511 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/canvas/evas_object_textgrid.c

index 25dc517..b2ac637 100644 (file)
@@ -1124,6 +1124,7 @@ 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 advance, vadvance;
         
         script = evas_common_language_script_type_get(W, 1);
         ENFN->font_run_end_get(ENDT, o->font, &script_fi, &cur_fi,
@@ -1136,6 +1137,10 @@ evas_object_textgrid_font_set(Evas_Object *obj, const char *font_name, Evas_Font
         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);
+        advance = ENFN->font_h_advance_get(ENDT, o->font, &text_props);
+        vadvance = ENFN->font_v_advance_get(ENDT, o->font, &text_props);
+        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);
      }
    else