このエントリーをはてなブックマークに追加
スポンサーリンク

基礎知識

『漢字』という表記について

全角文字(2バイト文字)には、漢字・ひらがな・全角英数・全角記号・全角カタカナがありますが、プリンターのコード体系からすると全角文字は全て「漢字」の一種とみなされます。

全角関係のコマンドでは「漢字オン」「漢字オフ」という表現がよく使われます。以降、『漢字』というと、ひらがな、全角カタカナ、全角英数、など全角文字全般と考えてください。

JISコードとシフトJISコード

MS-DOSパソコンから送信されるテキストファイルはシフトJISコードですので、特に漢字オン、漢字オフを送信しなくとも半角/全角を判別でき
るのですが、プリンターは基本的にJISコード体系ですので、全角文字を印刷するためには漢字オンを送信する必要があります。

したがって、半角全角まじりの文書を指定する場合は、半角から全角への境目で漢字オンを送出し、全角から半角への境目で漢字オフを送出する事になります。また、コードをシフトJISコードからJISコードに変換しておく必要があります。ただし、当プリンタードライバーでは全角文字1文字毎に漢字オン、漢字オフを送出しています。

この漢字オン、漢字オフのコードは、パソコンの規格がまだ統一されてなかった時代に、富士通、NEC、エプソン、シャープ、東芝がそれぞれ別々なコードを採用していたため、MS-DOSでドライバーが異なっていると半角文字は印刷できるのに全角文字が文字化けしてしまって印刷できないという結果になります。

文字間ピッチの指定

MS-DOS用プリンターでデフォルトの文字間ピッチは、半角文字は1文字あたり1/10インチ、全角文字は1.5/10インチです。この設定でも文書を印刷する時はさほど問題はないのですが、表を印刷する場合に半角全角まじりの文書を印刷すると、印字がズレてしまったりします。

※上の見本は、「ペイント」で作ってあるため、半角と全角が1:2になってません。

現在では、たとえばMicrosoft Accessで印刷物を作成する場合、「レポート」という機能を使うと思います。そこでは印刷位置は絶対位置で指定されているので、左の項目の長さによって右側の印刷位置が影響される事はありません。

しかし、ROM-BASICやMS-DOSが使われていた当時のアプリでは、商品コード、商品名、数量、単価、金額などの文字長や桁は固定長で、文字のない部分は空白で幅を調整していました。なので、2バイト文字は、1バイト文字のちょうど2倍の文字幅をもっていないと、それより右に印刷されるものがズレてしまったのです。上記の例でいくと、商品名が半角全角まじりの文字列だった場合に、数量以降がずれて縦に綺麗に並ばなくなりました。

そのため、業務で使われる帳票では半角と全角の文字ピッチを1:2にする制御コードをあらかじめプリンターに送出してから印刷していました。結果、文書として読むにはちょっと全角文字の文字幅が広すぎて見えてしまうのですが、当時はドットプリンターで連続帳票に印刷された文字で文字間の美しさで文句を言う人はまずいませんでした。
スポンサーリンク