| Index: src/ports/SkFontMgr_android.cpp
|
| diff --git a/src/ports/SkFontMgr_android.cpp b/src/ports/SkFontMgr_android.cpp
|
| index f85539ca53603c90b8196ef7a6285914177445c2..88045a4b2024a7819892a43d95e0ba11ca31bf10 100644
|
| --- a/src/ports/SkFontMgr_android.cpp
|
| +++ b/src/ports/SkFontMgr_android.cpp
|
| @@ -5,20 +5,27 @@
|
| * found in the LICENSE file.
|
| */
|
|
|
| +#include "SkFixed.h"
|
| #include "SkFontDescriptor.h"
|
| #include "SkFontHost_FreeType_common.h"
|
| #include "SkFontMgr.h"
|
| #include "SkFontMgr_android.h"
|
| #include "SkFontMgr_android_parser.h"
|
| #include "SkFontStyle.h"
|
| +#include "SkRefCnt.h"
|
| +#include "SkString.h"
|
| #include "SkStream.h"
|
| +#include "SkTArray.h"
|
| #include "SkTDArray.h"
|
| #include "SkTSearch.h"
|
| +#include "SkTemplates.h"
|
| #include "SkTypeface.h"
|
| #include "SkTypefaceCache.h"
|
|
|
| #include <limits>
|
|
|
| +class SkData;
|
| +
|
| class SkTypeface_Android : public SkTypeface_FreeType {
|
| public:
|
| SkTypeface_Android(const SkFontStyle& style,
|
| @@ -275,9 +282,9 @@ private:
|
| }
|
| static int match_score(const SkFontStyle& pattern, const SkFontStyle& candidate) {
|
| int score = 0;
|
| - score += abs((pattern.width() - candidate.width()) * 100);
|
| - score += abs((pattern.isItalic() == candidate.isItalic()) ? 0 : 1000);
|
| - score += abs(pattern.weight() - candidate.weight());
|
| + score += SkTAbs((pattern.width() - candidate.width()) * 100);
|
| + score += SkTAbs((pattern.isItalic() == candidate.isItalic()) ? 0 : 1000);
|
| + score += SkTAbs(pattern.weight() - candidate.weight());
|
| return score;
|
| }
|
|
|
| @@ -400,13 +407,7 @@ protected:
|
| continue;
|
| }
|
|
|
| - SkPaint paint;
|
| - paint.setTypeface(face);
|
| - paint.setTextEncoding(SkPaint::kUTF32_TextEncoding);
|
| -
|
| - uint16_t glyphID;
|
| - paint.textToGlyphs(&character, sizeof(character), &glyphID);
|
| - if (glyphID != 0) {
|
| + if (face->charsToGlyphs(&character, SkTypeface::kUTF32_Encoding, NULL, 0)) {
|
| return face.detach();
|
| }
|
| }
|
|
|