MSX Datapack wiki化計画

6章 24ドット漢字プリンタ

※
※ このページは書きかけです。以下の可能性があります。
※ ・誤字、脱字等のチェックをおこなっていません。
※ ・テキスト、表などフォーマットがされていない。
※ ・画像が抜けている。
※

 6.1 基本仕様

6.1.1 ドット構成

  1. 縦ピッチ 1/180インチ
  2. 横ピッチ 1/180インチ

6.1.2 TYPE AとTYPE Bの違い

 MSX24ドット漢字プリンタにはTYPE AとTYPE Bの2種類の仕様があります。両者の違いはサポートするコントロールコードの数で、TYPE Bに比べてTYPE Aの方が多くのコントロールコードをサポートしています。TYPE Aはフルセット版、TYPE Bはサブセット版とお考えください。
 コントロールコードの中にはTYPE A、TYPE Bとも必須でないものがあります。これらのコードをサポートする必要はありませんが、シーケンスはその機能に予約されています。すでに発売されているプリンタの中にはこれらオプションの機能を持ったものがあります。同じ機能をサポートする場合には、そのコードにしたがってください。また、新たに特別な機能を付加するときには、この仕様書に記載されているコードは割り当てないでください。また、別のコードを割り当てるときには、事前に当社までご一報ください。

 6.2 コントロールコード

6.2.1 コントロールコード一覧

6.2.2 制御コード

6.2.3 拡張制御コード(ESCシーケンス)

6.2.4 拡張制御コード(SUBシーケンス)

6.2.5 拡張制御コード(STXシーケンス)

6.2.6 拡張制御コード(FSシーケンス)

6.2.7 印字モードに関する注意(ESC N, ESC H, ESC E, ESC Q, ESC P)

 以下にあげるESCシーケンスがハードウェアの制約などにより、やむをえずサポートできない場合、次の点に注意してください。

    ESC N, ESC H, ESC E, ESC Q, ESC P

 これらのESCシーケンスは印字モードの選択だけでなく、漢字モードの解除にも使用される可能性があります。もし、やむをえずサポートできない場合でも、漢字モードの解除は必ず行なって下さい。

6.2.8 イメージ印字

 6.3 グラフィック印字

6.3.1 グラフィック印字に関する必須条件と推奨条件

 8ドットグラフィックス/16ドットグラフィックスの印字に関しては、24ドットプリンタで完全にサポートすることがむずかしいため、ハードウェアに応じて可能なかぎりサポートするものとします。ただし、その際、必須条件と推奨条件を以下のようにします。

 必須条件とは、リスト7.3やリスト7.4のようなプログラムが正常に印字できることを保証するためのものです。縦横比が1:1であるという条件は、画面コピーのようなプログラムが正常に動作するために必要です。最大印字ドット数が保証されるという条件は、8ドットプリンタ用のワードプロセッサの印字に使用する場合などに必要になります。
 推奨条件は、リスト7.5のようなプログラムでも、できれば8ドットプリンタと同じように印字された方が好ましいことを意味します。
 ここに示したプログラムのような場合以外にも、プリンタ用紙に、すでに8ドットプリンタに合わせてフォーマットが印刷されているような場合、この条件が必要になります。

100 'TEST PROGRAM NO.1
110 LPRINT CHR$(27);"T16"
120 LPRINT CHR$(27);"N"
130 FOR N = 1 TO 8
140  LPRINT CHR$(27);"S0064";
150  FOR M = 1 TO 64
160    LPRINT CHR$(2^(M MOD 8)-1);
170  NEXT M
180  LPRINT
190 NEXT N
200 END
100 'TEST PROGRAM NO.2
110 LPRINT CHR$(27);"T16"
120 LPRINT CHR$(27);"N"
130 FOR N = 1 TO 8
140  LPRINT CHR$(27);"I0128";
150  FOR M = 1 TO 255
160    LPRINT CHR$(2^(M/2 MOD 8)-1);
170  NEXT M
180  LPRINT
190 NEXT N
200 END
100 'TEST PROGRAM NO.3
110 LPRINT CHR$(27);"T16"
120 LPRINT CHR$(27);"N"
130 FOR N = 1 TO 8
140  LPRINT "MSXBASIC";
150  LPRINT CHR$(27);"S0064";
160  FOR M = 1 TO 64
170    LPRINT CHR$(2^(M MOD 8)-1);
180  NEXT M
190  LPRINT
200 NEXT N
210 END

6.3.2 グラフィック印字のモード

6.3.3 ノーマルモード(ESC M)

6.3.4 コピーモード

6.3.5 コンパチブルモード

 このモードはノーマルモード、コピーモードで対応できない場合に使用します。このモードをサポートする場合は使用するアプリケーションに遭ったモードをディップスイッチなどで選択できる必要があります。
 印字方法を以下に示します。

印字方法モード
8ドットイメージ(ESC S、ESC V)
縦24ドット使用、縦ドットピッチ1/60インチ
720ドット/8インチSUB Dモード
960ドット/8インチSUB Aモード
1280ドット/8インチSUB Bモード
1440ドット/8インチSUB Cモード
16ドットイメージ(ESC I、ESC W)
縦24ドット使用、縦ドットピッチ1/120インチ相当
960ドット/8インチSUB Aモード
1280ドット/8インチSUB Bモード
1440ドット/8インチSUB Cモード
縦16ドット使用、縦ドットピッチ1/180インチ相当
720ドット/8インチSUB Dモード

6.3.6 コピーモード、ノーマルモードの印字方法の例

 8ドット、16ドットビットイメージのコピーモード、ノーマルモードでの印字方法はハードウェアによりサポートできる範囲が異なるためとくに定めませんが、以下に印字方法の一例を示します。

ノーマルモード
8ビットイメージ改行ピッチ1/120インチ
縦ドットピッチ1/60インチ
横ドットピッチ1/180インチ
横方向最大印字ドット数1440ドット
16ビットイメージ改行ピッチ1/120インチ
縦ドットピッチ1/120インチ
横ドットピッチ1/180インチ
横方向最大印字ドット数1440ドット
コピーモード
8ビットイメージ改行ピッチ1/180インチ
縦ドットピッチ1/90インチ
横ドットピッチ1/90インチ
横方向最大印字ドット数720ドット
16ビットイメージ改行ピッチ1/180インチ
縦ドットピッチ1/180インチ
横ドットピッチ1/180インチ
横方向最大印字ドット数1440ドット

 8ピン、16ピンプリンタとの互換性をさらに高めるには以下の方法をとって下さい。

  1. ノーマルモードにおける8ドットイメージの印字密度を8ピンプリンタと同じように印字モードによって切り替えます。
  2. ノーマルモードにおける16ドットイメージ印字の印字密度を16ドットプリンタと同じにします。

6.3.7 その他の印字方法をとる場合の注意

  1. ノーマルモードの8ドットグラフィックスでは最大印字ドット数1280を保証します。
  2. コピーモードの8ドットグラフィックスでは最大印字ドット数640ドットを保証し、縦横比を8ドットプリンタに近くするか、1:1にします。
  3. ノーマルモードの8ドットグラフィックス印字において、ワープロなどのソフトで半ドットピッチずらして16ドット印字するものがあるので、ドット間のスペースを充分とります。
  4. コピーモードの16ドットグラフィックスについてはなるべくこの方法とします。

 6.4 漢字コード

 MSX24ドット漢字プリンタの漢字コードはMSX標準の漢字ROMのコードに準拠します。ただし、罫線についてはMSX標準の漢字ROMで規定していませんので、1983年版JISコードに規定されている8区の罫線記号を追加することを推奨します。

 6.5 縦拡大文字の網掛け処理

 縦拡大文字に対して網掛けを行うときは、必ず以下のようにして下さい。このイメージデータは、網掛、罫線のパターンデータです。

  1. イメージデータ上側
  2. CR
  3. 縦拡大モード設定
  4. 縦拡大データ
  5. 縦拡大モード解除
  6. CR+LF(1/120)
  7. イメージデータ下側

 6.6 サンプルプログラム

 MSX漢字BASICとM1024IIP/Xでの組み合わせによる、縦拡大文字に対する網掛処理の例が添付のフロッピーディスクに入っています。プログラム名は「PRINT.BAS」です。
 なお、【RAWPRT(0F418H)】が0以外になっていないと制御コードをそのまま送出できませんので、ご注意ください。