Graphviz-win の日本語化

[戻る]

はじめに

ある日, ちょっとマインドマップというかシーケンス図みたいな物を 作りたくなりました. はじめはちまちまと手書きで作っていたのですが, 量が多くてうんざりです. パワーポイントとか Tgif で書こうかとも思ったのですが, 線を引いたり, レイアウトとかを考えなくてはならずやはり面倒です.

Doxygenなるツールを使って いた時, なんかそんなことするアプリが同梱されていて, しばらく遊んでたことを思い出し, それを使ってみることにしました. Graphviz の dot です. 早速ダウンロードして使ってみると, GVedit なる統合環境が用意されています.

面白いのでためしに使ってみると, 日本語が通りません. ネットで彷徨った情報では

といいはずなのですが, できません.

いろいろ調べた結果 GVedit が吐いたファイルが sjis で utf-8 で無いことが原因でした. 添付ツールだから utf-8 を吐くもんだと信じて疑ってませんでした. 結局その時は「メモ帳」でコードを書いて, コマンドラインから dot.exe を実行して 用を足しました.

GVedit 日本語化

まぁ, メモ帳を使えば事足りるんですが, このまま GVedit を使えないままにしておくのも 癪なので, なんとか出来ないものか調べてみました. いじってみると, Preprocessor Settings なる項目があります. おそらく Run する前に何か事前処理させたいものがあれば, ここに書けばいいのかな と予想されます. そこでここに nkf を "-S -w8" オプションで起動するように書いてみました.

これにより, 一見うまく日本語が通るようになったのですが, どうも動きが変です. さらに調べた結果

ことが分かりました.

明らかにバグです (ちなみにバージョンは 0.99beta です). ソースを拾って, 2,3 行書き換えれば直りそうな雰囲気ですが, 開発環境を整えたりするのが面倒なので, もっと泥臭い手を取ることにしました.

バイナリ書き換えです.

  1. GVedit.exe の f9725 あたりに "__temp2.dot" と書かれた部分があるので, それを __temp3.dot にする.
  2. 以下のようなバッチファイルを作る.
    d:\tools\cui\nkf -S -w8 > D:\Utils\Graphviz\bin\__temp3.dot
    ディレクトリ名は適当に自分の環境に合わせて書き換えてください.
  3. Preprocessor Settings で 2. のバッチファイルを指定する.
なお, バイナリ書き換えですので, プログラムのバージョンが変わると番地も変わります. ちなみに "__temp2.dot" と書かれた部分は三箇所あって, その真ん中でした (当然, バージョンアップに伴い三箇所が四箇所, 五箇所になる可能性もありますので, これも参考程度です).


2008.8