FictionBook

FictionBook
Расширение .fb2 или .fb3
MIME-тип application/x-fictionbook+xml[1] и application/x-fictionbook[2]
Разработчик Дмитрий Грибов
Опубликован 2004
Последний выпуск 2.21 (2008-01-16)
Тип формата электронная книга
Расширен из XML
Открытый формат? да
Сайт fictionbook.org

FictionBook (также FeedBook) — формат представления электронных версий книг в виде XML-документов, призванный обеспечить совместимость с любыми устройствами и форматами и облегчать их программную обработку. Имеет расширение .fb2. Разработан группой разработчиков во главе с Дмитрием Грибовым и Михаилом Мацневым.

В середине 1990-х годов энтузиасты начали оцифровывать советские книги. Форматы были самые разные. Текстовый файл можно читать любой программой, однако он не особо удобен в чтении (текст обычно форматируется моноширинным шрифтом). Библиотека Максима Мошкова использовала форматированный TXT, что отлично работает в текстовом режиме, но совершенно неудобно в оконных интерфейсах и на мобильных устройствах, а также затрудняет обработку. Microsoft Word и TeX крайне сложны в обработке. PDF приспособлен только для бумажных копий, чтение PDF с экрана затруднено. DocBook рассчитан на технические книги: вся мощь формата избыточна для художественных книг, а стихи не поддерживаются. Немногочисленные карманные устройства, появившиеся в начале 2000-х, имели свои книжные форматы и зачастую некачественное ПО для своего чтения. В качестве врéменного решения было использовано подмножество HTML, так как полный HTML крайне сложен в реализации.[3] По такому пути пошёл, например, Open eBook (ныне декларирующий полное соответствие HTML/CSS ePub)[4].

В условиях такого «вакуума» Д. Грибов предложил свой формат, задумывавшийся им не как формат для чтения электронных книг, а как формат для их хранения[5] с возможностью сконвертировать в стандартный файл (HTML, RTF) или во внутренний формат электронной книги. Однако наглядность и простота изменения книги «даже руками» придало FB2 популярность в Рунете.[источник не указан 671 день]

В начале 2010-х формат FB2 использовался в Болгарии[6] и Латвии[7][8].

Некоторые электронные библиотеки перешли на формат FictionBook полностью и не принимают книги, подготовленные в других форматах. Однако на страницах этих библиотек можно скачать одну и ту же книгу в виде файлов других распространённых форматов (текстовый файл, RTF, HTML, rb, .doc, PRC[англ.], ePub, PDF), полученных из .fb2 путём автоматической конвертации.[источник не указан 671 день]

FictionBook 3 должен быть ZIP-контейнером, в котором хранятся XML и дополнительные файлы (метаданные, рисунки). Жанры предлагается классифицировать по шести разным «осям» (страна автора, возраст аудитории, описанная историческая эпоха, литературная форма, сюжет и стиль повествования). Разработка fb3 была приостановлена автором в 2008 году, однако продолжена в 2013[9], в декабре 2013 движок был выложен на GitHub[10].

По состоянию на 18 сентября 2022 года формат FB3 находится на стадии beta-версии. Последнее изменение официального редактора состоялось 3 декабря 2019 года[11], а эталонной программы чтения — 5 июня 2020 года[12].

Каждая электронная книга в формате FictionBook fb2 представлена[13]  в виде одного файла формата XML. Иллюстрации (PNG и JPEG) встраиваются внутрь XML файла как элементы XML, будучи представленными в кодировке Base64. FictionBook часто сжимают в ZIP (получается файл .fb2.zip или .fbz), многие программы чтения поддерживают и FB2 со сжатием.

FictionBook похож идеологией на первые версии HTML: все теги относятся к логическому форматированию, а не к визуальному. Нет привязки ни к какому аппаратному обеспечению и ни к какому формату бумаги, нигде в FB2 не указана какая бы то ни была единица измерения — пиксель, пункт или кегль. Как будет выглядеть текст, полученный из формата .fb2, зависит либо от настроек программы-просмотрщика этого формата, либо от параметров, заданных при конвертации файла в другой формат. К примеру, тег заголовка в программе просмотра можно вывести крупным шрифтом, другим цветом или как-то иначе. А при конвертации в формат HTML каждому заголовку может быть сопоставлен определённый HTML-тег, например, <H4> или <B>. Поэтому FB2 претендует на роль универсального формата хранения книг, который можно автоматически переводить в HTML, PDF и другие форматы.[14]

Многие из возможностей FB2 специфичны для электронных книг. В метаданных хранится название книги, ISBN, информация об авторе и жанре книги. Поддерживаются сноски, оглавление, стихи, цитаты. Для переводных книг предусмотрена информация об исходной книге.

Проработанные метаданные дают широкое поле для автоматической обработки книг. К примеру, в электронную библиотеку поступила книга в формате .fb2. Эта книга может быть автоматически помещена в раздел автора книги, а название книги и аннотация могут автоматически отобразиться в колонке новостей библиотеки. Таким образом, намного упрощается процесс помещения в библиотеку новых книг. У документа и авторов есть идентификаторы свободной формы: писателей «Kipling, Rudyard» и «Киплинг, Редьярд» может объединить по совпадению идентификаторов; старая версия книги будет автоматически замещена исправленной. Впрочем, метаданные оказались несколько «СССР-центричными»: были отдельные жанры «русская литература» и «советская литература».[15]

Защита от копирования не предусмотрена. Однако, начиная с версии 2.1, добавлены специальные инструкции для библиотеки, позволяющие выдавать тексты за деньги.

Недостатки

[править | править код]

Формат недостаточно выразителен для учебников, справочников и научных публикаций (о чём говорит даже название — «художественная книга»). В формате нет сложной вёрстки текста, нет поддержки нумерованных и маркированных списков, разрядки текста, средств формирования «замечаний на полях», авторского форматирования стихов и векторной графики.[16] Чтобы отобразить минимальную информацию о книге — название, автора и обложку — программе требуется прочитать и разобрать почти весь XML.[17]

Ссылки через XPath, заявленные в стандарте, на поверку, реализует мало кто, ограничиваясь обычно формой #id.[18]

Книга в формате FictionBook в окне программы FBReader

Многие из известных электронных книг поддерживают FB2 только через внешнее ПО; разработки из постсоветских стран наподобие PocketBook и «Азбуки» читают FB2 изначально.

Программы, поддерживающие формат:

Программа Windows MacOS Linux Android IOS Windows Phone Tizen Symbian BlackBerry
Ice Book Reader Да
CoolReader Да Да Да Да Да
Librera Да
FBReader Да Да Да Да Да[19] Да Да
AlReader Да Да Да
Moon+ Reader Да
Akunin Book Да
Fiction Book Reader Да
PyBookReader Да
STDU Viewer Да
eReader Prestigio Да
Book Bazaar Reader[20] Да Да
Fly Reader[21] Да Да
eBoox Да Да
EBookDroid Да
Яндекс.Браузер[22] Да Да Да Да Да
HedgehogReader Да
Smart Book Да Да

Редактирование

[править | править код]
Программы для создания и редактирования FictionBook[23]
Программа Комментарий Версия FictionBook Требования для работы
GeneBook Онлайн редактор и конвертер -
FictionBook Writer Редактор разработки Алексея Савельева 1.1 Windows
Fiction Book Editor Редактор разработки Litres 2.0 Windows
Fiction Book Editor Редактор разработки Pilgrim, форк редактора Litres. 2.1 Windows
BookDesigner Программа для создания файлов многих форматов электронных книг, автор — Валерий Войцехович. 2.0 Windows
Fiction Book Designer Программа для создания файлов формата FictionBook 2.0, вариант BookDesigner для FB2 того же разработчика. 2.0 Windows
FictionBook Tools Валидатор файлов, редактор, надстройка Internet explorer. 2.0 Windows, MSXML, библиотеки Visual Basic 6

Примечания

[править | править код]
  1. https://gitlab.freedesktop.org/xdg/shared-mime-info/-/blob/2.4/data/freedesktop.org.xml.in#L2148-2168
  2. https://gitlab.freedesktop.org/xdg/shared-mime-info/-/commit/d14a3b3b751679515a196ab2ba1f29c94d4e6e0d
  3. gribuser: Что такое epub и почему он не заменит fb2. Дата обращения: 5 июня 2013. Архивировано 30 января 2013 года.
  4. Электронные библиотеки | 2004 | Том 7 | Выпуск 1 | Д.Грибов. Дата обращения: 24 августа 2019. Архивировано из оригинала 20 декабря 2018 года.
  5. gribuser: Что такое fb2 и почему он устарел. Дата обращения: 4 июня 2013. Архивировано 21 сентября 2014 года.
  6. Моята библиотека (болг.). Дата обращения: 1 июня 2013. Архивировано 1 июня 2013 года.
  7. E-grāmatas. Elektroniskā lasāmviela (латыш.). Galvenā lapa. Дата обращения: 1 июня 2013. Архивировано 8 марта 2014 года.
  8. Grāmatas elektroniski (par brīvu) (латыш.). Дата обращения: 1 июня 2013. Архивировано 1 апреля 2013 года.
  9. gribuser: Как FB3 нас всех спасет. Дата обращения: 4 июня 2013. Архивировано 21 ноября 2016 года.
  10. Пишет gribusergribuser gribuser. fb3 - отчитываюсь о прогрессе. gribuser.livejournal.com. Дата обращения: 20 апреля 2022. Архивировано 26 августа 2017 года.
  11. Реализовано выделение строки в редакторе xml, в которой содержится не… // Github.com / Litres / FB3Editor. — 2019. — 3 декабря. — Дата обращения: 18.09.2022.
  12. Large FB3Reader update (syncing with or4) #34 // Github.com / Litres / FB3Reader. — 2020. — 5 June. — Дата обращения: 18.09.2022.
  13. FB2. Электронные книги для скачивания. Рецензия книг. Подборка книг С. 1. Москва: Zelluloza (2023-30-04). Дата обращения: 30 апреля 2023. Архивировано 30 апреля 2023 года.
  14. Что такое FictionBook — FictionBook. Дата обращения: 8 мая 2022. Архивировано 6 июля 2020 года.
  15. Жанры FictionBook 2.1 — FictionBook. Дата обращения: 8 мая 2022. Архивировано 8 августа 2020 года.
  16. FictionBook 3.0 beta - краткое описание — FictionBook. Дата обращения: 8 мая 2022. Архивировано 27 июня 2020 года.
  17. Метаданные в начале текста, картинки — в конце.
  18. Элемент a — FictionBook. Дата обращения: 8 мая 2022. Архивировано 16 января 2021 года.
  19. FBReader ORG Limited. FBReader. FBReader. Дата обращения: 8 января 2019. Архивировано 9 июля 2017 года.
  20. Book Bazaar Reader – Приложения для Windows в Магазине Майкрософт. Магазин Майкрософт. Дата обращения: 25 февраля 2017. Архивировано 25 февраля 2017 года.
  21. Fly Reader – Приложения для Windows в Магазине Майкрософт. Магазин Майкрософт. Дата обращения: 25 февраля 2017. Архивировано 25 февраля 2017 года.
  22. Просмотр и редактирование файлов в браузере. Справка. browser.yandex.ru. Дата обращения: 12 июня 2020. Архивировано 12 июня 2020 года.
  23. Редакторы. FictionBook.org. Дата обращения: 8 июня 2023. Архивировано 10 мая 2023 года.
  • fictionbook.org — официальный сайт FictionBook
  • Грибов, Д. П. FictionBook — библиотека и формат на основе XML. Краткая характеристика формата и обзор библиотеки на его основе : [арх. 20 декабря 2018] // Электронные библиотеки : росс. научн. электрон. журн. — 2014. — Т. 7, вып. 1.
  • Грибов, Д. П. Информация о стандарте FictionBook 2.0 : [арх. 17 августа 2022] // GrubUser.
  • FictionBook 3.0 beta — краткое описание // Fictionbook.