【问题标题】:Rational for the small gap between the glyph bounding box and the glyph origin字形边界框和字形原点之间的小间隙的合理性
【发布时间】:2013-01-15 01:19:36
【问题描述】:

adobe's pdf 1.7 page 241 中,您可以看到字形边界框和字形原点之间的细微差别。知道为什么会有这种差异吗?

此问题与another question有关

【问题讨论】:

    标签: pdf fonts coordinates bounding-box glyph


    【解决方案1】:

    关于为什么会有这种差异的任何想法 --- 字形边界框和字形原点之间存在差异的原因可以从文本中得出在该图形的正下方:

    字形原点是字形坐标系中的点 (0, 0)。 Tj 和其他文本显示运算符应将要绘制的第一个字形的原点定位在文本空间的原点。

    [...]

    字形位移是在绘制一行文本的连续字形时,从字形原点到通常应放置下一个字形原点的点的距离。

    (Figure 39, section 9.2.4 of ISO 32000-1).

    因此,如果您有连续的字形,则在该字形的原点之后设置第二个的宽度。如果边界框填满了所有这个宽度,那么连续的字形可能会接触,这是不希望的。

    因此,边界框不能填满所有宽度(也就是水平位移),需要一些差异。

    此外,两个连续字形之间所需的间隙取决于两个字形;为了看起来不错,一个只填充了其边界框一侧的一小部分的字形可能比其边界框的那一侧完全填充的字形需要更少的间隙。所以无论是在左边还是在右边,字形都必须能够表达它对与相邻字形的距离的要求。

    因此,差异不能只集中在右侧(边界框之后)。

    这意味着字形原点不能强制位于边界框的左边框上。

    顺便说一句,根据字体,甚至可能有重叠边界框的原因。因此,在某些情况下,您可能会遇到原点位于边界框内部的字形...

    【讨论】:

      【解决方案2】:

      那不是 Adob​​e 的 PDF 参考,那是 ISO 参考,请注意区分两者。该图位于 Adob​​e PDF 参考手册 1.7 版的第 394 页。

      对我来说,您认为问题出在哪里并不明显,边界框根本不是从 0,0 开始的。

      差异由 llx - 0 给出,因为字形原点始终位于 0,0

      【讨论】:

      • 此 pdf 中没有明显的 ISO 参考“标记”,因此很自然地假设它来自 adobe。你从哪里知道的?
      • 我很确定它在扉页上说它是 ISO 参考,我不会再次下载它来检查。 'llx' 我的意思是边界框的左下 x 坐标。您无法删除“间隙”,因为它是作为字体的一部分设计的。它不需要存在,实际上边界框 x 坐标相对于原点可以具有负 llx。
      • @panny 在第 2 页,版权声明声明本文档直接源自版权 ISO 32000-1 标准文档此版本与 ISO 标准的技术资料相同;页码和章节号也被保留。
      • 对,所以它是 ISO 标准,而不是 Adob​​e 参考,尽管 ISO 文档与 Adob​​e 1.7 参考手册的版本混在一起。只是更难理解。
      • @KenS 好吧,Leonard Rosenthol(Adobe Systems 的 PDF 架构师)曾经说过 PDF 参考在本质上不是“规范性的”——它们(通常)不会成为最终的、确定的陈述——只是一般的陈述(2008-12-15 在 itext-questions 邮件列表上)。因此,必须在 ISO 版本中进行一些更改。不过,很多事情都不清楚。