我添加了一个自定义字体 - 我从网上下载的字体。它是TTF格式,可以在我的Mac上的其他程序上使用。 (已成功将其添加到字体书并用于烟花)。
我已将密钥添加到信息.plist中,但字体似乎无效。
当我NSLog字体时它是null,所以我假设它没有找到它。
TTF名为LONDON __。TTF,但名称为伦敦字体。
我应该使用什么作为字体并添加到info.plist才能使用?
由于
丹
应用程序字体资源路径= LONDON __。TTF
NSLog(@"%@",[UIFont fontWithName:@"London font" size:22]);
和
NSLog(@"%@",[UIFont fontWithName:@"LONDON__.TTF" size:22]);
他们都返回Null。
虽然该文件名为LONDON __。TTF,但字体在Font Book中显示为每个人。这是问题吗?
答案 0 :(得分:37)
<强>目标-C:强>
for(NSString* family in [UIFont familyNames]) {
NSLog(@"%@", family);
for(NSString* name in [UIFont fontNamesForFamilyName: family]) {
NSLog(@" %@", name);
}
}
<强>夫特:强>
for family: String in UIFont.familyNames() {
print("%@", family)
for name: String in UIFont.fontNamesForFamilyName(family) {
print(" %@", name)
}
}
将.ttf
文件复制到项目中(即将其拖到项目导航器中的资源文件夹中)。
在Info.plist
中添加一个带有Fonts provided by application
键且带有数组类型的条目。作为第0项,添加与字体文件名对应的字符串值(例如OpenSans-ExtraBoldItalic.ttf
)。
确保字体文件包含在项目设置下的copy bundle resources
列表中。
答案 1 :(得分:6)
您需要确保字体文件包含在项目设置下的copy bundle resources
列表中。我的字体不会显示在[UIFont familyNames]
中,直到我在此处添加它,因为它在添加到项目时不会自动包含。
答案 2 :(得分:1)
这两个名字听起来都错了。假设您已将其正确添加到plist中,请使用类似
的内容NSLog(@"Fonts: %@", [UIFont familyNames]);
查看其内部名称是什么。
顺便说一下,请确保字体的许可允许嵌入。许多商业字体都没有。