【发布时间】:2012-12-27 07:01:09
【问题描述】:
我正在尝试使用 GraphViz 附带的dot 程序(版本 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 文件,它解决了字体渲染问题:
dot -Tsvg -Gcharset=utf8 test.dot > output.svg
如您所见,文本溢出了节点的边界。即使我将FIXEDWIDTH="FALSE" 添加到表中,也会发生这种情况。
我做错了什么?
【问题讨论】:
-
仅作记录,这在 OS X 10.8.5 下使用 dot-graphviz 2.36.0 渲染得很好。
标签: graphviz