竹の 12/19 2003 --------------- 1. はじめに ----------- 大森さんの ghostscript 用の LIPS ドライバ gdevlips-2.4.0 のバグ等 の修正差分を公開します (gdevlips-240-2.diff)。 この差分は、以下のバグや機能に関する修正差分です。 1) 紙サイズが A4 や B4 などの一般的なサイズではないと判別された場 合のユーザ定義紙サイズ使用時の紙サイズ指定部分のバグ (サイズ指 定が反対、および許されているサイズを越える場合がある) 2) 指定紙サイズが一般的なサイズに丁度は一致していない場合 (丸め誤 差などにより) 適切な紙サイズが選ばれなかったのを、多少の誤差を 許せるようにする 3) GNU Ghostscript 7.06 以降でデフォルトの A4 サイズが整数から実 数に拡張されたことに対する不具合の修正 (2 枚目以降は正常に印刷 されるのに 1 枚目が正常に印刷されないことがある) うちでは GNU Ghostscript 7.05, 7.07 に対して使用していますが、 gdevlips-2.4.0 が動作する他の版の Ghostscript でも有効だと思いま す。 このパッチは以下の WWW ページで公開/更新していく予定です。 CANON LBP について http://takeno.iee.niit.ac.jp/~shige/FreeBSD/LBP/lbp.html 何かありましたら以下にご連絡下さい。 Email: shige@iee.niit.ac.jp 2. インストール --------------- 利用法は、gdevlips-2.4.0 を展開したディレクトリで、付属のパッチを 当てるだけです。例えば以下のようにします。 gunzip -c gdevlips-2.4.0.tar.gz | tar xvf - gunzip -c gdevlips-240-2.tar.gz | tar xvf - cd gdevlips-2.4.0 patch -p1 < ../gdevlips-240-2.diff 後は gdevlips-2.4.0 付属のマニュアル Gdevlips.htm に書かれている ようにインストールして下さい。 3. 注意 ------- 以下に注意を述べます。 [1] 2) の無効化 上記 2) は厳密にはバグではないので、その機能を有効にするかしない かはコンパイル時に選べるようにしてあります。無効にする場合は、 gdevlips.h の下の方にある #define USE_LIPS_SIZE_ERROR をコメントアウト (または単純に削除) して下さい。この場合、紙サイ ズが gdevlips ドライバが想定しているサイズ (gdevlips.c で定義され ている lips_paper_table[] 参照) と違う場合はユーザ定義紙サイズ指 定になります。 ただし、ユーザ定義紙サイズ指定は色々問題を起こす場合がありますし ghostscript 本体で定義されている紙サイズも版によって多少ゆらぎが あるそうですのでで、できるだけ使用した方がいいでしょう。 特に、gdevlips-240-2 で対処された不具合に関しては、他の点でも誤差 が入る可能性がありますので、試用した方が無難だと思います。 [2] 2) の誤差の範囲 2) で許容する誤差の範囲は gdevlips.h で定義されている変数 LIPS_SIZE_ERROR_VALUE で変えられます。デフォルトでは 2 にしてあり、これは ±2 の範囲を 許容することを意味します。多分これも 2 位でいいんじゃないかと思い ます。 [3] 問題点 OpenOffice の作る A3 Landscape の pdf ファイルを pdf2ps で PS に した場合、ユーザ定義紙サイズが選択されると、A3 サイズよりも多少小 さいサイズを指定しないと正しく印刷されない (妙に横方向に拡大され てしまう) といった現象が起きています (環境: Ghostscript 7.05, LBP-730)。 これは OpenOffice が作る pdf と Ghostscript、または LIPS との相性 の問題なのか、またはどこかにバグがあるのか良く分かっていません。 ただ、いずれにしてもその「多少小さいサイズ」を自動的に取得する方 法がないために、それを指定するような実装は行なえませんが、2) によ って A3 (landscape) が選択されれば正しく印刷されると思います。 また、LIPS コードでは、A4,B4 等の固定紙サイズ以外に「ユーザ定義紙 サイズ指定」が行なえるようになっていて、gdevlips4 でも定格サイズ (+誤差) とは違うサイズの印刷要求があるとこのユーザ定義紙サイズ指 定が選択されるのですが、どうもこれが使用されると正しく印刷されな い場合が多いようです。その場合、gs のオプションで -sPAPERSIZE=a4 のように、適切な紙サイズを指定すると改善することがあるようです。 他に何か問題等がある場合は「1. はじめに」に上げたメールアドレスに 連絡して下さい。全ての問題に対処はできないと思いますが、解決でき る問題ならば対処したいと思います。 4. 謝辞 ------- 本パッチは、奥村さんの掲示版 TeX Q & A http://www.matsusaka-u.ac.jp/~okumura/texfaq/qa/ での情報 gs による pdf ファイルの A3 出力 http://www.matsusaka-u.ac.jp/~okumura/texfaq/qa/23273.html を元に作成したものです。元記事の Lykeion さんには、詳しい情報やサ ンプルファイル、パッチに関する意見などを頂きました。どうもありが とうございました。 5. 変更履歴 ----------- 12/19 2003: ・GNU Ghostscript 7.06 より A4 のデフォルト紙サイズが実数になった ことに関する不具合の修正。 11/09 2003: ・ユーザ定義紙サイズ指定時の最大値が不正になり得る問題を fix。 ・gdevlips-240-1 として以下のものを含んだ形で公開開始。 11/06 2003: ・紙サイズから定型サイズの選択時に多少の誤差を許すようにした。 (gdevlips-ulse.patch) 06/27 2003: ・ユーザ定義紙サイズ指定時の縦横の設定が逆なのを fix。 (gdevlips-ppsz.patch) 6. 目次 ------- 1. はじめに 2. インストール 3. 注意 4. 謝辞 5. 変更履歴 6. 目次 +=================================================+ 竹野茂治 〒945-1195 新潟工科大学 情報電子工学科 shige@iee.niit.ac.jp TEL(&FAX): 0257-22-8161 +=================================================+