Ghostscript(ゴーストスクリプト)
Ghostscriptは、
アドビのページ記述言語である
PostScriptやPDFのインタープリタであり、これに基づいた
ソフトウェアパッケージです。デュアル
ライセンスで配布されており、その柔軟性と多機能性から、様々な分野で利用されています。
特徴
Ghostscriptは、主に以下の特徴を持っています。
ラスターイメージプロセッサ (RIP) としての機能: PostScriptファイルをビットマップ画像に変換し、プリンターへ出力します。UNIX環境では、lpdの入力フィルタとして利用されたり、PostScriptやPDFビューアのRIPエンジンとして、表示に必要なラスター画像を生成します。
ファイルコンバータとしての機能: PostScriptからPDFへの変換など、ファイル形式の変換に利用されます。仮想プリンタなどのPDF作成ソフトでは、
PostScriptプリンタドライバと組み合わせて使用されることが一般的です。
画像処理エンジンとしての機能: TeX環境において、EPSファイルをPDFに変換する際の画像処理エンジンとして活用されています。
プログラミング環境としての利用: 言語
インタプリタとしての側面も持ち、汎用的なプログラミング環境としても利用可能です。
高い移植性: UNIX、Linux、macOS、Windowsなど、多くのOSに対応しています。UNIX系OSでは`gs`コマンドで起動しますが、通常は後述するフロントエンドを通じて利用されます。
Ghostscriptをより使いやすくするために、様々なGUIフロントエンドが開発されています。これらのフロントエンドを使用することで、PostScriptやPDFファイルの表示、印刷、スクロール、拡大縮小などの操作が容易になります。
主なフロントエンドには、以下のものがあります。
Ghostview: UNIX/X11環境で動作します。独特な操作感(
ドラッグ方向とスクロール方向が逆)が特徴です。
gv: Ghostviewを視覚的に改良したバージョンで、操作感はGhostviewに似ています。
mgv: Motifを使用したGhostscriptの
フロントエンドで、標準的なUIを提供します。
Ghostgum GSview: Windows、OS/2、UNIX系OSで動作します。Windows版が特に有名で、GTKを使用しています。以前はAladdin Free Public Licenseで配布されていましたが、現在はArtifex GSViewに移行しています。
Artifex GSView: GSview version 6以降はArtifex Softwareによって開発されており、商用
ライセンスでのみ利用可能です。
PDF Blender: クロスプラットフォームなアプリケーションで、PostScriptとPDFの変換やマージが可能です。
Moonshiner: Ghostscriptを使用して
PostScriptをPDFに変換するGUI
フロントエンドで、
Linux上でAdobe Acrobatのような操作感を目指しています。
歴史
Ghostscriptは、
1986年にL. Peter Deutschによって
GNUプロジェクトのために開発され、GPL
ライセンスで公開されました。その後、DeutschはAladdin Enterprisesを設立し、プロプライエタリ
ソフトウェアとしての
ライセンスも提供しました。現在、GhostscriptはArtifex Softwareが所有しており、同社の従業員と世界中のユーザーコミュニティによってメンテナンスされています。現在のバージョンはGPL
ライセンスで再び利用可能ですが、商用プロジェクト向けのプロプライエタリ
ライセンスも存在します。
Ghostscript の実装
Ghostscriptには、いくつかの異なる実装が存在します。
GPL Ghostscript: GPLライセンスで利用可能な公式実装です。
GNU Ghostscript: GNUプロジェクトの一部であり、GPL Ghostscriptから派生しています。
ESP Ghostscript: Easy Software Productsによって開発され、CUPSとの互換性を向上させるための修正が加えられていました。しかし、GPL Ghostscriptに統合されたため、開発は終了しています。
Ghostscript (Artifex Software): Artifex Softwareによるプロプライエタリな商用バージョンです。
GPL Ghostscriptは、Display
PostScriptを完全にサポートするために必要な機能を持つDisplay Ghostscriptのバックエンドとしても利用されています。
関連項目
CUPS
PostScript Printer Description (PPD)