Електронни книги и техните формати: FB2 и FB3 — история, предимства, недостатъци и принципи на работа

В предишния материал разказахме за особеностите на формата DjVu. Днес решихме да се спрем на формата FictionBook2, по-известен като FB2, и неговия "наследник" FB3.

Електронни книги и техните формати: FB2 и FB3 — история, предимства, недостатъци и принципи на работа
/ Flickr / Юдит Клайн / CC

Появата на формата

През средата на 90-те години ентусиасти започнаха цифровизираха съветски книги. Те превеждаха и запазваха литература в най-разнообразни формати. Една от първите библиотеки в Рунета — Библиотеката на Максим Мошков — използваше форматиран текстов файл (TXT).

Изборът в полза на него беше направен поради устойчивостта му на повреди и универсалността — TXT може да се отвори на всяка операционна система. Въпреки това той затрудняваше обработката на съхраняваната текстова информация. Например, за да преминете на хиляда линия, трябваше да обработите 999-те линии преди нея. Книгите също така се съхраняваха в "ворд" документи и PDF — последният беше трудно да се преобразува в други формати, а слабите компютри отваряха и показваха PDF документи със закъснения.

Също така за "съхранение" на електронна литература се използваше HTML. Той улесни индексирането, преобразуването в други формати и създаването на документи (размечаване на текста с тагове), но донесе свои собствени недостатъци. Един от най-значимите беше "размаза» стандарт: той позволяваше определени свободи при написването на тагове. Някои от тях трябваше да бъдат затворени, други (например, <p>) — затварянето им не беше задължително. Самите тагове можеха да имат произволен ред на вложеност.

И макар подобна работа с файлове да не се насърчаваше — такива документи се считаха за некоректни — стандартът изискваше от ридерите да опитат да визуализират съдържанието. Тук и възникваха трудности, тъй като в приложението процесът на "създаване на смисъл" беше реализиран по различен начин. В същото време, през този период, наличните на пазара устройства и приложения за четене разбираха един-два специализирани формата. Ако книгата беше в един формат, трябваше да се преформатира, за да се прочете. Решението на всички тези недостатъци беше FictionBook2,или FB2, който пое основното "изчистване" на текста и конвертирането.

Необходимо е да се отбележи, че форматът имаше първа версия — FictionBook1 — обаче тя беше само експериментална, просъществува кратко и днес не се поддържа и не е съвместима с по-новите версии. Затова под FictionBook най-често се разбира неговият "наследник" — форматът FB2.

FB2 беше създадена от група разработчици, ръководена от Дмитрий Грибов, който е технически директор на компанията «ЛитРес», и Михаил Мацнев, създател на читалката Haali Reader. В основата на формата лежи XML, който е по-строг от HTML и регламентира работата с незатворени и вложени тагове. XML-документът се придружава от т.нар. XML-схема. XML-схемата е специален файл, в който са събрани всички тагове и са описани правилата за тяхното прилагане (последователност, вложеност, задължителност и незадължителност и др.). В FictionBook схемата се намира в файла FictionBook2.xsd. Пример за XML-схема можете да намерите по връзка (тя се използва от магазина за електронни книги «ЛитРес»).

Структура на документа FB2

Текстът в документа се съхранява в специални тагове — елементи от тип параграфи: <p>, <v> и <subtitle>. Съществува също елемент <empty-line>, който няма съдържание и се използва за вмъкване на пространства.

Всички документи започват с основния таг <fictionbook>, под който могат да се появяват <stylesheet>, <description>, <body> и <binary>.

Таг съдържа таблици със стилове, за да улесни конвертирането в други формати. В се намират данни, кодирани с помощта на base64 данни, които може да са нужни за рендеринг на документа.

Елемент съдържа всяка необходима информация за книгата: жанр на произведението, списък на авторите (Име, адрес на електронна поща и сайт в Интернет), заглавие, блок с ключови думи, анотация. В него може да има и информация за промените в документа и данни за издателя на книгата, ако е била издавана на хартия.

Така изглежда част от блока в записа FictionBook за произведението «Етюд в багрови тонове» на Артър Конан Дойл, взет от Проекта «Гутенберг»:

детектив
      
        Артър
        Конан
        Дойл
      
      A Study in Scarlet
      
      
      1887

Ключовият компонент на FictionBook документа е <body>. Той съдържа текста на книгата. В целия документ тези тагове могат да бъдат няколко — допълнителни блокове се използват за съхранение на бележки, коментари и пояснения.

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 могат да работят с този формат „из коробка“, например, Darwin 3 или Cleopatra 3.

Електронни книги и техните формати: FB2 и FB3 — история, предимства, недостатъци и принципи на работа
/ ONYX BOOX Cleopatra 3

По-широкото разпространение на FictionBook3 ще помогне за формирането на екосистема, ориентирана за пълноценна и ефективна работа с текст на всяко устройство с ограничени ресурси: черно-бяло или малък дисплей, с ограничено място за памет и др. Според разработчиците, веднъж форматираната книга ще бъде максимално удобна в каквато и да е среда.

P.S. Предлагаме ви няколко прегледа на ридерите ONYX BOOX:



Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster