【问题标题】:How do I calculate the space in between two glyphs in a TTF font?如何计算 TTF 字体中两个字形之间的空间?
【发布时间】:2014-04-07 05:40:52
【问题描述】:

这是一个带有few terms for the horizontal glyph metrics for fonts 定义的图表。

假设我有一句话,

Foo bar baz.

如何获取单词“Foo”和“bar”之间的间距大小(以像素为单位)?我想我总结一下,

  • “Foo”中“o”字形中的空白右填充:从advance 中减去bearingX + width
  • 空格字符的advance
  • “bar”中字母“b”的空格左填充:只需 bearingX

这是正确的吗?什么表有轴承X?

【问题讨论】:

  • 我不太确定,但我们可以使用 fonttools pypi.python.org/pypi/FontTools 读取字体表。我猜你会得到表格中字体属性的每个值。您可以从该表中计算出来。 :)
  • 我不反对,我正在使用perl know. 我只是不知道它在什么表中或它叫什么。
  • @Even Carroll,谢谢,我没用过 perl。即使在 perl 中似乎有字体工具来读取字体表。请看链接。 scripts.sil.org/cms/scripts/….
  • 我链接到我正在使用的东西。
  • @EvenCarroll : 帮不上忙,抱歉误导!

标签: truetype


【解决方案1】:

如何获取单词“Foo”和“bar”之间的间距大小(以像素为单位)?

你需要知道空格字符的水平推进和“o”和“”之间以及“”和b”之间的字距调整。我不认为你需要bearingX来获得间距。结果将采用字体“units”,由 HEAD 标签的 unitsPerEm 定义。因此将此结果转换 * 字体大小/unitsPerEm,您将得到以“点”为单位的间距。然后您需要知道多少像素有一点:取决于应用程序,可能是您的显示器 DPI 或 Postscript 的 72 dpi。

什么表有方位X?

bearingX 也在 HMTX 中,在 longHorMetric 的“lsb”(左侧轴承)下(显然还有 leftSideBearing)。

【讨论】:

    猜你喜欢
    • 2021-10-21
    • 2011-03-07
    • 1970-01-01
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2021-11-20
    相关资源
    最近更新 更多