From 6db247e13c6fa61879029b335c6fa649d810c11b Mon Sep 17 00:00:00 2001 From: Andrea Canciani Date: Tue, 29 Jun 2010 09:28:04 +0200 Subject: [PATCH] user-font: ignore translation in scale matrix Currently the translation component of the scaled_font scale matrix is applied by gstate and only linear components should be applied in font backends. Fixes font-matrix-translation (when using user-font as font backend). --- src/cairo-user-font.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/cairo-user-font.c b/src/cairo-user-font.c index b8b617b58..c00146f0c 100644 --- a/src/cairo-user-font.c +++ b/src/cairo-user-font.c @@ -80,6 +80,7 @@ _cairo_user_scaled_font_create_recording_context (cairo_user_scaled_font_t *scal { cairo_content_t content; cairo_surface_t *recording_surface; + cairo_matrix_t scale; cairo_t *cr; content = scaled_font->base.options.antialias == CAIRO_ANTIALIAS_SUBPIXEL ? @@ -90,7 +91,10 @@ _cairo_user_scaled_font_create_recording_context (cairo_user_scaled_font_t *scal cr = cairo_create (recording_surface); cairo_surface_destroy (recording_surface); - cairo_set_matrix (cr, &scaled_font->base.scale); + scale = scaled_font->base.scale; + scale.x0 = scale.y0 = 0.; + + cairo_set_matrix (cr, &scale); cairo_set_font_size (cr, 1.0); cairo_set_font_options (cr, &scaled_font->base.options); cairo_set_source_rgb (cr, 1., 1., 1.);