Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(210)

Unified Diff: src/ports/SkFontHost_FreeType.cpp

Issue 685803003: Revert of Extend SkFontMgr_Custom to cover ttc, otf, pfb. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/fonts/SkFontMgr_fontconfig.cpp ('k') | src/ports/SkFontHost_FreeType_common.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/ports/SkFontHost_FreeType.cpp
diff --git a/src/ports/SkFontHost_FreeType.cpp b/src/ports/SkFontHost_FreeType.cpp
index 58d2999c64e69a938e7a7c1ecaaa13df4f99f68a..ba0ce14560a53666a5c1b491c24a9253d15f7533 100644
--- a/src/ports/SkFontHost_FreeType.cpp
+++ b/src/ports/SkFontHost_FreeType.cpp
@@ -1669,26 +1669,20 @@
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
-
-SkTypeface_FreeType::Scanner::Scanner() {
- if (FT_Init_FreeType(&fLibrary)) {
- fLibrary = NULL;
- }
-}
-SkTypeface_FreeType::Scanner::~Scanner() {
- FT_Done_FreeType(fLibrary);
-}
-
-FT_Face SkTypeface_FreeType::Scanner::openFace(SkStream* stream, int ttcIndex) const {
- if (fLibrary == NULL) {
- return NULL;
- }
-
- FT_Open_Args args;
+#include "SkTSearch.h"
+/*static*/ bool SkTypeface_FreeType::ScanFont(
+ SkStream* stream, int ttcIndex, SkString* name, SkFontStyle* style, bool* isFixedPitch)
+{
+ FT_Library library;
+ if (FT_Init_FreeType(&library)) {
+ return false;
+ }
+
+ FT_Open_Args args;
memset(&args, 0, sizeof(args));
const void* memoryBase = stream->getMemoryBase();
- FT_StreamRec streamRec;
+ FT_StreamRec streamRec;
if (memoryBase) {
args.flags = FT_OPEN_MEMORY;
@@ -1706,30 +1700,8 @@
}
FT_Face face;
- if (FT_Open_Face(fLibrary, &args, ttcIndex, &face)) {
- return NULL;
- }
- return face;
-}
-
-bool SkTypeface_FreeType::Scanner::recognizedFont(SkStream* stream, int* numFaces) const {
- FT_Face face = this->openFace(stream, -1);
- if (NULL == face) {
- return false;
- }
-
- *numFaces = face->num_faces;
-
- FT_Done_Face(face);
- return true;
-}
-
-#include "SkTSearch.h"
-bool SkTypeface_FreeType::Scanner::scanFont(
- SkStream* stream, int ttcIndex, SkString* name, SkFontStyle* style, bool* isFixedPitch) const
-{
- FT_Face face = this->openFace(stream, ttcIndex);
- if (NULL == face) {
+ if (FT_Open_Face(library, &args, ttcIndex, &face)) {
+ FT_Done_FreeType(library);
return false;
}
@@ -1759,19 +1731,14 @@
{ "book", (SkFontStyle::kNormal_Weight + SkFontStyle::kLight_Weight)/2 },
{ "demi", SkFontStyle::kSemiBold_Weight },
{ "demibold", SkFontStyle::kSemiBold_Weight },
- { "extra", SkFontStyle::kExtraBold_Weight },
{ "extrabold", SkFontStyle::kExtraBold_Weight },
{ "extralight", SkFontStyle::kExtraLight_Weight },
- { "hairline", SkFontStyle::kThin_Weight },
{ "heavy", SkFontStyle::kBlack_Weight },
{ "light", SkFontStyle::kLight_Weight },
{ "medium", SkFontStyle::kMedium_Weight },
{ "normal", SkFontStyle::kNormal_Weight },
- { "plain", SkFontStyle::kNormal_Weight },
{ "regular", SkFontStyle::kNormal_Weight },
- { "roman", SkFontStyle::kNormal_Weight },
{ "semibold", SkFontStyle::kSemiBold_Weight },
- { "standard", SkFontStyle::kNormal_Weight },
{ "thin", SkFontStyle::kThin_Weight },
{ "ultra", SkFontStyle::kExtraBold_Weight },
{ "ultrablack", 1000 },
@@ -1784,7 +1751,7 @@
if (index >= 0) {
weight = commonWeights[index].weight;
} else {
- SkDEBUGF(("Do not know weight for: %s (%s) \n", face->family_name, psFontInfo.weight));
+ SkDEBUGF(("Do not know weight for: %s\n", psFontInfo.weight));
}
}
@@ -1799,5 +1766,6 @@
}
FT_Done_Face(face);
+ FT_Done_FreeType(library);
return true;
}
« no previous file with comments | « src/fonts/SkFontMgr_fontconfig.cpp ('k') | src/ports/SkFontHost_FreeType_common.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698