0

这与什么是 urw-fonts 的 Debian 等价物(wkhtmltopdf 中的 utf-8 需要)密切相关(并且源于相同的问题 )?

但我认为这本身就是一个有效的问题。如链接中所述,我正在尝试使用 wkhtmltopdf(通过 Debian 中的命令行)将多语言 utf-8 html 文档转换为 pdf。几种语言未正确呈现并显示为白色或黑色矩形,可能是因为 wkhtmltopdf 无法找到或访问必要的字体。

问题: wkhtmltopdf 在系统 (Debian) 的哪个位置查找字体,在给定特定命令的情况下,我如何检查它正在查找的字体(如果可能)?

4

1 回答 1

2

字体在/usr/share/fonts/.

此命令显示该命令foo访问的字体。

strace -e open -o >(sed -n '/^open("\/usr\/share\/fonts\//p') foo

strace显示系统调用。-e open意味着只显示系统调用来打开文件。-o >(sed -n '/^open("\/usr\/share\/fonts\//p')意味着将输出输出到 sed,它只打印出系统调用以在/usr/share/fonts/.

对于某些程序,打开详细输出并检查其标准错误是否说明使用了哪些字体很有用。

对于您的具体问题,还要检查是否正确指定了 HTML 文件的编码。

以 strace 的输出为例

open("/usr/share/fonts/X11/Type1/n019004l.pfb", O_RDONLY) = 8

它的格式与您open在 ac 程序中使用的格式相同。/usr/share/fonts/X11/Type1/n019004l.pfb是文件的路径。O_RDONLY意味着以只读方式打开它。8表示操作成功,生成的文件描述符为 8。请参阅打开的手册页。

于 2016-10-10T16:17:10.330 回答