Чтение онлайн

на главную

Жанры

Создание электронных книг в формате FictionBook 2.1: практическое руководство
Шрифт:

Самое существенное нововведение — выделенные блоки, с атрибутами расположения, выравнивания, отбивки бордюра. Соответственнно, тэг форматирования 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.1

Подробное описание BASE64 cм. приложение E.

§ 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>

Это пример книги в формате FictiionBook

</annotation>

<date value="2006-04-14">14 апреля 2006 г.</date>

<lang>ru</lang>

</title-info>

<document-info>

<author>

<nickname>Юзич</nickname>

</author>

<program-used>FB Tools</program-used>

<date value="2006-04-14">2006-04-14</date>

<id>1E693E16-8A80-4391-9800-C1A91A5E29A7</id>

<version>1.0</version>

<history>

v 1.0 — создание книги (Юзич)

</history>

</document-info>

 </description>

 <body>

<title>

Юзич

ПРИМЕР КНИГИ В ФОРМАТЕ FictionBook 2.1

</title>

<epigraph>

Это эпиграф

<text-author>Автор эпиграфа</text-author>

</epigraph>

<section>

<title>

Первая секция

</title>

Секции обычно содержат текст.

<empty-line/>

Текст может разделяться пустыми строками.

<subtitle>Подзаголовок</subtitle>

Или подзаголовками.

</section>

<section>

<title>

Вторая секция

</title>

<section>

<title>

Первая вложенная секция

</title>

Текст может быть <strong>полужирным</strong> или <emphasis>курсивным</emphasis>.

Содержать <a l:href="#Sect3">линки</a> и <a l:href="#note01" type="note">[сноски]</a>.

В тексте могут быть картинки.

<image l:href="#sampl.png"/>

<empty-line/>

</section>

<section>

<title>

Вторая вложенная секция

</title>

<cite>

Это цитата.

<text-author>Автор цитаты.</text-author>

</cite>

Снова текст.

</section>

</section>

<section id="Sect3">

<title>

Третья секция

</title>

Стихи:

<poem>

<title>

Парус

</title>

<stanza>

<v>А у дельфина взрезано брюхо винтом.</v>

<v>Выстрела в спину не ожидает никто.</v>

<v>На батарее нету снарядов уже.</v>

<v>Надо быстрее на вираже.</v>

</stanza>

<stanza>

<v>Но парус! Порвали парус!</v>

<v>Каюсь! Каюсь! Каюсь!</v>

</stanza>

<text-author>Владимир Высоцкий</text-author>

</poem>

Снова обычный текст.

</section>

 </body>

 <body name="notes">

<title>

Примечания

</title>

<section id="note01">

<title>

1

</title>

Текст сноски.

</section>

 </body>

 <binary id="sampl.png" content-type="image/png">iVBORw0KGgoAAAANSUhEUgAAAAkAAAAICAMAAAAcEyWHAAAABGdBTUEAAK/INwWK6QAAABl0

RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAGUExURQEBAf///+tZAq0AAAAY

SURBVHjaYmBAAEZGRjDGzsKvDgYAAgwABR4AH2mwMFgAAAAASUVORK5CYII=</binary>

</FictionBook>

§ 2.3 Элементы описания книги.

Базовые структурные элементы

В самом начале любого файла книги идет признак формата XML

<?xml version="1.0" encoding="windows-1251"?>

Здесь указана сигнатура принадлежности к формату XML, его версия и кодировка файла. Для русскоязычных FictionBook это обычно windows-1251 или utf-8. [2.2]

За ним в обязательном порядке следует:

Элемент FictionBook

2.2

UTF-8 — это ASCII-совместимая многобайтная кодировка Unicode.

В отличие от стандартного Unicode, в utf-8 cимволы с кодами от 0x00000000 до 0x0000007f (стандартный набор US-ASCII) кодируются как байты с кодами от 0x00 до 0x7f (совместимость с кодовой таблицей ASCII). Это означает, что файлы и строки, содержащие только 7-битные ASCII-символы, будут иметь одинаковое представление как в ASCII, так и в UTF-8.

Корневой элемент.

Cинтаксис: <FictionBook>content</FictionBook>.

Фактически, всегда используется в виде:

<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink">

content

</FictionBook>.

Используется в элементах: корневой элемент

Вложенные элементы: stylesheet, description, body, binary

Количество вхождений: одно

Атрибуты: xmlns

Версия формата: 2.0

Пример: см. пример книги FictionBook, § 2.2

Элемент stylesheet

Список стилей, позволяющих конкретно определить, как будет выглядеть книга на экране устройства для чтения. До последнего времени читалками не поддерживался и практически не использовался. Лишь в конце 2007 года появился CoolReader 3.09 с экспериментальной поддержкой stylesheet.

Cинтаксис: <stylesheet>content</stylesheet>.

Используется в элементах: FictionBook

Вложенные элементы: нет

Количество вхождений: одно или отсутствует.

Атрибуты: type

Версия формата: 2.0

Пример:

 <stylesheet type="text/css">

 .body{font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;}

 .p{margin:0.5em 0 0 0.3em; padding:0.2em; text-align:justify;}

 </stylesheet>

Поделиться:
Популярные книги

Эффект Фостера

Аллен Селина
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Эффект Фостера

Аромат невинности

Вудворт Франциска
Любовные романы:
любовно-фантастические романы
эро литература
9.23
рейтинг книги
Аромат невинности

Осознание. Пятый пояс

Игнатов Михаил Павлович
14. Путь
Фантастика:
героическая фантастика
5.00
рейтинг книги
Осознание. Пятый пояс

Вдова на выданье

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Вдова на выданье

Кодекс Крови. Книга Х

Борзых М.
10. РОС: Кодекс Крови
Фантастика:
фэнтези
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга Х

Младший научный сотрудник

Тамбовский Сергей
1. МНС
Фантастика:
попаданцы
альтернативная история
6.40
рейтинг книги
Младший научный сотрудник

Здравствуй, 1984-й

Иванов Дмитрий
1. Девяностые
Фантастика:
альтернативная история
6.42
рейтинг книги
Здравствуй, 1984-й

Вечная Война. Книга VIII

Винокуров Юрий
8. Вечная Война
Фантастика:
боевая фантастика
юмористическая фантастика
космическая фантастика
7.09
рейтинг книги
Вечная Война. Книга VIII

Ваше Сиятельство 3

Моури Эрли
3. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Ваше Сиятельство 3

Последний попаданец 12: финал часть 2

Зубов Константин
12. Последний попаданец
Фантастика:
фэнтези
юмористическое фэнтези
рпг
5.00
рейтинг книги
Последний попаданец 12: финал часть 2

Паладин из прошлого тысячелетия

Еслер Андрей
1. Соприкосновение миров
Фантастика:
боевая фантастика
попаданцы
6.25
рейтинг книги
Паладин из прошлого тысячелетия

Темный Лекарь

Токсик Саша
1. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь

Гром над Академией. Часть 1

Машуков Тимур
2. Гром над миром
Фантастика:
фэнтези
боевая фантастика
5.25
рейтинг книги
Гром над Академией. Часть 1

Последняя Арена 5

Греков Сергей
5. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Последняя Арена 5