在Mac中以编程方式将字体安装到系统

时间:2015-03-18 07:47:58

标签: objective-c macos fonts

我知道,如果我想使用已存在于系统中的字体,我可以设置它,例如,这样(1):

[[_someButton cell] setFont:[NSFont fontWithName:@"SomeAlreadyInstalledFontName" size:s]];

我也知道,我可以使用项目资源中的自定义字体,就像那样(2):

NSFont* someCustomFont = (NSFont*)[fontConverter fontFromBundle:@"SomeCustomFontName" withHeight:someHeight];

[[_someButton cell] setFont:someCustomFont(12)];

fontConverter是我的类,它有一个带有此签名的方法:

- (CTFontRef) fontFromBundle : (NSString*) fontName withHeight : (CGFloat) height;

它有效,但我想要的是,而不是使用方法(2),将我的自定义字体安装到系统并使用它像(1)。

所以可以这样做:检查,如果系统中安装了自定义字体,如果没有,那么在启动/安装应用程序时安装它?

1 个答案:

答案 0 :(得分:0)

  

档案>将文件添加到"您的项目名称"

然后将您的文件移至支持文件,并确保为您的应用选择了正确的目标,并检查以下路径:

  

从项目导航器中选择项目>构建阶段>复制捆绑   资源

如果你的字体出现在那里意味着你做的一切都是正确的。最后一步是将您的字体添加到.plist文件:

  

选择您的info.plist添加应用程序提供的数组字体   将您的字体添加为字符串

它适用于我的情况,并希望它也会帮助你。有关详细信息,您可以查看:Adding custom fonts