Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 6 января 2023 года; проверки требуют 2 правки.
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 6 января 2023 года; проверки требуют 2 правки.
FictionBook (также FeedBook) — формат представления электронных версий книг в виде XML-документов, призванный обеспечить совместимость с любыми устройствами и форматами и облегчать их программную обработку. Имеет расширение .fb2. Разработан группой разработчиков во главе с Дмитрием Грибовым и Михаилом Мацневым.
В середине 1990-х годов энтузиасты начали оцифровывать советские книги. Форматы были самые разные. Текстовый файл можно читать любой программой, однако он не особо удобен в чтении (текст обычно форматируется моноширинным шрифтом). Библиотека Максима Мошкова использовала форматированный TXT, что отлично работает в текстовом режиме, но совершенно неудобно в оконных интерфейсах и на мобильных устройствах, а также затрудняет обработку. Microsoft Word и TeX крайне сложны в обработке. PDF приспособлен только для бумажных копий, чтение PDF с экрана затруднено. DocBook рассчитан на технические книги: вся мощь формата избыточна для художественных книг, а стихи не поддерживаются. Немногочисленные карманные устройства, появившиеся в начале 2000-х, имели свои книжные форматы и зачастую некачественное ПО для их чтения. В качестве врéменного решения было использовано подмножество HTML, так как полный HTML крайне сложен в реализации.[2] По такому пути пошёл, например, Open eBook (ныне декларирующий полное соответствие HTML/CSS ePub)[3].
В условиях такого «вакуума» Д. Грибов предложил свой формат, задумывавшийся им не как формат для чтения электронных книг, а как формат для их хранения[4], с возможностью сконвертировать в стандартный файл (HTML, RTF) или во внутренний формат электронной книги. Однако наглядность и простота изменения книги «даже руками» придало FB2 популярность в Рунете.[источник не указан 649 дней]
В начале 2010-х формат FB2 использовался в Болгарии[5] и Латвии[6][7].
Некоторые электронные библиотеки перешли на формат FictionBook полностью и не принимают книги, подготовленные в других форматах. Однако на страницах этих библиотек можно скачать одну и ту же книгу в виде файлов других распространённых форматов (текстовый файл, RTF, HTML, rb, .doc, PRC, ePub, PDF), полученных из .fb2 путём автоматической конвертации.[источник не указан 649 дней]
FictionBook 3 должен быть ZIP-контейнером, в котором хранятся XML и дополнительные файлы (метаданные, рисунки). Жанры предлагается классифицировать по шести разным «осям» (государственная принадлежность автора, возраст аудитории, описанная историческая эпоха, литературная форма, сюжет и стиль повествования). Разработка fb3 была приостановлена автором в 2008 году, однако продолжена в 2013[8], в декабре 2013 движок был выложен на GitHub[9].
По состоянию на 18 сентября 2022 года формат FB3 находится на стадии beta-версии. Последнее изменение официального редактора состоялось 3 декабря 2019 года[10], а эталонной программы чтения — 5 июня 2020 года[11].
Каждая электронная книга в формате FictionBook[12] представлена в виде одного файла формата XML. Иллюстрации (PNG и JPEG) встраиваются прямо в XML, будучи представленными в кодировке Base64. FictionBook часто сжимают в ZIP (получается файл .fb2.zip или .fbz), многие программы чтения поддерживают и FB2 со сжатием.
FictionBook похож идеологией на первые версии HTML: все теги относятся к логическому форматированию, а не к визуальному. Нет привязки ни к какому аппаратному обеспечению и ни к какому формату бумаги, нигде в FB2 не указана какая бы то ни была единица измерения — пиксель, пункт или кегль. Как будет выглядеть текст, полученный из формата .fb2, зависит либо от настроек программы-просмотрщика этого формата, либо от параметров, заданных при конвертации файла в другой формат. К примеру, тег заголовка в программе просмотра можно вывести крупным шрифтом, другим цветом или как-то иначе. А при конвертации в формат HTML каждому заголовку может быть сопоставлен определённый HTML-тег, например, <H4> или <B>. Поэтому FB2 претендует на роль универсального формата хранения книг, который можно автоматически переводить в HTML, PDF и другие форматы.[13]
Многие из возможностей FB2 специфичны для электронных книг. В метаданных хранится название книги, ISBN, информация об авторе и жанре книги. Поддерживаются сноски, оглавление, стихи, цитаты. Для переводных книг предусмотрена информация об исходной книге.
Проработанные метаданные дают широкое поле для автоматической обработки книг. К примеру, в электронную библиотеку поступила книга в формате .fb2. Эта книга может быть автоматически помещена в раздел автора книги, а название книги и аннотация могут автоматически отобразиться в колонке новостей библиотеки. Таким образом, намного упрощается процесс помещения в библиотеку новых книг. У документа и авторов есть идентификаторы свободной формы: писателей «Kipling, Rudyard» и «Киплинг, Редьярд» может объединить по совпадению идентификаторов; старая версия книги будет автоматически замещена исправленной. Впрочем, метаданные оказались несколько «СССР-центричными»: были отдельные жанры «русская литература» и «советская литература».[14]
Защита от копирования не предусмотрена. Однако, начиная с версии 2.1, добавлены специальные инструкции для библиотеки, позволяющие выдавать тексты за деньги.
Формат недостаточно выразителен для учебников, справочников и научных публикаций (о чём говорит даже название — «художественная книга»). В формате нет сложной вёрстки текста, нет поддержки нумерованных и маркированных списков, разрядки текста, средств формирования «замечаний на полях», авторского форматирования стихов и векторной графики.[15] Чтобы отобразить минимальную информацию о книге — название, автора и обложку — программе требуется прочитать и разобрать почти весь XML.[16]
Ссылки через XPath, заявленные в стандарте, на поверку реализует мало кто, ограничиваясь обычно формой #id.[17]
Многие из известных электронных книг поддерживают FB2 только через внешнее ПО; разработки из постсоветских стран наподобие PocketBook и «Азбуки» читают FB2 изначально.
Грибов, Д. П. FictionBook — библиотека и формат на основе XML. Краткая характеристика формата и обзор библиотеки на его основе : [арх. 20 декабря 2018] // Электронные библиотеки : росс. научн. электрон. журн. — 2014. — Т. 7, вып. 1.
Грибов, Д. П. Информация о стандарте FictionBook 2.0 : [арх. 17 августа 2022] // GrubUser.