diff options
author | Minh Nguyễn <mxn@1ec5.org> | 2020-03-18 16:00:06 -0700 |
---|---|---|
committer | Minh Nguyễn <mxn@1ec5.org> | 2020-04-22 21:02:27 -0700 |
commit | a9cad7a6d7aa1fbc1ac936dc94eb253c80f23603 (patch) | |
tree | c52e66ce9b5f8f0c460bc6927f39e4d4fa495c81 | |
parent | 0e44e7488965783adb096630f484d06536b3cd13 (diff) |
[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.
-rw-r--r-- | platform/darwin/src/local_glyph_rasterizer.mm | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/platform/darwin/src/local_glyph_rasterizer.mm b/platform/darwin/src/local_glyph_rasterizer.mm index 78f7d7442..bbbb48296 100644 --- a/platform/darwin/src/local_glyph_rasterizer.mm +++ b/platform/darwin/src/local_glyph_rasterizer.mm @@ -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 = @{ |