千灵

Back

本文耗时三天,历经几十次实验,终于摸索出 Kindle 中字体、封面的有关规律,适用于以下情况:

  • Kindle 部分书籍无法修改字体
  • Kindle 部分书籍无法显示封面
  • Calibre 无法批量保存中文书名
  • Kindle 锁屏不显示书籍封面
  • Kindle 部分书籍无法生字注音

按本教程操作后,所有书籍都可支持切换字体、加粗、生字注音并正常显示封面。


一、下载 Calibre#

Windows 平台下载地址:calibre - Download for Windows

其他平台下载地址:calibre - Download calibre

二、设置 Calibre#

  1. 打开「首选项-保存书籍至磁盘」;

① 取消勾选:分别保存封面(M)在独立的 OPF 文件中保存元数据

② [可选]保存模板(文件名默认格式为「爱的艺术 - 〔美〕弗洛姆」)可根据需要自行修改,如:

日期格式:%Y,保存模板:{title}.{authors}.{publisher}.{pubdate} 文件名将显示为:爱的艺术.〔美〕弗洛姆.上海译文出版社.2011 注意事项:须确保变量所对应书籍元数据完整;文件名夹杂中文时,若超过 83 个字符,将导致 Kindle 无法读取书籍;解决方法参见「七、[可选]书籍文件名清洗」

  1. 打开「首选项-输出格式选项-MOBI 输出」,将「MOBI文件类型(T)」改为 both
  2. 打开「首选项-通用选项-界面外观-字体(F)」,勾选:关闭字号缩放(D)
  3. 打开「首选项-通用选项-结构检测」,取消勾选:移除无效的页边距(F)

三、[可选]补充书籍元数据#

Calibre中文书元数据下载插件群晖NAS使用最新calibre-web并配置豆瓣元数据

四、清除书籍原字体样式#

AZW3 格式为 KF8 标准,一定支持自定义字体,因此只需要转换 AZWMOBI 两种格式的书籍即可。

  1. 点击「添加书籍」,将全部图书添加进「Calibre 书库」中(Ctrl+A 可全选文件);
  2. 点击左侧分类栏中的「格式」,按下「Ctrl」同时选择 AZWMOBI,全选列表中所有书籍,点击「转换书籍」,点击「√确定」;
  3. 任务完成后,书籍原字体格式就被清除了。

五、导出书籍至 Kindle#

  1. 将 Kindle 连接至电脑;
  2. 点击左侧分类栏中的「格式」,按下「Ctrl」同时选择 AZWMOBI,「Ctrl+A」全选列表中所有书籍,点击「保存到磁盘」旁下三角「▼」,选择「仅保存 MOBI 格式文件到磁盘」,点击「√确定」,选择 Kindle:\documents
  3. 点击左侧分类栏中的「格式」,选择 AZW3,全选列表中所有书籍,点击「保存到磁盘」旁下三角「▼」,选择「以单一格式保存到磁盘…」,选择 AZW3,点击「√确定」,选择 Kindle:\documents
  4. 任务完成后,书籍就以中文名导出到 Kindle 了。

六、更新书籍元数据#

经转换后的书籍将重新生成 mobi-asin,与原始文件不同,导致原封面无法匹配转换后书籍,因此需要更新书库列表中书籍的元数据。

  1. 点击左侧分类栏中的「格式」,按下「Ctrl」同时选择 AZWMOBI,「Ctrl+A」全选书库列表所有书籍,点击「编辑元数据-批量修改元数据」;
  2. 勾选 从电子书文件中设置元数据(除了封面)(M)
  3. 点击「√确定」,即可更新 mobi-asin

七、修复书籍封面#

Kindle 按 mobi-asin 下载封面,存放在 Kindle:\thumbnails,转换后书籍的 mobi-asin 已变更,无法自动下载,只能使用 Calibre 手动添加封面,但 Calibre 没有单独发送封面功能,必须同时发送「拼音命名的书籍文件」和「封面文件」,因此可以待发送后删除「拼音命名的书籍文件」以曲线救国,方法如下:

  1. 点击左侧分类栏中的「格式」,按下「Ctrl」同时选择 AZWMOBI,「Ctrl+A」全选列表中所有书籍,点击「发送到设备」;
  2. 待全部发送完毕后,打开 Kindle:\documents 文件夹,右键空白区域,选择 排序方式(O)-修改日期
  3. 根据修改日期,将刚才发送的以拼音命名的文件夹全部删除。

注意事项:若将 .mobi 文件以邮箱推送到设备上,也可尝试此补充封面方法,有效与否自测;部分 .azw3 文件因自带封面太小而无法识别,需要下载 325*500 分辨率封面按格式重命名存放在 Kindle:\thumbnails 内。

八、[可选]书籍文件名清洗#

若按 2.2 将保存模板设置为:{title}.{authors}.{publisher}.{pubdate}

  1. 可能因元数据缺失使分隔符冗余;
  2. 可能因文件名超过 83 个字符导致 Kindle 无法读取书籍,可在 Kindle:\documents 文件夹下新建文本文件,将以下代码粘贴至文件并保存,将文件扩展名改为 .bat,双击运行即可解决。
@echo off & setlocal enabledelayedexpansion
set "dots=.."
set "dot=."
for /f "delims=" %%i in ('dir /b /a-d *.*') do (
    set "var=%%i" & ren "%%i" "!var:%dots%=%dot%!"
    set "str=%%~ni" & ren "%%i" "!str:~0,83!%%~xi
)
shell

九、[可选]修改 Calibre 源码以使「发送到设备」输出中文文件名#

如果按以下方式修改 Calibre 源码,可省略第五步「导出书籍至 Kindle」,直接将书籍以中文名发送至 Kindle。

十、[可选]Kindle 锁屏显示书籍封面#

关于启用 kindle「显示封面」功能的补充

十一、参考资料#

解决 Kindle 无法修改字体、显示封面的问题
https://qianling.pw/calibre/
Author 千灵
Published at December 3, 2021
Comment seems to stuck. Try to refresh?✨