迟亮
摘要:本文了阐述EPUB 3.1数字出版标准的特点优势,分析了EPUB数字出版物的文件结构,详细分析了EPUB3.1标准的组成和关键文件的内容。
关键词:EPUB3.1;数字出版;文件结构
中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2018)19-0239-04
EPUB(Electronic Publication)是免费开放的数字出版物文档格式标准,以OEPS(Open EBook Publication Structure)开放式电子书出版结构为前身发展至今,具有开放灵活等特点,是国际数字出版论坛的正式标准,也是当前较为流行的数字出版技术。EPUB一个较为重要的版本规范EPUB 3.0是2011年10月推出的,之后于2013年进行了微小的修订,直至2017年国际数字出版论坛将EPUB 3.1版本批准为标准推荐规范。本文对EPUB 3.1标准的优势、内容组成、文件格式以及关键文件进行了研究论述。
1 EPUB3.1标准的特点与优势
EPUB标准的最大特点是基于Web标准,它实现了将包括XHTML(Extensible Hyper Text Markup Language)可扩展超文本标记语言、CSS层叠样式表、SVG(Scalable Vector Graphics)可缩放矢量图形、图像文件及其他媒体资源在内的多种格式的内容结构化地压缩打包为一个单一文件,便于数字出版物的分发与交换,同时具有以下特点:
1.1 可利用的媒体资源种类多
EPUB支持多种格式的媒体文件。在EPUB3.1标准新中增加了W3C万维网联盟公布的WOFF 2.0字体格式和起源于苹果Macintosh的SNFT字体格式作为核心媒体类型。同时EUPB 3.1 动态地将HTML 5和SVG的最新推荐版本作为使用标准,放弃了EPUB 3.0.1版本中只针对HTML 5.0和SVG 1.1的过时参考。EPUB3.1定义核心媒体类型格式见表1。
1.2 格式开放,易于在线解析与生成
EPUB对开发人员友好,采用简单ZIP格式进行压缩打包,易于传输。内部标准遵循XML和XHTML规范,易于解析与阅读。同时EPUB标准是自由开放的,便于Web在线生成、处理和解析。
1.3 排版布局灵活,适用多种设备
EPUB标准充分体现了内容适应用户的原则,使用它可以呈现固定布局排版的文档,也可以现实内容自动重排。内容重排的最大优势在于可以根据阅读设备的性能用最适于用户阅读的方式呈现作品。EPUB3.1还提供多种功能样式表,允许更改文字排列方向,允许用户在日夜阅读模式之间进行选择。
2 EPUB 3.1的文件格式结构
EPUB标准发布的数字出版作品最终只呈现一个扩展名为.epub的文件。EPUB在作品文件内部划分成“出版物”(Publication)、“书卷集”(Renditions)、“包”(Package)三级结构来进行管理。
1) EPUB出版物,即用EPUB规范最终生成的数字作品文件,它通过文件容器(EPUB Container)来进行组织和呈现。即EPUB发布的数字作品中所有的内容都存放在文件容器当中,通过文件容器进行压缩打包后,可以对EPUB出版物进行存储和传输。
2) 书卷集。一个数字出版物中可以由一个或多个内容独立的作品来组成,EPUB标准将出版物中一个个独立的作品称内容为“Rendition”,Rendition類似于传统出版的一套书中多个独立成册的书卷,本文将“Rendition”译作“书卷”。多个书卷即组成可用的书卷集(Renditions)。
3) EPUB包。一个书卷占用一个EPUB包。每个EPUB包内都是由包文档(Package Document)、导航文档(Navigation Document)和内容资源(Publication Resources)三部分组成。
包文档是每个书卷内必备的资源描述文件,它含有书卷的基础元信息,提供书卷内的资源清单,并定义默认的阅读顺序。导航文档是书卷内专用必备文档,提供了人机可读的导航信息。内容资源则是出版物要呈现的内容的集合,包括有以XHTML、HTML或SVG文件形式出现的内容文件、CSS样式表、音频、视频、图像、嵌入式字体和脚本等。
EPUB3.1标准下的三级格式结构,见图1。
3 EPUB 3.1标准内容的组成
EPUB标准具有模块化的特点,它把自身的核心特性和功能用一系列的子规范来进行分别定义。EPUB 3.1标准较之前的版本,最重要的变化是启用了多个新标准模块,子规范由之前的4个变为了10个。这10个模块中包括了核心标准和可选的补充规范两大类。
同时从EPUB 3.1从版本开始,每个模块均从EPUB格式和EPUB软件应用两个方面来进行描述,从而体现创作与呈现的一致性要求。EPUB软件应用指的是使用EPUB标准用来编辑发布或阅读展示作品的应用程序。
3.1 EPUB 3.1的核心标准
EPUB 3.1的核心标准主要有六个规范组成,它们分别是:
1) EPUB包规范(EPUB Packages 3.1)。该规范对书卷所包含的内容以及与出版物资源相关联的设置进行描述,主要包括了包文档、包的元数据和导航文档内容的规范。
2) EPUB内容文件规范(EPUB Content Documents 3.1)。该规范定义了出版物中使用的XHTML,SVG、CSS文件以及其中含有的脚本、固定布局、词汇发音的标准。
3) EPUB媒体覆盖规范(Media Overlays 3.1)。本规范通过SMIL(Synchronized Multimedia Integration Language)同步多媒体集成语言定义了文本和音频同步的格式和处理模型,对EPUB出版物中媒体层定议及媒体的建立和播放行为等内容的描述,用于要求文字与媒体同步的数字出版物。
4) EPUB开放容器格式规范(Open Container Format 3.1),该规范简称OCF,是EPUB标准中一个非常重要的容器技术规范,它定义了EPUB出版物的文件格式和处理模型,并将出版物所有相关内容按规范打包封装在单一的文档容器中,同时还定义了一种出版物资源混淆嵌入的方法。本规范中定义的容器包括抽象容器和ZIP容器两部分。
OCF抽象容器是一种文件系统模型,它要求EPUB出版物内所有内容使用一个共同的根目录中,所有本地资源都位于根目录所在的目录树中,但不强制资源目录的结构形式。抽象容器模型要求在根目录下强制包含一个名为META-INF文件夹,用于存储特殊的配置文件,相关配置文件的名称和作用见表2。抽象容器模型在根目录中的强制包含一个文件名“mimetype”的文件,保留供OCF ZIP容器使用。抽象容器模型对资源文件的要求较为宽松,理论上OCF抽象容器中所有资源文件可以位于根目录下的任何位置,只要它们不在META-INF文件夹中即可,但是为方便对出版物的解析,建议将EPUB出版物的内容存储在根目录下的一个专用文件夹中。
OCF ZIP容器规定了最终的出版物采用一个ZIP压缩的文件来进行发布,文件扩展名为.epub。OCF允许使用“Deflate”算法或“不压缩”两种情况进行文件压缩,之外的算压不支持,不能进行加密压缩,不允许分卷压缩。
5) EPUB可访问性规范(EPUB Accessibility)。该规范定义为了出版物定义了可访问性、一致性和发现元数据(Discovery Metadata)的标准。本规范不针对单个版本的EPUB。它旨在适用于符合任何版本或配置文件(包括未来版本的标准)的EPUB出版物。
6) 替代样式标签规范(Alternate Style Tags)。定义了使用微格式标记替代样式表的模式。
3.2 EPUB 3.1可选规范
EPUB 3.1的可选规范主要有:EPUB规范片段标识符(Canonical Fragment Identifiers)、EPUB词典和词汇表(Dictionaries and Glossaries)、EPUB索引(EPUB Indexes)、EPUB多书卷呈现(Multiple Renditions)、EPUB预览(Previews)和EPUB区域导航(Region-Based Navigation)等,用于增强EPUB出版物的功能和用戶体验。
4 EPUB3.1标准中的关键文件
在EPUB 3.1标准中指定了EPUB出版物必备或重要的配置文件,这些文件对出版物的制作和阅读起到了重要作用,要想在线生成或解析阅读EPUB数字出版物,必对这些关键文件进行准确配置。其中几个必要文件的文件格式分析如下:
4.1 Mimetype文件
在EPUB文件根目录下必须存在一个名“mimetype”的文件,它内容较为简单,仅对压缩包的打开方式进行了说明,其文件内容为“application/epub+zip”,它表示出版物的压缩包文档可以用EUPB和ZIP两种方式来进行解析使用。实事上EPUB格式的出版物将扩展名由.epub改为.zip后,可以使用相应的解压缩文件解压或打开,并且不影响文件内容。
4.2 OPF文件
EPUB出版物中的每个书卷都必须一个包文档,包文档的文件名称不限定,但扩展名必须为“.opf”,内部文件格式采用XML标准,通过包文档可以准确识别整个数字出版物的结构及阅读顺序,是解析出版物及显示EPUB出版物的主要信息来源。
包文档内部使用
表3
[标签名 顺序 可用属性 可包含的子标签 必要性 metadata 1 无
"page-progression-direction"