Электронныя кнігі і іх фарматы: FB2 і FB3 - гісторыя, плюсы, мінусы і прынцыпы працы

У мінулым матэрыяле мы расказвалі пра асаблівасцях фармату DjVu. Сёння мы вырашылі спыніцца на фармаце FictionBook2, больш вядомым як FB2, і яго «спадчынніку» FB3.

Электронныя кнігі і іх фарматы: FB2 і FB3 - гісторыя, плюсы, мінусы і прынцыпы працы
/Flickr/ Judit Klein / CC

З'яўленне фармату

У сярэдзіне 90-х гадоў энтузіясты пачалі аблічбоўваць савецкія кнігі. Яны перакладалі і захоўвалі літаратуру ў самых разнастайных фарматах. Адна з першых бібліятэк у Рунэце Бібліятэка Максіма Машкова - Выкарыстоўвала фарматаваны тэкставы файл (TXT).

Выбар у яго карысць быў зроблены з-за ўстойлівасці да пашкоджання байтаў і ўніверсальнасці - TXT адчыняецца на любой аперацыйнай сістэме. Аднак ён абцяжарваў апрацоўку захоўваемай тэкставай інфармацыі. Напрыклад, для пераходу на тысячны радок прыходзілася апрацоўваць 999 радкоў, якія ідуць перад ёй. Кнігі таксама захоўвалі у «вордаўскіх» дакументах і PDF — апошні было складана пераўтвараць у іншыя фарматы, а слабыя кампутары адчынялі і адлюстроўвалі PDF-дакументы з затрымкамі.

Таксама для "захоўвання" электроннай літаратуры выкарыстоўвалі HTML. Ён спрасціў індэксацыю, пераўтварэнне ў іншыя фарматы і стварэнне дакументаў (разметку тэксту тэгамі), але прыўнёс уласныя недахопы. Адным з самых значных была «расплывістасць» стандарту: ён дазваляў пэўныя вольнасці пры напісанні тэгаў. Некаторыя з іх павінны былі быць зачыненыя, іншыя (напрыклад, ) - зачыняць было неабавязкова. Самі тэгі маглі мець адвольны парадак укладання.

І хоць падобная праца з файламі не заахвочвалася - такія дакументы лічыліся некарэктнымі - стандарт патрабаваў ад рыдараў паспрабаваць адлюстраваць змесціва. Тут і ўзнікалі складанасці, бо ў кожным дадатку працэс "дадумвання" быў рэалізаваны па-свойму. Пры гэтым на той момант наяўныя на рынку прылады і прыкладанні для чытання разумелі адзін-два спецыялізаваныя фарматы. Калі кніга мелася ў адным фармаце, яе даводзілася перафарматаваць, каб прачытаць. Вырашыць усе гэтыя недахопы і быў закліканы FictionBook2, або FB2, які ўзяў на сябе першаснае «прычэсванне» тэксту і канвертаванне.

Адзначым, што ў фармату была першая версія. FictionBook1 - аднак яна насіла толькі эксперыментальны характар, праіснавала нядоўга, на сённяшні дзень не падтрымліваецца і не мае зваротнай сумяшчальнасці. Таму пад FictionBook часцей за ўсё маюць на ўвазе яго «паслядоўніка» - фармат FB2.

FB2 стварыла група распрацоўшчыкаў, якую ўзначальвае Дзмітрыем Грыбавым, які з'яўляецца тэхнічным дырэктарам кампаніі "ЛітРэс", і Міхаілам Мацневым, стваральнікам чыталкі Haali Reader. У аснову фармату лёг XML, які стражэй, чым HTML, рэгламентуе працу з незачыненымі і ўкладзенымі тэгамі. XML-дакумент суправаджаецца так званай XML-схемай. XML-схема - гэта спецыяльны файл, у якім сабраны ўсе тэгі і апісаны правілы іх прымянення (паслядоўнасць, укладзенасць, абавязковасць і неабавязковасць і інш.). У FictionBook схема знаходзіцца ў файле FictionBook2.xsd. Прыклад XML-схемы вы можаце знайсці па спасылцы (яна выкарыстоўваецца крамай электронных кніг «ЛітРэс»).

Структура дакумента 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 таксама дае некалькі тэгаў для працы з гіперспасылкамі. Яны засноўваюцца на спецыфікацыі XLink, распрацаванай кансорцыумам W3C спецыяльна для стварэння спасылак паміж рознымі рэсурсамі ў XML-дакументах.

Добрыя якасці фармату

Стандарт FB2 уключае ў сябе толькі мінімальна неабходны набор тэгаў (дастатковы для «афармлення» мастацкай літаратуры), што спрашчае яго апрацоўку рыдэрамі. Прычым у выпадку прамой працы рыдара з фарматам FB, карыстач атрымлівае магчымасць наладзіць пад сябе практычна ўсе параметры адлюстравання.

Строгая структура дакумента дазваляе аўтаматызаваць працэс пераўтварэння з фармату FB у любой іншай. Гэтая ж структура дае магчымасць працаваць з асобнымі элементамі дакументаў - наладжваць фільтры па аўтарах кніг, назве, жанры і інш. Па гэтай прычыне фармат FB2 і набыў папулярнасць у Рунэце, стаўшы стандартам па змаўчанні ў расійскіх электронных бібліятэках і бібліятэках краін СНД.

Недахопы фармату

Прастата фармату FB2 з'яўляецца яго добрай якасцю і недахопам адначасова. Гэта абмяжоўвае функцыянал для складанай вёрсткі тэксту (напрыклад, нататак на палях). У ім няма вектарнай графікі і падтрымкі нумараваных спісаў. Па гэтай прычыне фармат не вельмі падыходзіць для падручнікаў, даведнікаў і тэхнічнай літаратуры (пра гэта нават гаворыць сама назва фармату — fiction book, ці «мастацкая кніга»).

Пры гэтым, каб адлюстраваць мінімальную інфармацыю аб кнізе - назву, аўтара і вокладку - праграме патрабуецца апрацаваць практычна ўвесь XML-дакумент. Гэта звязана з тым, што метададзеныя размяшчаюцца ў пачатку тэксту, а выявы - у канцы.

FB3 - развіццё фармату

У сувязі з узрослымі патрабаваннямі да фарматавання тэкстаў кніг (і каб нівеліраваць некаторыя з недахопаў FB2), Грыбоў пачаў працу над фарматам FB3. Пазней распрацоўка спынілася, але ў 2014 годзе была адноўлена.

Па словах аўтараў, яны вывучылі рэальныя патрэбы пры выданні тэхнічнай літаратуры, паглядзелі падручнікі, даведнікі, дапаможнікі і акрэслілі больш канкрэтны набор тэгаў, які б дазволіў адлюстраваць любую кнігу.

У новай спецыфікацыі фармат FictionBook уяўляе сабой zip-архіў, у якім асобнымі файламі захоўваюцца метададзеныя, малюнкі і тэкст. Патрабаванні да фармату zip-файла і пагадненні аб яго арганізацыі прапісаны ў стандарце ECMA-376, Які вызначае Open XML.

Быў зроблены шэраг паляпшэнняў, звязаных з фарматаваннем (разрадка, падкрэсліванне) і дададзены новы аб'ект - "блок" - які афармляе адвольны фрагмент кнігі ў выглядзе чатырохкутніка і здольны ўкараняцца ў тэкст з абцяканнем. З'явілася падтрымка нумараваных і маркіраваных спісаў.

FB3 распаўсюджваецца па свабоднай ліцэнзіі і мае адкрыты код, таму выдаўцам і карыстальнікам даступныя ўсе ўтыліты: канвертары, хмарныя рэдактары, чыталкі. Бягучую версію фармату, чыталку и рэдактар можна знайсці ў рэпазітары праекта на GitHub.

У цэлым FictionBook3 пакуль менш распаўсюджаны, чым ягоны старэйшы брат, аднак кнігі ў гэтым фармаце ўжо прапануюць некалькі электронных бібліятэк. А ў "ЛітРэс" яшчэ пару гадоў таму заяўлялі аб намеры перавесці ўвесь свой каталог на новы фармат. Частка рыдараў ужо падтрымлівае ўвесь неабходны функцыянал FB3. Напрыклад, працаваць з гэтым фарматам са скрынкі умеюць усе сучасныя мадэлі рыдараў ONYX, напрыклад, Дарвін 3 або Cleopatra 3.

Электронныя кнігі і іх фарматы: FB2 і FB3 - гісторыя, плюсы, мінусы і прынцыпы працы
/ ONYX BOOX Cleopatra 3

Больш за шырокае распаўсюджванне FictionBook3 дазволіць сфармаваць экасістэму, арыентаваную на паўнавартасную і эфектыўную працу з тэкстам на любой прыладзе з абмежаванымі рэсурсамі: чорна-белым ці невялікім дысплеем, нізкім аб'ёмам памяці і інш. Па словах распрацоўнікаў, аднойчы звярстаная кніга будзе максімальна зручнай у любым асяроддзі.

PS Прапануем вашай увазе некалькі аглядаў рыдэраў ONYX BOOX:



Крыніца: habr.com

Дадаць каментар