Создание электронных книг в формате FictionBook 2.1: практическое руководство. Версия 1.0 PreRelease от 17.09.2009 г (Кондратович) - страница 99

Все признанные огрехами «<» и «>» в тексте заменяются на < и >, как и положено по спецификации. Символы с кодами от 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 она «исправила», вставив закрывающий тэг в самый конец файла. И перед удаленным открывающим тэгом

корректор спасовал. А вот с конструкцией программа справилась «на ура». Незакрытые тэги

FB2Fix также исправил как положено. А незакрытый тэг софтина просто удалила.

В то же время FB2Fix позволяет себе «не замечать» некритичные ошибки. Например, неправильно оформленные сноски, когда метка поставлена не на секцию, а на ее заголовок, или вообще абзац.

В description успешно прошедшей проверку книги добавляется строка

Passed

а в случае внесения правок версия книги увеличивается на 0.1. Правда, почему-то не всегда.

При повторном прогоне все работает корректно: строка в custom-info «размножаться» не будет.