Graphviz 找不到任何字体

问题描述 投票:0回答:2

在使用 graphviz 执行任何操作时,我收到“无法找到/打开字体”错误。我已经将其范围缩小到尽可能简单的图表,在文件中

simplest.dot

digraph G {
  node1
}

运行

$ dot simplest.dot -Tpng -O
时,图形渲染为
simplest.dot.png
,但我总是收到此错误:
Error: Could not find/open font
,并且输出中使用的字体不是很漂亮。

根据 graphviz 常见问题解答,当出现此错误时,您可以 告诉 graphviz 在哪里寻找字体。我一直在我使用的系统上寻找字体,

/usr/share/fonts
中似乎有一些 TrueType 字体,其中包括 Bitstream Vera 字体,它似乎存在于
/usr/share/fonts/bitstream-vera
中。

所以我尝试在点图中设置

fontpath
fontname
,以帮助graphviz弄清楚事情:

digraph G {
  fontpath="/usr/share/fonts/bitstream-vera"
  fontname="Bitstream Vera Sans"
  node1
}

但我仍然遇到完全相同的错误。我已经尝试了路径和字体名称的几种变体,但我似乎无法得到正确的结果。我做错了什么?

linux fonts graph graphviz dot
2个回答
5
投票

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

所以,我可能会尝试

digraph G {
  fontpath="/usr/share/fonts/bitstream-vera"
  fontname="nameOfttfWITHOUTsuffix.ttf"
  node1
}

0
投票

在我的 macOS 上,可以执行以下操作:

digraph G {
    node [shape=plaintext, fontname="SourceCodePro"];
© www.soinside.com 2019 - 2024. All rights reserved.