我一直在使用Futura-Demi.otf字体.
使用下面的代码,我可以确认此文件包含多个字体.
for fname in UIFont.familyNames {
for name in UIFont.fontNames(forFamilyName: fname) {
print(name)
}
}
Run Code Online (Sandbox Code Playgroud)
字体系列是Futura,它包含如下字体:
Futura-CondensedExtraBold
Futura-Dem
Futura-Medium
Futura-Bold
Futura-CondensedMedium
Futura-MediumItalic
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经毫无困难地使用了Futura-Dem字体UIFont(name: "Futura-Dem", size: 21).但是在iOS 11发布后,我再也不能使用这种字体了.即使在已经在App Store中的应用程序中,所有Futura-Dem字体也会更改为Futura-Medium.
我检查,通过加载的字体UIFont(name: "Futura-Dem", size: 21)是Futura-Medium字体和我还发现,我可以使用Futura-Dem的字体与
let des = UIFontDescriptor(name: "Futura-Dem", size: 21)
let font = UIFont(descriptor: des, size: 21)
Run Code Online (Sandbox Code Playgroud)
上面的代码加载Futura-Dem成功,但我不知道为什么我不能UIFont(name: "Futura-Dem", size: 21)像以前那样使用它.
我也遇到过同样的问题,也是使用自定义 Futura 字体。
我使用 Birdfont 软件(https://birdfont.org/ *)将字体重命名为不同的名称(不是以 Futura 开头,只是一个以大写字母开头的单词)。并更改文件名,但真正重要的是更改字体元数据中的字体名称。
然后我将重命名的字体链接到 iOS 应用程序并且它起作用了。我不知道为什么 Futura 会出现问题,但是这个技巧解决了问题。
*注意:如果由于某些原因 Birdfont 不适合您,还有 FontForge ( http://fontforge.github.io/en-US/ )。
| 归档时间: |
|
| 查看次数: |
1363 次 |
| 最近记录: |