このblogはInternetExplorerの Webフォント埋め込み技術 を用いて、TrueType化したMSXフォントをブラウザ上で 文字として 表示しています。ですが、このblog(というかほとんどのblog)は、文字コードにUnicode(UTF-8)を用いており、MSXで用いる半角ひらがな・カタカナをそのままblogへ投稿してしまうと文字が化けてしまう問題が生じていました。
で、ひょんなことからアイデアを思いついたので、CHR$(128)〜CHR$(255)を表示するテストをここでさせて下さい。
¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿
ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß
àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
原理はなんてことはない、このMSXフォントはSymbolフォントとして作ったので、CHR$(128)〜CHR$(255)の文字に関しては È のように文字コード展開してから投稿してみましたが…どうでしょう?
うまくいったら拍手ご喝采。ダメだったら…また考えよう。
【9.25 2:40更新】うまくいったようなので、今後はこの手法でBASICプログラムを紹介して行きます!
【9.28更新】アクセスありがとうございます。意外に反響が高く、お問い合せが何件かありましたのでこの場でご説明させていただきますと、この手法はWindows版InternetExplorerのみ有効です。Webフォント埋め込み自体がIEのみの技術である上、UTF-8上のSymbolコードがWindows版IEでたまたま表示できたことによる副産物の効果です。Netscape、Mozilla、Operaなどの他のブラウザでは実現できませんが、これらのブラウザでもMSXフォントのWeb表示を目指してフォントや文字コードの見直しを始めました。よろしければ知恵を貸して下さい。
けっこう大変な置換作業
BASICプログラムをWebで表示する為に、文字の置換作業が必要になります。調べてみたらこれだけ必要でした…。
- " → "
- & → &
- < → <
- > → >
- 80h〜FFhの文字 → &#xxx; の形
問題なのは、罫線や日月火水など半角漢字の、GRAPHキーを押したときに表示される2バイト文字が、相変わらず表示できないことです。仮にTrueTypeフォントの00h〜31hが定義できたとしても、2バイト文字の2バイト目を00h〜31hへマッピングする作業が必要になります。
こりゃ手作業はつらい。表示向け専用の置換ツールを作らないとダメですな。