MSX VIEWer開発裏話(08)


連載目次

記述内容はすべて当時のものです。

「半角の小さな「ュ」を見つけたら他の(表示できる)コードに変換する」

という反則っぽい方法を実装し、2004年の5月20日にバージョン1.0を正式に公開しました。

これまでのβ版は自前のサイトで配布していましたが、正式版公開に合わせてベクターのライブラリに登録し、ここからダウンロードできるようにしました。

なんとか、完成にこぎつけたMSX VIEWerですが、正式版公開後もユーザーの皆さんからいくつかの要望が寄せられ、私自身も新たな機能の追加を考えるようになりました。

要望としては、

  • 日本語以外にも対応して欲しい

というのがありました。これはさらに細かく分けると、

  1. 日本語版以外のWindowsでもMSX VIEWerが動くようにして欲しい(MSX VIEWer本体の国際化)
  2. 日本向け以外のMSX以外のBASICリストも表示できるようにして欲しい

1.はDelphi(Object Pascal)で書かれたMSX VIEWerのソース直すことで対応できるなずなのですが、画面表示は手で直せても、もともとDelphiの中で定義されているシステムメッセージ(”ファイルが見つかりません”とか)まで英語に変えるにはどうも英語版Delphiでコンパイルしなおす必要があるらしいのですが、私は英語版Delphi6を持っていないのでできません。そのため、ソースを公開して(すでにMSX VIEWerはソースコード付きで配布しています)英語版Delphi6を持っている人にコンパイルしてもらえないかと思っています。ソースコード中の日本語文字列の英語化くらいは私が行うつもりです。

2.は英語圏(や他の言語圏)MSXのフォントを作ることで可能かと思われたのですが、英語圏MSXでは日本のMSXでは使われていないキャラクタコード7Fhにも文字があるらしいのです。
 この7Fhと言うコードは7ビットASCIIの最後のコードであり、穿孔テープ時代の名残で、制御コードの中で唯一00h~2Fh以外の領域に置かれているDEL(削除)をあらわす制御コードです。穿孔テープはデータ(空けた穴)を消すことができないため、全部の穴をあける(7つの穴を全部空ける→7ビットすべてが1→7Fh)ことでそのデータが消されたことを示したのです。よって、通常はこのコードには表示できる文字はない(日本向けMSXではそうなっている)ので、MSX VIEWerでは小さい半角の「ュ」をこの7Fhに変換していました。
 ところが、英語圏MSXにはこの7Fhにも文字があるため、この方法が使えません。そこで次期バージョンでは、「ュ」を別のコードに変換するだけでなく、さらに別のフォントにも変換することにしました。
 MSX VIEWerではグラフィック文字を表示するため普通の文字用とグラフィック文字用に2つのフォントを持っており、グラフィック文字用のフォントは文字数が少なく、空き領域が多くあるため、グラフィック文字用のフォントに「ュ」を逃がせるようにしようと考えています。

機能追加としては

  1. CG表示機能を付ける
  2. コマンドラインから起動することによるバッチ処理を可能にする

 といったところです。私が以前作ったMSX関連のソフトに「MSXCG」というBSAVE形式のCGを表示するものがあります。このソフトは他の作者によってMSX BASIC用に書かれていたBSAVE→BMPコンバータを私がC言語でDOS/Vに移植し、さらにVisual C++でWindows95に移植したものなのですが、さすがに作りが古く、クリップボードにコピーできない、パレット変換アルゴリズムがあまりよくなくて、色の再現性がいまひとつ、という問題点があります。
 改良したいと思っていたのですが新たに単体のソフトとして開発・配布するのは負担が大きいので、同じMSX関係のソフトで、しかもビューアを名乗っているMSX VIEWerに統合してしまおうと思っています。

 上記の一部は次期バージョンのβ版にすでに取り込んでいます。

 試用して意見をいただけるとうれしいです。

 MSX VIEWer開発裏話はとりあえず、今回で終わりです。ありがとうございました。

(10/31/2004 09:18:57 PM)