文本宽度和高度的 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
也许这只是我的头晕,但似乎没有关于 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