无法将自定义字体加载到 OSX 项目中,但是......我进入了 iOS 项目?

Posted

技术标签:

【中文标题】无法将自定义字体加载到 OSX 项目中,但是......我进入了 iOS 项目?【英文标题】:Not able to load a custom font into an OSX project but... am into an iOS project? 【发布时间】:2016-02-13 19:13:46 【问题描述】:

我能够在 ios 项目中加载自定义字体并使用以下方法在可用字体上查看它:

NSArray *fontFamilies = [UIFont familyNames];

for (int i=0; i<[fontFamilies count]; i++)

    NSLog(@"Font: %@ ...", [fontFamilies objectAtIndex:i]);

但是当我尝试将字体加载到 OSX 项目中时,当我显示字体时,我无法在列表中看到它:

NSLog(@"%@",[[[NSFontManager sharedFontManager] availableFontFamilies] description]);

我使用:Unable to set custom font for the UILabel in XCode 为 iOS 项目安装字体,并假设它应该与 OSX 项目的方法相同。

字体文件的链接在bundle资源中,Info.plist文件(添加:应用程序提供的字体),该文件在Supporting files中。

我错过了什么吗?谢谢

【问题讨论】:

@matt:让我们变得友善。 @matt...如果您是专家,为什么不阅读链接并告诉我...我简要总结了我在这里为初学者所做的事情。感谢您的热情建议... 【参考方案1】:

我以编程方式解决了它(但更喜欢上面链接中的 iOS 方法):

NSString* path = [[NSBundle mainBundle] pathForResource:@"Symbola" ofType:@"ttf"];
NSURL* fontsURL = [NSURL fileURLWithPath:path];

FSRef fsRef;
CFURLGetFSRef((CFURLRef)fontsURL, &fsRef);
ATSFontActivateFromFileReference(&fsRef, kATSFontContextLocal, kATSFontFormatUnspecified,
                                              NULL, kATSOptionFlagsDefault, NULL);

【讨论】:

以上是关于无法将自定义字体加载到 OSX 项目中,但是......我进入了 iOS 项目?的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Mac 应用程序中添加自定义字体(OSX 10.9+ Xcode5+)

如何配置 webpack 以将自定义字体加载到故事书中?

无法将自定义字体添加到应用程序

如何将自定义字体系列添加到 react-reader npm

使用 Xcode 将自定义字体捆绑到 macOS 独立应用程序中

如何将自定义字体添加到我的应用程序? [复制]