无法将自定义字体加载到 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+)
如何将自定义字体系列添加到 react-reader npm