diff --git a/legacy/evas/ChangeLog b/legacy/evas/ChangeLog index 63dcdfabea..c599296e8f 100644 --- a/legacy/evas/ChangeLog +++ b/legacy/evas/ChangeLog @@ -766,4 +766,7 @@ * Fixed to clean up when map actually changed. Now rendering updates will be correct after evas_map acutally disabled for the smart object. +2012-05-29 Tom Hacohen (TAsn) + + * Font: Fixed run-time italic. diff --git a/legacy/evas/src/lib/engines/common/evas_font_main.c b/legacy/evas/src/lib/engines/common/evas_font_main.c index db413af7d0..1bbf5c3d04 100644 --- a/legacy/evas/src/lib/engines/common/evas_font_main.c +++ b/legacy/evas/src/lib/engines/common/evas_font_main.c @@ -390,10 +390,13 @@ evas_common_font_int_cache_glyph_get(RGBA_Font_Int *fi, FT_UInt idx) if (fi->fash) _fash_gl_add(fi->fash, idx, (void *)(-1)); return NULL; } - fg->width = EVAS_FONT_ROUND_26_6_TO_INT( - fi->src->ft.face->glyph->metrics.width); - fg->x_bear = EVAS_FONT_ROUND_26_6_TO_INT( - fi->src->ft.face->glyph->metrics.horiBearingX); + + { + FT_BBox outbox; + FT_Outline_Get_CBox(&fi->src->ft.face->glyph->outline, &outbox); + fg->width = EVAS_FONT_ROUND_26_6_TO_INT(outbox.xMax - outbox.xMin); + fg->x_bear = EVAS_FONT_ROUND_26_6_TO_INT(outbox.xMin); + } fg->index = idx; fg->fi = fi;