最近我多次遇到自定义字体的特定问题。无论我是为 iOS、Android 还是网络编程 - 问题总是会发生。
使用任何类型的填充都可以,但考虑到应用程序必须响应,这是不好的。
那么我怎样才能删除字体下方的这个空间/距离呢?
最佳答案
自定义字体的问题是它们通常有升序/降序。
在这种情况下,下降器会导致问题。要解决它,我们必须编辑字体本身。
我们该怎么做?
有多种工具可用于编辑字体。因为我在 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 - when finished editing: ftxdumperfuser -t OS/2 -A f font.ttf
仅更改 hhea 表中的下行字母会更改任何 Apple 设备的字体,但不会更改 Windows 设备的字体。因此,始终建议更改所有三个上升器/下降器(尤其是 hhea 和 TypoAscender/TypoDescender)。
如果您碰巧在另一个操作系统上工作。只需使用任何工具来编辑字体和编辑给定的值。
关于android - 自定义字体的垂直对齐偏移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57023318/