dvipdfmxでLaTeXをpdf化すると一部のフォントが埋め込まれない
LaTeXで論文を書いたのち、dvipdfmxでコンパイルすると、
pdfファイルに一部のフォントが埋め込まれないという問題が発生しました。
$ pdffonts thesisAbst2018.pdf
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
GothicBBB-Medium-Identity-H CID Type 0 Identity-H no no no 5 0
YYRZUX+CMR10 Type 1C Builtin yes yes no 6 0
Ryumin-Light-Identity-H CID Type 0 Identity-H no no no 8 0
LFORQU+CMBX10 Type 1C Builtin yes yes no 9 0
GETKLM+CMSY10 Type 1C Builtin yes yes no 10 0
OWDZOD+CMMI10 Type 1C Builtin yes yes no 11 0
ZWWNQK+CMBX9 Type 1C Builtin yes yes no 29 0
VQIPSE+CMMI9 Type 1C Builtin yes yes no 30 0
MDMAVC+CMR9 Type 1C Builtin yes yes no 31 0
LiberationSans CID TrueType Identity-H yes no yes 21 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 27 0
LiberationSans CID TrueType Identity-H yes no yes 40 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 46 0
LiberationSans CID TrueType Identity-H yes no yes 56 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 62 0
LiberationSans CID TrueType Identity-H yes no yes 72 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 78 0
LiberationSans CID TrueType Identity-H yes no yes 88 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 94 0
LiberationSans CID TrueType Identity-H yes no yes 104 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 110 0
LiberationSans CID TrueType Identity-H yes no yes 120 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 126 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 139 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 149 0
DejaVuSans CID TrueType Identity-H yes no yes 155 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 165 0
DejaVuSans CID TrueType Identity-H yes no yes 171 0
LiberationSans CID TrueType Identity-H yes no yes 177 0
どうもGothicBBB-Medium-Identity-HP
とRyumin-Light-Identity-H
が埋め込まれていないようです。
フォントの埋め込みをしないとどうなるか
##ケース1:他のPCでpdfを開いた時に外観が異なってしまう可能性がある
例えばbeamerなどを使ってスライドを作成し、pdfにして発表先備え付けのPCで開くことを想定します。
フォントが埋め込まれていないと、そのPCの環境のフォントで代用されるため、本来想定したフォントと違う外観になってしまう可能性があります。最悪数式などが文字化けするかも......
##ケース2:プレビュー通り印刷できない可能性がある
文字が埋め込まれていない場合は、 プリンタが作成するフォントが使われる場合があります。
そうなると、プレビューで見ていた見映えとこれまた異なってしまう可能性があります。
解決策(応急処置)
調べると、dvipdfmxを使わずps2pdfやgsを用いることで解決するといった情報がありました。
ただ、できれば慣れ親しんだdvipdfmxを使いたい......
ということで今回は以下の方法で対処しました。
今回のは応急処置的な対処なので、日常的に使うにはバッドノウハウかもです。
まずtexfonts.mapというファイルを作成し、以下を記述します。
IPAフォントを埋め込む記述です。
rml H :0:ipam.ttf
gbm H :0:ipag.ttf
rmlv V :0:ipam.ttf
gbmv V :0:ipag.ttf
そして、
$ dvipdfmx -f texfonts.map thesisAbst2018.dvi
すると、以下のようにきちんと埋め込まれました。
$ pdffonts thesisAbst2018.pdf
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
GMXLCY+IPAGothic CID TrueType Identity-H yes yes no 5 0
TTHLJE+CMR10 Type 1C Builtin yes yes no 6 0
ODPICC+IPAMincho CID TrueType Identity-H yes yes no 8 0
VUEWNQ+CMBX10 Type 1C Builtin yes yes no 9 0
GXLGXC+CMSY10 Type 1C Builtin yes yes no 10 0
BDOAQT+CMMI10 Type 1C Builtin yes yes no 11 0
AGYPOA+CMBX9 Type 1C Builtin yes yes no 29 0
SIVZVG+CMMI9 Type 1C Builtin yes yes no 30 0
FSCKOP+CMR9 Type 1C Builtin yes yes no 31 0
LiberationSans CID TrueType Identity-H yes no yes 21 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 27 0
LiberationSans CID TrueType Identity-H yes no yes 40 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 46 0
LiberationSans CID TrueType Identity-H yes no yes 56 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 62 0
LiberationSans CID TrueType Identity-H yes no yes 72 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 78 0
LiberationSans CID TrueType Identity-H yes no yes 88 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 94 0
LiberationSans CID TrueType Identity-H yes no yes 104 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 110 0
LiberationSans CID TrueType Identity-H yes no yes 120 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 126 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 139 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 149 0
DejaVuSans CID TrueType Identity-H yes no yes 155 0
NotoSansCJKjp-Regular CID TrueType Identity-H yes no yes 165 0
DejaVuSans CID TrueType Identity-H yes no yes 171 0
LiberationSans CID TrueType Identity-H yes no yes 177 0