はじめに
2019_09_Asciidocを使っていてせっかくAsciidoctor-PDF環境を構築したのに出力したPDFの日本語が表示されなくて困っている人へ で困っていた人になって動いている環境をそーっとしておいたのですが、再度調べたら本家が対応してくれていたのがわかったので書いておきます。
さきに結論(いままで使っていた方向け)
-r asciidoctor-pdf-cjk
に代わって -a scripts=cjk
を使います。
asciidoctor-pdf-cjk
はメンテナンス終了なので利用を止めたほうがよいです。asciidoctor-pdf 1.6.0で使うと以下のようにエラーが出ます。
asciidoctor: FAILED: 'asciidoctor-pdf-cjk' could not be loaded
インストール手順
gem install asciidoctor-pdf
以上、終了
使い方
$ asciidoctor-pdf -a scripts=cjk -a pdf-theme=default-with-fallback-font <asciidocファイル>
デフォルト設定だとこのオプション指定で日本語埋め込みのPDFが作成されます。ただフォールバックの日本語フォントはあまりいけてません。
フォントカスタマイズなど
で、フォントを入れ替えたいとかになると思います。
本家にも注釈がありますが、asciidoctor-pdf-cjk-kai_gen_gothic
は今のruby環境では動いてくれないようです。(動作されている方はコメントをいただければ嬉しいです。)
試したところgemのインストールはできましたが、フォントのインストールでエラーになりました。
asciidoctor-pdfでかっこいいPDFを作る(1)などを元にフォントのインストールとテーマを作成するのが良いかと思います。
いままで既にフォントやスタイルの指定をされている場合は、オプションがそのまま使用できます。
docker-asciidoctor はどうか
Asciidoctor Docker Container はasciidoctor-pdfもサポートしているので、Dockerインストール済みなら、上のgemをインストールせずにいきなりこんな感じでPDFが作れます。
docker run --rm -v $(pwd):/documents/ asciidoctor/docker-asciidoctor asciidoctor-pdf -a scripts=cjk -a pdf-theme=default-with-fallback-font <asciidocファイル>
なので、お好きなフォントとテーマをDockerイメージに入れるか、おけばよさそうです。
メモ
動作確認環境
- macOS(Catalina)
- ruby 2.6.3p62、asciidoctor-pdf 1.6.0
- Ubuntu(18.04)
- ruby 2.5.1p57、asciidoctor-pdf 1.5.4, asciidoctor-pdf 1.6.0