アスキーアートと画像は切り離せない関係にあります。面白い写真が誰かの手によってアスキーアート化されたり、逆にアスキーアートのキャラクターがイラスト化されたりします。それぞれに良さがあります。 今回はアスキーアートをSVGに展開するGoatを紹介します。テキストで作った作品が滑らかな直線、曲線で描かれるのは面白いです。

Goatの使い方

例です。こんな矢印があります。

    ^
    |
< ---+--->
    |
    v

Goatで変換するとこんな格好良いSVGになります。

こんな複雑な図形も描けます。

 .----.        .----.
/      \      /      \            .-----+-----+-----.
+        +----+        +----.      |     |     |     |          .-----+-----+-----+-----+
\      /      \      /      \     |     |     |     |         /     /     /     /     /
 +----+   B    +----+        +    +-----+-----+-----+        +-----+-----+-----+-----+
/      \      /      \      /     |     |     |     |       /     /     /     /     /
+   A    +----+        +----+      |     |  B  |     |      +-----+-----+-----+-----+
\      /      \      /      \     +-----+-----+-----+     /     /  A  /  B  /     /
 '----+        +----+        +    |     |     |     |    +-----+-----+-----+-----+
      \      /      \      /     |  A  |     |     |   /     /     /     /     /
       '----'        '----'      '-----+-----+-----'  '-----+-----+-----+-----+

SVG版です。再現性が高いです。

回路図。

そのSVG版。

さらに複雑なチャート一式。

こんな綺麗に展開されます。

いわゆるフローチャートです。

SVGとして描かれます。

ネットワーク図も描けます。

ちゃんと使えるレベルですね。

カラーや濃淡を使ったデモ。数式もあります。

2乗もちゃんと表示されています。

Goatを使うと複雑なアスキーアートもSVGとして綺麗に表現できます。テキストであればメンテナンスは簡単なので(といっても程度によるでしょうが)、そこからSVGにできれば仕様書などにも使えそうです。

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

blampe/goat: Render ASCII art as SVG diagrams