diff --git a/src/cairo-win32-font.c b/src/cairo-win32-font.c index 27b581914..eeba47a63 100644 --- a/src/cairo-win32-font.c +++ b/src/cairo-win32-font.c @@ -490,6 +490,16 @@ _cairo_win32_scaled_font_select_unscaled_font (cairo_scaled_font_t *scaled_font, return CAIRO_STATUS_SUCCESS; } +cairo_bool_t +_cairo_win32_scaled_font_is_type1 (cairo_scaled_font_t *scaled_font) +{ + cairo_win32_scaled_font_t *win32_scaled_font; + + win32_scaled_font = (cairo_win32_scaled_font_t *) scaled_font; + + return win32_scaled_font->is_type1; +} + static void _cairo_win32_scaled_font_done_unscaled_font (cairo_scaled_font_t *scaled_font) { diff --git a/src/cairo-win32-printing-surface.c b/src/cairo-win32-printing-surface.c index cc3a17b5b..d6b2dd0aa 100644 --- a/src/cairo-win32-printing-surface.c +++ b/src/cairo-win32-printing-surface.c @@ -1341,6 +1341,7 @@ _cairo_win32_printing_surface_show_glyphs (void *abstract_surfac } if (cairo_scaled_font_get_type (scaled_font) == CAIRO_FONT_TYPE_WIN32 && + ! _cairo_win32_scaled_font_is_type1 (scaled_font) && source->type == CAIRO_PATTERN_TYPE_SOLID) { cairo_matrix_t ctm; diff --git a/src/cairo-win32-private.h b/src/cairo-win32-private.h index 704ec4ed4..0f39ea840 100644 --- a/src/cairo-win32-private.h +++ b/src/cairo-win32-private.h @@ -181,4 +181,7 @@ _cairo_win32_restore_initial_clip (cairo_win32_surface_t *surface); void _cairo_win32_debug_dump_hrgn (HRGN rgn, char *header); +cairo_bool_t +_cairo_win32_scaled_font_is_type1 (cairo_scaled_font_t *scaled_font); + #endif /* CAIRO_WIN32_PRIVATE_H */