言葉や文字列の定義では分かりづらい内容も図にすると明確になることがあります。そのため技術的なドキュメントにも図表が多く使われています。しかし図にすると後々の修正が面倒に感じる事も多いでしょう。 そこでテキストから図を起こすのがお勧めです。テキストであれば修正は容易で、その後コマンド一つで画像にできる訳です。今回はEBNFにも対応した画像生成ツールAsciidiaを紹介します。

Asciidiaの使い方

AsciidiaはPHP製のソフトウェアで、PHPとImageMagickがあれば使えます。コマンドは次のように使います。

$ php asciidia.php -o svg:test3.svg -t diagram -i test/diagram.txt

出力形式は画像またはSVGに対応しています。基本的にImageMagickで生成しているので対応している画像フォーマットであれば大丈夫なようです。

例えばこのようなテキストがあります。

変換するとこんな感じになります。こちらはSVGです。

日本語も一応使えますがちょっと乱れます。画像だとエラーが出ました。

画像出力版。

こちらはEBNFの出力。フローが見やすくなります。

SVGでの出力。見やすいですね。

Asciidiaはシンプルなアスキーテキストをそのまま画像やSVGに出来ます。後はそれを仕様書などに埋め込めば良い訳です。複雑なフローはEBNFによる記述が便利そうです。知っておくとドキュメント作成時に役立つでしょう。

AsciidiaはPHP製のオープンソース・ソフトウェア(MIT License)です。

aurora/asciidia