aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports/SkFontHost_mac.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ports/SkFontHost_mac.cpp')
-rw-r--r--src/ports/SkFontHost_mac.cpp174
1 files changed, 87 insertions, 87 deletions
diff --git a/src/ports/SkFontHost_mac.cpp b/src/ports/SkFontHost_mac.cpp
index b144aee12e..343936c673 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);