電子書及其格式:FB2 和 FB3 - 歷史、優點、缺點和工作原理

在上一篇文章中我們談到了 DjVu 格式的特點。 今天我們決定專注於 FictionBook2 格式(更廣為人知的名稱為 FB2)及其「後繼者」FB3。

電子書及其格式:FB2 和 FB3 - 歷史、優點、缺點和工作原理
/flickr/ 朱迪特·克萊因 / CC

格式的外觀

90年代中期,愛好者們 我們開始 將蘇聯書籍數位化。 他們翻譯並保存了多種形式的文學作品。 Runet 中最早的函式庫之一 - 馬克西姆·莫什科夫圖書館 - 使用格式化文字檔案 (TXT)。

這項選擇對它有利,因為它能夠抵抗位元組損壞並且具有多功能性——TXT 可在任何作業系統上開啟。 然而,他 使事情變得困難 處理儲存的文字訊息。 例如,要移動到第千行,必須處理其前面的 999 行。 書也 已儲存 在Word文件和PDF中 - 後者很難轉換為其他格式,並且弱計算機打開和 顯示的 有延遲的 PDF 文件。

HTML 也被用來「儲存」電子文獻。 它使索引、轉換為其他格式和文件建立(標記文字)變得更加容易,但它也帶來了自己的缺點。 其中最重要的一項是「模糊性» 標準:在編寫標籤時允許一定的自由。 其中一些必須關閉,另一些(例如, ) - 無需關閉它。 標籤本身可以具有任意嵌套順序。

儘管不鼓勵對文件進行此類處理(此類文件被認為是不正確的),但該標準要求讀者嘗試顯示內容。 這就是困難所在,因為在每個應用程式中,「猜測」過程都是以自己的方式實現的。 同時,當時市場上可用的閱讀設備和應用程式 明白了 一到兩種專門的格式。 如果一本書只有一種格式,則必須重新格式化才能閱讀。 旨在解決所有這些缺點 小說書2,或FB2,它接管了最初的文字「梳理」和轉換。

請注意,該格式有其第一個版本 - 小說書1 - 然而,它本質上只是實驗性的,持續時間不長,目前不受支持,也不向後相容。 因此,FictionBook 通常意味著它的「繼承者」——FB2 格式。

FB2 由以下開發人員創建 德米特里·格里博夫升公司技術總監米哈伊爾·馬茨涅夫 (Mikhail Matsnev) 是 Haali Reader 的創建者。 該格式基於 XML,它比 HTML 更嚴格地管理未封閉和嵌套標籤的工作。 XML 文檔伴隨著所謂的 XML 模式。 XML 模式是一個特殊文件,其中包含所有標籤並描述其使用規則(順序、嵌套、強制和可選等)。 在 FictionBook 中,圖表位於檔案 FictionBook2.xsd 中。 可以在下列位置找到範例 XML 架構: 鏈接 (這是litre電子書店使用的)。

FB2文檔結構

文件中的文字 存儲 在特殊標籤中 - 段落類型的元素: , 和。 還有一個元素,它沒有內容,用於插入間隙。

所有文件均以根標籤開頭,下面可能會出現, , 和。

標籤包含樣式表以方便轉換為其他格式。 在使用謊言編碼 base64 呈現文檔可能需要的資料。

元素包含有關本書的所有必要資訊:作品類型、作者清單(全名、電子郵件地址和網站)、標題、關鍵字區塊、註釋。 它還可能包含有關對文件所做的更改的資訊以及有關書籍出版商的資訊(如果該書籍以紙本形式出版)。

這就是塊的一部分的樣子在 FictionBook 條目中 作品 亞瑟·柯南·道爾的《血字研究》,摘自 古騰堡計劃:

<?xml version="1.0" encoding="iso-8859-1"?>
 <FictionBook 
  >
  <description>
    <title-info>
      <genre match="100">detective</genre>
      <author>
        <first-name>Arthur</first-name>
        <middle-name>Conan</middle-name>
        <last-name>Doyle</last-name>
      </author>
      <book-title>A Study in Scarlet</book-title>
      <annotation>
      </annotation>
      <date value="1887-01-01">1887</date>
    </title-info>
  </description>

FictionBook 文件的關鍵組成部分是。 它包含本書本身的文字。 整個文件中可以有多個這樣的標籤 - 附加區塊用於儲存腳註、註釋和註釋。

FictionBook 也提供了幾個用於處理超連結的標籤。 它們是基於規範 星聯,由財團開發 W3C 專門用於在 XML 文件中的不同資源之間建立連結。

格式的優點

FB2 標準僅包含所需的最少標籤集(足以「設計」小說),這簡化了讀者的處理。 而且,在直接操作FB格式的閱讀器的情況下,使用者有機會自訂幾乎所有的顯示參數。

該文件的嚴格結構可讓您自動執行從 FB 格式到任何其他格式的轉換過程。 相同的結構使得可以處理文件的各個元素 - 按書籍作者、標題、流派等設定過濾器。因此,FB2 格式在 Runet 中廣受歡迎,成為俄羅斯電子圖書館和圖書館的預設標準在獨聯體國家。

格式的缺點

FB2 格式的簡單性既是它的優點,也是它的缺點。 這限制了複雜文字版面的功能(例如,頁邊空白中的註釋)。 它沒有向量圖形或對編號列表的支援。 由於這個原因,格式 不太合適 用於教科書、參考書和技術文獻(格式的名稱甚至談到了這一點 - 小說書或“小說書”)。

同時,為了顯示有關書籍的最少資訊(標題、作者和封面),程式需要處理幾乎整個 XML 文件。 這是因為元資料位於文字的開頭,而圖像位於末尾。

FB3-格式開發

由於對書籍文字格式的要求增加(並且為了減輕 FB2 的一些缺點),Gribov 開始研究 FB3 格式。 後來開發停止了,但在 2014 年 恢復.

據作者稱,他們研究了出版技術文獻時的真實需求,查看了教科書、參考書、手冊,並概述了一組更具體的標籤,可以顯示任何書籍。

在新規範中,FictionBook 格式是一種 zip 存檔,其中元資料、圖像和文字儲存為單獨的檔案。 標準中指定了 zip 檔案格式的要求及其組織約定 ECMA-376,它定義了 Open XML。

在格式(間距、下劃線)方面進行了許多改進,並添加了一個新物件 - “區塊” - 它以四邊形的形式格式化書籍的任意片段,並且可以透過環繞嵌入到文字中。 現在支援編號清單和項目符號清單。

FB3 在免費許可證下分發並且是開源的,因此所有實用程式都可供發布者和用戶使用:轉換器、雲端編輯器、閱讀器。 目前的 版本號 格式, 讀者 и 編輯 可以在專案的 GitHub 儲存庫中找到。

總的來說,FictionBook3 的普及程度仍然不如前輩,但一些電子圖書館已經提供這種格式的書籍。 幾年前,Littles 宣布他們打算將整個目錄轉換為新格式。 一些讀者已經支援所有必需的 FB3 功能。 例如,所有現代型號的 ONYX 讀卡機都可以使用這種開箱即用的格式,例如, 達爾文3克莉奧佩特拉 3.

電子書及其格式:FB2 和 FB3 - 歷史、優點、缺點和工作原理
/ ONYX BOOX 埃及豔後 3

FictionBook3 的更廣泛分佈將創建一個生態系統 導向的 能夠在任何資源有限的設備上充分有效地處理文字:黑白或小顯示器、低內存等。據開發人員稱,一本書一旦佈置好,在任何環境中都將盡可能方便。

PS 我們提請您注意 ONYX BOOX 讀者的幾則評論:



來源: www.habr.com

添加評論