Hatena::ブログ(Diary)

(iwi)の日記

2012-01-25

TeX で作った pdf にフォントを埋め込む

15:39 | TeX で作った pdf にフォントを埋め込むを含むブックマーク TeX で作った pdf にフォントを埋め込むのブックマークコメント

原稿提出が pdf の際,フォントを埋め込めと言われますが,僕は意外と苦労したので,方法をメモっておきます. 多分主に Times-RomanHelvetica を埋め込むのに苦労. 環境は Ubuntu 10.04

といっても上手くいった方法はめっちゃシンプルで,Ghostscript のフォント埋め込みポリシーを書き換えるというもの.

手元環境だと,/usr/share/ghostscript/8.71/Resource/Init/gs_pdfwr.ps がそれで,/.standardfonts の中を全てコメントアウト.これは,Ghostscript さんが「コレは普通のフォントだから埋めこまなくていいな」と考えるもので,それをコメントアウトすると埋め込まれるようになるっぽい.

あとは,普通に platex → dvipdfmx でも pdflatex でも無事埋め込まれる. pdffonts コマンドで確認すべし.

余談

最初に ACM SIG スタイルの FAQ を見ていましたが,ここに書かれている方法はあまり上手くいきませんでした.

dvips -P pdf は効果が無かった気がする.

上にも書かれている dvips -P download35 は良い感じで,Times-Roman は埋め込まれるようになる.でも Helvetica はダメ.しかも,そこから ps2pdf で作った pdf を pdffonts や evince で開くと "Error: Illegal entry in bfrange block in ToUnicode CMap" というのが大量に出てくる.怪しい.どうやら以下のバグっぽい.

gs に長いオプションをつけるやつは,"Error: /undefined in NeverEmbed" とか言われて上手くいかない.どうやらこれは最近の Ghostscript では無理になったらしい.

余談 2

ところで,TeX ってエラーが起こったときなんか入力を求めてきてウザい,みたいなのがありますが, "-interaction=nonstopmode" とかオプションをつけておくと良いらしいです

tetsuoktetsuok 2012/05/14 09:55 "-file-line-error" オプションをつけると "file: line: error message" というエラーメッセージのフォーマットになるので多少分かりやすくなると思います。http://linux.die.net/man/1/pdftex

iwiwiiwiwi 2012/05/19 20:53 おお,便利そうです,いいですね!

トラックバック - http://d.hatena.ne.jp/iwiwi/20120125/1327473584