2

我正在尝试将 Type 1 Computer Modern Roman (CMR) 字体与 LibHaru 一起使用,但我无法显示从 0 到 31 的字符,即使字体已成功加载,因为我可以在生成的 PDF 文件中显示 ASCII 字符。

使用 GDI 和 Cairo,我什至可以显示值为 0(空字符)的字符,这对应于大多数 CMR 字体中的 Gamma 字符。事实上,Cairo 的cairo_show_text()函数可以显示一个只包含空字符的字符串。该函数知道空字符对应于一个有效字符,而不是假设它是一个空终止符。

因为cairo_show_text()需要一个以空字符结尾的字符串,如果字符串包含空字符,它只能显示 1 个字符。然而,GDI 的TextOut()更加灵活,因为它有一个len参数来指示字符串的长度。

使用 LibHaru、HPDF_ShowText()等,字符串必须始终以空字符结尾,因此我必须修改源代码以接受仅包含空字符的字符串。不幸的是,该库甚至不显示 1 到 31 范围内的字符。

任何帮助表示赞赏。提前致谢。

4

0 回答 0