以前、biz-Streamが出力したPDFに対して変換処理をするツールとしてGhostscriptを紹介しましたが、
今回は、その続編です。
前回の記事では、変換対象のPDFが、ローカルシステムが持っていないフォントを使用している場合、
インストール済みのフォントに置き換えて処理する方法を紹介しました。
今回は、Ghostscriptに、新規のフォントを導入する方法について紹介します。
以降の説明においては、Linux(= Ubuntu)環境下で、Ghostscript 9.0.0を用いて、
OpenType Font (PostScript Type) を追加する場合について述べています。
バージョンが違うと、設定方法等が違ってくる場合もありますので、ご注意下さい。
新規フォントの導入の手順は、
- Ghostscriptが、新規フォントファイルのリソースを利用できるようにする。
- Ghostscriptが、PDFファイル内のフォント名と、新規フォントファイルのリソースをバインドできるようにする。
となります。
まず、Ghostscriptがフォントファイルを参照できるようにします。
Ghostscriptのインストールディレクトリが
- /usr/local/gs9
フォントファイルの置かれているディレクトリが、
- /usr/local/share/fonts
の場合、まず、以下の要領で、Ghostscript環境にフォントファイルのシンボリックリンクを作成します。
- 《 Ghostscript環境にフォントファイルのシンボリックリンクを作成 》
% ls /usr/local/share/fonts A-OTF-GothicBBBPro-Medium.otf % pwd /usr/local/gs9/share/ghostscript/9.00/Resource % mkdir CIDFont ; cd CIDFont % pwd /usr/local/gs9/share/ghostscript/9.00/Resource/CIDFont % ln -s /usr/local/share/fonts/A-OTF-GothicBBBPro-Medium.otf GothicBBBPro-Medium %
その後、以下の手順で、CIDフォントの横書き・縦書きに対応した2つのファイルを作成し、
フォント名とフォントファイルのバインディングを行います。
- 《 フォント名とフォントファイルを結びつける 》
% pwd /usr/local/gs9/share/ghostscript/9.00/Resource % cd Font % cat > GothicBBBPro-Medium-H /GothicBBBPro-Medium-H /H /CMap findresource [/GothicBBBPro-Medium /CIDFont findresource] composefont pop [Ctrl-C] % cat > GothicBBBPro-Medium-V /GothicBBBPro-Medium-V /V /CMap findresource [/GothicBBBPro-Medium /CIDFont findresource] composefont pop [Ctrl-C] %
現在、Ghostscriptは、フォントリソースとフォント名のバインディング処理の部分の改善が行われている途中のようです。
ところが、新しい仕組みでは、いまのところ、TrueTypeフォントしか対応できていないにもかかわらず、
今回紹介した旧版での手法は、最近のドキュメントには記述がありません。
Ghostscriptで、サードパーティのOpenType Font (PostScript Type) を導入しようとするとハマってしまいます。
みなさんには、今回紹介した手順を参考にして、すんなりと環境構築を行って頂けたらと思います。