首页 > 解决方案 > 自定义字体垂直对齐的偏移量

问题描述

最近,我多次遇到自定义字体的一个特定问题。无论我是为 iOS、Android 还是网络编程 - 问题总是会发生。

字体的垂直对齐方式。让我们看一个例子: 例子

使用任何类型的填充都可以,但考虑到应用程序必须具有响应性,这很糟糕。

那么如何删除字体下方的这个空间/距离?

标签: androidhtmlioscssfonts

解决方案


自定义字体的问题在于它们通常有上升/下降。

在这种情况下,下降器会导致问题。为了解决这个问题,我们必须编辑字体本身。

我们怎么能这样做?
有几种工具可以编辑您的字体。由于我在 Mac 上工作,因此我使用的是Apple Font Tool Suite。一旦你安装了这个,你需要打开终端并导航到包含你的字体的目录。之后输入以下命令:

ftxdumperfuser -t hhea -A d font.ttf

这将创建一个名为 font.hhea.xml 的文件,在文本编辑器中打开这个新文件并调整下降器的值。编辑并保存后,在终端中输入以下命令以重建您的字体文件:

ftxdumperfuser -t hhea -A f font.ttf

请注意,大多数字体都有三组不同的垂直度量。在 OS/2 表中的度量下:(1) WinAscent、WinDescent,(2) TypoAscender、TypoDescender,以及 (3) 在 hhea 表中:Ascender、Descender 和 LineGap。

命令将是:

ftxdumperfuser -t OS/2 -A d font.ttf - 完成编辑后:ftxdumperfuser -t OS/2 -A f font.ttf

仅更改 hhea 表中的降序将更改任何 Apple 设备的字体,但不会更改 Windows 设备。因此,始终建议更改所有三个上升/下降(尤其是 hhea 和 TypoAscender/TypoDescender)。

如果您碰巧在另一个操作系统上工作。只需使用任何工具来编辑字体并编辑给定的值。


推荐阅读