----------------------Ver 3.08の変更点 ----------------------- gdevepag Ver3.08では、次の2つの変更が行われました。 (1) イメージデータ出力方法の変更 (2) -dEpagEpsonRemote 指定時に EPSON/Remoteの制御コードを出力 以下、それぞれの変更点について説明していきます。 (1) イメージデータ出力方法の変更 大森氏@千葉大に送って頂いたパッチを参考に、イメージデータの出力方法を 大きく変更しました。 これまでは、128ライン分のデータをまとめて『ビット イメージ描画』コマンドを出力していましたが、 Ver3.08では、イメージデー タの空白部分に関しては、データをなるべく送らないようにしています。 イメージデータは圧縮して出力されるため、この処理を行っても、データの量 がそれほどへる分けではありませんが、LP-1500等のCPUがそう速くないプリン ターでは、かなり印刷速度が改善されます。(LP-1800等では、若干速くなる程 度かもしれません) この処理に関連して、以下のオプションが追加されました。 -dEpagBlockWidth=4 -dEpagBlockHeight=32 EpagBlockWidthとEpagBlockHeightは空白を見つける際の単位となるブロック の大きさを指定します。 デフォルトは4と32で、4byte×32line で、32dot□ のブロックを単位として、処理をすることを指定します。 -dEpagShowBubble このオプションは、デバッグ用で、gdevepagがどのような塊でイメージデータ の出力を行っているかを見るために、出力されたイメージデータの領域に重ね て四角を描画します。1,2ページのデータをこのオプションを使って印字して 見るとどのような処理をしているかわかると思います。 -dEpagSkipBlank=false このオプションを使用すると、gdevepagの出力は Ver3.07以前のものと同じに なります。 (2) -dEpagEpsonRemote 指定時に EPSON/Remoteの制御コードを出力 -dEpagEpsonRemote オプションを指定すると、gdevepagは印刷データと一緒に EPSON/Remoteの制御コードを出力し、 プリンタをESC/Pageモード切り替え、 解像度に合わせて プリンタの『はやい/きれい』モードの切り替えも行います。 従来、これらの処理は 別プログラムertで行っていましたが、今回 gdevepag 単体でもできるようにしました。 LP-2000などの古いプリンタでは、EPSON/Remoteのコマンドを解釈できない場合 がありますので、その場合にはこのオプションは使用しないでください。 ----------------------Ver 3.08の変更点(終り)------------------ gdevepagは EPSON ESC/Pageプリンタ用のghostscriptのドライバーです。 Ver.3の特徴は、以下の通りです。 (a) 高速化 (b) 両面印刷対応 (c) 用紙サイズ/解像度の違うデバイスドライバーを1つに整理 (d) EPSON Remote対応コマンド(ert)を別途用意 ◎ インストール ghostscriptのmakefile(unix-gcc.mak等)に、gdevepag.makの内容を追加し DEVICE_DEFSの"epag"を追加して下さい。 ◎ 高速化 従来のgdevepagでは、1ラインごとにプリンタに『ビットイメージ描画』コマ ンドを送っていましたが、 Ver. 3では、これを複数行まとめて送ることができ るようになりました。 何行まとめるかは cRowBufパラメータで指定すること ができます。デフォルトでは、128行です。 ghostscriptのコマンドラインで "-dcRowBuf=256"と指定すると256行まとめて送ることができますが、その分多 くのメモリーを使用しますので注意して下さい。 このオプションはVer3.08以 降でも有効です。 ◎ 両面印刷対応 LP-9200等のプリンタでは両面印刷ユニットを使用して、両面印刷が可能になって います。 gdevepag Ver. 3 では 両面印刷コマンドを発生することができます。 とじ方向の設定違いで2種類の両面印刷方法があります。 長辺を綴じる -dDuplex 短辺を綴じる -dDuplex -dTumble 片面印刷 -dDuplex=false パネル設定 指定なし 両面印刷とpsutilを使うと簡単に小冊子を作ることができて便利です。 (例) % psbook foo.ps | psnup -2 | lpr -Pps-flip 中綴じができるホッチキス『ETONA SWIVEL-1』を使うと きれいに綴じれます。 ◎ 用紙サイズ/解像度の違うデバイスドライバーを1つに整理 gdevepag Ver. 2 では 用紙サイズの違いと解像度の違いによってたくさんの 種類のデバイスを用意していましたが、Ver. 3 では これらを別の方法で指定するため ひとつのデバイスですむようになりました。 gdevepag Ver. 3.07 での用紙サイズは A3、 A4、 A5、 A6、 B4、 B5、Letter、 Half Letter、Legal、Executive、Goverment Legal、Goverment Letter、 Ledger、F4、はがき、A3のび、Monarch に対応しています。 用紙サイズがこれら以外の場合には、ESC/Pageの用紙変更コマンドは出力されません。 a4やb4、b5などでは複数のサイズが登録されています。これらの用紙サイズでは、 用紙の指定の仕方によって印刷位置がずれることがありますので注意して下さい。 (特に Ghostscript の標準の B サイズは JIS の B サイズでなく ISO の B サイズ なので注意が必要です) 用紙サイズの指定は -sPAPERSIZEで指定します。 たとえはB4サイズを使用するには -sPAPERSIZE=b4とします。 また、-dEpagNoPaperSelect オプションにより、用紙変更コマンドを出力 しないようにできます。詳しくは -dEpagNoPaperSelect の項を御覧下さい。 また、gdevepag Ver. 3.07 では、用紙サイズが横長の時には出力する画像を 90 度回転して出力するようになっています。 (ランドスケープモードになっています。) 解像度の指定はghostscriptの -r オプションを使用します。600dpiで出力するには -r600 と指定します。デフォルトは 300dpiです。 ただし プリンタによって正しく 処理できる解像度に制限があります。60〜600の値が使用できます。 ◎ -dEpagNoPaperSelectの追加 ESC/Pageの用紙変更コマンドを出力しないようにするオプション -dEpagNoPaperSelect を追加しました。 このオプションを使用すると、ertやプリンタのパネル設定 で用紙を選択できるようになります。 「用紙サイズ A4 に固定したいのに、PostScript ファイルの中で用紙を B5 に 変更するオペレータが入っているので、B5 用紙が選択されてしまいます。」 という問題を解決するためには、-dEpagNoPaperSlect を使わないで、 -sPAPERSIZE=a4 -dFIXEDMEDIA を使った方が簡単でしょう。 ◎ EPSON Remote対応コマンド(ert)を別途用意 プリンタのモード(ESC/PSかESC/PAGEか)や解像度の指定はプリンタのパネルか EPSON Remoteモードのコマンドで指定してやらなければなりません。 ertコマンドは このEPSON Remoteのコマンドを出力することができます。 詳しくは ert.txtを参照して下さい。 ◎ オフセットの調整(単位はmm) ******************************************************************** *このオプションについては、以前のドライバーでオフセット調整を行って* *いる場合は値をいったん 0 またはオプション指定なしにして修正する * *必要があります。 * ******************************************************************** gdevepag Ver. 3.07 では、従来の gdevepag の位置計算がでたらめであったのを 修正しました。調整しなくてもほぼ正しい位置に印刷されるはずです。 しかし、それでもプリントされる位置が意図する位置とずれている場合、 以下のパラメータによって オフセットの位置をミリ単位で調整することが できます。 -dEpagOffX=offx -dEpagOffY=offy psprintに使用例があります。 ◎ 600dpi出力時の注意 エプソンのレーザプリンタでは、『ドットパターン解像度』と『印刷の解像度』 は別物です。『ドットパターン解像度』はgsの-rオプションで変更できますが 『印刷の解像度』はプリンタのパネル設定(はやい/きれい)かEPSON/Remoteの 制御コードを使用しなければ変更できません。600dpiのデータを300dpiで印刷 してしまうと、dotが潰れてしまうため300dpiのデータを300dpiで印刷するの よりも汚くなってしまいます。 EPSON/Remoteの制御コードは ertプログラムあるいは -dEpagEpsonRemoteオプ ションで出力されますので、 % gs -sDEVICE=epag -r600 -sOutputFile="\| ert RS=FN" - あるいは % gs -sDEVICE=epag -r600 -dEpagEpsonRemote -sOutputFile=- - というようにするのが良いでしょう。ただし LP-2000などの古いプリンタでは、EPSON/Remoteのコマンドを解釈できない場合 がありますので、その場合には EPSON/Remoteの制御コードを出力しないよう にしてください。