はじめに
先日にRで作成した図(PDF)を提出したところ、提出先の方から「DTPソフトに図を取り込むと、フォントが使用できないという警告が出る」と言われました。
この件に関して提出先の方に話を聞いてみると、「作成したPDFファイルにフォントを埋め込めば、DTPソフトの警告が出なくなる」とのことでした。
そこで今回は、作図する際にフォントを埋め込む方法を記事としてまとめてみました。
使用した環境
- OS:Windows11(24H2)
- R:GNU R 4.0.2
PDFにフォントが埋め込まれているかの確認
- 以下の手順で問題となったPDFにフォントが埋め込まれているかを確認したところ、やはりフォントは埋め込まれていませんでした。
- PDFファイルを開き、[メニュー]>[文書のプロパティ]に進みます。
- [フォント]タブを開いて、フォント名の横に「(埋め込みサブセット)」と書かれていればフォントが埋め込まれています。
図にフォントを埋め込む方法
- こちらのURLを見ると、Rで作った図にフォントを埋め込む方法はいくつかあるそうですが、今回は最も基本的と思われるGhostScript+embedFonts関数を使うことにしました。
GhostScriptのインストール
- GhostScriptは、PDFファイルを操作するために使われるツールだそうです。
- 以下のURLから、GhostScriptをダウンロードしてインストールします。
- www.ghostscript.com
- 今回は「Ghostscript 10.05.0 for Windows (64 bit)」を利用しました。
- GhostScriptのインストールが完了したら、OSを再起動します。
作図するコマンドの修正
- 以下のようにPDFを作図するコマンドは従来通りで、作図が終わった後(=dev.off()の後)に
embedFonts
を呼び出すことでフォントを埋め込むことが出来ました。- 以下の例では、fig2.pdfを開いてフォントを埋め込んだものをfig2_embed.pdfとして保存しています。
作図するコマンド
pdf("fig2.pdf", width=5, height=3) // ここからfig2.pdfの作図開始
...
...
...
dev.off() // ここで作図終了
embedFonts("fig2.pdf", outfile="fig2_embed.pdf") // フォントの埋め込み
PDFにフォントが埋め込まれているかの確認(再)
- 以下のようにフォントが埋め込まれていることが確認出来ました🎉