当前位置:  开发笔记 > IOS > 正文

使用Swift将自定义字体添加到macOS应用

如何解决《使用Swift将自定义字体添加到macOS应用》经验,为你挑选了1个好方法。

我遵循了一堆教程,但没有用:我只是想向macOS应用添加自定义字体。

我基本上尝试的是:

    添加的.ttf字体文件到我的项目:目标组成情况,我也确保文件是使用拷贝制作Copy FilesBundle Phases。编译后,我可以看到所有文件都在捆绑包中。这样看来效果很好。

    Info.plist:我为要添加的每个字体文件(值)添加Fonts provided by application并创建了一个项目myFont.tff

    我确保使用正确的字体名称。我在系统上安装了字体,并使用Interface Builder配置了Label,以便它使用所需的字体。我印了它的价值print(myLabel.font.fontName)

    令人困惑:如果将我要添加到应用程序的完全相同的字体文件安装在系统Fontbook中并激活,则一切正常。当我停用它时,它不起作用。对我来说,这表明我使用的是正确的字体名称。

    我找到ATSApplicationFontsPath并尝试将其添加到中Info.plist,但没有使用路径(由文档推荐)或类似.(似乎对某些人有用的)值确定。

感谢任何帮助!



1> ixany..:

我偶然解决了我的问题。

我注意到在Bundle文件中,我的字体被包含了两次:它们被复制到“资源”目录以及在“复制文件”构建阶段中声明的子路径。我从项目中删除了字体,再次添加了它们(无需检查“目标成员身份”),并在构建阶段中添加了它们,以便将它们仅复制到子路径中。之后,它起作用了。

附加条款:

原来,这Fonts provided by application是仅iOS的属性,因此macOS实施不需要它。

另外,ATSApplicationFontsPath不需要任何斜杠。例如:Fonts应该工作正常。

我很难找到.ttf字体文件的正确名称,有时会发现一些奇怪的现象:NSFont从字体家族中随机选择了字体(常规,中号,粗体...),而没有任何代码更改。通过使用.otf文件,我也可以解决该问题。

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有