質問: unixとwindowsのプリンタの扱いについて unix系osでlp、lprコマンドで印刷を行う場合、データをpostscriptに変換するのはなぜでしょうか? また、windowsでは、印刷を行う場合、データの形式をどう判断して、印刷しているのでしょうか? unixとwindowsでどのように違うか教えてください。
回答: プリンタから見た場合のお話ですが、unixもwindowsも変わりません。 と言うのは、プリンタは送られてきたデータを元に印刷するしか能が無いのですが(正確には、双方向通信対応プリンタは、簡単なプリンタの情報をosに返えすことができます)、その「データが何なのか」を知る手段が限られていて、プリンタが理解できるデータを送ってやる必要があります。 プリンタにはそれぞれプリンタコマンドというものが存在します。メーカーによって、対応コマンドが異なるケースが多いようです。 このコマンドを用いて、プリンタが理解できるようにデータを変換してやるわけです。 「何処から何処まで線を引いて・・・」「何行改行して・・」「どのデータを印刷する」とか、色々な命令が存在します。 つまり、 >unix系osでlp、lprコマンドで印刷を行う場合、データをpostscriptに変換するのはなぜでしょうか? 上記の変換作業を行っているワケです。御使用のプリンタがポストスクリプト言語に対応しているんでしょう。 仮に変換作業を行わず、いきなりtxtデータをプリンタに送っても、「はて?」となる訳です。 windowsの場合、ユーザ見えには「wordのデータ」とか「txtのデータ」としか分からないように出来てますが、変換作業をドライバ(+ソフト)が行いますので、最終的にはプリンタが読み込めるコマンドに変換される仕組みになっています。 その為、ドライバが無いと印刷できませんし、異なるドライバを使用すれば印刷結果が狂ったりもしますし、互換のあるドライバが使えてしまったり、と言う現象が発生します。 「プリンタはそこまでお頭がよろしくない!」という事で納得して頂けるかと思いますが、如何でしょうか。 (windowsを搭載したプリンタなんてモノもありますが、それは例外です)