ある日, ちょっとマインドマップというかシーケンス図みたいな物を 作りたくなりました. はじめはちまちまと手書きで作っていたのですが, 量が多くてうんざりです. パワーポイントとか Tgif で書こうかとも思ったのですが, 線を引いたり, レイアウトとかを考えなくてはならずやはり面倒です.
昔 Doxygenなるツールを使って いた時, なんかそんなことするアプリが同梱されていて, しばらく遊んでたことを思い出し, それを使ってみることにしました. Graphviz の dot です. 早速ダウンロードして使ってみると, GVedit なる統合環境が用意されています.
面白いのでためしに使ってみると, 日本語が通りません. ネットで彷徨った情報では
node[fontname="MS GOTHIC"];と呪文を書く
いろいろ調べた結果 GVedit が吐いたファイルが sjis で utf-8 で無いことが原因でした. 添付ツールだから utf-8 を吐くもんだと信じて疑ってませんでした. 結局その時は「メモ帳」でコードを書いて, コマンドラインから dot.exe を実行して 用を足しました.
まぁ, メモ帳を使えば事足りるんですが, このまま GVedit を使えないままにしておくのも 癪なので, なんとか出来ないものか調べてみました. いじってみると, Preprocessor Settings なる項目があります. おそらく Run する前に何か事前処理させたいものがあれば, ここに書けばいいのかな と予想されます. そこでここに nkf を "-S -w8" オプションで起動するように書いてみました.
これにより, 一見うまく日本語が通るようになったのですが, どうも動きが変です. さらに調べた結果
明らかにバグです (ちなみにバージョンは 0.99beta です). ソースを拾って, 2,3 行書き換えれば直りそうな雰囲気ですが, 開発環境を整えたりするのが面倒なので, もっと泥臭い手を取ることにしました.
バイナリ書き換えです.
d:\tools\cui\nkf -S -w8 > D:\Utils\Graphviz\bin\__temp3.dot |