AsciiDoc 导出为 PDF ,支持中文内容
CJK = 乱码 或 豆腐块。
AsciiDoc 相关工具的安装配置,可参考 在 macOS 中使用 AsciiDoc 。
AsciiDoc 的文档,除了生成为 HTML 外,很多时候还需要导出为 PDF 。
导出
使用 Homebrew 安装 asciidoctor ,会默认同时安装 asciidoctor-pdf 工具。
|
|
以上命令会生成 index.pdf 文件,图表内容也会同时生成。
中文问题
但是如果 AsciiDoc 文档中存在 CJK 字符,那么生成的 pdf 文件将会是一个个的小方框(豆腐块)。此时可以通过 自定义 scheme 的方式解决。
下载 googlefonts/noto-cjk 中文字体,注意要选择 “TTF” - “Subset Variable Simplified Chinese (简体中文)” 下的两种字体,保存到 themes/fonts/
目录下。
不出意外的话,两个字体的文件名为:
NotoSansCJKsc-VF.ttf
一般字体NotoSansMonoCJKsc-VF.ttf
等宽字体
新建 themes/cjk-fonts.theme
文件:
|
|
生成 pdf 的命令增加几个参数,改为:
|
|
豆腐块不见了。
补充
从网上搜索的结果,还有另一种解决方案: GitHub - Mogztter/asciidoctor-web-pdf: Convert AsciiDoc documents to PDF using web technologies , 即调用浏览器来生成 pdf 文件。个人感觉该方案比较重,所以没去验证。