Merge pull request #166 from chengyin/better-font-check

Better font family check on iOS to support custom fonts
This commit is contained in:
Horcrux
2016-10-27 16:45:22 +08:00
committed by GitHub
+15 -2
View File
@@ -102,10 +102,23 @@ RCT_ENUM_CONVERTER(RNSVGVBMOS, (@{
NSDictionary *fontDict = dict[@"font"];
NSString *fontFamily = fontDict[@"fontFamily"];
if (![[UIFont familyNames] containsObject:fontFamily]) {
fontFamily = nil;
BOOL fontFound = NO;
NSArray *supportedFontFamilyNames = [UIFont familyNames];
if ([supportedFontFamilyNames containsObject:fontFamily]) {
fontFound = YES;
} else {
for (NSString *fontFamilyName in supportedFontFamilyNames) {
if ([[UIFont fontNamesForFamilyName: fontFamilyName] containsObject:fontFamily]) {
fontFound = YES;
break;
}
}
}
fontFamily = fontFound ? fontFamily : nil;
CTFontRef font = (__bridge CTFontRef)[RCTFont updateFont:nil withFamily:fontFamily size:fontDict[@"fontSize"] weight:fontDict[@"fontWeight"] style:fontDict[@"fontStyle"]
variant:nil scaleMultiplier:1.0];
if (!font) {