1diff --git a/gfx/cairo/cairo/src/cairo-win32-surface.c b/gfx/cairo/cairo/src/cairo-win32-surface.c 2--- a/gfx/cairo/cairo/src/cairo-win32-surface.c 3+++ b/gfx/cairo/cairo/src/cairo-win32-surface.c 4@@ -1742,17 +1742,18 @@ _cairo_win32_surface_show_glyphs (void 5 6 cairo_matrix_transform_point(&device_to_logical, 7 &next_user_x, &next_user_y); 8 9 next_logical_x = _cairo_lround (next_user_x); 10 next_logical_y = _cairo_lround (next_user_y); 11 12 dxy_buf[j] = _cairo_lround (next_logical_x - logical_x); 13- dxy_buf[j+1] = _cairo_lround (next_logical_y - logical_y); 14+ dxy_buf[j+1] = _cairo_lround (logical_y - next_logical_y); 15+ /* note that GDI coordinate system is inverted */ 16 17 logical_x = next_logical_x; 18 logical_y = next_logical_y; 19 } 20 } 21 22 /* Using glyph indices for a Type 1 font does not work on a 23 * printer DC. The win32 printing surface will convert the the 24