【发布时间】:2010-10-23 03:13:29
【问题描述】:
PDF 规范定义了一个名为'(撇号)的文本运算符。定义是它写出一些文本,并根据当前的前导状态移动到下一行。可以使用 TL 运算符设置当前领先状态。如果您知道它们应该垂直间隔多少,这使得编写文本行变得非常容易:
16 里拉 /F1 12 时间 (第 1 行)' (第 2 行)' (第 3 行)' (第 4 行)'我没有为此使用任何库,因为这是一个学习练习。我编写了一些代码来直接解析 TTF 文件并提取字符宽度,以及 PDF FontDescriptor 字典所需的其他项目。
我一直在阅读 TTF 文件格式规范,试图找出行高的位置或如何计算它,但我没有运气。
假设我有以下给定:
- 字体大小。
- TTF 文件中的所有相关值(Ascender、Descender、Line Gap 等)
我如何计算从 TTF 开始的 PDF?
编辑
TTF 文件中的 Line Gap 值似乎有助于计算 PDF 行距,但某些字体并未为其提供合理的值(例如,Windows 上的 Courier New)。
【问题讨论】:
-
+1 我不知道答案是什么,但我也很想知道,因为我已经完成了手动输出 PDF 的分享。