在iOS 9 Beta 5上清空UIFont系列

时间:2015-08-31 13:20:12

标签: objective-c ios9

我正在尝试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

为什么呢?这是一个错误吗?

1 个答案:

答案 0 :(得分:1)

是的,它可能是与即将发生的字体更改相关的错误/疏忽,您应该file a radar

在iOS 9 / OS X 10.11中的字体更改中,Ping Fang是Heiti SC / TC的替代品。

来自El Capitan Preview

  

新的中文系统字体Ping Fang专为传统和简体中文的现代外观和清晰的屏幕可读性而设计。

Telugu Sangam和Bangla Sangam字体也可能被替换,虽然我找不到任何关于哪种字体取代它们的提及。

我不知道替换的字体是否会保持捆绑以实现向后兼容,或者移动到iOS 9的可下载字体列表。

Apple确实按需提供sample code for Downloadable Fonts

  

演示如何在iOS 6及更高版本上按需下载字体。

     

在iOS 6上,我们添加了应用程序按需下载字体的功能。除了iOS 6安装的字体外,应用程序还可以根据需要安装其他字体列表。