皆さまご無沙汰しております。お変わりありませんでしょうか。
私は11月の頭にようやく2回目のワクチン接種を完了しまして、とりあえずの安心を得たところです。
さて今年もやってまいりました。「War-Gamers Advent Calendar 2021」初日の記事となります。
振り返れば前回のエントリーが昨年のアドベントカレンダー記事です。実に1年ぶりの更新となりますね。
皆さまはソフィアゲームクラブ再開の見通しについて関心がおありと思いますが、それはいったん後日に回しまして今回はウォーゲームDTPの話。
さてウォーゲーマーたるものユニット自作のひとつやふたつはご経験があろうかと思います(威圧)。
コンピューターの個人使用が当たり前となった現代。計算機技術がウォーゲーム出版にもたらす恩恵は多大なものであります。皆さんもユニット作成の際はパソコンで何らかのソフトウェアを用いて いらっしゃることと思います。そんななか皆さんはNATO兵科記号のを描画する際にどのような手法、ツールをご利用でしょうか。
表計算ソフトを使用する方は多いかもしれません。たいていのソフトは図形の描画機能があります。上図くらいの記号なら余裕でしょう。
なんかこれでも良いような気がしてきましたね……。しかし今回お話ししたいのはそうじゃないのです。ただまあこのエントリーは自説の正しさを証明するとかそういう趣旨ではないので、特に表計算ソフトのデメリットをあげつらうこともなく淡々と過ぎ去っていきます。
PostScriptで兵科記号を描く
GUIでオペレーションする(広義の)WYSIWYGなソフトウェアでグラフィックデザインをすると、マウスで的確な位置をポインティングする必要が生じてイラつくことがあります。具体的に言うと、ある図形をちょうどいい場所に配置するとかですね。Adobe Illustratorなんかだとある程度大雑把に置いてから座標のプロパティを数値入力で調整できたりしますが、それもやや煩雑です。
私はコマンドライン操作がまったく苦でない、むしろプログラマブルなのでそちらを歓迎する部族の民でありますから、グラフィックデザインも文字ベースでやりたい。そこで登場するのが古えより伝わるページ記述言語PostScriptです。
上図の右側、数字とアルファベットで記述されているのがPostScriptの描画手続きです。簡単に解説すると、指定した 座標 に直線を繋げていく命令を発して図形を描画しています。
私にとってストレスがないのはマウスで繊細な操作をせずに済むところです。座標は数値で表され曖昧なところがありません。そしてこれを作成するために特別なツールは必要としません。ご覧のとおりただのテキストファイルですのでお手元のテキストエディタ(メモ帳などでも。 上図の例ではEmacs)で作成できます。またこのデータは「図形の描き方」であるので、画像そのものよりもデータ量が小さくなります。ちなみに上図のEPSファイルのサイズは197バイト、メガでもキロでもありません。これをJPG画像にエクスポートすると6611バイト(6キロバイトちょい)になります。さらにPostScriptはこう見えて立派なプログラミング言語でありますから……、
……始点と縦横のサイズだけ定義し、その他の座標は計算で導出することができます。ご存じない方のために付記すると、逆ポーランド記法(後置記法)で 記述する スタック志向のプログラミング言語となっています。FORTHなどと同じ。
PostScriptは曲線も数字データと命令のセットで描画できます。もうマウスでいい感じのベジェ曲線を作る必要はないのです!
ちなみにPostScriptは文字を表示することもできますので
こんなこともできます。ただまあ、個人的にはテキストと図形は同じレイヤーに置かないほうが後々便利だと思います。
PostScriptを解釈できる画像作成・編集ソフト
さて作成したEPSファイルを画像にするには、PostScriptを解釈し且つ画像としてエクスポートできるソフトウェアが必要なわけですが、さすがにWindows付属のペイントというわけにはいきません(試した)。その点、プロが使うようなツールなら問題ないですが、ちょっと試してみようくらいのモチベーションであれば、安くはないライセンス料を支払うことに抵抗があるかもしれません。そのくらいのニーズにちょうど良いと思われるのがGIMPです。GIMPは元々Unix系OS向けに作られたソフトウェアですが、現在はWindowsやmacOSでも利用できます。
「おめぇ、そんなにCLIが好きならImageMagickだろ」という声が聞こえなくもないのですが、まだちょっと使いこなせてないですね。ウォーゲームのユニットのように、決まったフォーマットで異なるデータを載せた画像を量産したい時に強力なツールになる予感はあるのでこれから勉強させていただきます。
蛇足。
GIMPから生のビットマップデータ(bmp)をエクスポートしたとしましょう。それをペイントで開いてCtl+cなどでクリップボードにコピーすると(PowerShellだとペイントを介在させなくてもできるのかな?)
こういうこともできます。いや、今どきやる人もいなさそうですが。でもまあCyberboardって、プロトタイプを手っ取り早く形にするには手軽なツールだと思うんですよね。そんな感じで公開の時が迫ってきました(30分くらい)ので今日はここまで。まったねーノシ