我读到iOS支持.ttc文件(字体集),但我不知道如何只用一个文件指定不同的字体权重。
我习惯用这样的文件名来做这个
[UIFont fontWithName:@"ProximaNova-Bold" size:17.0f];
但是使用.ttc文件我只有一个文件。
答案 0 :(得分:2)
你说你已经习惯了按文件名"来做,但是,这不是fontWithName:size:的工作方式。 "名称"在这种情况下,字段应该是字体本身的名称。如果它在过去使用文件的名称,那只是因为你很幸运,文件的名称和字体恰好相同。
有两种方法可以找到字体名称:
1)在OS X机器上安装字体,然后在Font Book中打开字体,单击所需的系列,然后使用预览>显示字体信息。您将需要" PostScript名称"。
2)在应用程序运行时,在调试器中停止并调用[UIFont familyNames]。在这些名称中找到您的字体的可能候选者。然后用您家人的名字调用[UIFont fontNamesForFamilyName:@" Foo"]。选择可能与您的字体对应的字体名称。
请注意,这解决了"如何指定不同字体权重的问题"。答案是你实际上通过名称引用它们来加载TTC中的单个字体。
答案 1 :(得分:2)
如果您的问题是关于添加系统未提供的字体,那么Adam的指导是正确的但不完整。
UIAppFonts
获取字体的postscript名称(如Adam指示的那样)
使用PostScript名称[UIFont fontWithName:@"AppleSymbols" size:24]