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

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

История

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

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

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

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

FictionBook 3

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

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

Описание

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

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

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

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

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

Недостатки

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

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

Программы

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

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

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

Чтение

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

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

Программы для создания и редактирования FictionBook[21]
Программа Комментарий Версия FictionBook Требования для работы
GeneBook Онлайн редактор и конвертер -
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

См. также