GraphViz:如何获得UTF-8和外部PostScript程序?

时间:2016-03-14 10:44:43

标签: utf-8 graphviz postscript

目标:绘制一个包含非Latin1符号的流程图。

问题:GraphViz不提供绘制流程图所需的所有节点形状(例如“文档”,“预定义过程”等)。幸运的是,一个名叫Jason Brazile的人创造了nice library个缺失的形状。但是,它仅在使用PostScript驱动程序(dot -Tps)时才有效。

GraphViz中有两个基本的PostScript驱动程序:内置驱动程序不支持Unicode,而Cairo支持Unicode,但显然不支持外部PostScript程序(结果布局中不存在用户定义的PS形状)。

问题:如何同时使用UTF-8标签流程图形状?

1 个答案:

答案 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上的赏金,看看会发生什么......