Про книжки с буквами вообще и про формат epub применительно к русскоязычной действительности

Jun 12, 2011 14:36

Originally posted by dmzkrsk at Про книжки с буквами вообще и про формат epub применительно к русскоязычной действительности

Спустя почти два месяца после покупки е-книжки наконец-то напишу и про чисто текстовые форматы файлов.

Согласно документации, iRiver Story поддерживает следующие форматы: txt, doc, pdf, epub, fb2 (может что и еще). Про pdf с текстом внутри я уже отписывался. doc-файлы - так и не попробовал за всё это время. С txt всё просто: файл обязательно должен быть в кодировке UTF-8 и всё. Он читается. Там больше нет никаких сложностей и рассказывать не о чем.

В сухом остатке два, практически, брата-близнеца: fb2 и epub. Идея в них заложена одна и таже, реализация по большей части разная, но на выходе опять почти одно и тоже.

Сразу же про ридер: fb2 он поддерживает пока только на самом начальном уровне (это беда всех брэндовых моделей) и только в кодировке UTF-8. Текст показывает, а форматирование пока не прикрутили. С epub он дружит намного лучше: и форматирование и шрифты и структура. Но чья это заслуга - об этом будет рассказано далее по тексту.

А пока надо бы разобраться так ли хорош fb2 или epub и за кем будущее?


  • fb2 - формат доморощенный, минималистический и его спецификация грешит велосипедостроением.

  • epub - формат международный, с потенциалом и постороенный на стопке других стандартов.




Основная идея одна: хранить не только текст книги, но и минимальное оформление и метаданные книги (автор, название, жанр, переводчик, ISBN, и прочее). При это обеспечить чтение книги на любом экране и не задавать жесткое форматирование как PDF.

Задача это в каждом формате решена по-разному. Роднит их только то, что ноги растут из X/HTML.

Книга в формате fb2 является одним цельным и нерушимым xml-файлом, в котором записаны как метаданные, так и сам текст книги. Для разметки используется собственная система тегов (некоторые похожи на теги из HTML). Метаданные также записаны специально придуманными для этого тегами в начале книги. fb2 поддерживает вставку рисунков - через спец.тег и рисунком закодированным в формате base64. Чтобы уменьшить размер книжки её часто пихают в zip. В итоге получаются файлы .fbz или .fb2.zip, но дополнительного смысла это не привносит

epub штука позаковырестее. Во-первых, внешний контейнер там zip-файл. Вот так сразу, с наскоку. Но это не просто для уменьшения размера. Тут под это дело целая философия существует.  Как и .odt файлы OpenOffice и .docx файлы Office 2007 - это не просто zip-файл, а вариация OpenDocument Format: всякие OPF и OCF и прочее. OPF - это сам epub, OCF - описание контейнера. Вот и первый стандарт, на котором базируется epub

Внутри лежит не книжка одним файлом, а метаданные контейнера, метаданные книжки и сама книжка разбитая на несколько мелких файлов. Плюс подгружаемые файлы к книжке.

Разбиение на мелкие файлы сделано с учетом того, что где-то существует железо с ограниченным размером оперативки и удержать в памяти 2-4 мегабайт одной книжки они не смогут. А zip-файл легко читается по частям и не нужно его целиком держать в памяти.

Сама же книжка представленная в обычном XHTML1.1 формате с обычными HTML-тегами, полученными с молоком матери. Для выделения структуры предлагается использовать css-классы.

Плюсы такого подхода видны сразу: никакого велосипедостроения, распакованная книжка читается любым бразуером.

Конечно у fb2 уклон в сторону структуры документа: для цитаты свой тег, для стиха свой. Это даёт возможность всем книгам выглядеть одинакого и при желании, например, вытащить все стихи или цитаты из книги одним XPath-запросом. У epub философия другая: каждая книжка является цельным произведением и оформление должно быть на совести издателя. epub также несет внутри себя файл стилей CSS2.1 (+ несколько дополнительных тегов). fb2 оформление не задаёт совсем. Стили на совести читалки.

XHTML+CSS - это второй стандарт

Но и любителям структурированного текста не стоит огорчаться. epub по стандарту поддерживает такую штуку как DTBook (Daisy Digital Talking Book). Формат, которые сперва разрабатывался для людей с ограниченным возможностями здоровья, но потом стал использоваться для более широкого спектра задач. Как и внутренний формат fb2, он основан на HTML но с кучей дополнительных тегов всем на радость. И тегов для структуирования тут намного больше. Есть даже язык для математических формул.

Вот нашел пример такой книги. fbreader показывает нормально. Надо будет проверить софт ридера. Но всё равно, еще один стандарт в копилку.

Для метаданных используется Dublin Core. Этот формат был придуман достаточно давно с уклоном как раз в библиотеки, а потом утек и в другие области. В частности, его можно найти в некоторых RSS-потоках. На первый взгляд, формат не такой понятный как теги fb2, но, вроде, всё что надо тут есть. И пользовательские метатеги тоже поддерживаются. Это стандарт номер 4. Дополнительно в DTBook определены некоторые метатеги, которые можно использовать.

Для описания структуры книги, глав, разделов и томов, снова используется Dublin Core. Точнее его расширение DCMI. Тут уж epub выигрывает у fb2 с большим перевесом. У fb2 есть только тег section, которые встроен в книгу. У epub содержание живет отдельным файлом и тегов тут намного больше.

Кроме того, в epub есть возможность указывать стиль для экранной страницы. Поля указать, колонки, колонтитулы. Для этого существует Adobe Digital Edition Stylesheet. Но мне пока не попадались профессионально сверстанные книги, чтобы посмотреть, что это за зверь. Хотя я был бы не против поставить себе поля на полсантиметра.

Картинки - обложки и прочая графика - лежат обычными jpeg/png файлами внутри архива. Ссылаются на них обычными тегами img. Кроме этого должна поддерживаться векторная svg графика, что очень радует.

Но самое интересное отличие epub от fb2 - это возможность встраивать шрифты. На самом деле это палка о двух концах. По стандарту, книга должна нести в себе шрифты, требуемые для оформления. Это опять таки к вопросу о том, что издатель должен определять внешний вид книги. Но по тому же стандарту производитель может добавить в устройство шрифт по умолчанию. Например, в iRiver Story есть шрифт по умолчанию. Но не кириллический. И на другой его не заменишь. Раздел шрифтов в настройках влияет только на fb2 и txt файлы (которые не могут нести свои шрифты).

Так что с русскими книжками без встроенных шрифтов никуда не деться.

Но если подойти к этой возможности с умом, то можно использовать шрифты для псевдографики. Или для красивого оформления заголовков, цитат или некоторых встроенных блоков. Шрифты понимаются как и ttf, так и otf без всяких проблем.

Вот такой он - формат epub

Собственно вопрос о том, кто победит в мировом масштабе понятен сразу - epub шагает по планете и в ридерах поддержку epub делают чисто для российских реалий.

Законодателем мод на epub является Adobe. И  Adobe Digital Editions считается как бы референсной читалкой. И на iRiver Story стоит именно ADE. Так что epub он должен поддерживать очень и очень хорошо (зависит от версии софта). PDF, кстати, тоже работает через Адобовскую читалку, именно поэтому поддержка pdf в ридере также на высоком уровне.

Но Adobe пошла еще дальше. InDesign умеет создавать epub-файлы. По-моему это чистый pwnage.

О том, что epub шагает по планете видно и по Sony. До недавнего времени читалки от Sony из структуированных форматов поддерживали только свой собственный, доморощенный lrf. Но вот совершенно недавно ВНЕЗАПНО Sony добавила в читалку (и свой магазин) поддержку epub.

Да и вообще в ихнем консорциуме десятки фирм уже. Вот и у IBM есть мини-учебник на эту тему

А если покопаться в P2P в поисках иноязычных книжек, то epub-ов там будет предостаточно.

Будущее fb2 пока же туманно. Сам fb2 уже старый и замороженный, а fb3 пока существует только на бумаге и читалок этого формата (как и книг) еще нет. Между прочим, если посмотреть на спецификацию fb3, то можно заметить, что концепция сдвинулась в сторону ODF-подобного формата: zip-архив, отдельные файлы, вложения, описание вложений.

Да и fb2 всем хватает, и кто будет создавать книги в fb3?

А теперь о настоящем. Применительно к российским реалиям.

Если вы прониклись духом epub и ринулись в интернет качать русскоязычные книжки в этом формате, то лучше остановиться, выдохнуть и забыть про это. По моим наблюдениям, epub-ы живущие в рунете сделаны путем конвертации из fb2. Причем не всегда грамотно и не всего со включенными шрифтами.

Поэтому русскоязычные книжки нужно качать в fb2 и конвертировать удобным способом. О том как конвертировать fb2->epub надо будет написать отдельно.

В epub качать нужно книги из первых рук: это пока только зарубежные издания. Я пока не знаю как дело с официальными электронными книгами в России.

Если говорить о других устройствах чтения, то на PC все проще: с epub на PC проблем быть не должно. fbreader или calibre должны читать всё что угодно. И под Linux тоже.

На коммуникаторах немного сложнее. Для iPhone есть Stanza - тоже референсная читалка, а вот для WM пока нашел только Freda. Не так крута как alReader, конечно и требует .NetCF, но в целом уже довольно симпатична. Больше для WM я не нашел ничего. Adobe тоже не шевелится.

Ну и о том как это читается на ридере, конечно же.

Так как читалкой в читалке работает упомянутый Adobe Digital Editions, то тут есть всё что надо: две ориентации экрана, поддержка шрифтов, оглавления, форматирования, поиск по тексту, быстрые переход на любую страницу. Так что свой основной формат читалка отображает безупречно. Размеров шрифта на выбор три штуки. Размер самого маленького к тому же зависит и от самого используемого шрифта. О том как я подбирал шрифт надо тоже написать отдельно.

Содержание



Поиск по тексту



fer

books

Previous post Next post
Up