linux - Graphviz 找不到任何字体

标签 linux fonts graph graphviz dot

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

digraph G {
  node1
}

当运行 $ dot simplest.dot -Tpng -O 时,图形呈现为 simplest.dot.png,但我总是收到此错误:Error : 无法找到/打开字体,并且输出中使用的字体不是很漂亮。

根据graphviz faq,出现这个错误时,可以tell graphviz where to look for fonts .我一直在寻找我正在使用的系统上的字体,/usr/share/fonts 中似乎有一些 TrueType 字体,其中包括 Bitstream Vera 字体,它们似乎住在 /usr/share/fonts/bitstream-vera

所以我尝试在点图中设置 fontpathfontname,以帮助 graphviz 解决问题:

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

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

最佳答案

这可能是黑暗中的一枪,但在 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
}

关于linux - Graphviz 找不到任何字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4787273/

相关文章:

symfony - 在 Symfony 中找不到字体文件的路径

c++ - 生成随机约束图

python - 给定一个无环有向图,返回节点集合 "at the same level"的集合?

linux - 获取最后 2 个调用函数地址的代码

linux - 恢复 postgres 备份失败,并且/home/myuser 中出现一个具有奇怪名称的不可删除文件 (???2@þ>?yqus????>I?[蓝牙I??i?Ď)

java - 从另一个单独的类访问公共(public)非静态对象

delphi - 如何将dbgrid中的部分文本加粗?

algorithm - 针对具有矩阵的极稠密图优化的 dijkstra 算法

linux eth0 不能与网桥一起工作

linux - 为什么我的程序存储器写入速度比读取速度快?