我在info.plist中将“kaligraf_latin.ttf”添加到“应用程序提供的字体”
然后我使用UIFont *font = [UIFont fontWithName:@"kaligraf_latin" size:17]
和font = nil
我试过kaligraf_latin.otf。结果是一样的。
然后我尝试了另一种字体MyriadPro-BoldCond.otf,字体变成了!= nil。
这是不是意味着,问题出现在字体kaligraf_latin.ttf?
中这是info.plist的printscreen
可能是问题在于字体的名称。因为在fontWithName中我应该使用字体名称,而不是字体文件名。如何从字体文件中获取字体名称?
答案 0 :(得分:4)
使用以下两种方法,您可以检查是否安装了自定义字体或子字体
[UIFont familyNames];
[UIFont fontNamesForFamilyName:<font family name>];
希望它会对你有所帮助。
答案 1 :(得分:0)
使用此列出所有可用字体(包括您添加的字体)和字体名称:
NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
NSArray *fontNames;
NSInteger indFamily, indFont;
for (indFamily=0; indFamily<[familyNames count]; ++indFamily)
{
NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
fontNames = [[NSArray alloc] initWithArray:
[UIFont fontNamesForFamilyName:
[familyNames objectAtIndex:indFamily]]];
for (indFont=0; indFont<[fontNames count]; ++indFont)
{
NSLog(@" Font name: %@", [fontNames objectAtIndex:indFont]);
}
}
答案 2 :(得分:0)
问题在于字体名称 这是Kaligraf拉丁语,而不是kaligraf_latin 我使用这个网站获得了字体名称http://www.font2web.com/