Graphviz找不到任何字体

oyv*_*dio 7 linux fonts graph dot graphviz

在使用graphviz做任何事情时,我收到"无法找到/打开字体"错误.我一直在把它缩小到尽可能简单的图形,在文件中simplest.dot:

digraph G {
  node1
}
Run Code Online (Sandbox Code Playgroud)

当运行$ dot simplest.dot -Tpng -O图形时,渲染simplest.dot.png,但我总是得到这个错误:Error: Could not find/open font,输出中使用的字体不是很漂亮.

根据graphviz faq,当发生此错误时,您可以告诉graphviz在哪里查找字体.我一直在寻找我正在使用的系统上的字体,似乎有一些TrueType字体/usr/share/fonts,其中包括似乎存在的Bitstream Vera字体/usr/share/fonts/bitstream-vera.

所以,我已经试过设置fontpathfontname在点图,以帮助graphviz的搞清楚这些事情:

digraph G {
  fontpath="/usr/share/fonts/bitstream-vera"
  fontname="Bitstream Vera Sans"
  node1
}
Run Code Online (Sandbox Code Playgroud)

但我仍然得到完全相同的错误.我已经尝试了路径和字体名称的几种变体,但我似乎无法正确使用它.我究竟做错了什么?

Ren*_*ger 5

这可能是一个盲目的尝试,但在http://www.graphviz.org/doc/info/attrs.html#d:fontname中,它说如果您指定 fontname=schlbk,该工具将查找名为 schlbk 的文件.ttf 或 schlbk.pfa 或 schlbk.pfb 位于 fontpath 属性指定的目录之一中。

所以,我可能会尝试

digraph G {
  fontpath="/usr/share/fonts/bitstream-vera"
  fontname="nameOfttfWITHOUTsuffix.ttf"
  node1
}
Run Code Online (Sandbox Code Playgroud)