Ghostscript 8.71 より前の Ver. には脆弱性がありますので、最新版である 8.71 に更新することをおすすめいたします。
[叩き台につき要改訂]
Ghostscript は PostScript インタープリタです。PostScript ファイルを 読み込んで,画面やプリンタや色々な形式のファイルに出力します。 詳しくは次のページをご覧ください。
PostScript そのものについては,Adobe から4冊の技術資料が出ており, うち3冊はアスキーから邦訳が出ています。他にもたくさんの解説書が出ています。 CQ 出版社の『PostScript 詳細解説』(1997年)という本には, 和製の LEGATOSCRIPT という Macintosh 上の PostScript インタープリタのデモ版が CD-ROM で附いています。
Ghostscript には GNU GPL 版と AFPL 版があります。AFPL 版は商業的な配布に 制限があります。このあたりの事情は,ちょっと古いですが,Ghostscript の作者 L. Peter Deutsch の次のインタビュー記事をご覧ください。
Ghostscript の起動コマンドは UNIX 互換 OS なら
$ gs
で,Microsoft Windows なら
>gswin32c
です。
UNIX 互換 OS では gv や ggv,Microsoft Windows では GSview という GUI 型の ソフトもあります。これらはいずれも背後で Ghostscript を動かしています。
特にそれぞれのヴァージョンのインストール・設定については 次のページをご覧ください。
Ghostscript 7.07 は日本の gs-cjk の寄与を含み,和文の扱いに優れています。 残念ながら Ghostscript 8.xx ではこれが削除されてしまいました(CID フォントや Windows API を使った日本語の表示はできます)。Ghostscript 8.54 では 今のところうまくいっているようです。
Ghostscript のサポートする出力形式を調べるには
$ gs -h
と(Microsoft Windows では
>gswin32c -h
と)打ち込みます。 あるいは Ghostscript を起動して
GS>
のプロンプトで
GS>devicenames ==
と打ち込みます。Ghostscript のプロンプトから抜け出るには
GS>quit
と打ち込みます。
EPS を α(アルファ)チャンネルを使った透過機能附きの PNG に 変換する場合には,UNIX 互換 OS なら例えば
$ gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pngalpha -dEPSCrop -r600 \ > -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sOutputFile=output.png input.eps
と,Microsoft Windows なら例えば
>gswin32c -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pngalpha -dEPSCrop ^ More? -r600 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 ^ More? -sOutputFile=output.png input.eps
とします。
EPS を256色 PNG に変換する場合には,UNIX 互換 OS なら例えば
$ gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=png256 -dEPSCrop -r600 \ > -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sOutputFile=output.png input.eps
と,Microsoft Windows なら例えば
>gswin32c -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=png256 -dEPSCrop ^ More? -r600 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 ^ More? -sOutputFile=output.png input.eps
とします。
次のようにします。
gs -q -dNOPAUSE -dBATCH -sDEVICE=ppm -sOutputFile=- foo.ps | ppmtogif >foo.gif
デフォールトの解像度は 72×72 ですが,“-r600x600” のようなオプションで 解像度が変えられます。
gs -q -dNOPAUSE -dBATCH -sDEVICE=ppm -sOutputFile=- -r600x600 foo.ps | ppmtogif >foo.gif
周囲に余分な領域がある場合は,次のようにしてクロップします。
gs -q -dNOPAUSE -dBATCH -sDEVICE=ppm -sOutputFile=- foo.ps | pnmcrop | ppmtogif >foo.gif
上で使っている ppmtogif,pnmcrop は PBMPLUS や NetPBM というフリーソフトの 画像フォーマット変換パッケージに入っています。 この ppmtogif の部分を変えればいろいろな形式に変換できます。