Создание электронных книг в формате FictionBook 2.1: практическое руководство (pre-release)
Добавить в закладки К обложке
- Предуведомление - Страница 1
- Предисловие - Страница 2
- Введение - Страница 3
- Часть IФормат FictionBook и его место в мире электронной литературы - Страница 4
- § 1.2 Многообразие форматов электронных книг - Страница 5
- § 1.3 Несколько слов о XML - Страница 9
- § 1.4 Формат FictionBook — стандарт де-факто для электронных книг - Страница 10
- Часть IIПодробное описание формата FictionBook - Страница 13
- § 2.2 Пример книги в формате FictionBook - Страница 14
- § 2.3 Элементы описания книги.Базовые структурные элементы - Страница 16
- § 2.4 Элементы описания книги (description). Элементы первого уровня - Страница 18
- § 2.5 Элементы описания книги (description). Элементы второго уровня - Страница 20
- § 2.6 Элементы описания книги (description). Элементы третьего уровня (информация об авторе) - Страница 24
- § 2.7 Элементы тела книги (body). - Страница 25
- § 2.8 Элементы раздела книги (section).Элементы первого уровня. - Страница 26
- § 2.9 Элементы раздела книги (section).Элементы второго уровня. - Страница 28
- § 2.10 Элементы таблиц - Страница 29
- § 2.11 Элементы абзаца (стилевые, они же inline элементы) - Страница 30
- § 2.12 Элементы для платных книг - Страница 33
- § 2.13 Спецсимволы - Страница 34
- § 2.14 Список атрибутов элементов - Страница 35
- § 2.15 Алфавитный список всех элементов FictionBook 2.1 - Страница 37
- Часть IIIКонвертирование книг из других форматов - Страница 38
- § 3.1 Требования к исходному тексту - Страница 39
- § 3.2 Any to FB2 - Страница 40
- § 3.3 ExportXML - Страница 43
- § 3.4 doc2fb - Страница 44
- § 3.5 Перенос через буфер обмена - Страница 45
- § 3.6 Конвертор ExportToFB21 для Open Office - Страница 46
- § 3.7 Написание собственного конвертора - Страница 47
- Часть IVРедактирование книг. FB Editor - Страница 51
- § 4.1 Установка программы - Страница 52
- § 4.2 Описание функций и основные приемы работы - Страница 53
- § 4.3 Заполнение заголовка книги - Страница 55
- § 4.4 Структурирование документа - Страница 58
- § 4.5 Использование регулярных выражений - Страница 63
- § 4.6 Использование скриптов - Страница 64
- § 4.7 Баги с нами! - Страница 65
- § 4.8 Дальнейшее развитие редактора - Страница 66
- § 4.9 Альтернативные средства редактирования - Страница 67
- Часть VПрочие вопросы создания книг в формате FictionBook - Страница 69
- § 5.2 Подготовка картинок - Страница 71
- § 5.3 Обложки - Страница 73
- § 5.4 Сборник или по отдельности? - Страница 75
- § 5.5 Советы по вычитке книг - Страница 76
- § 5.6 Символы, которых нет на клавиатуре - Страница 78
- § 5.7 Высокое искусство аннотации - Страница 79
- § 5.8 Проблемы распространения - Страница 80
- Часть VIПросмотр и конвертирование книг в формате FictionBook - Страница 82
- § 6.1 Читалки - Страница 83
- § 6.2 Пакет FB2Any - Страница 85
- § 6.3 FB2GrWolf - Страница 87
- § 6.4 FB2PDF - Страница 88
- Часть VIIПрочее программное обеспечение для работы с FictionBook - Страница 90
- § 7.2 Утилита Booki - Страница 94
- § 7.3 Программа-библиотекарь JEFLibrarian - Страница 95
- § 7.4 Программа-библиотекарь MyHomeLib - Страница 96
- § 7.5 FB2Fix - Страница 97
- Заключение.Копирайт и доступность - Страница 101
- Благодарности - Страница 107
- Обратная связь - Страница 108
- Приложения - Страница 109
- Приложение БТехническое задание на написание читалки (ридера) - Страница 110
- Приложение ВСписок жанров FictionBook - Страница 111
- Приложение ГСписок возможных языков - Страница 113
- Приложение ДРегулярные выражения - Страница 114
- Приложение EОписание Base64 - Страница 117
- Приложение ЖОписание стандарта ISBN - Страница 118
- Приложение ЗПопытка анализа влияния «пиратов» на тиражи книг - Страница 120
- Приложение ИКопирайт и новая война луддитов - Страница 121
§ 7.5 FB2Fix
Как следует из названия, основная задача этой утилиты — полная проверка FB2-файлов на валидность с возможностью их коррекции. Кроме того, автор, скрывшийся под претенциозным псевдонимом Gremlin II, наделил программу «талантами» работать с архивами, в том числе RAR и вложенными ZIP, использовать пользовательские спецификации XSD, транслитерировать имена файлов и переименовывать их по шаблону, заменять «непечатные» символов, автоматически конвертировать жанры из версии 2.0 в версию 2.1, и даже перекодировать книжки. Отдельным пунктом значится приведение в порядок невалидных книг из библиотеки Либрусек.
Возможна обработка как отдельных файлов, так и целых каталогов.
Утилита выполняет полную проверку на соответстие xml-файла книги спецификации (schema) FB2. Если книга не проходит проверку на валидность, FB2Fix пытается исправить ее. Это производится следующим образом. Вначале производится проверка всех тэгов. Не закрытые (или же лишенные открывающего дескриптора) тэги — закрываются. Также софтина пытается разобраться, с «висящими» в тексте символами «<» и «>» на предмет, элементы ли это тэгов или же просто огрехи работы конвертора. При этом программа, как и все «ишкуштвенные интилекты» не застрахована от ошибок. Отсюда мораль: после правки «проблемного» файла не пожалеть пару минут на сличение результата с оригиналом.
Все признанные огрехами «<» и «>» в тексте заменяются на < и >, как и положено по спецификации. Символы с кодами от 01 до 08 заменяются на «-», символы 0b, 0c и 0e — 0x1f на « ».
Сама утилита представляет собой консольное приложение. То есть, запуск ее возможен посредством использования командной строки («Command Prompt») с передачей рабочих параметров через нее.
Несмотря на это, для работы FB2Fix требуется наличие в системе Micro$oft .NET Framework 2.0. Также софтина может работать под Linux (с установленным Mono и пакет(ами) libmono-i18n{1,2}.0-cil).
Давайте познакомимся с FB2Fix поближе.
Скачайте и распакуйте архив в папку, Например, C:\FB2TOOLS\FB2FIX.
Создайте на диске (лучше в корне) две рабочие папки. Например INBOOK и OUTBOOK.
Войдите в папку FB2FIX. Для удобства, лучше все эти операции проделывать в каком-нибудь консольном файл-менеджере, например, Far Manager.
Забросьте в папку INBOOK с десяток книг FB2.
Теперь давайте запустим FB2Fix.
Вот так:
FB2Fix.exe D:\INBOOK /output:D:\OUTBOOK
Когда утилита отработает, загляните в папку OUTBOOK. Вы обнаружите там две папки — Bad и Good. Как нетрудно догадаться, первая предназначена для книг, которые не прошли проверку и, к тому же, их не удалось исправить. В папку Good отправляются все остальные.
Итак, алгоритм работы в общих чертах ясен. Кладем книги, нуждающиеся в проверке, в папку INBOOK и запускаем программу. Кстати, выходную папку можно и не указывать, тогда директории Bad и Good будут созданы в той же папке, где находится FB2Fix.
К сожалению, для тестирования программы мне просто неоткуда было взять подходящее количество невалидных книг, так что пришлось импровизировать. То есть создавать файлы с ошибками вручную.
Незакрытый тэг body оказался проге не по зубам. Тэги descripion и cite она «исправила», вставив закрывающий тэг в самый конец файла. И перед удаленным открывающим тэгом <p> корректор спасовал. А вот с конструкцией <strong><emphasis></strong></emphasis> программа справилась «на ура». Незакрытые тэги <stanza> <p> FB2Fix также исправил как положено. А незакрытый тэг <i> софтина просто удалила.
В то же время FB2Fix позволяет себе «не замечать» некритичные ошибки. Например, неправильно оформленные сноски, когда метка поставлена не на секцию, а на ее заголовок, или вообще абзац.
В description успешно прошедшей проверку книги добавляется строка
<custom-info info-type="fb2fix-status">Passed</custom-info>
а в случае внесения правок версия книги увеличивается на 0.1. Правда, почему-то не всегда.
При повторном прогоне все работает корректно: строка в custom-info «размножаться» не будет.
В общем, если сделать скидку на «искусственность» тестирования (ну какой такой конвертор создаст fb-шку c незакрытым body или description) то можно признать, что со своими обязанностями корректор справляется вполне успешно.
Теперь пройдемся по ключам программы. Их не так уж и много, но все же может показаться, что больше, чем нужно. Некоторые ключи имеют сокращенную форму.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122