Utf 8 wkhtmltopdf在Debian上哪里查找字体?
这与(和源于同一问题的)密切相关 但我认为这本身就是一个有效的问题。如链接中所述,我正在尝试使用wkhtmltopdf(通过Debian中的命令行)将多语言utf-8 html文档转换为pdf。有几种语言没有正确呈现,显示为白色或黑色矩形,可能是因为wkhtmltopdf无法找到或访问必要的字体Utf 8 wkhtmltopdf在Debian上哪里查找字体?,utf-8,fonts,debian,wkhtmltopdf,system-font,Utf 8,Fonts,Debian,Wkhtmltopdf,System Font,这与(和源于同一问题的)密切相关 但我认为这本身就是一个有效的问题。如链接中所述,我正在尝试使用wkhtmltopdf(通过Debian中的命令行)将多语言utf-8 html文档转换为pdf。有几种语言没有正确呈现,显示为白色或黑色矩形,可能是因为wkhtmltopdf无法找到或访问必要的字体 问题:wkhtmltopdf在系统(Debian)的何处查找字体,以及在给定特定命令的情况下如何检查它正在查找的字体(如果可能)?字体位于/usr/share/font/下 此命令显示命令fooacc
问题:wkhtmltopdf在系统(Debian)的何处查找字体,以及在给定特定命令的情况下如何检查它正在查找的字体(如果可能)?字体位于
/usr/share/font/
下
此命令显示命令foo
access使用的字体
strace -e open -o >(sed -n '/^open("\/usr\/share\/fonts\//p') foo
strace
显示系统调用-e open
表示仅显示打开文件的系统调用-o>(sed-n'/^open(“\/usr\/share\/fonts\//p”)
表示将输出输出输出到sed,sed只打印系统调用以在/usr/share/fonts/
中打开文件
对于某些程序,打开详细输出并检查其stderr(如果它说明使用了什么字体)是很有用的
对于您的特定问题,还要检查HTML文件的编码是否正确指定
以strace的输出为例
open("/usr/share/fonts/X11/Type1/n019004l.pfb", O_RDONLY) = 8
它的格式与在c程序中使用
open
的格式相同。/usr/share/font/X11/Type1/n019004l.pfb
是文件的路径。O_RDONLY
表示以只读方式打开。8
表示操作成功,生成的文件描述符为8。请参阅打开的手册页。字体在下面/usr/share/font/
此命令显示命令foo
access使用的字体
strace -e open -o >(sed -n '/^open("\/usr\/share\/fonts\//p') foo
strace
显示系统调用。-e open
表示仅显示打开文件的系统调用。-o>(sed-n'/^open(\/usr\/share\/font\/p')
表示将输出输出到sed,sed只打印出在/usr/share/font/
中打开文件的系统调用
对于某些程序,打开详细输出并检查其stderr(如果它说明使用了什么字体)是很有用的
对于您的特定问题,还要检查HTML文件的编码是否正确指定
以strace的输出为例
open("/usr/share/fonts/X11/Type1/n019004l.pfb", O_RDONLY) = 8
它的格式与在c程序中使用
open
的格式相同。/usr/share/font/X11/Type1/n019004l.pfb
是文件的路径。O_RDONLY
表示以只读方式打开。8
表示操作成功,生成的文件描述符为8。请参阅打开的手册页。谢谢,命令seems开始工作。您能解释一下以下输出的含义吗,特别是50%的含义吗?这是前两行,其他行的格式相同:open(“/usr/share/fonts/X11/Type1/n019004l.pfb”,O_RDONLY)=8]50%open(“/usr/share/fonts/X11/Type1/n019003l.pfb”,O_RDONLY)=8
至于您的其他评论:我已经检查了wkhtmltopdf是否有详细选项(没有找到),并且我非常确定在html和命令行中都正确指定了编码(在这里找到了成功使用这两个选项的多个示例)。无论如何,好的建议。谢谢,这个命令似乎起作用了。你能解释一下下面的输出是什么意思吗,特别是50%?这是前两行,其他行的格式相同:open(“/usr/share/fonts/X11/Type1/n019004l.pfb”,O_RDONLY)=8]50%open(“/usr/share/fonts/X11/Type1/n019003l.pfb”,O_RDONLY)=8
至于您的其他评论:我已经检查了wkhtmltopdf是否有详细选项(没有找到),并且我非常确定在html和命令行中都正确指定了编码(在这里找到了两个都成功使用的多个示例)。总之,建议不错。