将棋盤面を動的に生成する方法

hoshikuzu | star_dust の書斎のhoshikuzuさんから次のようなコメントをいただきました。

# hoshikuzu 『mozuyamaさん、将棋盤用のはてなモジュールがあると嬉しいですよね。将棋専門のはてなグループには必要ですよね(リキイレて言って見る)』

はてなはてなグループという新しいサービスの運用が始まったことを受けてのコメントですが、以前から考えていたことがあるので、とりあえずはてなグループとは関係ない形で書いてみます。

hoshikuzuさんの言われている「将棋盤用のモジュール」とは、例えば、柿木形式の盤面テキストを読み込んで自動的に盤面のgif画像を出力するような動作をWWW上で動的に行うものです(よね?)。

3年近く前の話になりますが、独自の掲示板システムでそのような機能を盛り込んだプログラムを作った方がいました。phpをデータベースと連携させることで実装したという話でした。しかし、掲示板レンタルという形でしか使えなかったのが不便だったこともあり、今ひとつ利用者が増えず、現在そのサイトは消滅しています。

kif形式からgif画像を出力すればよいだけなら、すでにKIFtoGIFというソフトが公開されています。これをWWWサーバ上に置けば、原理的には変換が可能なはずです。そんなわけで、将棋盤用のモジュール作成は技術的にはそれほど難しくはないのではないかという気がします。(実際には、KIFtoGIFの元になったflyというソフトを元に作る方が早いでしょう。)

ところで、将棋と関係なくテキストをgif画像に変換するだけなら、実ははてなダイアリーにはすでにその機能があります。mimeTeXによる数式表示機能がそれです。

これは通常は数式表示に用いられますが、実はpicture環境も使えたりするので、手間さえかければ縦線横線何でも書けるはずです。kif形式をmimeTeX用の記法に直すだけならいくらでも方法はありそうです。

ただし、致命的な問題が一つあります。それは日本語が使えないこと。これが解決しない限りどうしようもありません。CGIについて詳しくないのでわからないのですが、日本語を使えるようにすることは困難なのでしょうか。

さて、改めて考え直してみると、将棋盤を表示するのに1枚の画像にする必要はありません。盤面作成プログラムのように、81枚の画像を表形式で並べるだけでもそれなりのものができます。このやり方ならバイナリファイルを扱わなくてすむので実装は簡単かもしれません。

何にしてもあれですよ。誰か作ってみませんか?ということです。