Index: src/core/SkDraw.cpp |
diff --git a/src/core/SkDraw.cpp b/src/core/SkDraw.cpp |
index aa91df3df557bfc83d2cb5539933400491ac2c3d..0288dee4099060b41a7ef2adc84c81a699b59f2e 100644 |
--- a/src/core/SkDraw.cpp |
+++ b/src/core/SkDraw.cpp |
@@ -2012,7 +2012,7 @@ void SkDraw::drawPosText(const char text[], size_t byteLength, |
paintRef = &paintCopy; |
} |
if (procFlags & SkDrawProcs::kSkipBakedGlyphTransform_Flag) { |
- ctm = NULL; |
+ ctm = &SkMatrix::I(); |
} |
SkAutoGlyphCache autoCache(*paintRef, &fDevice->fLeakyProperties, ctm); |
#else |
@@ -2036,7 +2036,11 @@ void SkDraw::drawPosText(const char text[], size_t byteLength, |
AlignProc alignProc = pick_align_proc(paint.getTextAlign()); |
SkDraw1Glyph d1g; |
SkDraw1Glyph::Proc proc = d1g.init(this, blitter, cache, paint); |
+#if SK_DISTANCEFIELD_FONTS |
+ TextMapState tms(*ctm, constY); |
+#else |
TextMapState tms(*fMatrix, constY); |
+#endif |
TextMapState::Proc tmsProc = tms.pickProc(scalarsPerPosition); |
if (cache->isSubpixel()) { |