我正在尝试使用dot
GraphViz 附带的程序(版本 2.28.0 (20121023.0419))来转换以下 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 > output.pdf
问题:
- 不正确的字体渲染:标题 1 带有下划线,标题 3 是斜体,但它们都使用完全相同的字体指定。
- 第一个节点周围的边框:我指定
BORDER="0"
但显然在使用 STYLE="rounded" 时边框仍然可见...
接下来我尝试创建一个 SVG 文件,它解决了字体渲染问题:
点 -Tsvg -Gcharset=utf8 test.dot > output.svg
如您所见,文本溢出了节点的边界。即使我将 a 添加FIXEDWIDTH="FALSE"
到表中,也会发生这种情况。
我究竟做错了什么?