症状
LaTeXで作成した論文をIEEE PDF eXpressに送信すると、以下のエラーが出て受け付けてくれなかった。
Errors were found on pages XX-XX:
Font Times New Roman, TimesNewRomanPS-BoldMT, TimesNewRomanPSMT is not embedded
検証環境
- Ubuntu 20.04 (on WSL 1)
- TeX Live 2019/Debian (
sudo apt install texlive-full
で入れたもの)- pdfの作成には
platex
→dvipdfmx
を使用
- pdfの作成には
- Ghostscript 9.50
対処法
Ghostscript(gsコマンド)を使用して、既存のpdfに対してすべてのフォントを埋め込むことで解決した。
$ gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dEmbedAllFonts=true -sOutputFile=OUTPUT.pdf -f INPUT.pdf
※上記コマンド内のINPUT.pdf
とOUTPUT.pdf
は、読み込むpdfファイルと書き出すpdfファイルの名前に適宜書き換えること
※オプションの順番は入れ替えないこと
dvipdfmx
コマンド等で最終的に生成したpdfファイルに対してこれを実行し、書き出されたpdfファイルを提出すれば、特に問題なく提出できる。
ちゃんと埋め込まれたかどうかの確認
pdffonts
コマンドで確認できる。
$ pdffonts filename.pdf
埋め込み前(※一部抜粋):
name type encoding emb sub uni
------------------------------------ ----------------- ---------------- --- --- ---
Times New Roman TrueType WinAnsi no no no
TimesNewRomanPSMT TrueType WinAnsi no no no
TimesNewRomanPS-BoldMT TrueType WinAnsi no no no
埋め込み後(※一部抜粋):
name type encoding emb sub uni
------------------------------------ ----------------- ---------------- --- --- ---
VVOOJQ+Times-Roman Type 1C WinAnsi yes yes no
XAVMFS+Times-Bold Type 1C WinAnsi yes yes no
操作を実行することで、フォントが埋め込まれているかを表すemb
がすべて「yes
」になったことがわかる。
うちの環境では、操作によって「Times New Roman」と「TimesNewRomanPSMT」が「Times-Roman」、「TimesNewRomanPS-BoldMT」が「Times-Bold」のフォントによって代用されたらしいが、見た目上特に変わらなかった。
補足
-
参考記事では
gs_pdfwr.ps
内の/.standardfonts
の中身をコメントアウトした上でpdfを書き出し直す方法も紹介されていたが、うちの環境では特に効果がなかった-
platex
→dvips
→ps2pdf
など、ps形式を経由してGhostscriptでpdf形式に変換する方法の場合は効くかも知れない(未検証)
-
-
PDFビューワの印刷機能を使ってpdfを書き出す(フォントの埋め込みにチェックを入れる)という方法もあり、その方法でもエラーの回避は可能
- ただ、私は印刷時の確認不足で文書のサイズがUS LetterサイズからA4サイズに変わってしまい、エラーは回避できたものの提出後に学会から再提出を求められた
- この方法でやる場合は印刷サイズの設定に十分注意すること
参考記事
- TeX で作った pdf にフォントを埋め込む - iwiwiの日記