文本宽度和高度的 HPDF 单位

HPDF units for text width and height

也许这只是我的头晕,但似乎没有关于 HPDF HPDF_Font_TextWidth() 函数的度量单位的文档,我也搞不清楚。

我为 7 个字符的特定文本得到的数字是 3000 左右。渲染的文本似乎是 80 像素左右,这也是从 HPDF_Page_TextWidth() 返回的。

HPDF_Font_TextWidth() 不知道字体大小,所以它必须使用其他单位。这是什么?

HPDF_Font_GetBBox() returns 是同一个单位吗?

我实际上是在尝试将文本放在矩形的中心,并且需要以矩形为单位的文本宽度和高度。

这是一个旧的 post 但我只是偶然发现它,因为我遇到了同样的问题。据我所知,查看 HPDF_Font_GetUnicodeWidth() 的来源,它 returns 的单位需要乘以字体大小,然后除以 1000 得到 points 中的宽度,这是 PDF 坐标系的其余部分使用的。

width = (HPDF_Font_TextWidth() * font_size) / 1000.0;

以下所有return EM单位,必须除以1000再乘以点数得到点数,如上所述:

单位是相对于基线的。 Descender、BBox left & bottom 为负数。大写字母 Height 和 ascender 之间的区域用于变音符号。

要计算一段文本的高度,如果您的文本有大写变音符号,则计算大写字母高度减去下降部分,或者上升部分减去下降部分。

关键字:Haru PDF