ixa*_*any 5 macos fonts info.plist nsfont swift
我遵循了一堆教程,但没有用:我只是想向macOS应用添加自定义字体。
我基本上尝试的是:
.ttf字体文件到我的项目:目标组成情况,我也确保文件是使用拷贝制作Copy Files中Bundle Phases。编译后,我可以看到所有文件都在捆绑包中。这样看来效果很好。Info.plist:我为要添加的每个字体文件(值)添加Fonts provided by application并创建了一个项目myFont.tff。
我确保使用正确的字体名称。我在系统上安装了字体,并使用Interface Builder配置了Label,以便它使用所需的字体。我印了它的价值print(myLabel.font.fontName)。
令人困惑:如果将我要添加到应用程序的完全相同的字体文件安装在系统Fontbook中并激活,则一切正常。当我停用它时,它不起作用。对我来说,这表明我使用的是正确的字体名称。
我找到ATSApplicationFontsPath并尝试将其添加到中Info.plist,但没有使用路径(由文档推荐)或类似.(似乎对某些人有用的)值确定。
感谢任何帮助!
Pæt*_*sen 12
根据以前的答案,我很难让它发挥作用,所以我决定自己写一个答案。这是基于@ixany 和@rob-keniger 之前的回答。
Fonts文件夹中。取消选中Add to targets并选中Copy items if needed。Application fonts resource path到 Info.plist 并输入Fonts。Build Phases并创建一个New Copy Files Phase.Destinations要Resources和Subpath到Fonts。然后将您的字体文件添加到列表中。我偶然解决了我的问题。
我注意到在Bundle文件中,我的字体被包含了两次:它们被复制到“资源”目录以及在“复制文件”构建阶段中声明的子路径。我从项目中删除了字体,再次添加了它们(无需检查“目标成员身份”),并在构建阶段中添加了它们,以便将它们仅复制到子路径中。之后,它起作用了。
附加条款:
原来,这Fonts provided by application是仅iOS的属性,因此macOS实施不需要它。
另外,ATSApplicationFontsPath不需要任何斜杠。例如:Fonts应该工作正常。
我很难找到.ttf字体文件的正确名称,有时会发现一些奇怪的现象:NSFont从字体家族中随机选择了字体(常规,中号,粗体...),而没有任何代码更改。通过使用.otf文件,我也可以解决该问题。
| 归档时间: |
|
| 查看次数: |
1791 次 |
| 最近记录: |