我正在尝试iOS 9.0 Beta 5 build 13A4325c并发现了一个有趣的特性:一些字体系列里面没有字体。
我使用代码:
NSArray *familyNames = [UIFont familyNames];
for(NSString *familyName in familyNames)
{
NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName];
if(!fontNames.count)
{
NSLog(@"No fonts for family: %@", familyName);
}
}
输出结果为:
No fonts for family: Telugu Sangam MN
No fonts for family: Heiti SC
No fonts for family: Heiti TC
No fonts for family: Bangla Sangam MN
为什么呢?这是一个错误吗?
答案 0 :(得分:1)
是的,它可能是与即将发生的字体更改相关的错误/疏忽,您应该file a radar。
在iOS 9 / OS X 10.11中的字体更改中,Ping Fang是Heiti SC / TC的替代品。
新的中文系统字体Ping Fang专为传统和简体中文的现代外观和清晰的屏幕可读性而设计。
Telugu Sangam和Bangla Sangam字体也可能被替换,虽然我找不到任何关于哪种字体取代它们的提及。
我不知道替换的字体是否会保持捆绑以实现向后兼容,或者移动到iOS 9的可下载字体列表。
Apple确实按需提供sample code for Downloadable Fonts。
演示如何在iOS 6及更高版本上按需下载字体。
在iOS 6上,我们添加了应用程序按需下载字体的功能。除了iOS 6安装的字体外,应用程序还可以根据需要安装其他字体列表。