tracのgraphviz pluginを入れるのに苦労した
だが、まず、このプラグインは要求としてgraphvizとlibrsvgを必要とする。
でスクラッチで作った環境にとって、この二つのビルドが結構きびしい。
libxml2,glib,pkg-config,freetype2,fontconfig,pango,atk,gtk,libcroco,gd,mingとか必要で、subversion用のiconvとぶつかったりしたため、いったんiconvをmake uninstallしてからビルドして、入れなおしたりとかなってしまった。
日本語を使えるようにする場合、まずUnicodeDecodeError "ascii" codec can't decode byte ...が出る場合は、lib/python2.5/site.pyで
encoding = "ascii"
となっているところがひとつあるので、それを
encoding = "utf-8"
にする。
フォント関係の設定
Webにある情報では、レンダリングにGDを使い、フォントはTTFファイル名を指定している、とかかれていたりする。
しかし、現状のgraphviz plugin v0.7はレンダリングにrsvgを使っており、rsvgはfont-config(gnomeやkdeで使っているものと同じしくみ)でフォント解決を行う。当然この場合は、fontnameはファミリー名であり、名前には-+スペースも(エスケープせずに)そのまま使える。
キャッシュのSVGを見て、styleがfont-family:ではなく、font:になっていて、fontnameが利かないようなら、graphvizのplugin/core/gvrender_core_svg.cのsvg_textpara関数で
if (para->postscript_alias) {
...
}
else {
core_printf(job, "font:%s;", para->fontname);
}のfont:をfont-family:に変えてビルドしなおすといいかもです。
それでフォントが見えないようであれば、/etc/fonts/conf.d等で希望のフォントのパスを追加したり、フォントファミリーをわり当てるようなfonts.confを入れるとよい。