В предишния материал разказахме за . Днес решихме да се спрем на формата FictionBook2, по-известен като FB2, и неговия "наследник" FB3.
/ Flickr / /
Появата на формата
През средата на 90-те години ентусиастите амбицирано да дигитализират съветски книги. Те превеждаха и съхраняваха литература в най-разнообразни формати. Една от първите библиотеки в Рунета — — използваше форматиран текстов файл (TXT).
Изборът в полза на него бе направен поради устойчивостта му на повреждане на байтове и универсалността — TXT може да се отвори на всяка операционна система. Въпреки това той обработката на съхраняваната текстова информация. Например, за да се премине на хиляда ред, се налагаше да се обработят 999 реда, идващи преди него. Книгите също в "вордовски" документи и PDF — последният бе трудно да бъде преобразуван в други формати, а слабите компютри отваряха и PDF-документи с забавяне.
Също така за "съхранение" на електронна литература се използваше HTML. Той улесни индексирането, преобразуването в други формати и създаването на документи (размечаване на текста с тагове), но внесе свои собствени недостатъци. Един от най-значителните беше "» стандартът: той позволяваше определени свободи при написването на тагове. Някои от тях трябваше да бъдат затворени, други (например, <p>) — затварянето не беше необходимо. Самите тагове можеха да имат произволен ред на вложеност.
И въпреки че подобна работа с файловете не се поощряваше — такива документи се смятаха за некоректни — стандартът изискваше от ридерите да опитат да визуализират съдържанието. Тук и възникваха трудности, тъй като в всяко приложение процесът на "дословно размишляване" беше реализиран по своему. В същото време, по това време наличните на пазара устройства и приложения за четене един-два специализирани формата. Ако книгата беше налична в един формат, тя трябваше да бъде преформатирана, за да бъде прочетена. Да се решат всички тези недостатъци беше поканен , или FB2, който пое първоначалната "прическа" на текста и конверсията.
Трябва да отбележим, че форматът имаше първа версия — — обаче тя имаше само експериментален характер, просъществува кратко, в днешно време не се поддържа и няма обратно съвместимост. Следователно под 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>.
Тагът съдържа таблици със стилове, за да улесни конвертирането в други формати. В се съдържат кодирани с помощта на данни, които могат да са необходими за рендерирането на документа.
Елементът съдържа всякаква необходима информация за книгата: жанр на произведението, списък с автори (имена, имейл адрес и уебсайт), заглавие, блок с ключови думи, анотация. В него може да има и информация за промените, направени в документа, и данни за издателя на книгата, ако е била публикувана на хартиен носител.
Ето как изглежда част от блока в записа FictionBook за „Етюд в багрови тонове“ на Артър Конан Дойл, взет от :
детектив
Артур
Конан
Дойл
A Study in Scarlet
1887
Ключовият компонент на FictionBook документа е <body>. Той съдържа самия текст на книгата. В целия документ могат да има няколко от тези тагове — допълнителни блокове се използват за съхранение на бележки, коментари и пояснения.
FictionBook също предоставя няколко тага за работа с хипервръзки. Те се основават на спецификацията , разработена от консорциума специално за създаване на връзки между различни ресурси в XML документи.
Предимства на формата
Стандартът FB2 включва само минимално необходимия набор от тагове (достатъчен за „оформянето“ на художествена литература), което улеснява обработката му от ридерите. При директна работа на ридера с формата FB, потребителят получава възможност да настрои почти всички параметри на показването.
Строгата структура на документа позволява автоматизиране на процеса на преобразуване от формата FB в който и да е друг. Тази структура дава възможност за работа с отделни елементи на документите — настройка на филтри по автори на книги, заглавие, жанр и др. Поради тази причина форматът FB2 стана популярен в Рунета, като стандарт по подразбиране в руските електронни библиотеки и библиотеките на страните от ОНД.
Недостатъци на формата
Простотата на формата FB2 е както негово предимство, така и недостатък едновременно. Това ограничава функционалността за сложна типография на текста (например, бележки на полетата). Няма векторна графика и поддръжка на номерирани списъци. Поради тази причина форматът за учебници, справочници и техническа литература (за което дори свидетелства самото наименование на формата — fiction book, или 'художествена книга').
При това, за да се отображи минималната информация за книгата — заглавие, автор и корица — на програмата ѝ е необходимо да обработи практически целия XML-документ. Това се дължи на факта, че метаданните са разположени в началото на текста, а изображенията — в края.
FB3 — развитие на формата
С оглед на увеличените изисквания към форматирането на текстовете на книгите (и за да се преодолеят някои от недостатъците на FB2), Грибов започна работа над формата FB3. По-късно разработката беше спряна, но през 2014 година беше .
Според авторите, те са проучили реалните нужди при издаването на техническа литература, разгледали учебници, справочници, ръководства и очертали по-конкретен набор от тагове, който да позволи да се отображи всяка книга.
В новата спецификация форматът FictionBook представлява zip-архив, в който отделни файлове съхраняват метаданни, изображения и текст. Изискванията към формата на zip-файла и споразумението за неговата организация са описани в стандарта , определящ Open XML.
Бяха направени редица подобрения, свързани с форматирането (разрядка, подчертаване) и добавен нов обект — 'блок' — оформящ произволен фрагмент на книгата във вид на четирикълник и способен да се вгражда в текста с обтекане. Появи се поддръжка на номерирани и маркирани списъци.
FB3 се разпространява под свободна лицензия и има отворен код, така че на издателите и потребителите са достъпни всички утилити: конвертори, облачни редактори, читалки. Текущата формат и може да се намери в репозитория на проекта в GitHub.
Като цяло FictionBook3 все още е по-малко разпространен от своя по-голям брат, но книги в този формат вече предлагат няколко електронни библиотеки. А в "ЛитРес" преди две години обявиха намерението си да преведат целия си каталог на новия формат. Част от читалките вече поддържат всичката необходима функционалност на FB3. Например, всички съвременни модели читалки ONYX, като или .

/
По-широкото разпространение на FictionBook3 ще позволи формирането на екосистема, към пълноценна и ефективна работа с текст на всяко устройство с ограничени ресурси: черно-бял или малък дисплей, нисък обем памет и др. Според разработчиците, веднъж форматирана книга ще бъде максимално удобна в всяка среда.
P.S. Предлагаме на вашето внимание няколко ревюта на читалки ONYX BOOX:
Източник: habr.com
