背时的 ePub3.0

什么是 epub

epub 是一个众所周知的电子图书标准,网上可以找到大量的 epub 电子书,因其具有一定的排版能力和跨平台特性而受到欢迎,本质其实是一个压缩包,只需要改一下后缀成 zip ,就可以看到赤裸裸的本体。

文件夹结构大概就是下面这个样子

│ mimetype
├─META-INF
│      container.xml
└─OEBPS
    │  content.opf
    │  toc.ncx
    └─Text
            Section0001.xhtml

其中的 mimetype 是必须有且内容一定的;

META-INF 里面存放一些容器信息,一般来说只有 container.xml 告诉根文件的信息,除此之外还有可选的比如 manifest, rights 之类的文件;

OEBPS 下面的 content.opf 就是整本书的根文件,主要记录了书籍的元数据 metadata,文件清单 manifest,书脊 spine(以及天国的 tour 和 guide )。最后的各个章节的文件,样式表还有媒体文件就可以随便放了,只要在 content.opf 里面填对位置就行。

背时之处

其实非常非常多。各大阅读器对 epub 标准的支持都不一样。有的只是简单支持一下读取内容,样式表都不处理,有的可以渲染出花里胡哨的 css 特效;有的只是把所有标签的文本内容直接露出来,有的可以支持 input 和 script(只是简单测试了一下)(在 Reasily 里面甚至还能用 localStorage )

在国内这方面做的比较好的应该是多看,但是多看也只是支持 epub2,而且推行了一套自家的标准,用多看自家的标准也可以做出样式精美的图书(只有多看支持),所以网上也有很多多看精排版的电子书。国内的阅读器对 epub3 标准的支持都不咋样,大概是 txt 就够看了吧。国外的支持 epub3 的要多一些,我测试过的

测试文件(来自 AZARDI )

测试文件(来自 IDPF )

PlatformAppePub3
WindowsAZARDI
WindowsAdobe Digital Edition
AndroidReasily
AndroidLithum
AndroidAnyview
AndroidDuokan
AndroidiReader

在这方面做的最好的感觉应该是 Reasily (强行软广),在简单的测试当中相对问题较少,不禁让人怀疑是不是直接用上了浏览器内核,毕竟又能渲染 MathML 还能用上花里胡哨的 CSS 和 JS,体积还那么小。

多看(Duokan) 虽然有许多精排版的 ePub 书,但它的精致来源于它的定制组件1,脱离了多看阅读器就失去了精美的排版,

我个人挺喜欢 ePub 3.0 的,也自己制作过一些精排图书,但是似乎不太受欢迎的样子。网上对于 ePub 标准的介绍的文章也非常少。希望有一天能够看到排版精美的专业类电子书吧。


  1. 多看精排书制作简记 - 悼芹軒雜記

Loading New Comments...