Index: src/ports/SkFontHost_mac.cpp |
diff --git a/src/ports/SkFontHost_mac.cpp b/src/ports/SkFontHost_mac.cpp |
index b144aee12e075c4cbf3deb690fe0241be2659af8..343936c6733081f1493ab9ebebbfeda2ddfb69dd 100644 |
--- a/src/ports/SkFontHost_mac.cpp |
+++ b/src/ports/SkFontHost_mac.cpp |
@@ -68,7 +68,7 @@ class SkScalerContext_Mac; |
// provide a wrapper here that will return an empty array if need be. |
static CFArrayRef SkCTFontManagerCopyAvailableFontFamilyNames() { |
#ifdef SK_BUILD_FOR_IOS |
- return CFArrayCreate(NULL, NULL, 0, NULL); |
+ return CFArrayCreate(nullptr, nullptr, 0, nullptr); |
#else |
return CTFontManagerCopyAvailableFontFamilyNames(); |
#endif |
@@ -94,10 +94,10 @@ template <typename T> static void CFSafeRetain(/*CFTypeRef*/const T* cfTypeRef) |
/** Acts like a CFRef, but calls CFSafeRelease when it goes out of scope. */ |
template<typename CFRef> class AutoCFRelease : private SkNoncopyable { |
public: |
- explicit AutoCFRelease(CFRef cfRef = NULL) : fCFRef(cfRef) { } |
+ explicit AutoCFRelease(CFRef cfRef = nullptr) : fCFRef(cfRef) { } |
~AutoCFRelease() { CFSafeRelease(fCFRef); } |
- void reset(CFRef that = NULL) { |
+ void reset(CFRef that = nullptr) { |
if (that != fCFRef) { |
CFSafeRelease(fCFRef); |
fCFRef = that; |
@@ -106,20 +106,20 @@ public: |
CFRef detach() { |
CFRef self = fCFRef; |
- fCFRef = NULL; |
+ fCFRef = nullptr; |
return self; |
} |
operator CFRef() const { return fCFRef; } |
CFRef get() const { return fCFRef; } |
- CFRef* operator&() { SkASSERT(fCFRef == NULL); return &fCFRef; } |
+ CFRef* operator&() { SkASSERT(fCFRef == nullptr); return &fCFRef; } |
private: |
CFRef fCFRef; |
}; |
static CFStringRef make_CFString(const char str[]) { |
- return CFStringCreateWithCString(NULL, str, kCFStringEncodingUTF8); |
+ return CFStringCreateWithCString(nullptr, str, kCFStringEncodingUTF8); |
} |
template<typename T> class AutoCGTable : SkNoncopyable { |
@@ -127,7 +127,7 @@ public: |
AutoCGTable(CGFontRef font) |
//Undocumented: the tag parameter in this call is expected in machine order and not BE order. |
: fCFData(CGFontCopyTableForTag(font, SkSetFourByteTag(T::TAG0, T::TAG1, T::TAG2, T::TAG3))) |
- , fData(fCFData ? reinterpret_cast<const T*>(CFDataGetBytePtr(fCFData)) : NULL) |
+ , fData(fCFData ? reinterpret_cast<const T*>(CFDataGetBytePtr(fCFData)) : nullptr) |
{ } |
const T* operator->() const { return fData; } |
@@ -327,8 +327,8 @@ static bool supports_LCD() { |
class Offscreen { |
public: |
Offscreen() |
- : fRGBSpace(NULL) |
- , fCG(NULL) |
+ : fRGBSpace(nullptr) |
+ , fCG(nullptr) |
, fDoAA(false) |
, fDoLCD(false) |
{ |
@@ -389,7 +389,7 @@ static int unit_width_to_fontstyle(float unit) { |
static SkFontStyle fontstyle_from_descriptor(CTFontDescriptorRef desc) { |
AutoCFRelease<CFDictionaryRef> dict( |
(CFDictionaryRef)CTFontDescriptorCopyAttribute(desc, kCTFontTraitsAttribute)); |
- if (NULL == dict.get()) { |
+ if (nullptr == dict.get()) { |
return SkFontStyle(); |
} |
@@ -528,7 +528,7 @@ static SkTypeface* NewFromName(const char familyName[], const SkFontStyle& theSt |
&kCFTypeDictionaryValueCallBacks)); |
if (!cfFontName || !cfFontTraits || !cfAttributes || !cfTraits) { |
- return NULL; |
+ return nullptr; |
} |
CFDictionaryAddValue(cfTraits, kCTFontSymbolicTrait, cfFontTraits); |
@@ -539,17 +539,17 @@ static SkTypeface* NewFromName(const char familyName[], const SkFontStyle& theSt |
AutoCFRelease<CTFontDescriptorRef> ctFontDesc( |
CTFontDescriptorCreateWithAttributes(cfAttributes)); |
if (!ctFontDesc) { |
- return NULL; |
+ return nullptr; |
} |
- AutoCFRelease<CTFontRef> ctFont(CTFontCreateWithFontDescriptor(ctFontDesc, 0, NULL)); |
+ AutoCFRelease<CTFontRef> ctFont(CTFontCreateWithFontDescriptor(ctFontDesc, 0, nullptr)); |
if (!ctFont) { |
- return NULL; |
+ return nullptr; |
} |
SkTypeface* face = SkTypefaceCache::FindByProcAndRef(find_by_CTFontRef, (void*)ctFont.get()); |
if (!face) { |
- face = NewFromFontRef(ctFont.detach(), NULL, NULL, false); |
+ face = NewFromFontRef(ctFont.detach(), nullptr, nullptr, false); |
SkTypefaceCache::Add(face, face->fontStyle()); |
} |
return face; |
@@ -561,7 +561,7 @@ static SkTypeface* GetDefaultFace() { |
static SkTypeface* gDefaultFace; |
- if (NULL == gDefaultFace) { |
+ if (nullptr == gDefaultFace) { |
gDefaultFace = NewFromName(FONT_DEFAULT_NAME, SkFontStyle()); |
SkTypefaceCache::Add(gDefaultFace, SkFontStyle()); |
} |
@@ -573,7 +573,7 @@ static SkTypeface* GetDefaultFace() { |
extern CTFontRef SkTypeface_GetCTFontRef(const SkTypeface* face); |
CTFontRef SkTypeface_GetCTFontRef(const SkTypeface* face) { |
const SkTypeface_Mac* macface = (const SkTypeface_Mac*)face; |
- return macface ? macface->fFontRef.get() : NULL; |
+ return macface ? macface->fFontRef.get() : nullptr; |
} |
/* This function is visible on the outside. It first searches the cache, and if |
@@ -586,7 +586,7 @@ SkTypeface* SkCreateTypefaceFromCTFont(CTFontRef fontRef, CFTypeRef resourceRef) |
if (resourceRef) { |
CFRetain(resourceRef); |
} |
- face = NewFromFontRef(fontRef, resourceRef, NULL, false); |
+ face = NewFromFontRef(fontRef, resourceRef, nullptr, false); |
SkTypefaceCache::Add(face, face->fontStyle()); |
} |
return face; |
@@ -736,7 +736,7 @@ SkScalerContext_Mac::SkScalerContext_Mac(SkTypeface_Mac* typeface, |
SkVector scale; |
SkMatrix skTransform; |
fRec.computeMatrices(SkScalerContextRec::kVertical_PreMatrixScale, &scale, &skTransform, |
- NULL, NULL, &fFUnitMatrix); |
+ nullptr, nullptr, &fFUnitMatrix); |
fTransform = MatrixToCGAffineTransform(skTransform); |
fInvTransform = CGAffineTransformInvert(fTransform); |
@@ -761,9 +761,9 @@ SkScalerContext_Mac::SkScalerContext_Mac(SkTypeface_Mac* typeface, |
CGFloat textSize = ScalarToCG(scale.y()); |
fCTFont.reset(CTFontCreateCopyWithAttributes(ctFont, textSize, &fTransform, ctFontDesc)); |
- fCGFont.reset(CTFontCopyGraphicsFont(fCTFont, NULL)); |
+ fCGFont.reset(CTFontCopyGraphicsFont(fCTFont, nullptr)); |
fCTUnrotatedFont.reset(CTFontCreateCopyWithAttributes(ctFont, textSize, |
- &CGAffineTransformIdentity, NULL)); |
+ &CGAffineTransformIdentity, nullptr)); |
// The fUnitMatrix includes the text size (and em) as it is used to scale the raw font data. |
SkScalar emPerFUnit = SkScalarInvert(SkIntToScalar(CGFontGetUnitsPerEm(fCGFont))); |
@@ -1088,8 +1088,8 @@ void SkScalerContext_Mac::generateMetrics(SkGlyph* glyph) { |
// empty path or not, and if so, we jam the bounds to 0. Hopefully a zero-advance |
// is rare, so we won't incur a big performance cost for this extra check. |
if (0 == cgAdvance.width && 0 == cgAdvance.height) { |
- AutoCFRelease<CGPathRef> path(CTFontCreatePathForGlyph(fCTFont, cgGlyph, NULL)); |
- if (NULL == path || CGPathIsEmpty(path)) { |
+ AutoCFRelease<CGPathRef> path(CTFontCreatePathForGlyph(fCTFont, cgGlyph, nullptr)); |
+ if (nullptr == path || CGPathIsEmpty(path)) { |
return; |
} |
} |
@@ -1253,7 +1253,7 @@ void SkScalerContext_Mac::generateImage(const SkGlyph& glyph) { |
// Draw the glyph |
size_t cgRowBytes; |
CGRGBPixel* cgPixels = fOffscreen.getCG(*this, glyph, cgGlyph, &cgRowBytes, generateA8FromLCD); |
- if (cgPixels == NULL) { |
+ if (cgPixels == nullptr) { |
return; |
} |
@@ -1372,14 +1372,14 @@ void SkScalerContext_Mac::generatePath(const SkGlyph& glyph, SkPath* path) { |
CGAffineTransform xform = MatrixToCGAffineTransform(m, scaleX, scaleY); |
// need to release font when we're done |
- font = CTFontCreateCopyWithAttributes(fCTFont, 1, &xform, NULL); |
+ font = CTFontCreateCopyWithAttributes(fCTFont, 1, &xform, nullptr); |
} |
CGGlyph cgGlyph = (CGGlyph)glyph.getGlyphID(); |
- AutoCFRelease<CGPathRef> cgPath(CTFontCreatePathForGlyph(font, cgGlyph, NULL)); |
+ AutoCFRelease<CGPathRef> cgPath(CTFontCreatePathForGlyph(font, cgGlyph, nullptr)); |
path->reset(); |
- if (cgPath != NULL) { |
+ if (cgPath != nullptr) { |
CGPathApply(cgPath, path, SkScalerContext_Mac::CTPathElement); |
} |
@@ -1398,7 +1398,7 @@ void SkScalerContext_Mac::generatePath(const SkGlyph& glyph, SkPath* path) { |
} |
void SkScalerContext_Mac::generateFontMetrics(SkPaint::FontMetrics* metrics) { |
- if (NULL == metrics) { |
+ if (nullptr == metrics) { |
return; |
} |
@@ -1461,15 +1461,15 @@ void SkScalerContext_Mac::CTPathElement(void *info, const CGPathElement *element |
/////////////////////////////////////////////////////////////////////////////// |
-// Returns NULL on failure |
+// Returns nullptr on failure |
// Call must still manage its ownership of provider |
static SkTypeface* create_from_dataProvider(CGDataProviderRef provider) { |
AutoCFRelease<CGFontRef> cg(CGFontCreateWithDataProvider(provider)); |
- if (NULL == cg) { |
- return NULL; |
+ if (nullptr == cg) { |
+ return nullptr; |
} |
- CTFontRef ct = CTFontCreateWithGraphicsFont(cg, 0, NULL, NULL); |
- return ct ? NewFromFontRef(ct, NULL, NULL, true) : NULL; |
+ CTFontRef ct = CTFontCreateWithGraphicsFont(cg, 0, nullptr, nullptr); |
+ return ct ? NewFromFontRef(ct, nullptr, nullptr, true) : nullptr; |
} |
// Web fonts added to the the CTFont registry do not return their character set. |
@@ -1548,7 +1548,7 @@ static bool getWidthAdvance(CTFontRef ctFont, int gId, int16_t* data) { |
return true; |
} |
-/** Assumes src and dst are not NULL. */ |
+/** Assumes src and dst are not nullptr. */ |
static void CFStringToSkString(CFStringRef src, SkString* dst) { |
// Reserve enough room for the worst-case string, |
// plus 1 byte for the trailing null. |
@@ -1569,7 +1569,7 @@ SkAdvancedTypefaceMetrics* SkTypeface_Mac::onGetAdvancedTypefaceMetrics( |
CTFontRef originalCTFont = fFontRef.get(); |
AutoCFRelease<CTFontRef> ctFont(CTFontCreateCopyWithAttributes( |
- originalCTFont, CTFontGetUnitsPerEm(originalCTFont), NULL, NULL)); |
+ originalCTFont, CTFontGetUnitsPerEm(originalCTFont), nullptr, nullptr)); |
SkAdvancedTypefaceMetrics* info = new SkAdvancedTypefaceMetrics; |
{ |
@@ -1699,7 +1699,7 @@ static SK_SFNT_ULONG get_font_type_tag(const SkTypeface_Mac* typeface) { |
SkStreamAsset* SkTypeface_Mac::onOpenStream(int* ttcIndex) const { |
SK_SFNT_ULONG fontType = get_font_type_tag(this); |
if (0 == fontType) { |
- return NULL; |
+ return nullptr; |
} |
// get table tags |
@@ -1811,12 +1811,12 @@ static bool get_variations(CTFontRef fFontRef, CFIndex* cgAxisCount, |
SkAutoSTMalloc<4, SkFixed>* axisValues) |
{ |
// CTFontCopyVariationAxes and CTFontCopyVariation do not work when applied to fonts which |
- // started life with CGFontCreateWithDataProvider (they simply always return NULL). |
+ // started life with CGFontCreateWithDataProvider (they simply always return nullptr). |
// As a result, we are limited to CGFontCopyVariationAxes and CGFontCopyVariations. |
- AutoCFRelease<CGFontRef> cgFont(CTFontCopyGraphicsFont(fFontRef, NULL)); |
+ AutoCFRelease<CGFontRef> cgFont(CTFontCopyGraphicsFont(fFontRef, nullptr)); |
AutoCFRelease<CFDictionaryRef> cgVariations(CGFontCopyVariations(cgFont)); |
- // If a font has no variations CGFontCopyVariations returns NULL (instead of an empty dict). |
+ // If a font has no variations CGFontCopyVariations returns nullptr (instead of an empty dict). |
if (!cgVariations.get()) { |
return false; |
} |
@@ -1868,21 +1868,21 @@ SkFontData* SkTypeface_Mac::onCreateFontData() const { |
if (get_variations(fFontRef, &cgAxisCount, &axisValues)) { |
return new SkFontData(stream.detach(), index, axisValues.get(), cgAxisCount); |
} |
- return new SkFontData(stream.detach(), index, NULL, 0); |
+ return new SkFontData(stream.detach(), index, nullptr, 0); |
} |
/////////////////////////////////////////////////////////////////////////////// |
/////////////////////////////////////////////////////////////////////////////// |
int SkTypeface_Mac::onGetUPEM() const { |
- AutoCFRelease<CGFontRef> cgFont(CTFontCopyGraphicsFont(fFontRef, NULL)); |
+ AutoCFRelease<CGFontRef> cgFont(CTFontCopyGraphicsFont(fFontRef, nullptr)); |
return CGFontGetUnitsPerEm(cgFont); |
} |
SkTypeface::LocalizedStrings* SkTypeface_Mac::onCreateFamilyNameIterator() const { |
SkTypeface::LocalizedStrings* nameIter = |
SkOTUtils::LocalizedStrings_NameTable::CreateForFamilyNames(*this); |
- if (NULL == nameIter) { |
+ if (nullptr == nameIter) { |
AutoCFRelease<CFStringRef> cfLanguage; |
AutoCFRelease<CFStringRef> cfFamilyName( |
CTFontCopyLocalizedName(fFontRef, kCTFontFamilyNameKey, &cfLanguage)); |
@@ -1909,8 +1909,8 @@ SkTypeface::LocalizedStrings* SkTypeface_Mac::onCreateFamilyNameIterator() const |
static CFDataRef copyTableFromFont(CTFontRef ctFont, SkFontTableTag tag) { |
CFDataRef data = CTFontCopyTable(ctFont, (CTFontTableTag) tag, |
kCTFontTableOptionNoOptions); |
- if (NULL == data) { |
- AutoCFRelease<CGFontRef> cgFont(CTFontCopyGraphicsFont(ctFont, NULL)); |
+ if (nullptr == data) { |
+ AutoCFRelease<CGFontRef> cgFont(CTFontCopyGraphicsFont(ctFont, nullptr)); |
data = CGFontCopyTableForTag(cgFont, tag); |
} |
return data; |
@@ -1919,7 +1919,7 @@ static CFDataRef copyTableFromFont(CTFontRef ctFont, SkFontTableTag tag) { |
int SkTypeface_Mac::onGetTableTags(SkFontTableTag tags[]) const { |
AutoCFRelease<CFArrayRef> cfArray(CTFontCopyAvailableTables(fFontRef, |
kCTFontTableOptionNoOptions)); |
- if (NULL == cfArray) { |
+ if (nullptr == cfArray) { |
return 0; |
} |
int count = SkToInt(CFArrayGetCount(cfArray)); |
@@ -1935,7 +1935,7 @@ int SkTypeface_Mac::onGetTableTags(SkFontTableTag tags[]) const { |
size_t SkTypeface_Mac::onGetTableData(SkFontTableTag tag, size_t offset, |
size_t length, void* dstData) const { |
AutoCFRelease<CFDataRef> srcData(copyTableFromFont(fFontRef, tag)); |
- if (NULL == srcData) { |
+ if (nullptr == srcData) { |
return 0; |
} |
@@ -2039,8 +2039,8 @@ void SkTypeface_Mac::onFilterRec(SkScalerContextRec* rec) const { |
// we take ownership of the ref |
static const char* get_str(CFStringRef ref, SkString* str) { |
- if (NULL == ref) { |
- return NULL; |
+ if (nullptr == ref) { |
+ return nullptr; |
} |
CFStringToSkString(ref, str); |
CFSafeRelease(ref); |
@@ -2106,22 +2106,22 @@ int SkTypeface_Mac::onCharsToGlyphs(const void* chars, Encoding encoding, |
} |
} |
- // If glyphs is NULL, CT still needs glyph storage for finding the first failure. |
+ // If glyphs is nullptr, CT still needs glyph storage for finding the first failure. |
// Also, if there are any non-bmp code points, the provided 'glyphs' storage will be inadequate. |
SkAutoSTMalloc<1024, uint16_t> glyphStorage; |
uint16_t* macGlyphs = glyphs; |
- if (NULL == macGlyphs || srcCount > glyphCount) { |
+ if (nullptr == macGlyphs || srcCount > glyphCount) { |
macGlyphs = glyphStorage.reset(srcCount); |
} |
bool allEncoded = CTFontGetGlyphsForCharacters(fFontRef, src, macGlyphs, srcCount); |
// If there were any non-bmp, then copy and compact. |
- // If 'glyphs' is NULL, then compact glyphStorage in-place. |
- // If all are bmp and 'glyphs' is non-NULL, 'glyphs' already contains the compact glyphs. |
- // If some are non-bmp and 'glyphs' is non-NULL, copy and compact into 'glyphs'. |
+ // If 'glyphs' is nullptr, then compact glyphStorage in-place. |
+ // If all are bmp and 'glyphs' is non-nullptr, 'glyphs' already contains the compact glyphs. |
+ // If some are non-bmp and 'glyphs' is non-nullptr, copy and compact into 'glyphs'. |
uint16_t* compactedGlyphs = glyphs; |
- if (NULL == compactedGlyphs) { |
+ if (nullptr == compactedGlyphs) { |
compactedGlyphs = macGlyphs; |
} |
if (srcCount > glyphCount) { |
@@ -2157,7 +2157,7 @@ int SkTypeface_Mac::onCountGlyphs() const { |
static bool find_desc_str(CTFontDescriptorRef desc, CFStringRef name, SkString* value) { |
AutoCFRelease<CFStringRef> ref((CFStringRef)CTFontDescriptorCopyAttribute(desc, name)); |
- if (NULL == ref.get()) { |
+ if (nullptr == ref.get()) { |
return false; |
} |
CFStringToSkString(ref, value); |
@@ -2190,15 +2190,15 @@ static SkTypeface* createFromDesc(CFStringRef cfFamilyName, CTFontDescriptorRef |
return face; |
} |
- AutoCFRelease<CTFontRef> ctFont(CTFontCreateWithFontDescriptor(desc, 0, NULL)); |
+ AutoCFRelease<CTFontRef> ctFont(CTFontCreateWithFontDescriptor(desc, 0, nullptr)); |
if (!ctFont) { |
- return NULL; |
+ return nullptr; |
} |
bool isFixedPitch; |
(void)computeStyleBits(ctFont, &isFixedPitch); |
- face = new SkTypeface_Mac(ctFont.detach(), NULL, cacheRequest.fStyle, isFixedPitch, |
+ face = new SkTypeface_Mac(ctFont.detach(), nullptr, cacheRequest.fStyle, isFixedPitch, |
skFamilyName.c_str(), false); |
SkTypefaceCache::Add(face, face->fontStyle()); |
return face; |
@@ -2207,12 +2207,12 @@ static SkTypeface* createFromDesc(CFStringRef cfFamilyName, CTFontDescriptorRef |
class SkFontStyleSet_Mac : public SkFontStyleSet { |
public: |
SkFontStyleSet_Mac(CFStringRef familyName, CTFontDescriptorRef desc) |
- : fArray(CTFontDescriptorCreateMatchingFontDescriptors(desc, NULL)) |
+ : fArray(CTFontDescriptorCreateMatchingFontDescriptors(desc, nullptr)) |
, fFamilyName(familyName) |
, fCount(0) { |
CFRetain(familyName); |
- if (NULL == fArray) { |
- fArray = CFArrayCreate(NULL, NULL, 0, NULL); |
+ if (nullptr == fArray) { |
+ fArray = CFArrayCreate(nullptr, nullptr, 0, nullptr); |
} |
fCount = SkToInt(CFArrayGetCount(fArray)); |
} |
@@ -2248,7 +2248,7 @@ public: |
SkTypeface* matchStyle(const SkFontStyle& pattern) override { |
if (0 == fCount) { |
- return NULL; |
+ return nullptr; |
} |
return createFromDesc(fFamilyName, findMatchingDesc(pattern)); |
} |
@@ -2260,7 +2260,7 @@ private: |
CTFontDescriptorRef findMatchingDesc(const SkFontStyle& pattern) const { |
int bestMetric = SK_MaxS32; |
- CTFontDescriptorRef bestDesc = NULL; |
+ CTFontDescriptorRef bestDesc = nullptr; |
for (int i = 0; i < fCount; ++i) { |
CTFontDescriptorRef desc = (CTFontDescriptorRef)CFArrayGetValueAtIndex(fArray, i); |
@@ -2324,7 +2324,7 @@ protected: |
SkFontStyleSet* onCreateStyleSet(int index) const override { |
if ((unsigned)index >= (unsigned)fCount) { |
- return NULL; |
+ return nullptr; |
} |
return CreateSet(this->stringAt(index)); |
} |
@@ -2336,32 +2336,32 @@ protected: |
virtual SkTypeface* onMatchFamilyStyle(const char familyName[], |
const SkFontStyle&) const override { |
- return NULL; |
+ return nullptr; |
} |
virtual SkTypeface* onMatchFamilyStyleCharacter(const char familyName[], const SkFontStyle&, |
const char* bcp47[], int bcp47Count, |
SkUnichar character) const override { |
- return NULL; |
+ return nullptr; |
} |
virtual SkTypeface* onMatchFaceStyle(const SkTypeface* familyMember, |
const SkFontStyle&) const override { |
- return NULL; |
+ return nullptr; |
} |
SkTypeface* onCreateFromData(SkData* data, int ttcIndex) const override { |
AutoCFRelease<CGDataProviderRef> pr(SkCreateDataProviderFromData(data)); |
- if (NULL == pr) { |
- return NULL; |
+ if (nullptr == pr) { |
+ return nullptr; |
} |
return create_from_dataProvider(pr); |
} |
SkTypeface* onCreateFromStream(SkStreamAsset* stream, int ttcIndex) const override { |
AutoCFRelease<CGDataProviderRef> pr(SkCreateDataProviderFromStream(stream)); |
- if (NULL == pr) { |
- return NULL; |
+ if (nullptr == pr) { |
+ return nullptr; |
} |
return create_from_dataProvider(pr); |
} |
@@ -2369,12 +2369,12 @@ protected: |
static CFDictionaryRef get_axes(CGFontRef cg, SkFontData* fontData) { |
AutoCFRelease<CFArrayRef> cgAxes(CGFontCopyVariationAxes(cg)); |
if (!cgAxes) { |
- return NULL; |
+ return nullptr; |
} |
CFIndex axisCount = CFArrayGetCount(cgAxes); |
if (0 == axisCount || axisCount != fontData->getAxisCount()) { |
- return NULL; |
+ return nullptr; |
} |
CFMutableDictionaryRef dict = CFDictionaryCreateMutable(kCFAllocatorDefault, axisCount, |
@@ -2383,13 +2383,13 @@ protected: |
for (int i = 0; i < fontData->getAxisCount(); ++i) { |
CFTypeRef axisInfo = CFArrayGetValueAtIndex(cgAxes, i); |
if (CFDictionaryGetTypeID() != CFGetTypeID(axisInfo)) { |
- return NULL; |
+ return nullptr; |
} |
CFDictionaryRef axisInfoDict = static_cast<CFDictionaryRef>(axisInfo); |
CFTypeRef axisName = CFDictionaryGetValue(axisInfoDict, kCGFontVariationAxisName); |
if (!axisName || CFGetTypeID(axisName) != CFStringGetTypeID()) { |
- return NULL; |
+ return nullptr; |
} |
// The variation axes can be set to any value, but cg will effectively pin them. |
@@ -2399,7 +2399,7 @@ protected: |
if (!min || CFGetTypeID(min) != CFNumberGetTypeID() || |
!max || CFGetTypeID(max) != CFNumberGetTypeID()) |
{ |
- return NULL; |
+ return nullptr; |
} |
CFNumberRef minNumber = static_cast<CFNumberRef>(min); |
CFNumberRef maxNumber = static_cast<CFNumberRef>(max); |
@@ -2408,7 +2408,7 @@ protected: |
if (!CFNumberGetValue(minNumber, kCFNumberDoubleType, &minDouble) || |
!CFNumberGetValue(maxNumber, kCFNumberDoubleType, &maxDouble)) |
{ |
- return NULL; |
+ return nullptr; |
} |
double value = SkTPin(SkFixedToDouble(fontData->getAxis()[i]), minDouble, maxDouble); |
CFNumberRef valueNumber = CFNumberCreate(kCFAllocatorDefault, kCFNumberDoubleType, |
@@ -2423,12 +2423,12 @@ protected: |
SkAutoTDelete<SkFontData> fontData(data); |
SkStreamAsset* stream = fontData->detachStream(); |
AutoCFRelease<CGDataProviderRef> provider(SkCreateDataProviderFromStream(stream)); |
- if (NULL == provider) { |
- return NULL; |
+ if (nullptr == provider) { |
+ return nullptr; |
} |
AutoCFRelease<CGFontRef> cg(CGFontCreateWithDataProvider(provider)); |
- if (NULL == cg) { |
- return NULL; |
+ if (nullptr == cg) { |
+ return nullptr; |
} |
AutoCFRelease<CFDictionaryRef> cgVariations(get_axes(cg, fontData)); |
@@ -2442,17 +2442,17 @@ protected: |
cgVariant.reset(cg.detach()); |
} |
- CTFontRef ct = CTFontCreateWithGraphicsFont(cgVariant, 0, NULL, NULL); |
+ CTFontRef ct = CTFontCreateWithGraphicsFont(cgVariant, 0, nullptr, nullptr); |
if (!ct) { |
- return NULL; |
+ return nullptr; |
} |
- return NewFromFontRef(ct, cg.detach(), NULL, true); |
+ return NewFromFontRef(ct, cg.detach(), nullptr, true); |
} |
SkTypeface* onCreateFromFile(const char path[], int ttcIndex) const override { |
AutoCFRelease<CGDataProviderRef> pr(CGDataProviderCreateWithFilename(path)); |
- if (NULL == pr) { |
- return NULL; |
+ if (nullptr == pr) { |
+ return nullptr; |
} |
return create_from_dataProvider(pr); |
} |
@@ -2472,7 +2472,7 @@ protected: |
NameStyle cacheRequest = { familyName, style }; |
SkTypeface* face = SkTypefaceCache::FindByProcAndRef(find_by_NameStyle, &cacheRequest); |
- if (NULL == face) { |
+ if (nullptr == face) { |
face = NewFromName(familyName, style); |
if (face) { |
SkTypefaceCache::Add(face, style); |