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

Unified Diff: src/ports/SkFontHost_FreeType.cpp

Issue 1157163007: SkPDF: fall back on paths for unembeddable fonts. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: 2015-07-15 (Wednesday) 10:13:03 EDT Created 5 years, 5 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
Index: src/ports/SkFontHost_FreeType.cpp
diff --git a/src/ports/SkFontHost_FreeType.cpp b/src/ports/SkFontHost_FreeType.cpp
index 6f235edb8f7a70afde5ee5e81575be958b8b11aa..21e33fbd325945ce9ec2d05466d93acae98304b5 100644
--- a/src/ports/SkFontHost_FreeType.cpp
+++ b/src/ports/SkFontHost_FreeType.cpp
@@ -409,7 +409,7 @@ private:
///////////////////////////////////////////////////////////////////////////
-static bool canEmbed(FT_Face face) {
+static bool can_embed(FT_Face face) {
FT_UShort fsType = FT_Get_FSType_Flags(face);
return (fsType & (FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING |
FT_FSTYPE_BITMAP_EMBEDDING_ONLY)) == 0;
@@ -452,6 +452,12 @@ static void populate_glyph_to_unicode(FT_Face& face, SkTDArray<SkUnichar>* glyph
}
}
+bool SkTypeface_FreeType::onCanEmbed() const {
+ AutoFTAccess fta(this);
+ FT_Face face = fta.face();
+ return !face || can_embed(face);
+}
+
SkAdvancedTypefaceMetrics* SkTypeface_FreeType::onGetAdvancedTypefaceMetrics(
PerGlyphInfo perGlyphInfo,
const uint32_t* glyphIDs,
@@ -472,7 +478,7 @@ SkAdvancedTypefaceMetrics* SkTypeface_FreeType::onGetAdvancedTypefaceMetrics(
info->fFlags = SkTBitOr<SkAdvancedTypefaceMetrics::FontFlags>(
info->fFlags, SkAdvancedTypefaceMetrics::kMultiMaster_FontFlag);
}
- if (!canEmbed(face)) {
+ if (!can_embed(face)) {
info->fFlags = SkTBitOr<SkAdvancedTypefaceMetrics::FontFlags>(
info->fFlags,
SkAdvancedTypefaceMetrics::kNotEmbeddable_FontFlag);

Powered by Google App Engine
This is Rietveld 408576698