このプログラムは、ESC/P互換プリンタ、あるいは PostScriptプリンタがつ ながっているFreeBSDマシンを、LXのプリンタにするプログラムです。 このプ ログラムを使うことによって、 LXからは、FreeBSDマシンとプリンタがあたか も「シリアルポートを装備したESC/Pプリンタ」に見えます。 別の表現をすれ ば、「FreeBSDマシンを (高価な?) シリパラ変換器として使う :-)」というこ とになるでしょうか。 もっとも、FreeBSDはちゃんとしたマルチタスクのオペ レーティングシステムですから、このプログラムを動かしたからといって、他 の作業ができなるなるなんてことはありませんのでご安心を。
このプログラムは、シリアルポートを通してLXから印刷データを受け取り、 ESC/Pプリンタへはそのまま、PostScriptプリンタへはESC/P→PostScript変換 を行ってから、プリンタにデータを転送します。
動作テストは以下の機種で行いました。
操作例
FreeBSDで利用している日本語コードが SJISの場合
% lha xt bsdprn00.lzh
FreeBSDで利用している日本語コードが EUCの場合
% lha xet bsdprn00.lzh
DOSで解凍する場合は、普通に解凍してください。また、DOSで解凍したファイ
ルをUNIXに転送する場合は、日本語コードや改行コードに注意してください。
アーカイブ中の最後の3つのファイル、printcap, lpf-escp, lpf-throughは 付録です。 FreeBSDでまだプリンタのセットアップが終っていない場合は、こ れらのファイルのコメント文を参考にして、プリンタを使えるようにしてくだ さい。
操作例
% cd /tmp
% mkdir bsdprn
% cd bsdprn
% lha xet /tmp/bsdprn00.lzh
% vi makefile
% make
コンパイルできたら、make install でバイナリをインストールしてください。
また、jgroff(1) などの日本語が通る roffが使えるなら、make install.man
でマニュアルもインストールしてください。
操作例
% su
# make install
# make install.man
# exit
% rehash
まず、lhaでアーカイブを解凍してください。
操作例
C:\>cd \work
C:\WORK>lha x \tmp\bsdprn00.lzh
次に、makeでコンパイルしてください。
操作例 (Turbo-C++の場合)
C:\WORK>make -fmakefile.tcc
操作例 (LSI-C86試食版の場合)
C:\WORK>make -f makefile.lsi
コンパイルが終ったら、copyコマンドなどでパスの通ったディレクトリに実行
形式をコピーしてください。
つぎに、FreeBSDマシンの空いている (getty(8) などが占有していない) シ リアルポートにLXをつなぎます。有線の場合はF1015Aなどのクロスケーブル接 続してください。 赤外線ポートを用いるときは、FreeBSDマシンとLXを適切に 配置してください。
接続あるいは配置できたら、そのシリアルポートを引数にして、capsを起動 してください。
操作例
% caps /dev/ttyd0 > /tmp/hardcopy.lx
そのあと、LX側でPIMから印刷操作をしてください。ハードコピーなら Fn + 0
を押します。すると、LXは印刷状態になり、20秒くらい画面右上の時計表示が
ストップします。LXの時計が動き出して5秒くらいたつと capsは終了し、LXか
ら送られてきた印刷データがESC/Pファイルとして /tmp/hardcopy.lxに保存さ
れます。
印刷データの取り込みが終了したら、そのデータをプリンタに送ります。ps という名前でPostScriptプリンタが接続されている場合は、
% esc2ps < /tmp/hardcopy.lx | lpr -Pps
のようにしてください。 また、lpという名前のESC/Pプリンタに出力する場合
は、
% lpr -Plp /tmp/hardcopy.lx
のようにしてください。プリンタの設定によっては、これ以外のオプションが
必要になるかもしれません。付録としてアーカイブに収録したprintcapとプ
リンタ用フィルタを使ってESC/Pプリンタの設定をした場合は、
% lpr -v /tmp/hardcopy.lx
とします。
もちろん、印刷データの取り込みと印刷をパイプラインを使ってひとまとめ にすることも可能です。その場合は、
% caps | esc2ps | lpr -Pps
や
% caps | lpr -v
のようにFreeBSD側で操作してから、LXで印刷を開始してください。
LXからの印刷データをビットマップファイルに変換するには、esc2bmを使い
ます。PIMの画面を他のアプリケーションに貼り付けたい場合に便利です。
% esc2bm -x /tmp/hardcopy.lx > lx-hardcopy.xbm
とすれば、X-Windowのビットマップファイルに、
% esc2bm -p /tmp/hardcopy.lx > lx-hardcopy.pbm
とすれば、Portable Bitmap (pbmraw) 形式に変換することができます。
このプログラムの運用によって生じた結果については一切責任を負いかねま すのでご了承ください。
このプログラムの全部、または一部をそのまま利用して商用目的のプログラ ムを作成することはご遠慮ください。
フリーソフトウェアの作成や個人的な範囲での利用が目的の場合は、このプ ログラムの全部、または一部をそのまま利用してもかまいません。他機種への 移植や他のオペレーティングシステムへの移植およびフリーソフトウェアとし ての公開は大歓迎です。その場合、作者への連絡は不要です。 (でも、報告し てくれたり、ドキュメントに一筆書いてくれたり、さらには、そのソフトのソ ースを公開してもらえると非常にうれしいです。)
このプログラムを再配布する場合は、アーカイブファイル bsdprn00.lzh に 含まれるすべてのファイルを変更せずにそのまま配布してください。再配布す る場合は電子メイルなどでご連絡いただけるとありがたいです。