Сейчас кто-то скажет: совсем запутался Юзич. То запугивает всех, то мораль читает, то защищает свое право качать халявные книжки. Отнюдь. Я просто постарался изложить факты максимально непредвзято. Чтобы пользователи, выкладывающие книги в Сеть, шли на это с открытыми глазами. А книжек, бесплатных и не очень, смею надеяться, на мой век хватит.
Как говорится, думайте сами, решайте сами. Кто-то считает делом всей своей жизни выдирание текстов с платных ресурсов и размещение их в свободном доступе. А кому-то даже выложенный в Сеть сборник произведений Тредьяковского — нож в сердце и преступление против человечества. Это я к тому, что крайности одинаково плохи.
Часть VI
Просмотр и конвертирование книг в формате FictionBook
Хотя формат XML допускает чтение его человеком напрямую, для нормального просмотра книг в формате FictionBook требуется специальная программа-ридер (читалка).
Кроме того, иногда возникает необходимость преобразовать книгу в другой формат. Например, чтобы распечатать ее.
§ 6.1 Читалки
Haali Reader
Написанная автором FB Tools Михаилом Мацневым первая читалка для FictionBook, до сих пор считается эталоном. Именно версии Haali Reader для КПК PocketPC и ее клонам формат обязан своей популярностью.
Читалка существует в версиях для PC (Win32), Pocket PC (Windows Mobile, процессоры ARM, MIPS, SH3) и Cassiopeia BE-300.
Несмотря на спартанский интерфейс, возможности программки весьма широкие. Она позволяет настроить вывод текста, гарнитуру шрифта и цвет для каждого элемента в отдельности. Поддерживает сглаживание шрифта, в двух вариантах: Micro$oft ClearType и «самопальное».
К сожалению, последние годы читалка практически не совершенствовалась и «сдает позиции» более продвинутым решениям от других авторов.
Заметным недостатком читалки является также то, что она не может показывать некоторые картинки jpg. Точнее, те из них, binary-секции которых специфицированы не как «image/jpeg», а «image/jpg».
Резюме. Добротная, очень нетребовательная к ресурсам, но безнадежно устаревшая читалка, популярность которой держится, в основном, на консерватизме пользователей.
CoolReader
По сравнению с HaaliReader, эта читалка является гораздо более совершенной.
Текст красиво отображается на экране в виде свитка или развернутой книги. Разумеется, поддерживается продвинутое сглаживание шрифта.
Читалка поддерживает все инновации FictionBook 2.1, включая таблицы.
Можно экспортировать книгу в HTML и RTF. Правда, файл получается весьма убогий, даже заголовки не выделены. Фактически, это TXT.
Используя голосовой движок (Micro$oft SAM или Digalo) книгу можно «озвучить», и даже сохранить в mp3-файл.
В данный момент автор занят серьезным развитием версии 3.0. Уже реализовано несколько интересных идей, в частности, настройка внешнего вида книги через через CSS, экспорт книги в Jinke Book Wolf, отображение сносок, как и полагается в приличной книжке, внизу виртуальной страницы.
В перспективе планируется выпуск версий читалки для разных платформ. В частности, уже существует версия для Linux.
Резюме. После некоторой доводки, эта софтина должна стать читалкой №1 для PC.
AlReader
Изначально разрабатывалась, как альтернатива Haali Reader, для Windows Mobile-устройств. Но уже давно выпущена версия для Windows XP.
Надо сказать, альтернатива получилась качественная. Фактически, нужда в Haali отпадает совсем.
Читалка «всеядна», умеет работать даже с zTXT PDB, что по достоинству оценят «пальмоводы», сменившие свой архаичный КПК на PocketPC.
Alreader, пусть пока и не идеально, поддерживает новшества FictionBook 2.1, включая таблицы.
Закладки, обычные и глобальные, механизм сбора цитат, плавная автопрокрутка, профили настроек экрана «День»-«Ночь» (с возможностью создания собственных профилей).
Интерфейс читалки более дружественный, чем у Haali. А обилие настроек смущает только поначалу.
Читалка умеет экспортировать книгу в TXT, PDB и HTML. Преобразование в текст весьма качественное, заголовки, подзаголовки, стихи отбиваются пустыми строками.
В последних версиях реализован вывод текста двумя колонками, растровые подложки, и даже (наконец-то, сбылась мечта идиота!) правка текста.
Все элементы FB (эпиграфы, стихи, цитаты) грамотно выделены. Мелочь, а приятно.
Читалка отличается меньшей требовательностью к валидности FB2-файла. Книги, которые Haali Reader открывать напрочь отказывается (например, с неэкранированным знаком амперсанда (&) в тексте) Alreader показывает без сучка и задоринки.
Помимо всего этого, софтина отлично документирована. В комплекте идет иллюстрированная книга FB2.
Резюме. Де-факто, это читалка №1 для Pocket PC. Пускай, не по распространению, но по функциональности и качеству исполнения.
FBReader
Разработанная изначально для Linux и Palm Zaurus эта читалка вскоре обзавелась и версией для Windows.
Несмотря на то, что читалка не обладает какими-то выраженными достоинствами (в текущей версии нет даже экранного сглаживания!), она все равно оставляет приятное впечатление.
Читалка имеет качественный библиотечный модуль, сортирующий книги по авторам и сериям.
Вдобавок, до выхода CoolReader 3.0.8, это была единственная читалка, которая грамотно работала с RTF.
И, по-моему только эта читалка, при нажатии на ссылку, ведущую вовне, автоматически запускает Интернет-браузер.
Еще, как выяснилось, FBReader отличается заметно меньшей требовательностью к вставляемым в файл картинкам.
Резюме. Если вас интересует, в первую очередь, порядок в личной библиотеке, эта читалка для вас.
Прочие средства
Популярная «навороченная» читалка IceBook Professional номинально поддерживает FictionBook. Чисто номинально, так как она преобразует книгу в свой внутренний формат. При этом все структурирование, заголовки, информация description, а также картинки, пропадают. Кому нужен такой хоккей, непонятно.
Файловый менеджер Total Commander также неплохо умеет просматривать FB-книги. Его встроенный просмотрщик Lister отсекает тэги, а заодно и description, оставляя чистый текст. Маленькое «но»: все это корректно работает только в том случае, если книга представлена в кодировке windows-1251.
Похожим образом работает и одна из лучших читалок для PalmOS — PalmFiction. Тэги FB2 «выкусываются», оставляя чистый текст. Учитывая то, что «забросить» FB-шку на Palm не так-то просто (если не ошибаюсь, сделать это возможно только через карту памяти), целесообразность такой «поддержки для галочки» выглядит весьма сомнительной.
Разумеется, здесь перечислены далеко не все программы-читалки, разрабатывавшиеся под FictionBook. Автор уделил внимание лишь самым проработанным и распространенным. Более-менее полный их список можно найти на сайте Fictionbook.org в разделе «Программы/Программы для чтения».
§ 6.2 Пакет FB2Any
Пакет FB2 to Any предназначен для конвертирования FB2 в форматы txt, iSilo pdb, RTF, LIT (Micro$oft Reader), RB (Rocket e-Book).
Пакет состоит из комплекта скриптов vbs, библиотек dll, xsl-файлов, а также оболочки FB2Batch для пакетного преобразования.
Работа с оболочкой крайне проста.
Вначале выбираем желаемый формат. «Select output format…». Причем, можно выбрать сразу несколько. Для этого выделяем их, зажав клавишу Ctrl.
Каждый режим имеет свои настройки. Выделив нужную строчку в списке «Select output format…», щелкаем кнопочку «Configure».
Подробнее настройки будут рассмотрены ниже.
Далее идет выбор директории, где будут сохраняться преобразованные файлы. «Store output files to:». Предусмотрено три варианта.
Радиокнопка «Store converted files near fb2 original» указывает программке сохранять выходные файлы по месту расположения входного файла.
Вторая радиокнопка «Place all converted files to this folder» помещает выходные файлы в директрию, которая выбирается в поле, расположенном прямо под радиокнопкой. Щелкнув кнопочку «…», можно выбрать или создать подходящую папку.
NB! Если же в поле вручную введено имя несуществующей папки, то автоматическое создание ее не предусмотрено.
Третья радиокнопка «Name and place new files using the follwing rule:» предусматривает переименование выходных файлов и «раскассирование» их в папки согласно вводимым в нижерасположенном поле правилам.
Список правил, можно узнать, нажав кнопку «Help?». Ниже помещен этот же список с переводом.
You can use the following patterns:
(For example file "c:tempbooksfoo.fb2", Stephen King's book "Thinner")
%1 Drive letter of source fb2 file ("c") {Буква диска, на котором находится исходный файл fb2}
%2 Path of source fb2 file ("tempbooks") {Путь к исходому файлу fb2}
%3 Source fb2 file folder ("books") {Папка, в которой находится исходный файл fb2}
%4 Source fb2 file name ("foo") {Имя исходного файла fb2}
%t Book title ("Thinner") {Название книги}
%f Book author's first name ("Stephen") {Имя автора книги}