From 94164944f88972e7fd555170ca94536a70db1515 Mon Sep 17 00:00:00 2001 From: bungeman Date: Fri, 10 Apr 2015 15:35:22 -0700 Subject: [PATCH] Ammend font table data experiment on Mac. Calling CGFontCopyTableForTag did not affect the runtime results, so try to actually access the data to see if that makes a difference. TBR=reed1 This is a test change, allow data to be collected. Review URL: https://codereview.chromium.org/1076183004 --- src/ports/SkFontHost_mac.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/ports/SkFontHost_mac.cpp b/src/ports/SkFontHost_mac.cpp index 836576b..5eaf7df 100755 --- a/src/ports/SkFontHost_mac.cpp +++ b/src/ports/SkFontHost_mac.cpp @@ -913,6 +913,14 @@ CGRGBPixel* Offscreen::getCG(const SkScalerContext_Mac& context, const SkGlyph& AutoCFRelease sbix; if (static_cast(context.getTypeface())->fHasColorGlyphs) { sbix.reset(CGFontCopyTableForTag(context.fCGFont, 'sbix')); + // Attempt to read from the sbix table data to determine if the returned data is valid. + const UInt8* sbixData = CFDataGetBytePtr(sbix); + CFIndex sbixLength = CFDataGetLength(sbix); + if (sbixLength > 0 && *sbixData > 0x80) { + // We need to actually do something to avoid this being optimized away. + CFRetain(sbix); + CFRelease(sbix); + } } ctFontDrawGlyphs(context.fCTUnrotatedFont, &glyphID, &point, 1, fCG); -- 2.7.4