本文件為W3C於2019年05月08日發布之EPUB 3.2的翻譯版本。此翻譯版本係由台灣數位出版聯盟(Taiwan Digital Publishing Forum, TDPF)自願翻譯,譯者盡可能維持英文原文本意與翻譯品質,唯翻譯內容仍可能有所錯誤。如有發現錯誤或不妥之處,請透過GitHub與譯者聯繫、修正或建立issue。
本翻譯文件僅供參考,唯一的正式版本請以W3C網站發布之英文原文版為準。
翻譯版本最後更新日期:2022年01月23日
Copyright © 1999-2019 International Digital Publishing Forum™ and W3C® (MIT, ERCIM, Keio, Beihang)
EPUB是國際數位出版論壇(IDPF, International Digital Publishing Forum)的註冊商標
EPUB® 3定義了用以傳遞、交換數位出版品及文件的格式。EPUB格式提供用於呈現、包裝、編碼有結構且在語意上強化的網頁內容 - 包含HTML、CSS、SVG以及其他資源 - 以單一檔案易於傳遞。此規格為本標準第二次主要改版。
EPUB 3作為數位書籍(電子書)規格廣泛地受到採納,這次的改版持續強化本格式,以提供對出版品需求更廣泛的支援,包括複雜版面、富媒體及互動性,和全球語言文字的排版功能。可期待EPUB 3格式應用在更廣泛的內容,如:書籍、雜誌、教育、專業以及科學出版品上。
EPUB 3以模組化制定:其包含了一系列的規格來定義本標準的核心功能與機能。本規格為本標準的主要開始點,但列於規格群中的所有規格都屬於EPUB 3的一部分。對於這些規格關鍵概念與定義的索引提供於本規格文末。
參考性的 [EPUB3Overview] 提供了EPUB 3的一般性導論。對於前版本的技術變更點則列於另一份參考性的 [EPUB32Changes] 。
本規格由 EPUB 3社群小組所發表。並非W3C標準也不在W3C標準程序上。請注意本規格適用於W3C社群完整規範協議(FSA)。可進一步了解W3C社群與業界小組。
如果你想要對本文件提出意見,請寄送到public-epub3@w3.org(訂閱,存檔)。
EPUB 3標準原生使用模組化制定,其核心功能以及機能透過一系列子規格所定義。
本規格為規格群中最頂層的文件。包含了EPUB出版品(使用本標準打造的產品),以及EPUB閱讀系統(用來將內容呈現給使用者以閱讀EPUB出版品的應用程式)的適用性需求。
其他組成EPUB 3的規格如以下:
EPUB包裝 [Packages32] — 定義了每一份內容釋義的必要項目。
EPUB內容文件 [ContentDocs32] — 定義了EPUB出版品脈絡中所使用的XHTML、SVG與CSS。
EPUB媒體層疊 [MediaOverlays32] — 定義了讓文字與語音同步的格式以及處理模型。
EPUB開放容器格式 [OCF32] — 定義了將一組相關的資源打包到單一檔案(ZIP)EPUB容器的檔案格式與處理模型。
EPUB無障礙輔助性 [EPUBAccessibility] — 定義了EPUB出版品無障礙功能的適用範圍與發現性需求。
以上規格可視為EPUB 3的正式清單,包含了可被引用為標準一部分的機能。我們會週期性以開發延伸規格的方式加入新機能。定義在標準核心改版外的功能與機能不會被正式地視為標準的一部分,但作者以及閱讀系統開發者仍可參考使用。
本章節為非規範性。
本章節透過EPUB規格所定義的中心產品:EPUB出版品,來檢視EPUB規格的結構。
EPUB出版品包含一或多個內容釋義(Renditions),每一份都由EPUB包裝(Package)所呈現。EPUB包裝內含所有內容排版所必要的資源。其中關鍵檔案為包裝文件,包括了所有詮釋資料(metadata),閱讀系統可以用來對使用者顯示(例如在書架上顯示書名與作者名,或者處理詮釋資料來顯示該書是固定版面或者為重排)。也包含了完整資源的宣告(manifest),還有書脊(Spine)作為使用者依序閱讀內容時,該如何排列文件的順序清單。
EPUB包裝也包含了另一個關鍵檔案:EPUB導覽文件。該文件提供了關鍵的導覽能力,像是目錄,讓使用者能迅速且輕鬆地巡覽內容。
EPUB包裝的需求定義在 [Packages32] 中。
EPUB出版品的資源基於ZIP技術封存,其副檔名為.epub
,用於傳遞使用。作為通用的ZIP封存檔,EPUB出版品可被多種軟體程式解壓縮,且可讓製作與使用變得簡易。
該容器格式不僅提供用於判斷以ZIP壓縮後的內容是否為EPUB出版品(透過mimetype
檔案)的手段,也提供了對於資訊性資源的通用名稱目錄(/META-INF
)。這些資源的關鍵檔案container.xml
用於告知閱讀系統包裝文件所在位置。
容器格式定義於 [OCF32] 。
EPUB出版品的結構與容器只是整體格式的一半,另一半則是該如何將內容顯示給使用者。本格式基於開放網頁平台而能得惠於:XHTML與SVG兩項規格,其為EPUB內容文件,這些文件通常會參照許多額外的必要資源以正確地排版顯示,包括影像、聲音與影片片段、腳本與樣式表。
關於製作EPUB內容文件的規則與基本需求,詳細資訊在 [ContentDocs32] 。而無障礙輔助性的需求則定義在 [EPUBAccessibility] 。
媒體層疊文件需匹配EPUB內容文件。其提供了宣告性的標記,以讓EPUB內容文件中的文字可以和預錄好的聲音同步播放,結果可使文字隨著朗讀進度被強調來提供伴讀體驗。媒體層疊文件定義在 [MediaOverlays32] 。
EPUB出版品概念上非常簡單,就只是一組HTML頁面和依存的素材透過ZIP包裝,如前述。關於EPUB出版品用於用提升閱讀體驗的主要功能與機能,這些額外資訊可由其他參照規格取得,而更一般的EPUB 3功能導論請見非規範性的 [EPUB3Overview] 。
專屬於EPUB 3的術語在本文件中以括號(譯注:英文版為首字大寫。範例如「作者」,「閱讀系統」)。術語與定義的完整清單提供於 [EPUB32] 。
每章節術語第一次出現時才會連結至其定義。
為EPUB出版品製作負責的(一或多位)人或組織。作者不一定是內容的創作者。
該區域位於顯示範圍(Viewport)內,用來顯示EPUB內容文件。內容顯示區域排除任何邊框、邊界、頁首、頁尾以及其EPUB閱讀系統可能會加入顯示範圍的裝飾。
在同步跨頁的狀況下,顯示範圍包含了兩個內容顯示區域。
使用XHTML或SVG媒體類型的出版品資源,其包含了EPUB出版品的全部或者部分內容(即為文字、視覺及/或聲音內容)。這些資源需要遵從對應的XHTML或SVG定義,才能置放在書脊中,或者被其他EPUB內容文件所參照連結。
一份特化的XHTML內容文件,其中包含人讀與機讀的全域導覽資訊。EPUB導覽文件必須嚴格地符合EPUB導覽文件 [Packages32] 之規定。
一個或多個內容釋義的集合,須符合本規格要求,且以EPUB容器包裝。
一本EPUB出版品一般代表了單一智慧財產或者藝術作品,但規格本身卻不限制內容的本質。
一個用來處理EPUB出版品的系統,用於向使用者顯示符合規格的內容。
一份EPUB內容文件在包裝文件的書脊中直接被指定成pre-paginated
,如同rendition:layout
特性之定義 [Packages32] 。
如何呈現排列固定版面文件,則定義在 [ContentDocs32] 的固定版面。
位於EPUB容器中的資源。
請參考出版品資源位置,以了解媒體類型與資源位置的特殊規則。
請參考 [Packages32] 中的宣告以獲得更多資訊。
一份XML文件,讓XHTML內容文件以及預錄的聲音旁白產生關聯,以提供同步播放的體驗,其定義在 [MediaOverlays32] 中。
一個出版品資源,用以描述一份EPUB出版品的內容釋義,其定義在[Packages32] 的包裝文件中。包裝文件乘載了關於內容釋義的詮釋資訊,提供資源的宣告且定義預設閱讀順序。
在EPUB出版品中的資源,其中包含內容,或者能助於至少一份內容釋義用來排列顯示內容使用。若缺少該資源,EPUB出版品可能無法如作者想要的方式來顯示內容。出版資源可包括:內容釋義的包裝文件、EPUB內容文件、CSS樣式表、聲音、影片、圖片、嵌入字型與腳本。
除去包裝文件自身,用於顯示內容釋義的出版品資源均列於內容釋義的宣告 [Packages32] 中,並且放置到EPUB容器檔案指定的位置(除非指定到其他出版品資源位置)。
不屬於出版品資源的資源,例如:包裝文件link元素 [Packages32] ,以及被解析外連到遠端資源的的超連結(例如在 [HTML] 中a
元素裡href
屬性所指定的連結)。
發布識別碼在任何狀況下都可以讓EPUB出版品彼此做出比對,以確定是否為同一本書、或者同一本書的不同版本,或者沒有關聯。
想了解更多資訊,請參考[Packages32] 的發佈識別碼。
位於EPUB容器之外的資源,一般,但不一定,需要連線才能存取。
請參考出版品資源位置以獲得媒體類型對資源位置的特殊規則。
包含腳本的EPUB內容文件,或者包含 [HTML] 表單的XHTML內容文件。
想了解更多資訊,請參照 [ContentDocs32] 中的腳本。
一份出版品資源的順序清單,一般資源為EPUB內容文件 [Packages32] ,表示該EPUB出版品內容釋義的預設閱讀順序。
想了解更多資訊,請參照 [Packages32] 中的書脊。
一份符合SVG內容文件限制的EPUB內容文件 [ContentDocs32] 。
在設備螢幕上持續排版顯示兩個相鄰接的頁面。
透過合成語音,將EPUB出版品的文字內容處理成人工聲音朗讀出來。
在書脊內被指定的EPUB內容文件,不管是直接指定或者透過回退鍊 [Packages32] 指定。
獨特識別碼是EPUB出版品的主要識別碼,定義於unique-identifier
屬性 [Packages32] 。獨特識別碼可由同一本EPUB出版品中的一或多個內容釋義所共有。
若內容有明確改版、改作時,則需要新的獨特識別碼。
EPUB閱讀系統將EPUB出版品於視覺上顯示給使用者看的範圍。
一份符合 [HTML] 定義XHTML內容文件規範的EPUB內容文件 [ContentDocs32] 。
除了標註為非規範性的章節,本規格中所有製作指針、圖表、範例與注意事項都為非規範性。其餘本規格中的內容皆為規範性。
關鍵字:可以(MAY)、必需(MUST)、不得(MUST NOT)、推薦(RECOMMENDED)、應該(SHOULD)、不應(SHOULD NOT)應該以 [RFC2119] 之記述解釋。
EPUB出版品必需符合以下領域需求:
必需包含一個以上的EPUB包裝,每一個包裝都必需符合定義於 [Packages32] 的要求。
應該符合定義於 [EPUBAccessibility] 的無障礙輔助性需求。
所有出版品資源必需符合對核心媒體類型和外圍資源的規定,並且放置在指定的出版品資源位置。
EPUB閱讀系統必需符合以下領域需求:
必需以定義於 [Packages32] 的方式處理EPUB包裝。
可以支援外圍資源類型的任意組合,但必需為不支援的外圍資源提供回退,如外圍資源中的定義。
必需以定義於XHTML內容文件 - 閱讀系統適用性 [ContentDocs32] 的方式處理XHTML內容文件。
必需以定義於SVG內容文件 - 閱讀系統適用性 [ContentDocs32] 的方式處理SVG內容文件。
若提供顯示範圍,則必需以定義在CSS樣式表 - 閱讀系統適用性 [ContentDocs32] 的方式支援XHTML內容文件的視覺排版。
若提供顯示範圍,則必需支援圖片類核心媒體類型資源。
若能夠播放預錄的聲音,則必需支援聲音類核心媒體類型資源,且應該支援媒體層疊 [MediaOverlays32] 。
若支援文字轉換語音(TTS, text-to-Speech)功能,則應該支援XHTML內容文件中的發音辭典 [ContentDocs32] 、 [CSS3Speech] 以及SSML屬性 [ContentDocs32] 。
應該符合 [EPUBAccessibility] 中對閱讀系統的無障礙輔助性需求。
當包裝文件version
屬性小於「3.0
」時,必需嘗試處理EPUB出版品中任何提供的內容釋義。
版本號較舊的EPUB出版品除非以當時的規格進行處理,不然可能不會如當初設計一般排版顯示。閱讀系統應該支援以那些規格定義的EPUB出版品。
必需為適用的應用程式,如 [XMLBase] 所定義。 注意事項: [HTML] 與 [SVG] 移除了對 [XMLBase] 的支援,建議作者避免使用此功能。
一個合規的閱讀系統並不一定是單一功能的程式或者設備,可以分散式系統的方式存在。
EPUB出版品中的每個內容釋義通常包含許多出版品資源。這些資源可以分為兩種:能被包含同時無須提供回退(核心媒體類型資源),以及不能的(外圍資源)。
作者可自由使用這兩種類型的資源來建構EPUB出版品,但是必須注意到一些閱讀系統可能不會處理所使用到的外圍資源。
EPUB出版品設計供完善的閱讀系統處理使用,是故需要一套回退機制來確保使用外圍資源不會妨礙使用者閱讀內容。本章節列出一系列核心媒體類型資源以及用以保障內容完整性的回退機制。
符合以下MIME媒體類型 [RFC2046] 規格的出版品資源,可以被包含在EPUB出版品中而無需提供回退。
以下表格各欄位呈現這些資訊:
媒體類型 - MIME媒體類型 [RFC2046] 用於在宣告中呈現出版品資源 [Packages32] 。
如果列出一個以上的媒體類型時,第一個是推薦的媒體類型,建議於所有新的EPUB出版品中使用推薦的媒體類型。
媒體類型 | 內容類型定義 | 適用範圍 |
---|---|---|
圖片 | ||
image/gif
|
[GIF] | GIF圖片 |
image/jpeg
|
[JPEG] | JPEG圖片 |
image/png
|
[PNG] | PNG圖片 |
image/svg+xml
|
SVG內容文件 [ContentDocs32] | SVG文件 |
聲音 | ||
audio/mpeg |
[MP3] | MP3聲音 |
audio/mp4
|
[MPEG4-Audio] , [MP4] | 使用MP4容器的AAC LC聲音 |
影片 | ||
EPUB 3能夠包含任何影片編碼的影片,而不需提供回退,所以技術考量下沒有核心媒體類型資源。請參考EPUB出版品注意事項 - 閱讀系統適用性,以瞭解對EPUB出版品支援影片編碼的非規範性推薦。 | ||
樣式 | ||
text/css
|
CSS Style Sheets [ContentDocs32] | CSS樣式表 |
字型 | ||
EPUB 3能夠包含任何格式的字型資源,而不需提供回退,CSS已經定義了字型的回退機制。請參考EPUB內容文件以確認EPUB出版品的支援需求。 | ||
font/ttf application/font-sfnt
|
[TrueType] | TrueType字型 |
font/otf application/font-sfnt application/vnd.ms-opentype
|
[OpenType] | OpenType字型 |
font/woff application/font-woff
|
[WOFF] | WOFF字型 |
font/woff2
|
[WOFF2] | WOFF2字型 |
其他 | ||
application/xhtml+xml
|
XHTML Content Documents [ContentDocs32] | 使用XHTML語法 [HTML]的XHTML內容文件 |
application/javascript text/javascript
|
[RFC4329] | 腳本 |
application/x-dtbncx+xml
|
[OPF2] | 遺存的NCX |
application/smil+xml
|
[MediaOverlays32] | EPUB媒體層疊文件 |
application/pls+xml
|
[PRONUNCIATION-LEXICON] | 文字轉換語音 (TTS) 發音辭典 |
EPUB出版品中的外圍資源如果不列在書脊的itemref
元素 [Packages32] ,或者可以直接以原生格式顯示在EPUB內容文件中(例如,使用 [HTML] 嵌入內容或者 [SVG] image
以及foreignObject
元素),則可以被包含卻無需提供回退。
這項例外讓作者可以在EPUB容器內包含EPUB閱讀系統不會使用的資源。這項例外的主要案例是可讓資料檔案隨著EPUB出版品移動,無論是供腳本在其所構成的EPUB內容文件使用,還是供外部程式使用(例如:科學期刊可能包含資料組,配合教學告知如何將其從EPUB容器中取出)。
當一份外圍資源包含在書脊中,或者直接在EPUB內容文件中以其原生格式顯示,就必需包含對核心媒體類型資源的回退。回退可以以下兩種形式擇一:
採該格式固有的回退機制(例如能夠提供多於一種的媒體類型,或者在該媒體類型無法顯示時,顯示替代的嵌入訊息);
宣告回退 [Packages32] 。
宣告回退是包裝文件的一項功能,可以創建回退鍊來指向核心媒體類型資源。主要用於建構對列於書脊中的外圍資源的回退 [Packages32] ,尤其在其缺少固有回退機制時(例如 [HTML] 的img
元素)。
鼓勵作者使用位於EPUB容器內的本地聲音、影片與腳本資源,這樣可以讓讀者在不同的連線狀態下,都能夠存取以獲得完整的呈現。
將遠端資源包含在EPUB出版品的方式需要在宣告中item
元素中使用remote-resources
特性來指明 [Packages32] 。
任何出版品資源若為基於XML的媒體類型,則必需符合以下限制:
不再推薦使用本規格與其孿生規格所包含的部分功能,這些功能僅為舊版本支援而保留。本章節定義了這些功能稱呼的意義,以及對於這些功能的支援期待。
不再推薦(Deprecated)的功能於本版本規格中不再推薦使用。不再推薦的功能在閱讀系統及/或EPUB出版品中有所限制或者不再支援。如果功能被標註為不再推薦,以下敘述為真:
驗證工具應該在檢查EPUB出版品時,應該提醒作者包含不再推薦的功能。
遺存功能為僅能用於早於EPUB3.0前版本內容中的功能。如果功能被標註為遺存,以下敘述為真:
驗證工具不應警告作者在EPUB出版品裡有遺存功能,由於包含功能本身對於向後相容性而合規。但驗證工具必需在遺存功能不符合其定義或者破壞使用需求時警告作者。
本章節為非規範性。
本索引指出EPUB 3中各項關鍵概念之定義所在,包含元素、屬性、特性之定義。
content dimensions [ContentDocs32]
SVG initial containing block (viewBox)
XHTML initial containing block (viewport meta)
Media Overlays Documents [MediaOverlays32]
semantic inflection (epub:type)
OCF abstract container [OCF32]
media type identification (mimetype)
obfuscation (was font obfuscation)
fixed layout properties — see also fixed layouts
dcterms:modified property (last modified date)
contexts (container-constrained and spine-level)
vocabularies
XHTML Content Documents [ContentDocs32]
discouraged
constructs (rp
and embed
)
RDFa and microdata (semantic enrichment)
本章節為非規範性。
EPUB 3由W3C EPUB 3社群小組所開發,並且與出版業界小組相互協力。
EPUB 3.2改版由以下主導:
此外向編輯群致敬,本版本EPUB若缺少以下人物的顯著貢獻,則不可能完成:
特別感謝IDPF的前會員,尤其是Markus Gylling與Bill McCoy,沒有他們EPUB不可能成真。