Ghostscript のフォント埋め込みポリシー

Ghostscript でフォント埋め込み指定した場合 (-dEmbedAllFonts=true),Base 14 Fonts と呼ばれる基本フォント (Courier, Courier-Bold, Courier-Oblique, Courier-BoldOblique, Helvetica, Helvetica-Bold, Helvetica-Oblique, Helvetica-BoldOblique, Times-Roman, Times-Bold, Times-Italic, Times-BoldItalic, Symbol, ZapfDingbats の 14個) については埋め込まないようになっているようです.

ただし,PDF/X や PDF/A と呼ばれるフォーマットの場合,これらのフォーマットの要求事項に「全てのフォントを埋め込む事」と言う指定があるため,Base 14 Fonts も埋め込まれるようです.実際,Ghostscript で PDF/X ファイルを作成する - Life like a clown でテストした際にも,PDF/X の場合は Times-Roman フォントが埋め込まれていました.

PDF/A や PDF/X 以外の普通の PDF 形式でも全てのフォーマットを埋め込みたい場合には,以下のコードを修正する事で可能になるようです.

欧文基本14書体を PDF に埋め込むには

Ghostscript は、標準では PostScript Level 1 欧文基本14書体を PDF に埋め込まない。これが好ましくない場合には以下のようにする。

[/opt/local/share/ghostscript/9.02/Resource/Init/gs_pdfwr.ps]
...
/.standardfonts [
%  /Courier /Courier-Bold /Courier-Oblique /Courier-BoldOblique
%  /Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique
%  /Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic
%  /Symbol /ZapfDingbats
] readonly def
...
http://bit.ly/oXfUxH

ただし,Resource/Init/* にあたるファイル群は,Windows 版のオリジナル Ghostscript だとバイナリとして埋め込まれてる?ようなので,Windows 版でこの修正を行う場合には,恐らく,Ghostscript 自体を再ビルドする必要があります.尚,日本語版 Ghostscript と呼ばれている修正バージョンでは,Resource/Init/* のファイルを分離して再ビルドしているようなので,こちらを使用する場合には該当する PostScript ファイルを修正するだけで変更できるようです.

広告を非表示にする