PDF 规范定义了一个名为 '(撇号)的文本运算符。定义是它写出一些文本,并根据当前的前导状态移动到下一行。当前的主导状态可以使用 TL 运算符设置。如果您知道文本行应垂直间隔多少,这使得编写文本行变得非常容易:

16 TL
/F1 12 Tf
(Line 1) '
(Line 2) '
(Line 3) '
(Line 4) '

我没有为此使用任何库,因为这是一个学习练习。我编写了一些代码来直接解析 TTF 文件并提取字符宽度,以及 PDF FontDescriptor 词典所需的其他项目。

我一直在阅读 TTF 文件格式规范,以便尝试找出行高所在的位置或如何计算它,但我没有运气。

假设我有以下给定:

  • 字体大小。
  • TTF 文件中的所有相关值(上升点、下降点、线间隙等)

如何计算 TTF 前导的 PDF?

编辑

TTF 文件中的行间隙值似乎有助于计算 PDF 行距,但某些字体并未为其提供合理的值(例如 Windows 上的 Courier New)。

有帮助吗?

解决方案

我对字体一点也不了解,也没有明确的答案,但我想我应该发布一些关于我发现的有关该主题的信息的链接。

微软 OpenType 规范 (请参阅底部的“基线到基线距离”部分)将行距定义为等于 LineGap。

苹果 文本系统概述 指出:

在排版过程中在字体行之间添加的空间称为行距,以传统金属活字页面布局中用于此目的的铅块命名。(行距有时也称为行距。)

所以,根据这些链接,LineGap不仅仅用于计算行距,而且实际上就是行距。

其他提示

我不完全确定你想要做什么,但听起来你想在 pdf 文档中嵌入 true type 字体。如果是这样的话,为什么不直接使用乳胶呢?

http://www.radamir.com/tex/ttf-tex.htm

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top