20
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

asciidoctor-pdfで日本語を含むPDFの出力を行う

Posted at

はじめに

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

asciidoctor-pdf のドキュメントや関連issue

参考

20
18
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
20
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?