IVSで遊んでみた

いかづちSqueak

2011年05月25日 23:31

IVSの説明をしようかと思ったが、面倒なのでやめた。
異体字セレクタ(Variation Selector)のうち漢字用なのがIdeographic Variation Selector(IVS)だ。
知らなかったらまずWikipediaの異体字セレクタのページを見ていただきたい。

そのIVSだが、まだ対応ソフトが少なくて使えないかと思っていたのだが、Firefox4が対応したらしい。(あとWindows7のメモ帳とエクスプローラーも)
フォントも対応フォントは高いんだろうなと思っていたのだが、フリーの「花園明朝」や「Y.OzFont」が対応しているらしい。
これは…ということで、早速遊んでみた。
遊んでみたら面白かったので、遊びやすいようにJavaScriptを作って公開してみる。

サイズ:px
フォント:

//
function exe110525(size110525, font110525){ //
document.getElementById("disp110525").style.fontSize=size110525+"px"; //
document.getElementById("disp110525").style.fontFamily="'"+font110525+"'"; //
} //
//
function convertIvs110525(){ //
text110525 = document.getElementById("disp110525").value; //
text110525=text110525.replace(/0|0/g, String.fromCharCode(0xDB40,0xDD00)); //
text110525=text110525.replace(/1|1/g, String.fromCharCode(0xDB40,0xDD01)); //
text110525=text110525.replace(/2|2/g, String.fromCharCode(0xDB40,0xDD02)); //
text110525=text110525.replace(/3|3/g, String.fromCharCode(0xDB40,0xDD03)); //
text110525=text110525.replace(/4|4/g, String.fromCharCode(0xDB40,0xDD04)); //
text110525=text110525.replace(/5|5/g, String.fromCharCode(0xDB40,0xDD05)); //
text110525=text110525.replace(/6|6/g, String.fromCharCode(0xDB40,0xDD06)); //
text110525=text110525.replace(/7|7/g, String.fromCharCode(0xDB40,0xDD07)); //
text110525=text110525.replace(/8|8/g, String.fromCharCode(0xDB40,0xDD08)); //
text110525=text110525.replace(/9|9/g, String.fromCharCode(0xDB40,0xDD09)); //
text110525 = document.getElementById("disp110525").value=text110525; //
return false; //
} //

遊び方:
・Firefox4などIVS対応ブラウザでこのページを開く。
・IVS対応フォントを用意する。
フォントは上でも言ったが花園フォントの花園明朝Aがお勧めである。
・テキストボックスのフォントサイズとフォントを適当にセットする。
・芦とか葛とか字体が複数ある文字を入れる。
・字体を変えたい文字の直後に0~9の数字(全半角不問)を入れる。
・Enterを押すか下の「IVS変換」をクリックすると、0~9の数字をU+E0100~U+E010AのIVSに変換する。
(IVSは240個あるけどめんどいので10個だけ)

実行例: