diff --git a/gfx/thebes/gfxFont.cpp b/gfx/thebes/gfxFont.cpp index b71878cb83ac..45886688bbe8 100644 --- a/gfx/thebes/gfxFont.cpp +++ b/gfx/thebes/gfxFont.cpp @@ -2647,7 +2647,10 @@ gfxFont::Draw(gfxTextRun *aTextRun, uint32_t aStart, uint32_t aEnd, DrawOptions drawOptions; drawOptions.mAntialiasMode = Get2DAAMode(mAntialiasOption); - if (mScaledFont) { + // The cairo DrawTarget backend uses the cairo_scaled_font directly + // and so has the font skew matrix applied already. + if (mScaledFont && + dt->GetType() != BACKEND_CAIRO) { cairo_matrix_t matrix; cairo_scaled_font_get_font_matrix(mScaledFont, &matrix); if (matrix.xy != 0) {