diff options
Diffstat (limited to 'pango/pangocairo-coretextfont.c')
-rw-r--r-- | pango/pangocairo-coretextfont.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/pango/pangocairo-coretextfont.c b/pango/pangocairo-coretextfont.c index 81747ac3..0f0c4041 100644 --- a/pango/pangocairo-coretextfont.c +++ b/pango/pangocairo-coretextfont.c @@ -212,6 +212,7 @@ _pango_cairo_core_text_font_new (PangoCairoCoreTextFontMap *cafontmap, const PangoFontDescription *desc) { const char *postscript_name; + gboolean synthesize_italic = FALSE; PangoCairoCoreTextFont *cafont; PangoCoreTextFont *cfont; CFStringRef cfstr; @@ -245,7 +246,9 @@ _pango_cairo_core_text_font_new (PangoCairoCoreTextFontMap *cafontmap, font_ref = CTFontCreateWithName (cfstr, size, NULL); CFRelease (cfstr); - /* FIXME: Do we need the synthetic italic handling here? */ + if (_pango_core_text_face_get_synthetic_italic (face)) + synthesize_italic = TRUE; + font_id = CTFontCopyGraphicsFont (font_ref, NULL); if (!font_id) return NULL; @@ -265,7 +268,14 @@ _pango_cairo_core_text_font_new (PangoCairoCoreTextFontMap *cafontmap, cafont->size = size; - cairo_matrix_init_identity (&font_matrix); + if (synthesize_italic) + cairo_matrix_init (&font_matrix, + 1, 0, + -0.25, 1, + 0, 0); + else + cairo_matrix_init_identity (&font_matrix); + cairo_matrix_scale (&font_matrix, size, size); _pango_cairo_font_private_initialize (&cafont->cf_priv, |