[ios, macos] Take font family names from user defaults

Take font family names from user defaults before falling back to font family names in Info.plist.
This commit is contained in:
Minh Nguyễn
2020-03-18 16:00:06 -07:00
committed by Minh Nguyễn
parent f97ca0ccf9
commit 9b78a156de

View File

@@ -65,12 +65,15 @@ public:
}
CTFontRef getFont() {
if (!fontFamily) {
return NULL;
}
if (!fontHandle) {
NSArray<NSString *> *fontFamilyNames = [@(fontFamily->c_str()) componentsSeparatedByString:@"\n"];
NSArray<NSString *> *fontFamilyNames = [[NSUserDefaults standardUserDefaults] stringArrayForKey:@"MGLIdeographicFontFamilyName"] ?: @[];
if (fontFamily) {
fontFamilyNames = [fontFamilyNames arrayByAddingObjectsFromArray:[@(fontFamily->c_str()) componentsSeparatedByString:@"\n"]];
}
if (!fontFamilyNames.count) {
return NULL;
}
CFMutableArrayRefHandle fontDescriptors(CFArrayCreateMutable(kCFAllocatorDefault, fontFamilyNames.count, &kCFTypeArrayCallBacks));
for (NSString *name in fontFamilyNames) {
NSDictionary *fontAttributes = @{