TagKindle

用 Calibre 命令行优化 Kindle 电子书字体

1. 需求分析与解决思路

排版问题一直是 Kindle 的顽疾,而其在字体选用方面的不作为又特为尤甚。因此,更换字体一直是 Kindle 用户折腾的主要动力之一。早先,这一需求经常通过越狱并替换系统字体来实现。但随着 Kindle 越狱难度的加大,加上替换文件容易导致的诸多故障,尝试这种方法的成本已经越来越高了。

另外一种更为方便和安全的方式,则是利用 Calibre 这一强大的管理、编辑工具对电子书进行处理,在其中嵌入自定义字体。但直接应用这种方法得到的排版效果其实也并不完善,因为 Calibre 一次只能嵌入一个字体文件,在显示粗体和西文部分时,就会出现字体缺失或效果不佳的问题(很多中文字体附带的西文质量是十分平庸的)。

实际上,对于常见的中西文混排电子书,实现较为完善的排版效果至少需要两款字体、共计六个字体文件(中文常规体和粗体,西文常规体和粗体、及各自对应的斜体)。这在 Calibre 的图形界面上并不容易实现。但利用 Calibre 完善的命令行支持,则不仅能最大限度地实现字体嵌入的自定义,还能与其他效率工具结合,达到自动化、可复用的效果。

下图是原电子书的显示效果、使用 Calibre 直接嵌入字体的效果、以及嵌入多种字体效果的对比。请特别注意西文和粗体、斜体的显示效果。

本文的目的,即在于说明如何利用 Calibre 的命令行支持,通过在电子书中嵌入自定义的 CSS 和字体文件,以实现更完善的排版效果。

本文方法原理图示

2. 前期准备和字体选择

要使用本文方法修改电子书文件,需要提前准备的条件有:

  1. 安装 Calibre
  2. 待修改的电子书文件(如果该电子书是从商店购买,则需要先行移除其 DRM 保护);
  3. 将需要嵌入的中西文字体文件(.ttf.otf