ghostscript-7.07 のインストール

縦書きPostscriptファイルの表示のために、NetBSD に ghostscript-7.07 をインストールした。

なぜ、最新の Ghostscript にしないのか、というと、以前 8.x で試したときには、縦書きにしたときに全角の ‘-’ (ハイフン) が縦になってくれないなどの不具合、つまり縦書きにしたときに縦書き用のグリフになってくれない、という不具合があったからだ。

その時試したフォントは TrueType フォントだったが、 CID フォントだとどうなるのか、とか、別の TrueType フォントでも不具合が生じるのか、とか、OpenType だとどうなのか、とかいった検証はしていない。

とにかく、事実としてあるのは、手持ちの TrueTypeフォント (ヒラギノ行書体 TrueType 版) で、ghostscript-7.07 では縦書き Postscript を期待通りに表示してPDFに変換できたのに対し、8.x は期待に答えてくれなかった、ということだ。

とはいえ、ghostscript-7.07 は pkgsrc からなくなってしまっているので、自分で build する必要がある。配布ファイルもいつまで提供されるのかはわからないが、現時点での覚書を作成しておくことにする。

参考にしたサイト

必要なファイル (2011.10.11現在の情報)

  • ghostscript-7.07.tar.bz2
    sourceforgeからもってこれる。まだ入手可能。
  • ghostscript-fonts-std-8.11.tar.gz
    ghostscript-fonts-other-6.0.tar.gz
    どちらもsourceforgeにある。
    ghostscript-fonts-std-8.11.tar.gz は ghostscript-fonts-std-6.0.tar.gz の方を使うほうが正しいかもしれない。どちらでも普通に動作するように見える。
  • jpegsrc.v6b.tar.gz
    CTAN:support/ghostscript/3rdparty/jpegsrc.v6b.tar.gz から入手可能。
    本家であるIndependent JPEG Group のサイトからは入手できない(v8b になっている)。v7 のときにはそのままでは使えなかったので、多分 v8 でもダメだろう。
  • adobe-cmaps
    pkgsrc/fonst/adobe-cmaps (adobe-cmaps-20060615)が利用できる。
    NetBSD であれば pkgsrc で adobe-cmaps をインストールして、できたファイル群 (/usr/pkg/share/Adobe/Resource/CMap にシンボリックリンクが作成される) をコピーするのが楽だと思う。
    元ファイルが O’Reilly
    から入手できるかと思ったが、既に違うファイル(後継のファイル?)に置き換わっている。また、http://partners.adobe.com/public/developer/en/pdf/ (リンク切れ) から数点のファイルを持ってくる必要があるようだが、オリジナルの所在は不明。

    Adobe から持ってくる場合、
    CMap Resources
    に加えて
    Mapping Resources for PDF
    を持ってくればいいみたい。入れてみたら動いた、というだけなので細部まで含めてちゃんと動いているのかどうかはわからない。

インストールの手順

以下は、デフォルトの /usr/local 以下にインストールする前提で記述している。

展開する。

$ tar xzf ghostscript-7.07.tar.bz2
$ tar xzf jpegsrc.v6b.tar.gz

jpeg-6b のソースツリーを jpeg という名称で ghostscript のソースツリーの下に移動する。

$ mv jpeg-6b ghostscript-7.07/jpeg

lib/gs_res.ps の 249-250行目、/FontResourceDir、/GenericResourceDir の設定 (/Resource/Font/、/Resource/) を、/usr/local/share/ghostscript/Resource/Font/、/usr/local/share/ghostscript/Resource/ に変更する。

--- lib/gs_res.ps
+++ lib/gs_res.ps
@@ -246,8 +246,8 @@
/pssystemparams 10 dict readonly def
} if
pssystemparams begin
-  /FontResourceDir (/Resource/Font/) readonly .forcedef        % pssys'params is r-o
-  /GenericResourceDir (/Resource/) readonly .forcedef  % pssys'params is r-o
+  /FontResourceDir (/usr/local/share/ghostscript/Resource/Font/) readonly .forcedef    % pssys'params is r-o
+  /GenericResourceDir (/usr/local/share/ghostscript/Resource/) readonly .forcedef      % pssys'params is r-o
/GenericResourcePathSep (/) readonly .forcedef       % pssys'params is r-o
end
end

Makefile.in の XLDFLAGS を修正する。

- XLDFLAGS=
+ XLDFLAGS=-Wl,-rpath,/usr/pkg/lib

configure を実行する。

(X Window System なしの場合)
$ cd ghostscript-7.07
$ ./configure
(X Window System ありの場合)
$ cd ghostscript-7.07
$ ./configure --with-x --x-includes=/usr/pkg/include --x-libraries=/usr/pkg/lib

コンパイル(BSD make だとうまく動かない)

$ gmake

インストール

$ sudo gmake install
$ cd /usr/local/share/ghostscript
$ tar xzf ghostscript-fonts-std-8.11.tar.gz

Adobe のサイト から以下のファイルをダウンロードする。

$ sudo mkdir /usr/local/share/ghostscript/Resource
$ cd /usr/local/share/ghostscript/Resource
$ sudo tar xzf cmapresources_identity0.tar.z
# (以下、同様に全ファイルを /usr/local/share/ghostscript/Resource 下に展開)
$ sudo mkdir CMap
$ cd CMap
$ for i in ../*/CMap/*; sudo ln -s $i .; done
$ for i in ../ToUnicode/* ../MappingOther/*; do sudo ln -s $i .; done

後は、/usr/local/share/ghostscript/7.07 の CIDFnmap にフォントを定義するか、フォントを定義した CIDFnmap をカレントディレクトリに置いておけば良い。

例えば、以下の内容の CIDFnmap と フォントファイル dshirgy4.ttc をカレントディレクトリに置いておくと、HiraginoGyoDS-W4 としてヒラギノ行書体フォント(TrueType版)が利用できる。

/HiraginoGyoDS-W4       (./dshirgy4.ttc) ;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です