diff options
Diffstat (limited to 'platform/darwin/src/local_glyph_rasterizer.mm')
-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 78f7d74428..bbbb482969 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 = @{ |