objective-c – 在mac包中嵌入字体

我有一个我写的程序。我想使用一种花哨的字体。我可以只是嵌入我的字体到我的捆绑,并从那里使用。

我的代码…

NSMutableAttributedString *recOf;
recOf = [[NSMutableAttributedString alloc] initWithString:@"In Recognition of"];
length = [recOf length];
[recOf addAttribute:NSFontAttributeName value:[NSFont fontWithName:@"Edwardian Script ITC" size:50] range:NSMakeRange(0,length)];
[[NSColor blackColor] set];
p.x = (bounds.size.width/2)- (([recOf size].width)/2);
p.y = (bounds.size.height/1.7);
[recOf drawAtPoint:p];
[recOf  release];

解决方法

是的你可以。您应该向目标中添加“复制文件”构建阶段(右键单击目标,然后选择添加>新建构建阶段>新建复制文件构建阶段)。

将“复制文件”构建阶段的目标设置为具有Fonts路径的Resources。这将确保字体被复制到应用程序包中名为Fonts的文件夹中。

通过将字体文件拖动到构建阶段,将字体文件添加到新构建阶段。

然后,您需要将ATSApplicationFontsPath key添加到您的Info.plist文件,包含您的字体的文件夹的名称作为其值:

<key>ATSApplicationFontsPath</key>
<string>Fonts</string>

然后,您可以通过调用[NSFont fontWithName:@“yourFontName”],在应用程序中使用该字体,就像它是一个内置的系统字体。

当然,你应该确保你有权限分发字体之前,这样做。

相关文章

我正在用TitaniumDeveloper编写一个应用程序,它允许我使用Ja...
我的问题是当我尝试从UIWebView中调用我的AngularJS应用程序...
我想获取在我的Mac上运行的所有前台应用程序的应用程序图标....
我是一名PHP开发人员,我使用MVC模式和面向对象的代码.我真的...
OSX中的SetTimer在Windows中是否有任何等效功能?我正在使用...
我不确定引擎盖下到底发生了什么,但这是我的设置,示例代码和...