Index: Source/platform/fonts/Font.cpp |
diff --git a/Source/platform/fonts/Font.cpp b/Source/platform/fonts/Font.cpp |
index 93b12a3ba0bb06cb49f702f066ac1d2e68119010..77e96a0143c4b58e6615d4c61eef1f4441bf2ee4 100644 |
--- a/Source/platform/fonts/Font.cpp |
+++ b/Source/platform/fonts/Font.cpp |
@@ -39,6 +39,7 @@ |
#include "platform/fonts/shaping/SimpleShaper.h" |
#include "platform/geometry/FloatRect.h" |
#include "platform/graphics/GraphicsContext.h" |
+#include "platform/graphics/GraphicsContextStateSaver.h" |
#include "platform/text/TextRun.h" |
#include "wtf/MainThread.h" |
#include "wtf/StdLibExtras.h" |
@@ -801,7 +802,7 @@ void Font::paintGlyphsVertical(GraphicsContext* gc, const SimpleFontData* font, |
float initialAdvance = glyphBuffer.xOffsetAt(from); |
FloatPoint adjustedPoint(point.x() + initialAdvance, point.y()); |
- AffineTransform savedMatrix = gc->getCTM(); |
+ GraphicsContextStateSaver stateSaver(*gc); |
gc->concatCTM(AffineTransform(0, -1, 1, 0, adjustedPoint.x(), adjustedPoint.y())); |
gc->concatCTM(AffineTransform(1, 0, 0, 1, -adjustedPoint.x(), -adjustedPoint.y())); |
@@ -829,8 +830,6 @@ void Font::paintGlyphsVertical(GraphicsContext* gc, const SimpleFontData* font, |
} |
paintGlyphs(gc, font, glyphs, chunkLength, pos, textRect); |
} |
- |
- gc->setCTM(savedMatrix); |
} |
void Font::drawGlyphs(GraphicsContext* gc, const SimpleFontData* font, |