Отсюда напрашивается категорический вывод, что выпуск давно анонсированной версии формата 3.0 должен сопровождаться выходом обновленных версий стандартной читалки, и не менее стандартного редактора. И читалка, и редактор, должны корректно поддерживать все особенности формата и, кроме того, они должны быть совместимы по формату закладок. Последняя «фича» крайне важна для вычитки текстов. Также, в обязательном порядке, должен быть, опять же, стандартный, пакет скриптов для сетевых библиотек. Иначе все улучшения и нововведения просто теряют всякий смысл.
За время, которое заняло написание этой книги, формат несколько модернизировался. В частности, были внесены следующие изменения.
В феврале 2007 г. «в связи с планируемой унификацией работы библиотек и несколькими другими техническими изменениями» было произведено несколько косметических изменений.
1. В authorType добавлено поле id, которое может присутствовать наряду с остальными полями. Предназначено для однозначной идентификации авторов в библиотеке. Содержимое аналогично ID книги.
2. В document-info добавлен необязательный узел publisher типа authorType — правообладатель.
В январе 2008 г. изменения претерпел список жанров. Был убран жанр sci_business (Деловая литература), вместо него добавлен целый раздел c жанрами job_hunting (Поиск работы, карьера), management (Управление, подбор персонала), marketing (Маркетинг, PR, реклама), banking (Банковское дело), stock (Ценные бумаги, инвестиции), accounting (Бухучет, налогообложение, аудит), global_economy (Внешнеэкономическая деятельность), economics (Экономика), industries (Отраслевые издания), org_behavior (Корпоративная культура), personal_finance (Личные финансы), real_estate (Недвижимость).
Еще стало возможным добавление подзаголовков в стихи.
Поступательная эволюция формата еще раз подтверждает необходимость в стандартных читалке и редакторе.
Время идет неумолимо, а лучшее — злейший враг хорошего. В июле 2008-го, «без труб и барабанов», была анонсирована третья версия формата.
Она призвана удовлетворить возросшие требования к форматированию текста книг и возможностям их каталогизации. Это невозможно сделать, без радикальных изменений, как в устройстве, так и в идеологии формата.
Книга FB3 представляет собой zip-файл, в котром хранятся отдельными файлами мета-информация (description), текст книги, а также графические дополнения. Среди поддерживаемых форматов заявлены GIF, PNG, JPEG и SVG.
Связи между файлами теперь осуществляются не через xlink, а с помощью механизма отношений (в основу fb3 положен стандарт Open Packaging Convention (ECMA-376 Part 2).
Отныне формат будет полноценно поддерживать подшивки — несколько книг в одном файле.
Описание книги выведено в отдельный файл, а структура его полностью переработана, опять же, в связи с возросшими требованиями. В частности, предусмотрен подзаголовок — для сложноорганизованных названий, специальный блок для описания периодических изданий. Появилась возможность упоминать не только авторов и переводчиков, но и иллюстраторов, а также всех прочих деятелей, имеющих отношение к книге, добавить информацию о целевой аудитории и даже об описываемом периоде.
Форматированние текста книги также претерпело существенные изменения. Добавлены списки — нумерованные и ненумерованные. Переработан механизм сносок.
Самое существенное нововведение — выделенные блоки, с атрибутами расположения, выравнивания, отбивки бордюра. Соответственнно, тэг форматирования code заменен на элемент code. Сделано все это для облегчения верстки сложных документов, в частности учебников и научно-популярных изданий.
Вообще, ясно просматривается тенденция расширения применяемости формата. Если FB2 «претендовал», в основном, на художественную литературу, то FB3 должен «перекрыть» большинство видов книжной продукции, исключая разве что, глянцевые журналы.
Главное достоинство FictionBook остается неизменным: максимальная ориентация на полноценную и эффективную переносимость книги на любое устройство, с ограниченными ресурсами, черно-белым или небольшим дисплеем и т.п. Единожды сверстанная книга должна быть читаема на любой аппаратной базе.
Сейчас проект находится в состоянии «бета». Это позволяет надеяться, что в формат будут добавлены еще какие-нибудь полезные плюшки.
Желающие узнать больше могут ознакомиться с соответствующей статьей Дмитрия Грибова на FictionBook.org, краткий пересказ которой вы, собственно, сейчас и прочли.
От себя же вынужден отметить, что, несмотря на столь выдающиеся задатки, будущее формата весьма туманно.
Во-первых, неоспоримо, что на инновационный формат будет «давить» уже накопленная масса книг. Пусть даже конвертация FB2 в FB3, стараниями Дмитрия Грибова, будет тривиальной задачей. Но перелопачивание прорвы книг растянется на годы. Именно большой объем имеющихся данных в свое время помешал новым форматам VQF, MP3 Pro, а затем и OggVorbis вытеснить MP3.
Кроме того, за бугром уже стал офицальным стандартом весьма зубастый конкурент — e-Pub. Конечно, можно успокаивать себя, что в Рунете он не прижился. Но продвижение FB3 за рубеж он может подпортить самым решительным образом.
Конечно, за FB3 стоит уже не горстка энтузиастов, а солидная компания — «ЛитРес». Что добавляет в нашу бочку мёда еще один черпачок дёгтя.
Велик соблазн сделать из FB3 чисто коммерческий формат. Тем более, что навесить DRM на zip-архив на порядок проще, чем на текстовый XML. Конечно, навряд ли FB3 станет закрытым форматом. Это, как говорится, из области фантастики. Но в том, что продвинутые средства разработки останутся монополией «ЛитРес»-а, можно даже не сомневаться. Что, несомненно, «добавит» формату привлекательности.
Впрочем, автор книги искренне надеется, что последние абзацы так и останутся параноидальными домыслами, а FB3 сравнится по популярности с MP3. К вящей радости читателей…
Часть II
Подробное описание формата FictionBook
§ 2.1 Структура файла FictionBook.
Базовые понятия
Книга FictionBook представляет собой XML-файл.
Структурно этот файл можно разделить на три части.
1) Desсription — заголовок (описание) книги;
2) Body — непосредственно текст книги. В книге может быть несколько body.
3) Binary — необязательная часть. Содержит бинарные файлы, в кодировке BASE64. [2.1] Как правило, это картинки.
§ 2.2 Пример книги в формате FictionBook
Cпецификация (schema) FictionBook находится на сайте Дмитрия Грибова, а также входит в комплект FB Tools. Поэтому размещать ее в электронной версии книги смысла нет.
Но пример книги в формате FictionBook привести необходимо:
<?xml version="1.0" encoding="windows-1251"?>
<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink">
<description>
<title-info>
<genre>reference</genre>
<author>
<first-name>Имя автора</first-name>
<last-name>Фамилия автора</last-name>
<nickname>Юзич</nickname>
</author>
<book-title>Пример книги в формате FictionBook 2.1</book-title>
<annotation>