我有一个我写的程序。我想使用一种花哨的字体。我可以只是嵌入我的字体到我的捆绑,并从那里使用。
我的代码…
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”],在应用程序中使用该字体,就像它是一个内置的系统字体。
当然,你应该确保你有权限分发字体之前,这样做。