Graphviz中的奇怪行为(错误?)

时间:2013-01-13 00:34:13

标签: graphviz

我正在尝试使用GraphViz(版本2.28.0(20121023.0419))附带的dot程序来转换以下graphviz文件:

digraph {
1 [
  shape=none
  ,label=<<TABLE BGCOLOR="lightblue2" BORDER="0" CELLBORDER="0" STYLE="rounded" ><TR><TD><FONT FACE="Helvetica" POINT-SIZE="20">Heading 1</FONT></TD></TR>
                 <TR><TD>Body 1<BR /></TD></TR></TABLE>>
  ];
3 [
  shape=none
  ,label=<<TABLE><TR><TD><FONT FACE="Helvetica" POINT-SIZE="16">Heading 2</FONT></TD></TR>
                 <TR><TD>Body 2<BR /></TD></TR></TABLE>>
  ,color=lightblue2];
2 [
  shape=none
  ,label=<<TABLE><TR><TD><FONT FACE="Helvetica" POINT-SIZE="16">Heading 3</FONT></TD></TR>
                 <TR><TD>Line 1<BR />Line 2<BR /></TD></TR></TABLE>>
  ,color=lightblue2];
}

首先,我尝试运行创建PDF(在Linux和Mac OS上的结果相同):

  

dot -Tpdf -Gcharset = utf8 test.dot&gt;输出.pdf

的问题:

  1. 字体呈现不正确:标题1带下划线,标题3为斜体,但所有字母都使用完全相同的字体表示。
  2. 第一个节点周围的边框:我指定了BORDER="0"但是当使用STYLE =“round”时,显然边框是可见的......
  3. 接下来,我尝试创建一个SVG文件,它解决了字体渲染问题:

      

    dot -Tsvg -Gcharset = utf8 test.dot&gt; output.svg

    正如您所看到的,文本溢出了节点的边框。即使我向表中添加FIXEDWIDTH="FALSE",也会发生这种情况。

    我做错了什么?

1 个答案:

答案 0 :(得分:0)

白天好! 我建议你尝试降级到2.26.3版本的dot-graphviz。除了dot-program在第一个表中忽略属性STYLE之外,我做了同样的事并得到了正确的结果。所以它没有四舍五入。