| Index: src/ports/SkFontHost_mac.cpp
|
| diff --git a/src/ports/SkFontHost_mac.cpp b/src/ports/SkFontHost_mac.cpp
|
| index fba8867de52b9ea3a6c6709119329e5f155550ce..c4330cab1d374f03a7908b95321427e007d96f50 100755
|
| --- a/src/ports/SkFontHost_mac.cpp
|
| +++ b/src/ports/SkFontHost_mac.cpp
|
| @@ -444,21 +444,9 @@ public:
|
| , fRequestedName(requestedName)
|
| , fFontRef(fontRef) // caller has already called CFRetain for us
|
| , fIsLocalStream(isLocalStream)
|
| - , fHasSbixTable(false)
|
| + , fHasColorGlyphs(CTFontGetSymbolicTraits(fFontRef) & kCTFontColorGlyphsTrait)
|
| {
|
| SkASSERT(fontRef);
|
| -
|
| - AutoCFRelease<CFArrayRef> tags(CTFontCopyAvailableTables(fFontRef,kCTFontTableOptionNoOptions));
|
| - if (tags) {
|
| - int count = SkToInt(CFArrayGetCount(tags));
|
| - for (int i = 0; i < count; ++i) {
|
| - uintptr_t tag = reinterpret_cast<uintptr_t>(CFArrayGetValueAtIndex(tags, i));
|
| - if ('sbix' == tag) {
|
| - fHasSbixTable = true;
|
| - break;
|
| - }
|
| - }
|
| - }
|
| }
|
|
|
| SkString fRequestedName;
|
| @@ -484,7 +472,7 @@ protected:
|
|
|
| private:
|
| bool fIsLocalStream;
|
| - bool fHasSbixTable;
|
| + bool fHasColorGlyphs;
|
|
|
| typedef SkTypeface INHERITED;
|
| };
|
| @@ -1897,7 +1885,7 @@ void SkTypeface_Mac::onFilterRec(SkScalerContextRec* rec) const {
|
| // CoreText provides no information as to whether a glyph will be color or not.
|
| // Fonts may mix outlines and bitmaps, so information is needed on a glyph by glyph basis.
|
| // If a font contains an 'sbix' table, consider it to be a color font, and disable lcd.
|
| - if (fHasSbixTable) {
|
| + if (fHasColorGlyphs) {
|
| rec->fMaskFormat = SkMask::kARGB32_Format;
|
| }
|
|
|
|
|