Kindle 为什么不支持 EPUB 格式?

ePub 是最流行的开放格式,Amazon 出于什么考虑才没有支持 ePub 呢?
关注者
708
被浏览
943,328

22 个回答

Amazon 2007年發佈Kindle時,用的是早些年併購MobiPocket這家公司的Mobi格式。而這時其他競爭者才匆匆重組IDPF,趕緊把2001年定下的OEBPS格式拿來修訂,以EPUB 2標準發布。

說穿了,這兩者內部的檔案結構大同而小異,不外乎使用XHTML (4)與CSS 2來製作內容。

但EPUB 2與Mobi畢竟是緊急拿前一個世代沒能實用化的標準來硬著使用,對於西文圖書的支援尚可,只要套上還不錯的字體,CSS 2也可以做到相當好的排版表現。可是終究有其侷限。

IDPF在2011年完成EPUB 3格式,內容採用XHTML 5與CSS 3來進行排版,同時也有支援漫畫、繪本等的Fixed Layout格式。在日本的強力要求下,硬是實作出文字豎排的顯示;當然還包括東南亞文字,以及由右向左的阿拉伯、希伯來文支持。

Amazon當然想藉此踏入日本市場,但問題出現了:新的Kindle Paperwhite速度快,加入新的排版引擎沒有問題;但舊的Kindle老舊,勢必無法運行,一個書檔要怎麼同時支持新舊兩種硬件呢?

在更新的格式裡(azw, KF8等等,Amazon始終也不說明白),Amazon將EPUB 3退回EPUB 2,然後加上DRM包裝起來,新的機器去存取EPUB 3,舊的機器存取EPUB 2,然後推薦轉換時使用EPUB 3作為交換格式,這樣就能對應出版商拿新的EPUB 3格式來轉換,同時支持舊的機器。

我建議各位若要轉換給Kindle用的檔案,請用Amazon提供的工具:

Amazon為什麼要持續使用私有格式,而不直接支持EPUB呢?原因在於EPUB 3使用CSS 3,也能用JS來做到交互特效,甚至存取網上的內容,表現性實在太高。但Amazon提供的硬件,尤其是電子紙的機器效能有限,所以在轉換時,就會預先處理掉一些不支持的語法,避免無法顯示。

現在更有理由了,Amazon前些日子推出了App客戶端的新功能「Page Flip(

amazon.com/b?

)」,現在僅支援西文書,而且是賣到一定量的西文書。這項功能翻頁速度之快,根本不是直接顯示EPUB內HTML與CSS可以辦得到的。理論上應該是Amazon先在服務器端將這些書轉換成另一種自有格式,然後透過原生的方式排版。當然把Web的所有語法轉換成原生顯示不大實際,所以使用私有格式的Amazon才可以限制能夠使用的語法範圍。

Amazon未來會不會讓軟硬件兼容EPUB格式?這沒個準,但為了保持自有的開發進度並且提供獨樹一格的排版及表現,Amazon在Kindle Store上販賣的書,未來應該還是會使用自有格式,並且讓出版商提供EPUB 3作為交換格式進行轉換。

如果你要追求表現性最高的EPUB 3,那麼只有Apple的iBooks可以滿足,畢竟後面用的就是Webkit,由Apple直接實作各項Web標準;如果你對電子紙閱讀器情有獨鍾,那麼就可以考慮Kobo,但是就我所知,Kobo目前不想踏入中國市場,而先以港台試點,你得要自己引入字型才能有比較好的排版表現。

私有格式這玩意兒就像過去的IE一樣,你做到市場最大,就能保持不動的獨佔地位。但要是你位居第二之後,只會加速你的淘汰。現狀Amazon不會拋開從EPUB轉換成私有格式的兼容性,但除非未來受到威脅,也更不可能拋開對私有格式的強化。

在过去,Kindle 一直不支持 EPUB 格式,主要问题在于对其内容生态的维护。


最近,我们突然发现,Kindle 的个人文档服务已经悄悄支持了 EPUB,但根据我的测试,它只支持大部分的 EPUB,是的,还是存在不支持的,但也不是不可以解决。


通过 Calibre 进行同格式转换,去除一些不必要信息即可,再尝试一下或许就 Okay 了,成功了记得回来感谢我。


关于 EPUB TO KINDLE 的验证过程,我还写成了也一篇正式的文章,如果有兴趣的朋友也可以移步到我的公号拾书小记去翻阅最新一篇文章。


以上,希望能帮到大家。