Kindle退出中国,本来跟我没有什么相干,最多就是少了个售后的渠道(然而我的国行kpw3从16年用到现在没出过问题)。但它的退出我仍感到遗憾。相信不少喜欢读外文书,特别是小语种的朋友和我一样对Kindle爱不释手——丰富的书城、不错的查词体验(当然自带词典不够完美)以及生词表功能,让Kindle成为阅读外文的一大利器。
对于日文读者来说,还有一个免费的书库——青空文库。青空文库专门收录著作权已经过期作家(包括夏目漱石、芥川龙之介、太宰治、谷崎润一郎等)的作品,因此年代有些久远,适合有一定水平的读者。初学者还是上日亚找找更现代、更通俗的作品,不用往下看了。
青空文库可以直接用浏览器看html,也可以下载TXT。那么,有没有办法能在Kindle上看青空文库TXT书籍呢?毕竟Kindle也不是专门用来看TXT的,用Kindle看TXT还想要好的体验不是痴人说梦吗?
其实很简单,只需要AozoraEpub3和kindlegen这两样东西。前者是日本人写的Java程序,能把青空文库TXT转成epub;后者是亚马逊官方出的epub转mobi程序。甚至只需要把kindlegen放在AozoraEpub3目录下,就能一键从TXT生成mobi,拷进Kindle就能直接看了。
AozoraEpub3-1.1.0b46.zip (4.6 MB)(需要Java)
kindlegen.zip (8.5 MB)(从Mac版Kindle Previewer里拆出来的64位kindlegen,Win用户不要下载这个,自行搜索Win版)
当然,本文的重点是如何获得更好的体验。kindlegen生成的mobi是个人文档,看是能看,也能查词,但是不会记入生词本。想省事的可以拿Calibre转成azw3,这个过程中会自动给你改元数据,下面的内容也不用看了。喜欢折腾的,比如我,会发现Calibre还擅自改标签和样式,虽然不影响阅读,但有洁癖的人是不能忍的。
其实kindlegen生成的mobi内包含了kf7和kf8(也就是azw3),可以用KindleUnpack拆解。不过拆出来的azw3仍然是个人文档,这一步似乎是没必要的,可以直接修改mobi的元数据。反正爱折腾嘛,也算是给文档瘦身。
KindleUnpack-083.zip (116.1 KB)(Win需要自行安装Python)
详见(Mac用户也可以不看):KindleUnpack:拆解 Kindle 电子书文件的利器 – 书伴
Mac用户推荐用command line
假设KindleUnpack-083文件夹和需要拆解的book.mobi都在桌面上
在终端中输入:
cd ~/Desktop
python3 ~/Desktop/KindleUnpack-083/lib/kindleunpack.py -s book.mobi book
回车,拆出来的东西就在桌面上book文件夹里
重点:修改元数据
方法一:使用Mobi Metadata Editor
详见:如何用 Mobi Metadata Editor 修改 Kindle 电子书元数据 – 书伴
方法二:使用dualmetafix(推荐)
dualmetafix_new.py.zip (3.7 KB)
依然是Mac,依然放在桌面上,在终端里输入:
cd ~/Desktop
python3 ~/Desktop/dualmetafix_new.py 0123456789 book/mobi8-book.azw3 book.azw3
其中0123456789就是你想修改的ASIN(可是任意值)
book/mobi8-book.azw3就是刚刚KindleUnpack拆出来的book文件夹里的azw3
最后桌面上生成的book.azw3已经从个人文档变成EBOK啦
kindlegen—KindleUnpack—dualmetafix的流程也可以用来转换任意epub至azw3(当然,Calibre更省事)
还是假设都放在放桌面上
cd ~/Desktop
~/Desktop/kindlegen book.epub -dont_append_source
python3 ~/Desktop/KindleUnpack-083/lib/kindleunpack.py -s book.mobi book
python3 ~/Desktop/dualmetafix_new.py 0123456789 book/mobi8-book.azw3 book.azw3
一气呵成,甚至可以写成shell脚本,达成一键转换
我手里只有Mac,使用其他系统的自行类推
什么?还是太麻烦了?
我看一本书要几个小时甚至十几个小时,在乎这转一本书的一两分钟吗!
P.S.
从来不写教程(此文似乎也算不上教程,只是提供一个思路),甚至几乎不在网上发帖,所以有很多写的不清楚的地方,不懂的欢迎提问。