aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMinh Nguyễn <mxn@1ec5.org>2020-03-18 16:00:06 -0700
committerMinh Nguyễn <mxn@1ec5.org>2020-04-22 21:02:27 -0700
commita9cad7a6d7aa1fbc1ac936dc94eb253c80f23603 (patch)
treec52e66ce9b5f8f0c460bc6927f39e4d4fa495c81
parent0e44e7488965783adb096630f484d06536b3cd13 (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.mm13
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 = @{