Graphviz 可移植性和字体。如何使方案在不同的操作系统上相同?
Graphviz portability and fonts. How make schemes identical on different OSs?
我在 Mac 上使用 Graphviz,但我的大多数应用 运行 在 Ubuntu 的服务器上。我注意到,在不同的操作系统上编译时,具有相同源代码的点方案绘制有点不同。
在我看来,主要原因是系统上的字体不同。即使我使用相同的通用字体和相同的大小 — 它们看起来差异太大,这对布局影响很大。
所以问题是:是否有可能在整个系统的 Graphviz 方案中使字体看起来相同?
下面附上演示问题的示例。为方便起见,附上图片作为链接。
源代码:
digraph {
graph [label="Mac" labelloc=t]
dpi=100
pad=0.2
rankdir=LR
a [shape=rect label="width=1" width=1]
b [shape=rect label="width=1.5 Arial" width=1.5 fontname=Arial]
c [shape=rect label="width=2.7 Arial 20" width=2.7 fontname=Arial fontsize=20]
d [shape=rect label="width=4 Helvetica" width=4 fontname=Helvetica]
e [shape=rect label="width=5 Helvetica 25" width=5 fontname=Helvetica fontsize=25]
f [shape=rect label="width=6, blue 0.8, red 0.2" width=6 style=filled color="blue:red;0.2" fontcolor=white]
}
- Generated on Mac graphviz 版本 2.40.1
- Generated on Ubuntu graphviz 版本 2.40.1
- Generated on Windows 10 graphviz 版本 2.38
正如您在方案中看到的那样——字体并不是唯一的问题:填充两种颜色在 Mac\Ubuntu 和 Win10 上看起来有点不同。但这个具体问题可能是因为我的 Windows 机器上有 graphviz 2.38。
现在相同的方案但没有节点标签:
digraph {
graph [label=Mac labelloc=t]
dpi=100
pad=0.2
rankdir=LR
a [shape=rect label="" width=1]
b [shape=rect label="" width=1.5 fontname=Arial]
c [shape=rect label="" width=2.7 fontname=Arial fontsize=20]
d [shape=rect label="" width=4 fontname=Helvetica]
e [shape=rect label="" width=5 fontname=Helvetica fontsize=25]
f [shape=rect label="" width=6 style=filled color="blue:red;0.2" fontcolor=white]
}
- Generated on Mac graphviz 版本 2.40.1
- Generated on Ubuntu graphviz 版本 2.40.1
- Generated on Windows 10 graphviz 版本 2.38
这里的结果几乎相同(除了该死的颜色列表)
我在 Mac 上使用 Graphviz,但我的大多数应用 运行 在 Ubuntu 的服务器上。我注意到,在不同的操作系统上编译时,具有相同源代码的点方案绘制有点不同。
在我看来,主要原因是系统上的字体不同。即使我使用相同的通用字体和相同的大小 — 它们看起来差异太大,这对布局影响很大。
所以问题是:是否有可能在整个系统的 Graphviz 方案中使字体看起来相同?
下面附上演示问题的示例。为方便起见,附上图片作为链接。
源代码:
digraph {
graph [label="Mac" labelloc=t]
dpi=100
pad=0.2
rankdir=LR
a [shape=rect label="width=1" width=1]
b [shape=rect label="width=1.5 Arial" width=1.5 fontname=Arial]
c [shape=rect label="width=2.7 Arial 20" width=2.7 fontname=Arial fontsize=20]
d [shape=rect label="width=4 Helvetica" width=4 fontname=Helvetica]
e [shape=rect label="width=5 Helvetica 25" width=5 fontname=Helvetica fontsize=25]
f [shape=rect label="width=6, blue 0.8, red 0.2" width=6 style=filled color="blue:red;0.2" fontcolor=white]
}
- Generated on Mac graphviz 版本 2.40.1
- Generated on Ubuntu graphviz 版本 2.40.1
- Generated on Windows 10 graphviz 版本 2.38
正如您在方案中看到的那样——字体并不是唯一的问题:填充两种颜色在 Mac\Ubuntu 和 Win10 上看起来有点不同。但这个具体问题可能是因为我的 Windows 机器上有 graphviz 2.38。
现在相同的方案但没有节点标签:
digraph {
graph [label=Mac labelloc=t]
dpi=100
pad=0.2
rankdir=LR
a [shape=rect label="" width=1]
b [shape=rect label="" width=1.5 fontname=Arial]
c [shape=rect label="" width=2.7 fontname=Arial fontsize=20]
d [shape=rect label="" width=4 fontname=Helvetica]
e [shape=rect label="" width=5 fontname=Helvetica fontsize=25]
f [shape=rect label="" width=6 style=filled color="blue:red;0.2" fontcolor=white]
}
- Generated on Mac graphviz 版本 2.40.1
- Generated on Ubuntu graphviz 版本 2.40.1
- Generated on Windows 10 graphviz 版本 2.38
这里的结果几乎相同(除了该死的颜色列表)