Comment 172 for bug 179988

Revision history for this message
Adrian Johnson (ajohnson-redneon) wrote :

Before the GTK+ update, Inkscape was scaling the printer DC and creating it's own cairo_win32_printing_surface. Now Inkscape needs to use the scale set by gtk_print on the print context.

Inkscape is correctly setting the gtk_print units to points. The problem is that Inkscape is getting the target surface from the print context then passing the surface to the renderer. As a result the scale that gtk_print sets on the print context is not used. One solution would be to use cairo_get_matrix() to get the scale from the print context and set it on every new context created from the target surface.