2017-09-25 18:36 — asano
カテゴリー:
これまで漢字を画面に表示することについて書いてきましたが、今回はプリンタについてです。
漢字が表示できるようになると当然ながら印字したくなります。
1980年代初期に一般的だったのはドットインパクトプリンタでした。縦にピンが1文字分並んだヘッドが左右に動きながら1行ずつプリントしていく仕組みです。
漢字を考慮していない初期のものは8~9ピン程度でした。
ASCIIやカナ文字は文字コードを送ればプリントできますが、漢字についてはパソコン側の漢字ROMのデータを使いグラフィックとしてプリントします。改行幅を調整して行間を0にして2行に分けてプリントするのです。
プリンタによっては半ドットの改行ができるものもあり、この場合は半ドットずらして重ね打ちすることで通常の高さでプリントできました。
前に取り上げたNK3618-21などは漢字を考慮してピン数が18ピンとなっています。漢字ROMを搭載しない「-21」と搭載する「-22」があり、「-21」にもあとから漢字ROMの追加が可能だったはずです。
漢字ROMを搭載していれば文字コードを送るだけで漢字もプリント可能になりました。
画面上では漢字の幅はASCIIの倍ですが、プリンタではデフォルトで1.5倍で違っていた記憶があります。
もちろんグラフィックとしてプリントすることも可能です。
NM9950では24ピンになっていて、書体も明朝体になりました。漢字ROMはJIS第2水準まで標準で搭載しています。
プリンタ側のフォントはビットマップで1種類持っているだけなのでフォントを切り替えることはできませんし、サイズも固定です。可能なのは倍角(横を2倍に拡大)・縦倍角(縦を2倍に拡大)・4倍角(縦横を2倍に拡大)だけです。
フォントをパソコンとプリンタで別々に持つ方式はASCII・カナの仕組みをそのまま拡張したものでしたが、プリンタの解像度が上がった時にそのまま対応できるメリットがありました。
一方で画面に表示されるけどプリントすると出ないとか、字が化けるといったトラブルの原因でもありました。パソコンにはJIS第2水準の漢字ROM載せたけどプリンタはそのままだったとか、対応するJIS規格の違い(文字の追加・入替が何度かある)によるものです。
フォントはROMで搭載しているので規格が改定されてもアップデートできませんでしたし、JIS第2水準への対応可否も機種によっていました。
コメント
漢字オン・オフの制御コード
PCPR-201系制御コード ( http://software.aufheben.info/oohdyna/pcpr201.html ) に
>PC-PR201系の制御コードでは、ESC/Pのような明確な「漢字オン」「漢字オフ」といったコマンド体系ではなく、「書体の変更」というコマンドで半角/全角の切り替えを行います。つまり「横書き漢字」が事実上の「漢字オン」で、「HDパイカ指定」が事実上の「漢字オフ」となります。
とありましたので、
事実上の「漢字オン」= ESC+"K"「横書き漢字」
事実上の「漢字オフ」= ESC+"H"「HDパイカ指定」
のようです。
ただ、NK3618がPC-PR201系に含まれる物なのか今一つ分かりませんでしたので、もしかすると間違っているかもしれません。
Re: 漢字オン・オフの制御コード
ありがとうございます。
いろいろと当時を思い出してきました。PC-9801のN88 DISK-BASIC(DOS版ではなく)の文字列もこのこの形式で、扱いがいろいろ面倒だったような... でもLLIST,LPRINTは何も考えずそのまま出力できたはず。
コメントを追加