大森さん作成のドライバを入れたGhostscriptをインストールしてCanon LBP-2040を カラーレーザーPostScriptプリンターに仕立て上げるの巻 (00/01/06) 1.参考文献 ・「LIPS & ESC/Page & NPDL 対応 Ghostscript デバイスドライバ」(千葉大の大森さん)  http://www.bukka.p.chiba-u.ac.jp/~ohmori/gs/ ・「Ghostscript on Linux」(松阪大の奥村さん)  http://www.matsusaka-u.ac.jp/~okumura/linux/gs.html ・「Ghostscriptの日本語化情報」(奈良先端技術大の田中さん)  http://www.ldl.jaist.ac.jp/~akr/nonresearch/free-software/ghostscript/ ・Linux Japan 2000年 2月号の「Linuxプリンタ道場」p.103〜(千葉大の大森さん) 2.大まかな設定状況 ・Canon LBP-2040はプリンタケーブルでsc209につなぐ。すなわちsc209をCanon LBP-2040 のプリントサーバとする。 ・sc209に大森さん作のLIPS & ESC/Page & NPDL 対応 Ghostscript デバイスドライバを 組み込んだGhostscriptをコンパイルしてインストールする(RedHat4.2用のrpmファイ ルはおそらくないんでないかな)。 ・sc209はRedHat4.2+PJE-0.11cmというふるーい(笑)環境 ・使用した大森さん作のデバイスドライバのバージョンはgdevlips-2.3.4 ・インストールしたGhostscriptのバージョンは5.50 ・sc209の/usr/localはsc210の/usr/localをmountしているからgsは/usr/local/binには インストールできないので/usr/binにインストールする。これでsc209の今までの Ghostscriptは上書きされてしまう。sc210の/usr/local/binにインストールすればよ かったのだがsc210でうかつに失敗したくなかった。 3.sc209へ大森さんのデバイスドライバを組み込んだGhostscript-5.50をインストール する手順  以下の手順は基本的に上記の大森さんと奥村さんのホームページに従っている。 3-1.アーカイブファイルをとってくる  まず   ftp.hipecs.hokudai.ac.jp/pub/TeX/CTAN/support/ghostscript/aladdin/gs550 から  ghostscript-5.50.tar.gz  ghostscript-5.50jpeg.tar.gz  ghostscript-5.50zlib.tar.gz  ghostscript-5.50libpng.tar.gz  ghostscript-fonts-std-5.50.tar.gz (フォント)  ghostscript-fonts-other-5.50.tar.gz(フォント) をとってくる。次に田中さんのホームページ  http://www.ldl.jaist.ac.jp/~akr/nonresearch/free-software/ghostscript/ から  gs5.50-vflib-1.0.tar.gz というGhostscript5.50用の日本語化パッチVFlib を使うためのパッチ)を頂いてくる。 そして大森さんのホームページ  http://www.bukka.p.chiba-u.ac.jp/~ohmori/gs/ から  gdevlips-2.3.4.tar.gz をいただいてくる。これらは  /net/sc208/home/kakehi/archives/gs に置いた。 3-2.Ghostscriptのインストール  最初は一般ユーザーでよろしい。とってきたアーカイブファイルを適当なディレクトリ (今回は/net/sc208/home/kakehi/archives/gs)で展開する。  % tar xvzf ghostscript-5.50.tar.gz  % tar xvzf gs5.50-vflib-1.0.tar.gz  % tar xvzf ghostscript-5.50jpeg.tar.gz  % tar xvzf ghostscript-5.50zlib.tar.gz  % tar xvzf ghostscript-5.50libpng.tar.gz  % tar xvzf gdevlips-2.3.4.tar.gz 田中さん作の日本語化パッチをあてる。  % patch -p0 < gs5.50-vflib-1.0/gs5.50-vflib-1.0.diff 大森さん作のデバイスドライバをGhostscriptのソースディレクトリにコピーしたりする  % cp gdevlips-2.3.4/*.c gs5.50  % cp gdevlips-2.3.4/*.h gs5.50  % cp gdevlips-2.3.4/gdevlips.mak gs5.50  % cd gs5.50  % cp contrib.mak contrib.mak.org  % cat gdevlips.mak >> contrib.mak 以下のようなリンクを張る  % ln -s ../zlib-1.1.3 zlib  % ln -s ../libpng-1.0.2 libpng  % ln -s ../jpeg-6b jpeg Linux環境に合ったmakefileを用意する  % cp unix-gcc.mak makefile makefileを編集する。編集は3カ所 (1)インストール先(前述の通り/usr/binにgsを置きたいので)  #prefix = /usr/local  prefix = /usr (2)古い(PJE 付属の)VFlib を使っている関連で  VFLIBS=VFlib    (←コメントアウトを外した)  VFINCLUDE=  VFLIBDIRS=  #VFLIBS=VFlib2 ttf (←コメントアウトした) (3)大森さんのデバイスを追加 (1〜15のうち2のDEVICE_DEVS2のところがたまたま空いていたのでここに書いた←見れば 分かる)  #DEVICE_DEVS2=  DEVICE_DEVS2=lips2p.dev lips3.dev bjc880j.dev lips4.dev lp2000.dev escpage.dev  npdl.dev lips4v.dev makeする。sc209で4分くらいかかった。  % make rootになってインストールする。manファイルもmake installでインストールされるみた い。  % su  # make install 最後にフォントをインストールする。  # cd /usr/share/ghostscript (/usr/share/local/ghostscriptではなく)  # tar xvzf /net/sc208/home/kakehi/archives/gs/ghostscript-fonts-std-5.50.tar.gz  # cd fonts  # tar xvzf /net/sc208/home/kakehi/archives/gs/ghostscript-fonts-other-5.50.tar.gz これでインストールはおしまい。動作チェックをやっておこう。tiger.ps というサンプ ルを表示してみる。  % gs tiger.ps 日本語のチェックは  % gs article9.ps でOK。 4.sc209の/etc/printcapとフィルタースクリプト 普通紙用とOHP用の2つの論理プリンタcol,ohpを設定することにする。ohpの方は手差し を指定してある。 ●/etc/printcapの中身 # /etc/printcap # # Please don't edit this file directly unless you know what you are doing! # Be warned that the control-panel printtool requires a very strict format! # Look at the printcap(5) man page for more info. # # This file can be edited with the printtool in the control-panel. # for printing PostScript files using Canon LASER SHOT LBP-2040 (color) col|Canon LASER SHOT LBP-2040 (color):\ :sd=/var/spool/lpd/col:\ :mx#0:\ :sh:\ :lp=/dev/lp1:\ :if=/usr/lib/print_filters/ps2lips4v:\ :lf=/var/spool/lpd/col/lpr-error: # for printing PostScript files using Canon LASER SHOT LBP-2040 (color) # for OHP sheet ohp|Canon LASER SHOT LBP-2040 (color) for OHP sheet:\ :sd=/var/spool/lpd/ohp:\ :mx#0:\ :sh:\ :lp=/dev/lp1:\ :if=/usr/lib/print_filters/ps2lips4v_OHP:\ :lf=/var/spool/lpd/ohp/lpr-error: ●普通紙用フィルタースクリプト/usr/lib/print_filters/ps2lips4vの中身 #!/bin/sh # # Filter to change PostScript to Canon LIPS IV # Requires ghostscript (usr/bin/gs and support files) with Ohmori-san's # LIPS IV device driver (vector version) # This shell script was written by Y. Kakehi on 00/01/06. # /usr/bin/gs -q -r600 -sDEVICE=lips4v -dBitsPerPixel=24\ -dNOPAUSE -sPAPERSIZE=a4 -sOutputFile=- - exit 0 ●OHP用フィルタースクリプト/usr/lib/print_filters/ps2lips4v_OHPの中身 #!/bin/sh # # Filter to change PostScript to Canon LIPS IV (for OHP sheet) # Requires ghostscript (usr/bin/gs and support files) with Ohmori-san's # LIPS IV device driver (vector version) # # This is for OHP sheet. # (-sMediaType=OHP is the option for OHP sheet.) # # You must feed OHP sheet not with casset but manually. # (-dManualFeed is the option for manual feed.) # # This shell script was written by Y. Kakehi on 00/01/06. # /usr/bin/gs -q -r600 -sDEVICE=lips4v -dBitsPerPixel=24\ -sMediaType=OHP -dManualFeed -dNOPAUSE -sPAPERSIZE=a4 -sOutputFile=- - exit 0 ●普通紙用とOHP用の2つの論理プリンタcol,ohpに分けたのは,Canon LBP-2040が用紙 によって適したトナー定着の具合を選ぶ機能を持っていて,それを生かすため。それと OHPに印刷する場合は手差し給紙にするようにしている。上記OHP用のフィルタースクリプ トps2lips4v_OHPの  -sMediaType=OHP(用紙はOHP),-dManualFeed(手差し給紙指定) がそれにあたる。この辺は大森さんのホームページに書いてある。  ちなみにOHP印刷時にオプション -sMediaType=OHP を指定する/しないでどの程度印刷 品質が異なるかをtiger.ps(ほんとはmouko.ps)で試してみた。その結果  指定しない場合:トナーの定着が悪い(電灯に反射させてみると0.5mm(?)程度のつぶつ ぶが見える)  指定した場合 :トナーの定着がよい(つぶつぶは見えない) となって,やっぱり指定した効果はあったのだった。大森さんに感謝。