自定义字体的垂直对齐偏移

Tim*_*Tim 2 html css fonts android ios

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

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

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

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

Tim*_*Tim 5

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

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

我们怎么能这样做呢?
有多种工具可以编辑您的字体。由于我在 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)。

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