Asciidoctor PDFの日本語フォントを変更する
Asciidoctor PDF は標準でもそこそこ綺麗な日本語PDFが生成できます。どうやらmplus1p-regularが適用される模様。M+ FONTSですね。
このままでも悪くないんですが、フォントを変更するとどうなるか試してみましょう。
まずはフォントの調達。Asciidoctor PDFで利用できるフォントはttfだけです。 定番のNotoファミリーを使おうと思ったのですが、あいにくttf形式で提供されていないので派生フォントから選ぶことにします。ゴシックは源真ゴシック、明朝は源樣明體をチョイス。
源樣明體はNoto Serif CJK(源ノ明朝)を TrueType に変換したものです。台湾の方が作っているのかな?
続いて設定ファイルを作成します。theme.yml
という名前を付けておきます。 デフォルトのテーマをベースに必要そうなところだけ抜き出すといいかと思います。 フォント周りを抜粋するとこんな感じ。
font:
catalog:
Serif:
normal: GenYoMinJP-Regular.ttf
bold: GenYoMinJP-Bold.ttf
italic: GenYoMinJP-Regular.ttf
bold_italic: GenYoMinJP-Bold.ttf
Sans Serif:
normal: GenShinGothic-P-Regular.ttf
bold: GenShinGothic-P-Bold.ttf
italic: GenShinGothic-P-Regular.ttf
bold_italic: GenShinGothic-P-Bold.ttf
fallbacks:
- Sans Serif
本文はdocument.adoc
。attributeでテーマとフォントを設定します。 コマンドラインオプションとしても設定できるんですが、覚えるの面倒だからattributeが好みです。
:lang: ja
:doctype: article
:pdf-style: theme.yml
:pdf-fontsdir: fonts
ファイル配置はこんな感じになります。
├ document.adoc
├ theme.yml
└ fonts
├ GenShinGothic-P-Bold.ttf
├ GenShinGothic-P-Regular.ttf
├ GenYoMinJP-Bold.ttf
└ GenYoMinJP-Regular.ttf
あとはPDFを生成するだけ。
F:\ asciidoctor-pdf document.adoc
まずはデフォルトフォントの場合。
続いてフォントを変更したもの。タイトル部分がゴシック、本文が明朝です。
やっぱり本文は明朝のほうが読みやすい。
WebだとゴシックオンリーでOKですが、印刷まで視野に入れると明朝とゴシックの使い分けをしたいですよね。用途に応じて適切なフォントを設定して使いましょう。
今回使った本文のasciidocと設定のtheme.ymlはGistにアップしておきました。 AsciiDoctor PDFで日本語フォントを変更するサンプルからどうぞ。 GistはAsciiDocをプレビュー表示しちゃうんで"Raw"で表示を切り替えてみてください。
ついでに変換後のPDFも置いておきます。
関連(するかもしれない)記事
おススメ