GS(1)

名前
gs - GNU Ghostscript インタープリタ/プレビューワ

書式
gs [ オプション ] [ ファイル ] ...

記述
Ghostscript はアドビシステムの PostScript (tm) と Portable Document Format (PDF) 言語の一実装である。 Gs は手続きのなかで ファイル を読んで Ghostscript プログラムとしてそれを実行する。 その後、標準入力ストリーム(通常キーボード)からさらに入力を読む。 各行は別々に解釈される。インタープリタから抜けるには、`quit` コマンド を入力する。 もしインタープリタがファイルの終端にきたときにもそのまま終了する。 中断キャラクタ(例えば Control-C)をタイプしてもよい。

インタープリタは後述するいくつかのスイッチを認識する。それらは コマンドラインのどこにでも入れられ、それ以降の全てのファイルに適用される。

ヘルプメッセージは Ghostscript を -h か -? オプションで起動することにより見られる。このメッセージは利用可能なデバイスも リストする。

Ghostscript は複数の出力デバイス対応で作成されているであろう。 Ghostscript は 通常最初のデバイスを使いそれに出力をだす。最初の出力デバイスとして xyz デバイスを使用するためには、スイッチ
	-sDEVICE=xyz
をコマンドラインに入れなさい。このスイッチは最初の .ps ファイルの前に 置かなければならず、最初に置くことでしか効果をもたないことに注意せよ。 例えば、EPSON プリンタドライバを含んだ通常の構成でプリンタ出力するためには、 シェルコマンド
	gs myfile.ps
のかわりに
	gs -sDEVICE=epson myfile.ps
を使わなければならない。 あるいは次のようにタイプすることでもできる。
	(epson) selectdevice
	(myfile.ps) run
全ての出力はさらなる指示があるまでディスプレイのかわりにプリンタにいく。 selectdevice コマンドを使うことによっていつでもデバイスを切替えることが できる。例えば、
	(vga) selectdevice
or
	(epson) selectdevice
さらに、デフォルトのデバイス名として環境変数 GS_DEVICE を定義することもできる。 これらの優先順位は高い順から次のようになっている:
	selectdevice
	(コマンドライン)
	GS_DEVICE
	(リストのなかの最初のデバイス)

プリンタの解像度を選択するためには次のように使いなさい。
	gs -sDEVICE=<device> -r<xres>x<yres>
例えば、9-ピン EPSON 互換のプリンタの場合、低解像度 (高速) モードは
	gs -sDEVICE=epson -r60x72
で高解像度モードは
	gs -sDEVICE=epson -r240x72
である。

プリンタを出力デバイスとして選択したとき、Ghostscript で出力を送るデバイス をコントロールすることができる。通常、出力は Unixシステムのスクラッチ ファイルに直接出力される。 出力を foo1.xyz、foo2.xyz、...、という連続したファイルに出したい場合は スイッチ
	-sOutputFile=foo%d.xyz
を使いなさい。 %d は printf 形式の仕様となっており、 %02d といった他の形式を使うことができる。 それぞれのファイルは出力の1ページを格納する。 一方、出力を全てのページをまとめた一つのファイル foo.xyz に送るためには、 スイッチ
	-sOutputFile=foo.xyz
を使いなさい。

Unix システム上では、パイプに直接出力できる。例えば、出力をコマンド 'lpr' (多くの Unix システムでプリンタのために出力をスプールするコマンド)にパイプ するためには、スイッチ
	-sOutputFile=\|lpr
を使いなさい。 また、スイッチ
	-sOutputFile=-
で出力を標準出力に送ることができる。 この場合 Ghostscript が標準出力にメッセージを書き出すのを止めるために
 -q スイッチも使わなければならない。

何のデバイスが利用できるか知るためには、Ghostscript が起動した後、
	devicenames ==
とタイプしなさい。 一方、コマンドラインで-h や -? スイッチを使うことができる; ヘルプメッセージは利用できるデバイスもリストする。

異なった用紙サイズを選択するためには、コマンドラインスイッチ
        -sPAPERSIZE=よく使われる用紙サイズ
を使いなさい。 例えば、
        -sPAPERSIZE=a4
や
        -sPAPERSIZE=legal
である。 このリストは gs_statd.ps で定義されるよく使われる用紙サイズよりのものである:
PAPERSIZE | X" | Y" | X cm | Y cm
11x17 | 11" | 17" | 27.94 | 43.18
a0 | 33.0556" | 46.7778" | 83.9611 | 118.816
a10 | 1.02778" | 1.45833" | 2.61056 | 3.70417
a1 | 23.3889" | 33.0556" | 59.4078 | 83.9611
a2 | 16.5278" | 23.3889" | 41.9806 | 59.4078
a3 | 11.6944" | 16.5278" | 29.7039 | 41.9806
a4 | 8.26389" | 11.6944" | 20.9903 | 29.7039
a5 | 5.84722" | 8.26389" | 14.8519 | 20.9903
a6 | 4.125" | 5.84722" | 10.4775 | 14.8519
a7 | 2.91667" | 4.125" | 7.40833 | 10.4775
a8 | 2.05556" | 2.91667" | 5.22111 | 7.40833
a9 | 1.45833" | 2.05556" | 3.70417 | 5.22111
archA | 9" | 12" | 22.86 | 30.48
archB | 12" | 18" | 30.48 | 45.72
archC | 18" | 24" | 45.72 | 60.96
archD | 24" | 36" | 60.96 | 91.44
archE | 36" | 48" | 91.44 | 121.92
b0 | 39.3889" | 55.6667" | 100.048 | 141.393
b1 | 27.8333" | 39.3889" | 70.6967 | 100.048
b2 | 19.6944" | 27.8333" | 50.0239 | 70.6967
b3 | 13.9167" | 19.6944" | 35.3483 | 50.0239
b4 | 9.84722" | 13.9167" | 25.0119 | 35.3483
b5 | 6.95833" | 9.84722" | 17.6742 | 25.0119
flsa | 8.5" | 13" | 21.59 | 33.02
flse | 8.5" | 13" | 21.59 | 33.02
halfletter | 5.5" | 8.5" | 13.97 | 21.59
ledger | 17" | 11" | 43.18 | 27.94
legal | 8.5" | 14" | 21.59 | 35.56
letter | 8.5" | 11" | 21.59 | 27.94
note | 7.5" | 10" | 19.05 | 25.4

初期化ファイル
初期化ファイル (gs_*.ps)、フォントに関連するファイル、または `run' オペレータで使われるファイルを探すとき、Ghostscript は最初に与えられた 名前でファイルを開こうとする (すなわち、何も明示されない場合カレント ディレクトリを使う)。もしこれが失敗したり、ファイル名が正確なディレクトリや ドライブを指定しない(すなわち Unix システムでは '/' で始まらない)場合、 Ghostscript は次の順序でディレクトリを試す:

1.  (もしあるなら)コマンドラインの -I スイッチ(後述)で指定されたディレクトリ;

2.  (もしあるなら)GS_LIB 環境変数で指定されたディレクトリ;

3.  Ghostscript makefile の GS_LIB_DEFAULT マクロで指定されたディレクトリ (それは "/usr/local/share/ghostscript/M.N:/usr/local/share/ghostscript/fonts" にセットされる。M.N は Ghostscript のバージョン番号である)

これら(GS_LIB_DEFAULT、 GS_LIB、 と -I パラメータ)はそれぞれ 一つのディレクトリか `:' で分離されたディレクトリのリストである。

X リソース
Ghostscript はプログラム名 `Ghostscript' の下の次のリソースを探す:

borderWidth
    ピクセル単位でのウィンドウの幅 (デフォルト = 1)。

borderColor
    ウィンドウの色名 (デフォルト = black)。

geometry
    ウィンドウのサイズと場所、WxH+X+Y (デフォルトは NULL)。

xResolution
    1インチあたりの x ピクセル数 (デフォルトは WidthOfScreen と WidthMMOfScreen から計算される)。

yResolution
    1インチあたりの y ピクセル数 (デフォルトは HeightOfScreen と HeightMMOfScreen から計算される)。

useBackingPixmap
    表示するウィンドウを保時するために backing store を使用するかどうか決める (デフォルト = true)。

リソースの完全なリストをみるためにはファイル `use.txt' を見ること。

これらのリソースをセットするためには、これらを次のような形式でファイル (~./Xresources といったような)にいれなさい。

	Ghostscript*geometry:	612x792-0+0
	Ghostscript*xResolution: 72
	Ghostscript*yResolution: 72

そして X サーバにそれをロードしなさい。

	% xrdb -merge ~/.Xresources

オプション

-- ファイル名 引数1 ...
    は、通常次の引数をファイル名としてとるが、残りの全ての引数(たとえスイッチの 文法形式だとしても)はそのファイルを実行する 前 にこれらの記述を配列として userdict (systemdict でない) に ARGUMENTS と いう名前で定義する。Ghostscript がファイルの実行を終了したとき、 シェルに戻る。

-Dname=token
-dname=token
    は、systemdict に与えられた定義で name を定義する。token はちょうど一つの トークンでなければならない (`token' オペレータによって定義されている) し、空白を含んでいてはいけない。

-Dname
-dname
    は、systemdict に値 null で name を定義する。

-Sname=string
-sname=string
    は、systemdict に値として与えられた value を name として定義する。 これは -d とは異なる。例えば、-dname=35 はプログラムで
                /name 35 def
    と同等だが、
    -s name=35 は
                /name (35) def
    と同等である。

-q  は、静的スタートアップ - 通常のスタートアップメッセージを抑制する。 -dQUIET とも同じ意味である。

-gnumber1xnumber2
    これは、 -dDEVICEWIDTH=number1 と -dDEVICEHEIGHT=number2 を実行したのと同じ意味である。 これは(X Window System のような)幅と高さを指定するのが必要(または可能) なデバイスのためのものである。

-rnumber
-rnumber1xnumber2
    は、 -dDEVICEXRESOLUTION=number1 と -dDEVICEYRESOLUTION=number2 を実行したことと同じ意味である。 これは(プリンタのような)複数の X と Y 方向の解像度をサポートするデバイス のためのものである。 (もしただ number だけが与えられたとき、X と Y 方向の解像度両方にそれが 使われる。)

-Iディレクトリ
    は、ライブラリファイルの検索パスの頭に、探して欲しいディレクトリのリストを 加えるものである。

-   これは実際にはスイッチではない。Ghostscript に標準の入力をファイルや パイプから行なわせるものである。Ghostscript はファイルの終端がくるまで 標準入力から読み、それを他のファイルのように実行し、そしてコマンドライン に書かれたプロセスを続ける。コマンドラインの最後で、Ghostscript は インタラクティブモードに行かずに終了する。

gs_init.ps は systemdict を読み込みのみにするので、-D/d/S/s で定義された 名前の値を変更することができないことに注意せよ。 (しかし、もちろん、それらは userdict や他の辞書に定義することによって 代替できる。)

特殊オプション

-dDISKFONTS
    各キャラクターのアウトラインをそれらが出てきた最初の時点でディスクから ロードするようにする。(通常 Ghostscript はフォントをロードするときに 全てのキャラクターをロードする。)これはレンダリング速度を犠牲にして
     RAM により多くのフォントをロードできるようにする。

-dNOCACHE
    キャラクタのキャッシュを無効にする。デバッグにのみ有効である。

-dNOBIND
    `bind' オペレータを無効にする。デバッグにのみ有効である。

-dNODISPLAY
    出力デバイスの通常の初期化を抑制する。 これはデバッグのとき有効である。

-dNOPAUSE
    それぞれのページの最後のプロンプトと停止を無効にする。 これはプログラムが Ghostscript を「駆動する」アプリケーションの 場合には指定するのが望ましい。

-dNOPLATFONTS
    プラットフォーム(例えば X Window System)に基づいて供給されるフォントの使用 を無効にする。これはもしプラットフォームのフォントがスケーラブルフォントと ひどく異なるときには必要であろう。

-dSAFER
    deletefile と renamefile オペレータと読み込みのみ以外のあらゆるモード でファイルを開く能力を無効にする。これはスプーラーや他の影響のある環境の場合 指定するのが望ましい。

-dWRITESYSTEMDICT
    systemdict を書き込み可能にしておく。これは font2c や pcharstr のような 特殊なユーティリティープログラムを走らせる場合に必要である。それらは 通常の PostScript アクセス保護を回避する。

-sDEVICE=デバイス
    上述したように、別の初期出力デバイスを選択する。

-sOutputFile=ファイル名
    上述したように、初期出力デバイスとして別の出力ファイル (またはパイプ) を選択する。

ファイル

/usr/local/share/ghostscript/M.N/*
    スタートアップファイル、ユーティリティー、基本フォント。

/usr/local/share/ghostscript/fonts/*
    追加フォント

/usr/local/share/ghostscript/M.N/examples/*
    デモ Ghostscript ファイル。

/usr/local/share/ghostscript/M.N/doc/*
    分類した場合のドキュメントファイル。

環境変数

GS_OPTIONS
    コマンドラインオプションの前に付けられるオプション手続き

GS_DEVICE
    使用するデバイスを定義するために使用される。

GS_FONTPATH
    フォントを探すパス名。

GS_LIB
    初期化ファイルとフォントのパス名。

TEMP
    一時ファイルが作られる場所。

関連項目
様々な Ghostscript ドキュメントファイル (上述)。

バグ
ネットワークのニュースグループ `comp.lang.postscript' を見よ。