2007/09/11

Ghostscriptのインストール(SPARC/Solaris 8 + Ghostscript 8.54)

Ghostscriptのインストール(SPARC/Solaris 8 + Ghostscript 8.54)

 ちょいと仕事の関係で、PostscriptからPDFにデータの変換をする用事があって、Ghostscriptのインストールをやったのだけれど。
 探し方が悪かったのか、なかなか良い資料が見つからなくて苦労した次第。
 折角なので、最終的に上手くいった手順をまとめてみた。どこかの誰かの参考になれば幸いなんである。

Ghostscriptってなに?

GhostscriptとはPostScriptとPDFのインタプリタのフリーソフトウェア実装。および、それを元としたソフトパッケージのことである。

以下のような用途で使われることが多い。

  • RIPとして、PostScriptファイルをラスター画像に変換してプリンターに送る。例えば、unixに於けるlpdの入力フィルタとして。
  • PostScript および PDF ビューワなどに表示するラスター画像を裏で生成するRIPエンジンとして。
  • ファイルコンバーターとして。特に PostScript から PDF への変換ソフトとして。
  • PostScript プログラムの実行環境として。

Wikipedia - Ghostscriptより引用

 今回の場合は、ファイルコンバータとしての利用法を想定している。

 ついでに、Solarisのjpostprint(テキストデータをPostScriptに変換するフィルタ)で作ったPostScriptに変換したデータもPDFに変換させたりしている。その関係で、日本語フォント関連の設定が必要だった次第である。(アタリマエの話だけどTeXで作った日本語文書の変換をするときもフォント関連の設定は必要になる, とゆーか、むしろそっちの方が用途としてはメジャー)

インストールしたときの環境

CPUの種類
SPARC/x86 (両方の環境で確認済み, ただしSolaris 8/x86は未検証, 多分だいじょうぶだけど)
OS
Solaris 8 / Solaris 10 (両方の環境で確認済み)
Ghostscrtipt
Ghostscirpt 8.54 (Freeware for Solarisからバイナリをダウンロード)

ダウンロード

 今回は、Freeware for Solarisから次のファイルをダウンロードした。

インストール

 以下の手順で、インストールを行う。
各ファイルのパスは、ダウンロードしたファイルを/tmpに置いてある前提で記述してある。それから、コマンドの例示はSolaris 8/SPARCの場合のものなので、バージョン/CPUが異なる場合には、それに合わせて適宜変更されたい。

 なお中にはコマンドが長くて、画面に表示しきれていないものがある。データとしては存在しているので、コピー&ペーストするか、HTMLのソースを直接おって確認いただければ幸いである。

   su root

   cd /tmp
   PATH=/usr/sbin:$PATH ; export PATH
   gzip -d ghostscript-8.54-sol8-sparc-local.gz
   pkgadd -d ghostscript-8.54-sol8-sparc-local

   cd /usr/local/share/ghostscript/8.54/lib
   gzcat /tmp/ghostscript-fonts-other-6.0.tar.gz | tar -xfBp -
   gzcat /tmp/ghostscript-fonts-std-6.0.tar.gz | tar -xfBp -
   gzcat /tmp/ghostscript-fonts-std-8.11.tar.gz | tar -xfBp -

動作確認

 サンプルファイルを利用して、Ghostscriptのインストールが正常に終わったことを確認する。

   PATH=/usr/local/bin:$PATH ; export PATH
   GS_FONTPATH=/usr/openwin/lib/X11/fonts/Type1/outline
   export GS_FONTPATH
   GS_LIB=/usr/openwin/lib/X11/fonts/Type1:/usr/openwin/lib/X11/fonts/Type3:/usr/local/share/ghostscript/8.54/lib/fonts
   export GS_LIB

   gs -sDEVICE=x11alpha /usr/local/share/ghostscript/8.54/examples/alphabet.ps

環境変数の設定

 次の環境変数を追加する。

Cシェルの場合の書き方

 $HOME/.cshrc に以下の記述を追加する。

   setenv GS_FONTPATH /usr/openwin/lib/X11/fonts/Type1/outline
   setenv GS_LIB /usr/openwin/lib/X11/fonts/Type1:/usr/openwin/lib/X11/fonts/Type3:/usr/local/share/ghostscript/8.54/lib/fonts
shの場合の書き方

 $HOME/.profile に以下の記述を追加する。

   GS_FONTPATH=/usr/openwin/lib/X11/fonts/Type1/outline
   export GS_FONTPATH

   GS_LIB=/usr/openwin/lib/X11/fonts/Type1:/usr/openwin/lib/X11/fonts/Type3:/usr/local/share/ghostscript/8.54/lib/fonts
   export GS_LIB

インストール後の設定

リソース参照先の変更

 Ghostscriptが参照するリソースの場所を変更する。

   cp -p /usr/local/share/ghostscript/8.54/lib/gs_res.ps /usr/local/share/ghostscript/8.54/lib/gs_res.ps.org
   vi /usr/local/share/ghostscript/8.54/lib/gs_res.ps

 vi でファイルを開いたら、変更前の記述を探して、変更後の記述に書き換える。

   #--- 変更前 (抜粋)
   pssystemparams begin
     .default_resource_dir
     /FontResourceDir (Font) .resource_dir_name
        readonly .forcedef        % pssys'params is r-o
     /GenericResourceDir () .resource_dir_name
        readonly .forcedef        % pssys'params is r-o
   #--- 変更後 (抜粋)
   pssystemparams begin
     .default_resource_dir
     /FontResourceDir
(/usr/local/share/ghostscript/8.54/Resource/Font/) .resource_dir_name
        readonly .forcedef % pssys'params is r-o
     /GenericResourceDir (/usr/local/share/ghostscript/8.54/Resource/)
.resource_dir_name
        readonly .forcedef % pssys'params is r-o
Font Specファイルの調整

 Font Specファイルとは、PostScriptフォント名に対して、どの日本語CIDフォントを割り当てるかを指定するファイルのこと。これをきちんと作成しておかないと、Postscriptファイルの表示やPDFフォーマットへの変換が正しく行えない。

 Solarisの場合、/usr/openwwin/lib/locale/X11/Resource/Fontの下に定義済みのファイルがごっそりあるので、これを流用する。

  mkdir -p /usr/local/share/ghostscript/8.54/Resource/Font
  cd /usr/local/share/ghostscript/8.54/Resource/Font
  for i in `ls /usr/openwin/lib/locale/ja/X11/Resource/Font/*.ps | \
   grep -v NotDef` ; do
     cp $i `basename $i .ps`
  done
CIDフォント代替フォントの指定

 さらに、CIDフォント代替フォントの指定を行う。
 cidfmap に以下の記述を追加する。

   cp -p /usr/local/share/ghostscript/8.54/lib/cidfmap /usr/local/share/ghostscript/8.54/lib/cidfmap.org
   vi /usr/local/share/ghostscript/8.54/lib/cidfmap
   %--- 追加する記述
   /HG-MinchoL     << /FileType /TrueType /Path (/usr/openwin/lib/locale/ja/X11/fonts/TT/HG-MinchoL.ttf) /CSI [(Japan1) 6] >> ;

   /Ryumin-Light   << /FileType /TrueType /Path (/usr/openwin/lib/locale/ja/X11/fonts/TT/HG-MinchoL.ttf) /CSI [(Japan1) 6] >> ;

   /GothicBBB-Medium   << /FileType /TrueType /Path (/usr/openwin/lib/locale/ja/X11/fonts/TT/HG-GothicB.ttf) /CSI [(Japan1) 6] >> ;
フォント設定のテスト

 フォント設定が正しく行えたかを確認するため、次のリンク先の表示を拡張子 .ps のファイル名で保存し、Ghostscriptで表示する。

   vi /tmp/jpfont_test_euc.ps
   gs -sDEVICE=x11alpha /tmp/jpfont_test_euc.ps

   vi /tmp/jpfont_test_utf8.ps
   gs -sDEVICE=x11alpha /tmp/jpfont_test_utf8.ps

 以上で設定完了である。
 わかってしまえば、操作は何も難しくない。ただ、CIDがどーだとか、Ghostscriptのリソース参照先がどーだとか、わかってない人には、やっぱりなかなか敷居が高い次第なんである。

参考にしたサイト

 次のサイトを参考にした。

0 コメント: