diff -r 000000000000 -r 6474c204b198 gfx/cairo/win32-canvas-glyph-position.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gfx/cairo/win32-canvas-glyph-position.patch Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,31 @@ +diff --git a/gfx/cairo/cairo/src/cairo-win32-font.c b/gfx/cairo/cairo/src/cairo-win32-font.c +--- a/gfx/cairo/cairo/src/cairo-win32-font.c ++++ b/gfx/cairo/cairo/src/cairo-win32-font.c +@@ -1182,22 +1182,22 @@ _add_glyph (cairo_glyph_state_t *state, + if (state->glyphs.num_elements > 0) { + int dx; + + if (logical_y != state->last_y) { + status = _flush_glyphs (state); + if (status) + return status; + state->start_x = logical_x; ++ } else { ++ dx = logical_x - state->last_x; ++ status = _cairo_array_append (&state->dx, &dx); ++ if (status) ++ return status; + } +- +- dx = logical_x - state->last_x; +- status = _cairo_array_append (&state->dx, &dx); +- if (status) +- return status; + } else { + state->start_x = logical_x; + } + + state->last_x = logical_x; + state->last_y = logical_y; + + status = _cairo_array_append (&state->glyphs, &glyph_index);