| 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);
|
|
|