Use SkFont for managing distance field text

Change-Id: I4512a98063301e91bbcefe3f55de16f26601d39b
Reviewed-on: https://skia-review.googlesource.com/c/178283
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Herb Derby <herb@google.com>
diff --git a/src/gpu/text/GrTextContext.cpp b/src/gpu/text/GrTextContext.cpp
index 4e9b42b..2d8d163 100644
--- a/src/gpu/text/GrTextContext.cpp
+++ b/src/gpu/text/GrTextContext.cpp
@@ -129,13 +129,14 @@
     return true;
 }
 
-void GrTextContext::InitDistanceFieldPaint(GrTextBlob* blob,
-                                           SkPaint* skPaint,
+void GrTextContext::InitDistanceFieldPaint(const SkScalar textSize,
                                            const SkMatrix& viewMatrix,
                                            const Options& options,
+                                           GrTextBlob* blob,
+                                           SkPaint* skPaint,
+                                           SkFont* skFont,
                                            SkScalar* textRatio,
                                            SkScalerContextFlags* flags) {
-    SkScalar textSize = skPaint->getTextSize();
     SkScalar scaledTextSize = textSize;
 
     if (viewMatrix.hasPerspective()) {
@@ -160,17 +161,17 @@
         dfMaskScaleFloor = options.fMinDistanceFieldFontSize;
         dfMaskScaleCeil = kSmallDFFontLimit;
         *textRatio = textSize / kSmallDFFontSize;
-        skPaint->setTextSize(SkIntToScalar(kSmallDFFontSize));
+        skFont->setSize(SkIntToScalar(kSmallDFFontSize));
     } else if (scaledTextSize <= kMediumDFFontLimit) {
         dfMaskScaleFloor = kSmallDFFontLimit;
         dfMaskScaleCeil = kMediumDFFontLimit;
         *textRatio = textSize / kMediumDFFontSize;
-        skPaint->setTextSize(SkIntToScalar(kMediumDFFontSize));
+        skFont->setSize(SkIntToScalar(kMediumDFFontSize));
     } else {
         dfMaskScaleFloor = kMediumDFFontLimit;
         dfMaskScaleCeil = options.fMaxDistanceFieldFontSize;
         *textRatio = textSize / kLargeDFFontSize;
-        skPaint->setTextSize(SkIntToScalar(kLargeDFFontSize));
+        skFont->setSize(SkIntToScalar(kLargeDFFontSize));
     }
 
     // Because there can be multiple runs in the blob, we want the overall maxMinScale, and
@@ -186,11 +187,10 @@
                                 dfMaskScaleCeil / scaledTextSize);
     }
 
-    skPaint->setAntiAlias(true);
-    skPaint->setLCDRenderText(false);
-    skPaint->setAutohinted(false);
-    skPaint->setHinting(kNormal_SkFontHinting);
-    skPaint->setSubpixelText(true);
+    skFont->setEdging(SkFont::Edging::kAntiAlias);
+    skFont->setForceAutoHinting(false);
+    skFont->setHinting(kNormal_SkFontHinting);
+    skFont->setSubpixel(true);
 
     skPaint->setMaskFilter(GrSDFMaskFilter::Make());