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

标签 android html ios css fonts

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

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

使用任何类型的填充都可以,但考虑到应用程序必须响应,这是不好的。

那么我怎样才能删除字体下方的这个空间/距离呢?

最佳答案

自定义字体的问题是它们通常有升序/降序。

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

我们该怎么做?
有多种工具可用于编辑字体。因为我在 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/

相关文章:

java - 应用程序关闭时 Android 状态栏通知不会更新

ios - NSLog nsarray 中的 nsarray

javascript - HTML 5 本地存储

c# - 如何从 Xamarin 移动应用程序以编程方式生成 PDF 文件

objective-c - 如何打开文档目录中的Html页面?

android - 图像根据宽度和高度在图像按钮中拉伸(stretch)

Android FingerPaint 示例不绘制点?

android - Android 中出现错误的微调器

Javascript 在主页中突出显示我的所有菜单项

html - 如何制作不同种类的边框