Graphviz中文处理

来源:互联网 发布:果园拆分系统源码 编辑:程序博客网 时间:2024/06/05 11:59
graphviz中显示中文需将dot文件保存为UTF-8格式;
脚本中需要明确中文字体,例如以下定义中文字体为仿宋体:
digraph G {
edge [fontname="FangSong"]
node [shape=box, fontname="FangSong" size="20,20"]
a[label="中文标签1"]
b[label="中文标签2"]
a->b

}

说明:

a)  将带BOM的UTF-8格式的dot脚本在graphviz的IDE(gvedit.exe)中打开可以正常在图片中显示中文;
但是如果在IDE中对脚本进行了编辑,并保存后,会被保存为不带BOM的UTF-8格式的文件;下次再在gvedit.exe中打开该文件后图片中的中文就会导致乱码;

解决方案:

1是不在gvedit.exe中编辑脚本,用ultraedit编辑;
2 是利用ultraedit将不带BOM的脚本文件另存为带BOM的脚本文件

b)  利用dot指令将dot脚本生成图片时,dot脚本必须是不带BOM的utf-8格式;

总结:当dot脚本中出现中文时,必须使用utf-8格式的脚本,但是IDE(gvedit.exe)和dot.exe打开文件时,二者对BOM的要求不同;
1/IDE打开脚本时,脚本中必须带BOM
2/dot.exe打开时,脚本不能带BOM

0 0
原创粉丝点击