Sphinx&Graphvizで日本語を含むグラフを出力する方法
※ 環境は以前(id:re_guzy:20101012)と同じ
基本的にはドキュメントを見ればOKだが、日本語を記述すると文字化けするので、その回避策をメモしておく。
まずはconf.pyでgraphviz拡張を有効にする。
# conf.pyを修正 extensions = ['sphinx.ext.autodoc','rst2pdf.pdfbuilder', 'sphinx.ext.graphviz']
この時点でも以下のようにすれば、日本語を使うことができる。
.. digraph:: testname node[fontname=ipag] "bar" -> "baz" -> "日本語"
ただ、毎回フォントを指定するのも面倒なので、以下のようにconf.pyに追記してしまう。
# conf.pyに追記, IPAゴシックを使う場合 graphviz_dot_args = [ '-Gfontname=ipag', '-Nfontname=ipag', '-Efontname=ipag', ]
そうすると、以下のように記述しても日本語が文字化けしません。
.. digraph:: testname graph[rankdir=LR] "bar" -> "baz" -> "日本語"
※ フォントが見つからない場合、環境変数DOTFONTPATHを指定する必要があるかも
SET DOTFONTPATH=%WINDIR%\Fonts;YOUR_FONT_DIR;