芹緒な日本語 PDF を読もう!

BiTmap Publishingさんとの相互リンク記念(^_^)

PDF (Portable Document Format)とは Adobe Systems Inc.が開発した文書フォーマットで,電子配布に適している点から最近よく使われるようになりました.

ですが今までは UNIX 系 OS の日本語 PDF 対応が進んでおらず,BiTmap Publishingさんの「ロボットのココロ」「芹緒といっしょ」のPDFファイル版を楽しめず,悲しい思いをした(あるいは泣く泣く(?) Windows, Mac に頼った)方も多かろうと思います.

しかし,ついに片山紀生さんによって日本語 PDF対応 Ghostscript パッチが公開されました. わーい.

Ghostscript のインストールは(さほど難しくはないのですが)結構面倒なので,ここで手順をまとめてみました. (そのうち各OS用のパッケージも作られると思いますが,それまでのつなぎということで.)

手順の概略

  1. 前提
  2. 必要なファイルの入手
  3. ソース展開&パッチ当て
  4. Ghostscript のインストール
  5. 日本語フォントの設定
  6. テスト
  7. PDF対応 Ghostview のインストール
  8. 印刷

前提

私がコンパイルを行った環境は Linux 2.0.33, Slackware ですが,OS 依存の問題はほとんどなさそうなので,gcc を使えば他の UNIX 系 OS でも手順はほとんど同じだと思います.

それから VFlib-2.22 は既にインストールされているものとします. パッチレベルが古いとうまく動かないかもしれないので,できるだけ新しいものをインストールしましょう.

お使いの OS に対応したパッケージ(例えば Linux なら PJE等)があればそれを利用するのがてっとり早いでしょう.

必要なファイルの入手

Ghostscript のホームページより必要なファイルを入手します. ここのダウンロードのページより必要最低限のものは入手できます. さらに追加フォントも入手しておくと良いでしょう. 以下に入手するもののリストを挙げます.

次に田中哲さんのフリーソフトウェアのページよりGhostscript VFlib 対応パッケージを,片山さんのページより日本語 PDF 対応パッチを入手します. 片山さんのページには ghostview の PDF 対応版もありますので,これも入手しておくとよいでしょう.

まとめると,必要なものは以下になります.

ソース展開&パッチ当て

ここでは入手したファイルが全てカレントディレクトリ(以下 SOMEWHERE で参照します)にあるものとして話を進めますので適当に読み変えてください.

まずはいきなりアーカイブの展開,パッチ当て,そしてディレクトリ名の変更まで一気にやってしまいましょう. (tar が GNU tar でない場合は`gzcat -c ghostscript-5.10.tar.gz | tar tfv -'のように gzcat と組み合わせて展開します.)

%tar xfvz ghostscript-5.10.tar.gz
%tar xfvz gs5.10-vflib-1.1.tar.gz
%tar xfvz gs5.10-jpdf-0.1.tar.gz

%patch -p0 < gs5.10-vflib-1.1/gs5.10-vflib-1.1.diff
%patch -p0 < gs5.10-jpdf-0.1/gs5.10-jpdf.diff

%cd gs5.10

%tar xfvz ../ghostscript-5.10jpeg.tar.gz
%tar xfvz ../ghostscript-5.10libpng.tar.gz
%tar xfvz ../ghostscript-5.10zlib.tar.gz

%mv zlib-1.0.4 zlib
%mv libpng-0.96 libpng

Ghostscript のインストール

上記の手順の続きで (SOMEWHERE)/gs5.10 ディレクトリにいるものとします. *.mak ファイルのうちで環境やコンパイラに合うものを Makefile にコピーします. gcc を使うなら大抵の場合 `unix-gcc.mak' で良いと思います.

cp unix-gcc.mak Makefile

この Makefile を編集します. X 関係のディレクトリ指定を変更するくらいで十分でしょう. (後で試したところ, UNIX 界の鬼っ子 IRIX でもそのままコンパイルが通りましたし)

XINCLUDE=-I/usr/include/X11
XLIBDIRS=-L/usr/X11/lib
XLIBDIR=-L/usr/X11/lib

いよいよコンパイルです. 時間は結構かかります. コンパイルが正常終了したら`make install'します.

%make
%su
#make install

フォントをインストールします. `other' のフォントはディレクトリを掘らないので,cd するのを忘れないでください.

#cd /usr/local/share/ghostscript
#tar xfvz (SOMEWHERE)/ghostscript-fonts-std-5.10.tar.gz
#cd fonts
#tar xfvz (SOMEWHERE)/ghostscript-fonts-other-5.10.tar.gz

日本語フォントの設定

VFlib とフォント名の対応をつけます. VFlib の設定で min, goth がそれぞれ明朝,ゴシックに対応している状態ならば特に変更の必要はありません. (VFlib が入っていれば標準でこの設定になっているんじゃないでしょうか?)

もし必要ならば, /usr/local/share/ghostscript/5.10vflib/kanji/kconfig.ps を修正してください.

テスト

以上の作業でで日本語 PDF を見ることができるようになっているはずです.

上述のBiTmap Publishingさんのページより PDF ファイルを入手してぜひ楽しんでください :-) 「ロボットのココロ」と「芹緒といっしょ」の2編があります.

%gs sor-wa5o.pdf
%gs cel-wa5o.pdf

PDF対応 Ghostview のインストール

裸の Ghostscript は扱いにくいので,普通はフロントエンドの Ghostview 経由で使います. PDF対応版 Ghostview はパッチでなく独立のパッケージの形になっているので,インストールも簡単です.

具体的には以下の手順です.

%tar xfvz (SOMEWHERE)/gv1.5gs5.10-jpdf-0.1.tar.gz
%cd gv1.5gs5.10-jpdf-0.1
%xmkmf
%make
%su
#make install

ghostview ではなく,gv ならば普通にインストールしただけで日本語 PDF を扱えるようです. ただしこちらはインストールに Xaw3D が必要なので,やっぱり面倒かもしれません. 見栄えは ghostview よりもずっといいのですが….

印刷

非 PostScript かつ Ghostscript が対応しているプリンタなら普通に印刷できると思います. 私の周りには PS プリンタしか無いので,試した方は結果を教えていただけると嬉しいです.

PS プリンタの場合は pdf2ps が現状では未対応とのことで,扱いがちょっと面倒かもしれません. とりあえず Ghostscript でビットマップ化してから出力するということになります. 一応私の試した方法を挙げておきます. サイズにもよりますが,いきなり印刷してもOKでしょう.

  1. フォントをビットマップ化したPSを作る(pswrite). -r オプションが解像度です(プリンタの DPI に応じて設定しましょう).
    %gs -q -dNOPAUSE -sDEVICE=pswrite -r300 -sOutputFile=tmp.ps ~/leaf/sor-wa5o.pdf -c quit
  2. lpr で印刷する
    %lpr tmp.ps

ただし,うちで試した限りでは「ロボットのココロ」「芹緒といっしょ」いずれのPDFでも挿絵の画像を一部変換し損ねているみたいです…. 画面ではちゃんと見れているのに〜.


ホームページへ戻る

TF <tf@denpa.org>