目标:绘制一个包含非Latin1符号的流程图。
问题:GraphViz不提供绘制流程图所需的所有节点形状(例如“文档”,“预定义过程”等)。幸运的是,一个名叫Jason Brazile的人创造了nice library个缺失的形状。但是,它仅在使用PostScript驱动程序(dot -Tps
)时才有效。
GraphViz中有两个基本的PostScript驱动程序:内置驱动程序不支持Unicode,而Cairo支持Unicode,但显然不支持外部PostScript程序(结果布局中不存在用户定义的PS形状)。
问题:如何同时使用UTF-8标签和流程图形状?
答案 0 :(得分:0)
我向GraphViz开发人员询问了这一点,看起来答案是没有办法做到这一点:
几年前我们看过这个问题。本机graphviz -Tps Postscript驱动程序没有任何自定义字体加载功能。 如上所述:http://tldp.org/HOWTO/Unicode-HOWTO-5.html
在Postscript中渲染utf-8字体是一项自己动手的工作。它会 可能需要数周或数月的工作,但如果你想尝试制作 对graphviz的这种修改,可能是适当的 来自该网站提到的其他工具之一的代码。 (使 确定它是非GPL代码,否则无法分发!)另一种选择是修改cairopango驱动程序以呈现文本 在加载后的用户形状之上。 (我们还没有支持 这个?这似乎很明显。)然后要么找到一种渲染外部的方法 graphviz加载后PS形状并复制渲染图像 进入cairopango画布(嘿,我们已经将ghostscript导入 graphviz)或将自定义PS形状外部转换为图像 可以由cairopango司机装载。这可能不会那么多 时间。
无论哪种方式,都需要专业的C程序员。
可能我们没有人有太多时间在这方面工作(我们的时间会是 更好地利用试图获得资金支持项目的更多 一般来说,但我们现在都有其他工作)但你可以提供一个 bountysource上的赏金,看看会发生什么......