mieki256's diary



2015/12/03(木) [n年前の日記]

#1 [cg_tools][dxruby] MZ-700のフォントについて調べてたり

昨日試用した _ASCII/ANSI Artエディタ EDSCII の使い勝手が結構良かったので、EDSCII上でMZ-700のフォントを使ってキャラグラを描けないか試行錯誤中。

EDSCII は、フォント画像とパレット画像を追加すれば、その機種のキャラグラも描けるようになるはずなので…。まずは MZ-700のフォント画像を入手しないといけない。そこで、 _キャラグラエディタ CGE7 のフォント一覧をキャプチャして、EDGE2でコツコツと編集。

それらしいフォント画像が出来たので、mz700.png として保存。

一緒に、mz700.char というテキストファイルを新規作成して、EDSCII付属の*.charファイルを眺めながら似たような感じで記述してみたり。charファイルは、おそらくはフォント画像とASCIIコードを対応させるためのテキストファイルで、文字を直接記述していくことで場所を指定しているらしい。

パレットファイルも作成。pal/arne8.png を、mz700.png としてコピー。EDGE2で開いてパレット値を変更。

フォント画像と*.char を、charフォルダ以下に、パレット用画像をpalフォルダ以下にコピーして動作確認。

一見動いたように見えたけど、ファイル保存しようとしたら落ちた。

EDSCIIの制限。 :

EDSCII付属のフォント画像を眺めていて気づいたけれど。どうやらEDSCIIは、1つの文字セットにつき、256文字までしか扱えないらしい。おそらく文字1つ分を符号無しバイトで扱ってるのだろう…。

さて困った。

これがMZ-80Kなら使える文字の種類は256文字で収まってたのだけど。MZ-700は、アトリビュート?なる1bit分を用意することでカタカナとひらがなを切り替える機能が追加されたわけで。つまり、MZ-700以降は256文字を超えてしまっている。どうしたもんか。

とりあえず、アトリビュートをON/OFFした状態のフォント画像を、2枚作ってみることに。

MZ-700のどの文字が切り替わるか。 :

各文字の配置で試行錯誤してたけど、何故か256文字以内に収まらない。そんな馬鹿な…。

あちらこちらの資料ページで紹介されてる配置どおりに並べ直して確認。変化する文字群をようやく絞り込めた。

MZ-700の場合、アトリビュートのON/OFFで何が切り替わるかというと。
  • 大文字アルファベット → 小文字アルファベット。
  • カタカナ → ひらがな。
  • 」 。 、 ゛ (カタカナに比べて、ひらがなは、文字のある側に1ドットずれる)
  • / \ → 二重の斜線
一番最後の、斜線が二重線になるあたりを見落としていて、256文字に収まらないと悩んでたわけで。

ASCIIコードとディスプレイコード。 :

文字の配置について悩んだり。MZ-700 は、ディスプレイコードとASCIIコードという2つの文字コードを持っているけど、どちらに合わせたもんか…。

まあ、ここはASCIIコードに合わせるべきかな。EDSCII付属のフォント画像群もASCIIコードを意識した並びになってるし。

しかし、ASCIIコードに合わせてしまうと、制御文字が入る領域がごっそり使えなくなるので、その分画面に出せない文字が出てきてしまう。…制御文字部分にも詰めちゃうことにしよう。他のアプリとやり取りするわけでもないし。

参考ページ。 :


以上、1 日分です。

過去ログ表示

Prev - 2015/12 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project