詰将棋用XMLビューア(TMLView.xap、以下「本ビューア」または「TMLView」と略す)は、ブラウザ上でフェアリー詰将棋(変則詰将棋)を動かして鑑賞することを目的としたビューアです。
以前、JavaScriptで同趣旨のスクリプトを作成していましたが、将棋特有の180°回転した文字を表示するため、Internet Explorer 4.0以上(以下IEと略す)の環境が必要でした。その後、IE以外のブラウザでも表示ができるようFlash用に書き直したTsumeMLViewerを作成しましたが、Actionscriptという専用の言語を覚える必要があったため、機能追加や保守が億劫に感じていました。今すぐインストールする場合は、以下のサンプルページをご利用下さい。
サンプルページ(別ウィンドウで表示)
インストールしたTMLViewをアンインストールする場合は、起動したTMLViewの画面を右クリックしてください。アンインストールのメニューが表示されます。(Del等で無理やり削除しないでください。不具合の原因になります。)
TMLView本体及び関連ファイルのセット(zip形式:約192KB)
上記セットの各々について補足します。棋譜ファイルを指定して本ビューアを表示したい場合は、TMLView.htmlにパラメータとして表示する棋譜のファイル名を指定します。例えば棋譜ファイルの名前が「purity951.xml」ならば、「TMLView.html?purity951.xml」と指定します。
セキュリティ上の理由から他サイトの棋譜ファイルは指定できませんが、自サイトの中であれば指定することができます。
相対パス指定(これが普通)で棋譜ファイルを指定する場合は、ベースがTMLView.xapのある場所になることに留意してください。(TMLView.htmlのある場所ではありません。何らかの理由で2つを別の場所に置いた場合は特に注意!)
また、ローカルPCに棋譜ファイルを置いている場合、これをパラメータとして指定することはできません。
PC上で棋譜が正しく記述されているかどうか確認したい場合は、TMLView.htmlを直接開くか、ローカルPCにインストールした本ビューアを起動した後、「開く」ボタンで当該のファイルを選択する必要があります。面倒ですが、これもセキュリティ上の制約です。
Objectタグで直接埋め込む場合
Objectタグで直接HTML文書内に本ビューアを埋め込む際は以下の例を参考にしてください。
“source”に本ビューアの名前を指定し、本ビューア独自のパラメータを“initParams”に与えます。
パラメータは今の所、Kifu(棋譜ファイルへのパス)とCellSize(マスの大きさの初期値)だけです。
後のパラメータは必要に応じ、適当な値に調整してください。
<object width="800" height="600"
data="data:application/x-silverlight-2,"
type="application/x-silverlight-2" >
<param name="source" value="TMLView.xap"/>
<param name="background" value="white"/>
<param name="initParams"
value="Kifu=purity951.xml,CellSize=36"/>
<!-- Display installation image. -->
<a href="http://go.microsoft.com/fwlink/?LinkID=149156"
style="text-decoration: none;">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181"
alt="このページの表示はSilverlightが必要です"
style="border-style: none"/>
</a>
</object>
|
<?xml version = "1.0" encoding = "UTF-8"?> <詰将棋> <作者>作者不詳</作者> <作品名></作品名> <発表場所></発表場所> <発表年月>不詳(江戸時代?)</発表年月> <備考>完全</備考> <ルール>詰将棋</ルール> <総手数>3</総手数> <盤サイズ>9</盤サイズ> <局面> <手数>0</手数> <指手>初形</指手> <攻方配置>25馬53銀</攻方配置> <攻方持駒>銀</攻方持駒> <受方配置>41銀51玉61銀</受方配置> <コメント></コメント> </局面> <局面> <手数>1</手数> <指手>52馬</指手> <攻方配置>52馬53銀</攻方配置> <攻方持駒>銀</攻方持駒> <受方配置>41銀51玉61銀</受方配置> <コメント></コメント> </局面> <局面> <手数>2</手数> <指手>同銀右</指手> <攻方配置>53銀</攻方配置> <攻方持駒>銀</攻方持駒> <受方配置>41銀51玉52銀</受方配置> <コメント></コメント> </局面> <局面> <手数>3</手数> <指手>62銀打</指手> <攻方配置>53銀62銀</攻方配置> <攻方持駒>なし</攻方持駒> <受方配置>41銀51玉52銀</受方配置> <コメント></コメント> </局面> </詰将棋> |
本ビューアではXML形式で記述された棋譜を用いるので、まずは既存のファイルをこの形式に変換しなくてはいけません。テキストエディタでこれを記述するのも難しくはないのですが、手作業では結構面倒です。
幸い、神無次郎氏がfmviewにXML形式でファイルを保存する機能を付けてくれたので、fmo形式(fmの出力形式)や、kif形式(Kifuwなど多くの将棋ソフトで使用されている形式)を自動的にXML形式の棋譜に変換することができます。
fmviewの変換機能に頼らず、テキストエディタで直接XML棋譜を作成する場合や、変換後のXML棋譜をエディタで編集する場合の注意点がひとつあります。
それは保存するときのコードを「UTF-8」にすることです。
理念上、XMLは文字コードに依存しない言語体系なのですが、実際に世に出回っているツールやライブラリは文字コードがUTF-8でないと動かないものが多いのです。
本ビューアも余計な手間を省くため、UTF-8でXML棋譜が記述されていることを前提としています。
![]() |
最初の局面を表示します。 |
![]() |
自動で局面を戻します。局面を表示する間隔は横にあるスライダーで調整してください。 |
![]() |
表示中の局面から一つ前の局面に戻します。 |
![]() |
局面の自動再生を停止します。 |
![]() |
表示中の局面から一つ先の局面に進めます。 |
![]() |
自動で局面を先に進めます。局面を表示する間隔は横にあるスライダーで調整してください。 |
![]() |
最後の局面を表示します。 |
![]() |
ローカルファイルを開くためのダイアログを表示します。お使いのPC上にある棋譜ファイルを閲覧するときにお使い下さい。 |
![]() |
XML棋譜編集パネルを表示します。閲覧中の棋譜を変更したり、お使いのPC上に保存したりする時に使います。 |
![]() |
手順パネルを表示します。手順を一覧表示し、ダイレクトに指定の局面に移動することができます。 |
![]() |
作品情報パネルを表示します。局面に依存しない固定項目(作者名等)を見るときに使います。 |
![]() |
コメントパネルを表示します。各局面に対するコメントを見るときに使います。 |
![]() |
自動再生の時に局面を表示する間隔を調整するためのスライダーです。間隔を短くするときはツマミの左側を、長くするときは右側をクリックします。ツマミを直接動かすと、大きく値を変えることができます。 表示間隔の単位はms(ミリ秒)で、表示中の変更も可能です。最小値は1msですが、実際はそんなに早く表示できません。 |
![]() |
盤の升目の大きさを調整するためのスライダーです。升目を小さくするときはツマミの左側を、大きくするときは右側をクリックします。ツマミを直接動かすと、大きく値を変えることができます。 升目の大きさに合わせ駒文字の大きさも同時に変化します。 |
古将棋を扱えるよう盤の大きさの上限を36×36としました。これは大局将棋が扱えるようにするためです。
ただし、長方形盤には対応していません。必要な場合は正方形盤の部分領域をご利用することで対応して下さい。
サンプルとして中将棋盤(12×12)の表示例を用意しました。盤が10×10以上の場合の表示やXML棋譜の書式をこれでご確認下さい。
中将棋盤の表示例(別ウィンドウで表示)
盤のマスの大きさと駒文字の大きさを可変としました。ビューア全体のサイズを変更する場合は、ブラウザのズーム機能をお使いください。表示領域全体が指定した倍率で表示されるはずです。
理論上は棋譜の大きさの制限はありませんが、XML棋譜のサイズは通常の棋譜ファイルに比べ大きくなるので、ダウンロードに掛かる時間やメモリサイズに考慮して棋譜を指定してください。
オフラインで使う場合はかなり大きなファイルでも(棋譜読み込み時間を我慢すれば)ご利用できます。例えば加藤徹氏作「寿限無3」(49909手)でも、オフラインであれば差し支えなく閲覧できます。
神無七郎(本名:橋本孝治)
E-mail : janacek789@ybb.ne.jp |