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 *fontFamilyNames = [@(fontFamily->c_str()) componentsSeparatedByString:@"\n"]; + NSArray *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 = @{