自定义安装的字体在UILabel中显示不正确

87

我正在尝试使用Adobe字体集专业版中获取的Helvetica Neue Condensed字体,但在UILabel中使用时似乎绘制不正确。

行高似乎被正确计算(我想是这样),但当字体显示时,它被对齐到边界框的顶部。我调用了[myLabel sizeToFit]并只调整了宽度以产生此屏幕截图:

不正确的字体渲染的屏幕截图

我在粗体和常规字体版本上都遇到了同样的问题。我能够从OSX上提取一个版本的Helvetica Neue Bold并将其放在我的设备上,显示很好(上图中的绿色背景)。

可能导致它以这种方式绘制的字体文件或我的代码存在什么问题?


我能否创建一个UIFont的子类来解决这些问题? - MikeQ
+1 - 我也遇到了同样的问题。我尝试使用 ZFont 来解决这个问题,它确实有所帮助,但还远远不够。可能是那些自定义字体在解释行距时出了什么问题(我真的不知道,但我必须认为这可能与此有关!)。 - Joe D'Andrea
你好!你最终找到解决方案了吗?如果是,请回答你的问题。提前感谢。 - Soonts
很不幸,我没有。而且我已经无法访问导致这个问题的原始字体文件了。我喜欢kolyuchiy的回答。。只是希望我能在我的特定情况下测试它。 - MikeQ
只是让你知道,这个问题已经在iOS7中得到了修复。 - The dude
13个回答

0
如果您在使用这些命令行工具时遇到问题,可以尝试在Windows上使用FontCreator,并从其设置菜单中更改字体升高。

0

对于那些在 Mac OS Mojave 上由于命令未找到错误而无法使用 ftxdumperfuserkolyuchiy 的答案)的人:

  • 从 Apple 下载字体工具包。在https://developer.apple.com/download/more/?q=font上找到它们,选择适用于 XCode 11 的版本。
  • 挂载 dmg 文件。
  • 进入磁盘映像 cd /Volumes/macOS\ Font\ Tools。
  • 将软件包提取到您选择的文件夹中:pkgutil --expand-full macOS\ Font\ Tools.pkg ~/font-tools。
  • CLI 工具现在可在 ~/font-tools/FontCommandLineTools.pkg/Payload 中使用,您可以将该文件夹添加到您的路径中(export PATH="$PATH:$HOME/font-tools/FontCommandLineTools.pkg/Payload"),或将实用程序复制到您的 bin 文件夹中。

-3

我在我的Sprite Kit游戏中遇到了类似的问题,与“FontAwesome”字体图标有关。 将SKLabelNode的SKLabelVerticalAlignmentMode属性设置为.Center对我很有效。

myLabel.verticalAlignmentMode = SKLabelVerticalAlignmentMode.Center

只是想分享一下,以防有人遇到同样的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接