use SkFont in a lot of places

Bug: skia:
Change-Id: I86df3f650eb5bb0219b3251ef5f8e95403838bba
Reviewed-on: https://skia-review.googlesource.com/c/172482
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/tools/sk_tool_utils.cpp b/tools/sk_tool_utils.cpp
index 00c8e63..35c059f 100644
--- a/tools/sk_tool_utils.cpp
+++ b/tools/sk_tool_utils.cpp
@@ -136,15 +136,14 @@
 }
 
 void add_to_text_blob_w_len(SkTextBlobBuilder* builder, const char* text, size_t len,
-                            const SkPaint& origPaint, SkScalar x, SkScalar y) {
-    SkPaint paint(origPaint);
+                            const SkPaint& paint, SkScalar x, SkScalar y) {
+    SkFont font = SkFont::LEGACY_ExtractFromPaint(paint);
     SkTDArray<uint16_t> glyphs;
 
-    glyphs.append(paint.textToGlyphs(text, len, nullptr));
-    paint.textToGlyphs(text, len, glyphs.begin());
+    glyphs.append(font.countText(text, len, (SkTextEncoding)paint.getTextEncoding()));
+    font.textToGlyphs(text, len, (SkTextEncoding)paint.getTextEncoding(), glyphs.begin(), glyphs.count());
 
-    paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding);
-    const SkTextBlobBuilder::RunBuffer& run = builder->allocRun(paint, glyphs.count(), x, y,
+    const SkTextBlobBuilder::RunBuffer& run = builder->allocRun(font, glyphs.count(), x, y,
                                                                 nullptr);
     memcpy(run.glyphs, glyphs.begin(), glyphs.count() * sizeof(uint16_t));
 }