LIPS II+/III/IVc/IV 対応 Ghostscript デバイスドライバ

このソフトウェアは Ghostscript 5.10/5.50 用のデバイスドライバとして作られています。

デバイスドライバとしてラスター版デバイスの lips2p、lips3、lips4c、lips4 デバイスと、 ベクター版デバイスの lips4v、lips4vc が含まれています。 (ベクター版デバイスに関しては Ghostscript 5.10 での使用はあまり推奨しません。 詳しくは、1. パスのクリッピング処理時のメモリ不足(システムメモリフル エラー)を参照して下さい。)

制御言語との対応は次のようになっています。

LIPS II+
lips2p.dev
LIPS III
lips3.dev
LIPS IVc, LIPS IV (モノクロ)
lips4.dev
LIPS IVc, LIPS IV (24 bit RGB カラー)
lips4c.dev
LIPS IV (1〜12 bit 可変 グレースケール)
lips4v.dev
LIPS IV (1〜36 bit 可変 RGB カラー)
lips4vc.dev

インデックス


配布条件

このソフトウェアの配布条件は GNU General Public License (GPL) Ver.2 に準じます。

また、このドライバの一時配布先は当面 <URI:http://www.bukka.p.chiba-u.ac.jp/~ohmori/> とします。

このソフトウェアに関してはキヤノン販売株式会社は一切関係ありません。 問い合わせは製作者である 大森紀人 <URI:mailto:ohmori@p.chiba-u.ac.jp>にお願いします。


gdevlips4-1.2.0 との違い

lips3.dev lips4c.dev lips4.devに関して、gdevlips4-1.2.0 での次のような不具合が 直っています。

また次のような機能が追加されています。


対応していないプリンタ

次のプリンタはサポートしていません。


LISP IV 出力における高解像度印字に関する注意

600dpi 印字や 1200dpi 印字を行う場合は, プリンタに搭載されている内蔵 メモリの容量に注意して下さい。

これは内蔵メモリの容量が少ない場合に、 プリンタがデータ量の多さに対応できず自動的に解像度を落して印字させるからです (印字データに依存するので一概には言えません)。 この処理が行われると, 印字解像度が変わる他に 2 点のデメリットがあります。

これらを避けるためにも、搭載メモリに見合った解像度での印字をお勧めします。 高解像度で印字を行うために必要なメモリ容量は、 「プリンタ機能マニュアル」へ `印字保証メモリ' として書かれています。 出力用紙サイズや両面印字の有無によって変化する点も注意して下さい。


インストール

  1. Ghostscript のソースディレクトリに gdevlips.c 、gdevl4r.c、 gdevl4v.c、gdevlips.h をコピーします。
  2. Ghostscript 5.50 の場合は gdevlips.mak を contrib.mak に追加します。
          例:
          cat gdevlips.mak >>contrib.mak
    
  3. Ghostscript 5.10 の場合は 510lips.mak を Makefile に追加します。
          例:
          cat 510lips.mak >>makefile
    
  4. Makefile の DEVICE_DEVS にデバイスとその機能に述べられるのデバイスのうち必要なものを記述します。
  5. B4、B5、B6 サイズなどの用紙を扱う場合は gs_statd.ps にパッチをあてます。
          例:
           patch <gs_statd.dif
    
  6. Ghostscript をコンパイルし、インストールします。

デバイスとその機能

ラスター版ドライバ

lips2p.dev
LIPS II+ のコードを出力します。(1bit・2階調モノクロ)
lips3.dev
LIPS III のコードを出力します。(1bit・2階調モノクロ)
lips4.dev
LIPS IVc/LIPS IV のコードを出力します。(1bit・2階調モノクロ)
lips4c.dev
LIPS IVc/LIPS IV のコードを出力します。(24bit・カラー)

ベクター版ドライバ

lips4v.dev
LIPS IV のコードを出力します (1〜12 bit・グレー)
lips4vc.dev
LIPS IV のコードを出力します (1〜36 bit・カラー)

使用方法/使用オプション

以下にかかれているオプションは PostScript ファイルの中のオペレータでも変更されることがあります。 lpd のフィルターとして使う場合はこの中で -sDEVICE-r のみを指定するとよいでしょう。 -sUserName は好みで指定して下さい。

-sDEVICE
出力するデバイスの変更に使用します。最低限これだけは指定して下さい。
-sPAPERSIZE
出力する用紙サイズの変更に使用します
-dManualFeed
給紙トレイから給紙する場合に使用します
-dCasset
給紙するトレイ/カセットを指定する場合に使用します
-dNumCopies
印刷部数を指定する場合に使用します
-r
解像度を指定する場合に使用します
-sUserName
プリンタのパネルに表示する文字を変更する場合に使用します
-dDuplex
両面印刷する場合に使用します
-dTumble
両面印刷する場合にとじ方向を変更する場合に使用します
-sMediaType
LBP-2160 (LBP-2040 も?)で出力する用紙の種類を指定するために使用します。
-dOutputFaceUp
LBP-2160 (LBP-2040 も?)でフェイスアップトレイに出力するために使用します。
-dNup
N 面印刷をする場合に使用します
-dPJL
PJL を出力する場合に使用します
-dTonerDensity
トナー濃度調節をする場合に -dPJL とともに使用します
-dTonerSaving
トナー節約をする場合に -dPJL とともに使用します

デバイス変更

このドライバを使用するためには -sDEVICE オプションでデバイスを変更する必要があります。それぞれ次のように指定します。

-sDEVICE=lips2p
lips2p デバイスを使用します
-sDEVICE=lisp3
lips3 デバイスを使用します
-sDEVICE=lips4
lips4 デバイスを使用します
-sDEVICE=lips4c
lips4c デバイスを使用します
-sDEVICE=lips4v
lips4v デバイスを使用します
-sDEVICE=lips4vc
lips4vc デバイスを使用します

ページサイズ変更(デフォルト:A4サイズ)

従来のgdevlips4-1.2.0では用紙カセットにA4、用紙トレイにレターサイズの紙が あると指定してあっても関係なしに出力されてしまいます。

このドライバでは-sPAPERSIZEオプションかsetpagedeviceオペレータによって 指定したサイズを用紙方向も含めて正しく扱うことができます。 また、任意の用紙サイズにも対応しています。 ただし、機種によって対応する用紙サイズに制限がありますのでどの用紙サイズが使えるかは使用しているプリンタの説明書を参照して下さい。(例えば、A4 機である LBP-450 では A3 の用紙では出力できませんし、LBP-2160 では官製はがきには対応していません。

このドライバを用いた場合、次のオプションが指定されたとき プリンタに正しく用紙サイズの情報が送られます。

-sPAPERSIZE=a3
A3
-sPAPERSIZE=a4
A4
-sPAPERSIZE=a5
A5
-sPAPERSIZE=letter
レター
-sPAPERSIZE=legal
リーガル
-sPAPERSIZE=ledger
レジャー

また、Ghostscript の gs_statd.ps にパッチをあてることにより、 次のオプションでそれぞれの用紙サイズの情報がプリンタに送られます。 (Ghostscript 標準の Bサイズは ISOのBサイズであって JISのBサイズではないことに注意して下さい。)

-sPAPERSIZE=b4
B4
-sPAPERSIZE=b5
B5
-sPAPERSIZE=b6
B6
-sPAPERSIZE=postcard
官製はがき
-sPAPERSIZE=envyou4
洋形4号(封筒)

任意の用紙サイズは次のようにして指定します。

-gnumber1xnumber2
-dDEVICEWIDTH=number1-dDEVICEHEIGHT=number2 を指定した場合も意味は同じです。 それぞれピクセル単位で用紙の幅(number1)と 高さ(number2)を指定して下さい。

官製はがきサイズより小さいサイズや A3 サイズより大きなサイズは LIPS の規格上 印刷できないことになっているので、そのようなサイズが指定された場合は 処理を行ないません。(エラーになります)


給紙方法の選択(デフォルト:自動選択)

-dManualFeedオプションによるMPトレイ(給紙トレイ)からの給紙と -dCassetオプションによる給紙カセットの選択に対応しました。 デフォルトでの給紙は自動選択になります。また、-dManualFeedオプションでの 指定は-dCassetによる指定よりも優先することに注意して下さい。

MPトレイ(給紙トレイ)からの給紙

次のようなオプションを指定することでMPトレイ(給紙トレイ)から 給紙できます。

給紙カセットの選択

-dCasset=numberオプションまたは-DCasset= numberにより給紙カセットを 選択できます。 numberの指定は次のようになります。これら以外の数値を指定すると エラーになります。

-1
給紙カセットの選択をするコマンドを出力しない
0
自動給紙
1
手差し給紙(MPトレイ)
2
下段カセット給紙
3
上段カセット給紙
10
MPトレイ(手差し給紙に相当)
11
カセット1
12
カセット2
13
カセット3
14
カセット4
15
カセット5
16
カセット6
17
カセット7

-dCasset=-1 は -dCasset=0 では自動給紙が働かない場合に用いて下さい。 (少なくとも LBP-A405Jr. では用いる必要があるようです)

プログラマーズマニュアル 4.2 によると支障のない限り"0"または"10"〜"17"を用いて下さいということなので LIPS IV 搭載プリンタではそのようにしたほうがよいでしょう。


複数部印刷(デフォルト:1部)

複数部印刷において高速に処理されるようになりました。gdevlips4-1.2.0では 2ページの文書を3部作る時、6ページ分のデータが必要でしたがこのドライバでは 2ページ分のデータで6ページ印刷されます。

コマンドラインでは、-dNumCopies=numberとして 印刷部数numberを指定して下さい。numberの最大値は255です。


解像度変更(デフォルトは下記)

lips2p.dev では デフォルトの -r240 (-r240x240) つまり 240 dpi しか指定出来ません。 また、lips3.dev では デフォルトの -r300 (-r300x300) つまり 300 dpi しか指定出来ません。 それ以外の解像度を指定するとエラーとなります。

lips4c.dev、lips4.devでは -r解像度 で解像度を変更することができます。 ただし、次のような条件がありますが、基本的に 300、600、1200 dpi 以外を指定するのはあまり意味がないです。 (BJC-680J/BJC-880J で 360 dpi で出力する場合を除く)

lips4.dev、lips4c.dev、lips4v.dev、lips4vc.dev ではデフォルトは600 dpiで60〜600 、1200 dpiが指定できます。

LIPS IV で 高解像度 (600 dpi、1200 dpi) 印字を行なう場合は LISP IV 出力における高解像度印字に関する注意を読んで下さい。 もし内蔵メモリが足りないようでしたら -r300 として 300 dpi で印刷することを おすすめします。

[備考]現在(1999年1月16日)のところ、 1200 dpi で出力可能なプリンタは LBP-840/LBP-850 しか発売されていません。


パネル表示変更(デフォルト:Ghostscript)

プリンタのステータス表示部に表示するコメントを-dUserNameオプションを 用いて動的に表示することができるようになりました。これによって Ghostscriptを印刷のフィルターとして使っている場合、 次のようなインプットフィルターを使うことによって印刷時にユーザ名を プリンタのステータス表示部に表示できるようになります。

#!/bin/sh

user=/dev/null

#
# Get username from filter parameters
#
while [ $# != 0 ]
do  case "$1" in
    -n)   user=$2 ; shift ;;
    *)    ;;
    esac
    shift
done

gs -q -sDEVICE=lips4 -dSAFER -dNOPAUSE -sUserName=$user -sOutputFile=- -

exit 0

両面印刷(デフォルト:パネル設定)

LIPS IVプリンタの中には両面印刷ユニットを装備できるものがありますが、 その機能が使えます。とじ方は2種類選択できます。 この機能に関係するのは Duplex と Tumble です。

Ghostscript のオプションとして両面印刷を指定する場合には次のような オプションを使って下さい。

また、片面印刷を指定する場合には次のようなオプションを使って下さい。

とじ方向

両面印刷をするときとじ方向を長辺とじか短辺とじを指定できます。 デフォルトでは長辺とじです。短辺とじを指定する場合には次のような オプションを使って下さい。 片面印刷時にこのオプションを指定しても意味はありません。

この両面印刷機能に関して、 私は両面印刷ユニットを持っていないので実際に動作するかどうかは わかりません。(規格上は動作するはずです。)


用紙種類指定

LBP-2160(もしかしたら、LPB-2040も?) では普通紙、厚紙、OHP、光沢フィルムに対応していますが、 適切なコマンドを出力しないとトナーの定着に不都合が生じます。 次のオプションを用いてそれぞれの用紙に出力してください。 なお、普通紙以外を指定すると自動的に給紙トレイから給紙されるようになります。

-sMediaType=PlanePaper
普通紙
-sMediaType=CardBoard
厚紙
-sMediaType=OHP
OHP
-sMediaType=TransparencyFilm
OHP
-sMediaType=GlossyFilm
光沢フィルム

フェイスアップトレイの出力

LPB-2160 では通常のフェイスダウントレイの他にフェイスアップトレイへの出力をサポートしています。次のオプションによりフェイスアップトレイに出力することができます。

もしかしたら、LPB-2040 でも使用できるかもしれません。


n 面印刷 (デフォルト: パネル設定)

[警告]これは LIPS IV の非公開機能を使っているため、使用には十分に注意して下さい。対応していない機種もあるかもしれません。 また、psnup でうまくいく PostScript ファイルの場合は、psnup を使いましょう。 psnup を使うほうが全ての面で優れています。 この機能は基本的には psnup でうまくいかない PostScript ファイルに使って下さい。 詳しくは FAQ の「 n 面印刷をするには、どうしたらいいの? 」を読んで下さい。 また、搭載メモリ量により、「システムメモリ フル」などのエラーになる可能性もあるかもしれません。

次のオプションを使うことにより、n 面印刷が可能です。

-dNup=1
1 面印刷 (デフォルト)
-dNup=2
2 面印刷
-dNup=4
4 面印刷

[作者からの助言]この機能で 4 面印刷をする場合、300 dpi と 600 dpi の出力に明らかな差はないので、300 dpi に解像度を落すとより速く出力できます。2 面印刷においてはこの限りではありません。1,200 dpi と 600 dpi の差は分かりません。


フォントダウンロード(デフォルト: しない)

ベクター版デバイス lips4v、lips4vc ではビットマップフォントをダウンロードすることにより、同じ文字が繰り返しでてくる場合、より高速に印刷できるようにすることができます。特に英語の論文などではこの効果は絶大です。 しかし、LIPS IV の制約によりクリッピング処理を行なう場合、少しでもクリッピング領域内にある文字はクリッピング領域外の部分があったとしても丸々描かれてしまうという不具合があります。 クリッピング領域を使いこなした図形を描くような場合はこのオプションは使わない方がよいです。 しかしながら、クリッピング領域で文字カットしながら描くという処理は行なわないユーザの方が多いと思います。

また、18 point 以下のキャラクターしかダウンロードは行ないません。

次のオプションを使うことにより、フォントのダウンロードが可能です。


PJL 出力 (デフォルト: 出力しない)

[警告]これは非公開機能を使っているため、使用には十分に注意して下さい。対応していない機種もあります。 少なくとも LIPS IV 搭載機種では全てのデバイス(lips*.dev)で、 この機能が使えるようです。

次のオプションを使うことにより PJL を出力します。 PJL を出力することによりプリンタの LIPS モードへの切替を制御できます。 しかしながら、LASER SHOT の LIPS モードの自動認識はかなり優秀なので必ずしも このオプションを使う必要はありません。

また、PJL を用いることにより、トナー濃度調節機能トナー節約機能を Ghostscriptドライバで用いることができるようになります。

トナー濃度調節 (デフォルト: パネル設定)

次のオプションを使うことにより、トナー濃度調節が可能です。

-dPJL -dTonerDensity=n
n は 0 から 8, 0 はパネルの設定。数字が大きいほど濃くなります。

トナー節約 (デフォルト: パネル設定)

次のオプションを使うことにより、トナー節約が可能です

逆に次のオプションを使うことにより、トナー節約をしないことが可能です

何も指定しない場合はプリンタのパネル設定に従います。


Netatalk・CAP と Ghostscript + gdevlips

Netatalk や CAP を用いて Ghostscript + gdevlips を用いる場合、 通常 LaserWriter 8 や Adobe PS などのプリンタドライバを使用しますが、 プリンタ記述ファイルで適正なものを書けば上記のオプションは全て Macintosh から指定できるようになります。 また新たにプリンタ記述ファイルを書かなくても既存のものを利用すればかなりのことができます。

また、Ghostscript ドライバの中には LaserWrite 8 の出力する Landscape が回転できないものがありますが、 このドライバではきちんと回転して正常に出力するようになっているので、その点は御安心下さい。

例としてCanon LASER SHOT LBP-730PS用のプリンタ記述ファイルを用いた場合、 変更なしで次の機能が利用できます。

給紙方法選択オプションのうち-dManualFeedオプションはPostScript言語の作法に 従っていますが、-dCassetオプションはそうではないので注意して下さい。 -dCasset を用いるように PPD を記述すれば使えるようになると思います。


変更履歴

gdevlisp-2.1.2 (1999/3/1 release)

gdevlips-2.1.1 (1999/2/23 release)

gdevlips-2.1.0 (1999/2/13 release)

gdevlips-2.0.12 (1999/2/11 release)

gdevlips-2.0.11 (1999/2/9 release)

gdevlips-2.0.10 (1999/2/9 release)

gdevlips-2.0.9 (1999/2/8 release)

gdevlips-2.0.8 (1999/2/7 release)

gdevlips-2.0.7 (1999/2/4 release)

gdevlips-2.0.6 (1999/1/30 release)

gdevlips-2.0.5 (1999/1/28 release)

gdevlips-2.0.4 (1999/1/16 release)

gdevlips-2.0.3 (1999/1/11 release)

gdevlips-2.0.2 (1999/1/8 release)

gdevlips-2.0.1 (1998/11/30 release)

gdevlips-2.0.0 (1998/11/16 release)

gdevlips-2.0.0pre1 (1998/10/10 release)

gdevlips4-19981104 (release 27)

gdevlips4-19981017 (release 26)

gdevlips4-19981015 (release 25)

gdevlips4-19981012 (release 24)

gdevlips4-19981009 (release 23)

gdevlips4-19981006 (release 22)

gdevlips4-19981005 (release 21)

gdevlips4-19980924 (release 20)

gdevlips4-19980922 (release 19)

gdevlips4-19980908 (release 18)

gdevlips4-19980904 (release 17)

gdevlips4-19980822 (release 16)

gdevlips4-19980821 (release 15)

gdevlips4-19980729 (release 14)

gdevlips4-19980716 (release 13)

gdevlips4-19980707 (release 12)

gdevlips4-19980704 (release 11)

gdevlips4-19980623 (release 10)

gdevlips4-19980612 (release 9)

gdevlips4-19980429 (release 8)

gdevlips4-19980413 (release 7)

gdevlips4-19980403 (release 6)

gdevlips4-19980401-2 (release 5)

gdevlips4-19980401 (release 4)

gdevlips4-19980331-2 (release 3)

gdevlips4-19980331 (release 2)

gdevlips4-19980330 (release 1)


バグ

ここにリストされているバグは作者が把握しているバグです。 これ以外のバグがないという意味ではないので注意して下さい。

ここにリストされている以外でバグを発見しましたら 作者まで報告をお願いします。

[lips4v.dev、lips4vc.dev]

1. パスのクリッピング処理時のメモリ不足 (システムメモリフル エラー)

矩形以外のパスで多少複雑なクリッピング処理しただけでプリンタがメモリ不足に陥る。 例えば Tgif で円をパターンフィルして出力した PostScript ファイルでこの現象がみられる。

これは Ghostsciprt 5.10 が出力するクリッピングパスが効率悪いことと、 LIPS IV のパスクリッピング処理がメモリーを食い過ぎるために起こります。

※このバグは Ghostscript 5.50 ではパスのクリッピング処理が効率よくなったために多少ましになっています。 また、キヤノンによると MaxiMem 搭載機ではクリッピングに関するメモリー効率も良くなっているそうなのでこの問題は解決されているかもしれません。(未確認)


2. 幅がゼロのパスをフィルしたとき何も描かれない

PostScript では幅がゼロのパスをフィルしたときも描かれなければならないが、描かれない。

LIPS IV では描かれない仕様です。

※Ghostscript に附属の zeroline.ps を印刷するとこのバグが分かります。


3. 移動距離 0 のパスの扱い

移動距離 0 のパスをストロークした時、setlinejoin が 1 (Round join) のときなにも描かれない。

PostScript ではこのとき円が描かれなければなりませんが、LIPS IV では 描かれない仕様になっています。

※Ghostscript に附属の zeroline.ps を印刷するとこのバグが分かります。


4. Projecting square cap のバグ

線の接合部で、setlinecap で 2 (Projecting square cap) を指定した時、パスをクローズ した部分の線接合がうまくいかない。また、クローズする座標がパスの原点から 引き伸ばした方向にずれる。

LIPS IV のバグです。

※Ghostscript に附属の lines.ps を印刷するとこのバグが分かります。


5. Round cap のバグ

線の接合部でsetlinecap で 1 (Round cap) を指定して、setlinejoin で 2 (Bevel join)を指定したとき、 パスをクローズした部分の線接合は 「ベベル(切り落とし)」 にならなければいけないところ「丸」になってしまう。

LIPS IV のバグです。

※Ghostscript に附属の lines.ps を印刷するとこのバグが分かります。


6. 線の太さが違う

LIPS IV の制限で線の太さの上限は 0.85 インチとなっています。 PostScript にはそのような制限がないので、出力の違いが出てしまいます。

また、Ghostscript の ベクタードライバのバグにより縦横のスケールが異なる場合、 線の太さが違ってきてしまいす。

rectstroke オペレータを使った場合で縦と横の太さが違う場合も正常に描かれません。(縦と横の太さが同じになってしまいます。)


7. 破線のパターンが描かれない

破線のパターンに 0 が含まれている場合、このドライバでは描かれません。

破線のパターンに 0 が含まれている場合のオペレータの挙動はどうなっているのか Red Book に書いてないので私には分かりません。誰か教えて下さい。


8. lips4v ドライバでカラーでパターンを描いた場合色がおかしいことがある

多分、Ghostscript のバグです。lips4vc ではこのバグは見られません。


FAQ

ラスター版デバイスとベクター版デバイスの違いは?

ラスター版デバイスは Ghostscript が作る、ページとほぼ同じ大きさの1枚のビットマップを印刷するデバイスです。 LIPS の命令としては主にラスター・イメージ描画命令しか使っていません。 それに対してベクター版デバイスはより高機能な LIPS の命令を使って印刷するデバイスです。 それぞれに長所と短所があるので使い分けて下さい。

ベクター版デバイスが LIPS の命令として使っているのは次のとおりです。

上記のような機能によってベクター版デバイスはラスターデバイスと比較すると次のような特徴があります。(多少の例外はあります。)


LIPS II+/III のベクター版は作らないの?

作りません。より正確にいうと作れません。

Ghostscript の High-level drawing を実装するには図形描画にパスを使う 必要がありますが、LIPS II+/III にはパスの機能がありません。

Ghostscript の High-level bitmap imaging を実装するには任意の角度のイメージの回転/変形操作を使う必要がありますが、LIPS II+/III にはその機能がありません。


lbp2030.dev はどこいったの?

lbp2030.dev は lips4c.dev と出力する内容が同じになったので廃止しました。 lips4c デバイスが同様のものになります。 しかしながら、Color LASER SHOT で出力する場合は ベクトル版デバイスの lips4vc.dev で出力するほうが 10 倍以上速いと思います。


lips3fig、lips4cfig、lips4fig がないんだけど

*fig.dev は dvipr でしか用いられません。また、dvipr 自体はすでに時代遅れの ソフトウェアになりつつあります。 よってサポートしないことにしました。


プリンタの出力は速くならないの?

LIPS IV 機の場合 -r300 オプションをつけて解像度を 300 dpi (クイック) にすると速くなります。(当然画質は落ちます)

LIPS IV 機で 600 dpi 印刷する場合は lips4 ドライバを用いるのが良いでしょう。 lips4v ドライバを使っても速度的なメリットはありません。

LIPS IV 機で 1,200 dpi 印刷する場合は lips4v.dev を使ったほうが 速いかもしれませんが、私は使ったことないので分かりません。

Color LASER SHOT でカラー印刷する場合は lips4c.dev でなく lips4vc.dev を使った方が高速に出力できます。 (しかし、ベクター版ドライバは制限が多いので注意してください。)


プリンタの内蔵フォントは使えないの?

使えません。


B4 または B5 サイズの用紙指定がうまくいかないんだけど

インストールのところで述べられているように、gs_statd.ps にパッチをあてて下さい。 Ghostscript 標準の Bサイズは ISOのBサイズであって JISのBサイズではありません。


どうして LIPS II+ 対応ドライバは lips2+ や lips2plus という名前じゃないの?

Ghostscript ではデバイスの名前は1から8文字と決まっています。 また、アンダースコア(_)以外の記号は使えないことになっています。


n 面印刷をするには、どうしたらいいの?

PSUtils というソフトウェアに含まれる psnup を用います。 PSUtils は PostScript ファイルの中から特定のページを抽出したり、 ページの並びを変更したりできるコマンド群です。

PSUtils は次のところから得られます。

psnup は次のように使います。より詳しいことはマニュアルを読んで下さい。

psnup -2 [infile[outfile]]
2 ページを 1 ページにまとめて印刷します
psnup -4 [infile[outfile]]
4 ページを 1 ページにまとめて印刷します
psnup -8 [infile[outfile]]
8 ページを 1 ページにまとめて印刷します

ただし、psnup でうまくいかない PostScript ファイルもあります。 そのような場合に LIPS IV に限り、-dNup オプションにより 2 面印刷と 4 面印刷が可能です。 しかし、これは非公開機能を使っていたり、印字速度が遅いという問題がありますので可能な限り psnup を用いましょう。


用紙サイズの拡大、縮小印刷をするにはどうするんですか?

PSUtils に含まれるコマンド psresize を用います。

PSUtils は次のところから得られます。

psresize は A3・A4・A5・レター・リーガルや任意のサイズに対応しています。 下記にいくつか使用例を挙げます。くわしくはマニュアルを参照して下さい。

psresize -q -PA4 -pletter in.ps > out.ps
A4 サイズをレターサイズにします。
psresize -q -PA3 -pA4 in.ps > out.ps
A3 サイズを A4 サイズにします。
psresize -q -W729 -H1032 -w516 -h729 in.ps > out.ps
B4 サイズを B5 サイズにします。

マージンやオフセットを調整するにはどうしたらいいですか?

このドライバのデフォルトのマージン設定は上下左右とも 5 mm になっています。 BJC-680J/BJC-880J は上マージンが 2 mm、下マージンが 8 mm ですので修正する 必要があります。

マージンの値はプリンタの「有効印字領域」で決まります。 この「有効印字領域」の値はそれぞれのプリンタのマニュアルを参照して下さい。

オフセットはプリンタには個体差があるのでそれぞれのプリンタごとに調整します。 オフセットの調整方法には次の二つがあります。

  1. プリンタのパネル設定の「縦補正」「横補正」の機能を用いる
  2. Ghostscript で .HWMarigns/Margins オペレータで調整する。

Ghostscript でマージンの値を変更したい場合は、附属の align.ps を印刷してその印刷された内容に従って次のような内容をファイル margins.ps などと名前をつけたファイルに記入してください。単位は 1/72 inch となっています。

% .HWMargins オペレータの引数は、左、下、右、上のマージンである
% Margins オペレータの引数はそれぞれ、x 方向、y 方向のオフセットである
<<
/.HWMargins [14.1732 14.1732 14.1732 14.1732] /Margins [0 0]
>> setpagedevice

そして、Ghostscript を起動するたびにこの margins.ps を呼び出して下さい。 例えば次のようにします。

gs -q -dSAFER -dNOPAUSE -sDEVICE=lips4 -sOutputFile=- margins.ps -

謝辞

伊藤祥晴氏には圧縮ルーチン部分の提供、スーパーファイン LIPS のテストなどを手伝っていただきました。 また、LISP IV 出力における高解像度印字に関する注意も伊藤氏が書かれた文書です。

二木紀行氏にはプログラミング上の相談にのっていただきました。 またベクター版デバイスの品質向上に協力していただきました。

このソフトウェアの改善に関して、以下の方々から貴重な意見をいただきました。

太田芳彦、石丸哲也、山口一郎、伊藤直史、竹野茂治、成松宏、熊谷正朗、山内仁、 寺川愛印(敬称略)


参考文献

  1. PostScript Language Reference Manual SECOUND EDITION, Adobe Systems Incorporated
  2. プログラマーズマニュアル ソフトウェア概説書 4.1, Canon
  3. プログラマーズマニュアル ソフトウェア概説書 4.2, Canon
  4. プログラマーズマニュアル コマンドリファレンス 4.1, Canon
  5. プログラマーズマニュアル コマンドリファレンス 4.2, Canon
  6. プログラマーズマニュアル クックブック 4.1, Canon
  7. プログラマーズマニュアル クックブック 4.2, Canon

Last modified: Mon Mar 1 23:05:43 JST 1999

千葉大学薬学部薬品物理化学研究室 大森紀人 <URI:mailto:ohmori@p.chiba-u.ac.jp>