日本語テキストを指定したフォントで描いてpng画像にするというimagemagickのコマンド覚えられないよ

imagemagickのオプションをどうしても覚えていられない。
よく使うコマンドをメモっておいても探すのに時間がかかったり、似てる機能しかメモってなかったりする。
これはもはや人間が使うよりコンピュータに使わせた方が扱いやすい道具っぽいと思い、
自分が良く使う機能のみに絞り、使い方に迷わないラッパーを書いてリポジトリに入れておくことにした。

ちょうどゲームを作っていて、日本語テキストの画像が大量に必要になったので、
設定ファイルを食わせると、imagemagickを叩きまくって、日本語テキスト画像を作りまくる。というスクリプトを作ってみた。

ソースこれ
GitHub - hadashiA/text2png: very simple imagemagick wrapper. configuration file to be rendered in png.

設定ファイルはこんな感じ。

dir '~/out/of/dir'

font 'ヒラギノ明朝 Pro W3.otf', :size => 10.pt do 
  'appearance.png'        << "おれたちの闘争本能に火が点いた!"
  'attack_sequence_0.png' << "今だ!みんなで袋叩きだ!"
  'attack_sequence_1.png' << "練習どおりに攻撃だ!"
  'attack_sequence_2.png' << "世界進出だ!"
  'tanuki_deshi.png'      << "野生のタヌキが弟子になった!"
end

font 'ヒラギノ角ゴ Pro W6.otf', :size => 12.pt do 
  'score.png'        << "SCORE:"
  'karate_count.png' << "おしりプリンプリン空手:"
  'enemy_count.png'  << "野菜ドロボウ:"
end

font 'ヒラギノ丸ゴ ProN W4.otf', :size => 40.pt do 
  'gameover.png' << "ゲームオーバー"
end

これしきの構造を記述するならjsonでも良いのだけど、rubyファイルの方がこれから機能追加するとき良い気がした。

そういえば、imagemagickの全機能をエミュレートしたRubyのライブラリとかがあったけど、コマンドラインと同じことができて全く別のインターフェイスが存在するのは覚えること増え過ぎな気がした。