LoginSignup
6
2

More than 5 years have passed since last update.

PDFのフォント埋め込み

Last updated at Posted at 2019-03-27

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-HPRyumin-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
6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2