2016年11月22日火曜日

フォントが埋め込まれていない PDF にフォントを埋め込む

表題通りです.

古い日本語論文を読むと,90 年代終わりから 00 年代初頭ぐらいのもので,
PostScript プリンタのフォントダウンロードを期待して Adobe 基本 35 書体と
Ryumin-Ligtht と GothicBBB-Medium を指定するが埋め込んでいない,
という PDF を見かけることがある.

ふつうは代替フォントが表示されて終わるのでなんでも良いけれども,
Mendeley の内蔵ビューワーであったり,ブラウザ内蔵ビューワーであったり,
そういう環境では埋め込まれていない和文フォントはそのまま表示できずに空白になる.

次のコマンドで GhostScript を使ってこれを解決.

$ gs -o font_embedded.pdf -sDEVICE=pdfwrite -dEmbedAllFonts=true -sFONTPATH="/usr/share/fonts/Type1:/path/to/your/font/dir" font_not_embedded.pdf
-o の後には出力ファイル名,最後の引数にしているのはフォントが埋め込まれていない,今回操作を行ないたいファイルへのパス.
言うまでもないけれども,-sFONTPATH="" には : 区切りでフォントへのパスを書く.