Литрес: отличия ePub и iOS.ePub

Кто много пользуется сайтом «Литрес», мог видеть, что порой электронные книги они предлагают в двух форматах ePub: просто ePub и iOS.ePub. И многие, вероятно, задавались вопросом, в чём же разница? Мне тоже это было интересно, поэтому как известный зад… исследователь, я решил произвести свои изыскания.

Кроме того что Литрес предлагает два формата, иногда они книги в формате iOS.ePub продают отдельно от обычного электронного издания, да ещё и по значительно более высокой цене. Раньше такое они с книгами Бориса Акунина частенько проделывали.

Поскольку в душе я всё ещё немного программист, то я примерно знаю, что такое формат ePub (не вдаваясь в детали, внутри это просто гипертекст). И поэтому мне было очень интересно, что за подформат изобрели Литрес, за который они ещё и денег отдельно срубают.

Если попытаться поискать в интернете, то поиск даёт скудные сведения. Примерно то же, что стандартно отвечает техподдержка самого Литреса на этот вопрос: «iOS.ePub — адаптирован для просмотра на iOS устройствах». Ну вроде как пользы от такого ответа мало. Спасибо, Капитан Очевидность, так сказать. И даже на повторный вопрос Капитан Очевидность не унывал:

Мы получили ответ от редакторского отдела по вашему вопросу.

.epub — активно продвигаемый фирмой Adobe формат, основанный на HTML. Поддерживается практически во всех современных программах и устройствах;

.ios.epub — документы в формате ePub, адаптированные для просмотра на iOS устройствах;

Однако порой на меня нападает внутренняя въедливость, и я начинаю играть в дурачка и выяснять подробности. Решил выяснить, насколько техподдержка Литреса может работать не по бумажке.

В результате нескольких итераций «вопрос-ответ» я сумел добиться от них чуть более детального ответа, с привлечением их технической команды.

Алексей, уточнила в тех.отделе. Текст в формате ios.epub лучше адаптирован под размеры экрана. Базовый Epub прогоняется через форматирование, рекомендованное Apple (на выходе, в теории, оно может и не отличаться вовсе, это зависит от базового Epub).

Есть разница в отображении сносок. В обычном Epub, при нажатии на сноску, появляется список всех сносок в книге, в ios.epub только эта конкретная сноска.

Вот это уже лучше. Кстати, девушка из техподдержки молодец, порой техподдержка не выходит за рамки инструкций и отделывается лишь общими словами, ожидая, когда клиенту надоест и он просто плюнет на общение.

Зацепившись за указания, я решил произвести проверки, взяв за основу несколько книжек из личной библиотеки на Литресе, а в качестве тестовых «читалок» использовал родное приложение Литреса «Читай!», родное приложение iOS «Книги», а также две читалки, поддерживающие ePub — приложение Pocketbook и KyBook 3 (хотел ещё специлизировавшийся на ePub Marvin взять, но авторы этой читалки явно забили на её поддержку, и теперь она даже ранее загруженные в неё книги не открывает).

Кроме этого, я вооружился рекомендациями от Apple по созданию книг в формате ePub под их платформу iOS: Apple Books Asset Guide 5.2.12.

Родная читалка «Книги» в iOS на данный момент поддерживает формат ePub версий 2.0 и 3.0. Литрес свои книги делает в формате 2.0 (во всяком случае я беглым просмотром нашёл файлы только в таком формате).

Примеры я буду сопровождать скриншотами, а также выжимками кода из файлов ePub (кому это не нужно, просто пропускайте).

Адаптация под размер экрана

Хотя в ответе и указано, что в iOS-версии текст лучше адаптирован под размер экрана, я даже не представляю, что тут имеется в виду, если файл во всех вариантах представляет из себя float-вёрстку, то есть когда для отображения текста можно менять шрифт, размер, параметры выравнивания и так далее. Что тут можно адаптировать — не знаю. Разве иллюстрации, для которых рекомендации iOS указывают минимальные и максимальные размеры. Но очень сомнительный пункт, который даже не проверял. Спишем на «маркетинговую» шнягу, когда просто надо продать ничто.

Буквицы

В типографике есть такое понятие — «буквица«. Это «крупная, отличная от прочих, первая буква главы, раздела или целой книги». В печатных книгах её ещё часто делают красиво отрисованной.

Многие читалки имеют настройки для буквиц, но если на входе только текст, максимум тут выходит либо как-то выделить размером и цветом первую букву, ну или рисовать её картинкой (но для этого у приложения должны быть заранее готовы картинки для всех букв алфавита).

Разумеется, гипертекстовый формат позволяет создателю книги делать и полноценные буквицы, вставляя в документ вместо первой буквы её изображение в виде картинки — и тут уж как фантазия позволит. В варианте книги Бориса Акунина «Чёрный город» с иллюстрациями и вёрсткой для iOS такие буквицы как раз сделали, но не для первой буквы главы, а для первой буквы названия главы, что скорее редкость:

Первая глава книги с буквицей (приложение «Книги»)

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

В файле это вполне ожидаемо задаётся — вместо первой буквы картинка, а затем текст заголовка без этой буквы:

<div class="ilustr spec_o1"><img alt="" src="../Images/o.png" /></div>
<h1 class="jleft" id="mh_toc_34">хота на Одиссея</h1>

Одновременно с этим именно стиль ilustr задаёт, что картинка должна показываться слева от текста, а spec_o1 задаёт дополнительный отступ сверху:

.ilustr { width: 35% !important; border:0px red solid; padding-top:35px;
float: left;
margin: 0 0.5em 0 0 !important;
line-height: 1em !important; }

При этом читалка «Читай!» от Литреса не пытается показать эту красоту и вообще использует у себя вариант вёрстки без буквиц. А вот если тот же ePub скормить другим читалкам, они даже не знают, как себя с этим делом вести. Хотя указания даны в стилях.

KyBook 3 показывает буквицу сверху перед заголовком и по центру экрана:

Некорректный показ буквицы в KyBook 3

А Pocketbook вроде и слева выводит, но выходит ещё хуже:

Некорректный показ буквицы в Pocketbook

Также стоит уточнить, что буквицы в таком виде — очень редкое явление для книг Литреса даже в iOS-варианте, но если есть, то присутствует только в варианте iOS.ePub.

«Раскрывающиеся» иллюстрации

Термин я придумал сам, ибо не знаю, как такое назвать. В читалке «Книги» от Apple есть возможность показывать в тексте изображения в виде миниатюры, отличающейся от полной иллюстрации. И если читатель хочет её просмотреть целиком, надо дважды тапнуть на миниатюре, и тогда на весь экран раскроется полная иллюстрация.

Именно в книге «Чёрный город» авторы использовали эту возможность. В других книгах такое редко встречается. (Кажется, что технари Литреса именно на этой книге пытались проверить все возможности). На странице текста это выглядит так:

Миниатюра иллюстрации

А вот если сделать двойной тап, то текст исчезает, а картинка показывается на весь экран (обрезано сверху и снизу):

Полная иллюстрация на весь экран

Как это делается в файле? Честно говоря, я так и не понял. Ибо описание внутри файла не проливает свет. Какая-то внутренняя магия читалки «Книги». В тексте изображения просто описаны друг за другом:

<div class="wrap_pict">
  <div style="width:240px; height:240px; margin:0px auto -240px; position:relative;"><img alt="" src="../Images/cheri_001_.gif" /></div><div style="width:240px; height:240px; border:1px transparent solid; margin:0 auto; margin-top:-240px !important"><img alt="" src="../Images/i_001.png" style="opacity: 0; width:100% !important; height:100% !important; margin:0 !important; padding:0 !important;" /></div>
  <p class="b pict"><sup>Ялта</sup></p>
</div>

А стиль wrap_pict ничего полезного не делает тоже:

.wrap_pict {  page-break-inside: avoid !important; text-align:center;}

Поэтому я решил тут не упарываться и не искать ответа на вопрос «как», а скорее глянуть, что с этим делают другие.

Как я уже сказал выше, Литрес в своей читалке многие «красивости» упрощает, они просто показывают довольно стандартно иллюстрацию прямо в тексте (для той же книги из библиотеки, это важно!):

Отображение той же иллюстрации в «Читай!» от Литреса

Pocketbook не может разобраться со сложностями отображения двух иллюстраций, и показывает только первую, никакого интерактива нет, полную просмотреть я так и не смог:

Только миниатюра в Pocketbook, большего и не надо

А KyBook 3 понимает, что картинки же две, но никакой связи между ними не видит, потому отображает обе, причём центрирует только первую:

KyBook 3 отдаёт всё, что есть

Но в чём прелесть таких миниатюр — я не знаю. А показывать изображения по двойному тапу на полный экран умеют многие.

Всплывающие сноски

Всплывающая сноска — это такая сноска в теле книги, когда её текст показывается в виде всплывающего окошка прямо поверх текста, что позволяет тебе прочитать описание, не «убегая» от контекста. Для меня наличие всплывающих сносок — один из самых важных параметров читалки. Ибо намного удобнее видеть это описание в контексте, чем прыгать по тексту туда-сюда. Моя основная читалка, KyBook 3, умеет показывать все сноски в книгах формата FB2 именно всплывающими. Выглядит это так:

Один тап на сноске показывает её в виде окошка (как на иллюстрации выше), второй тап в любом месте текста скрывает, и ты можешь спокойно продолжать чтение.

Однако далеко не все читалки так умеют делать. Большинство действует по старинке гипер-текстовых правил — кидает в раздел «примечаний», а потом ты как-то должен вернуться назад.

Если верить рекомендациям по созданию ePub для iOS от самого Apple, то «всплывающие сноски» (Pop-up Footnotes) — это особенность именно третьего формата. Однако практика (и файлы Литреса) показывают, что отлично они работают и в версии 2.0.

Формат ePub (в отличие от сверхпопулярного FB2) имеет встроенную возможность работы с такими всплывающими сносками. Вот как это делается: сноска помечается в тексте специальным типом epub:noteref, а затем где-то в файлах должно быть и её описание. Но лучше показать на примере.

Сноска из книги «Чёрный город» Бориса Акунина, iOS.ePub с иллюстрациями:

<sup><a epub:type="noteref" href="#n1">[1]</a></sup>

А чуть дальше (может и сразу после абзаца, а может и в конце документа) идёт описание самой сноски:

<aside epub:type="footnote" id="n1"><p class="b">Между нами говоря <i>(фр.)</i></p></aside>

А вот при «обычном» способе сноска даётся просто как ссылка на другую часть текста, а то ещё и другой раздел книги. Вот пример для книги «Искра и ветер» Алексея Пехова (обычный ePub):

Но зато там есть «флейта»<a href="contentnotes0.html#n_1" id="back_n_1"><sup>[1]</sup></a>

Тут сноска ведёт на другой документ, где она просто идёт в списке среди прочих. В книге обычно такой раздел называется «Примечания». Вот как она выглядит для этой ссылки

<div style="text-align: justify" class="hsection1" id="n_1"><p class="b"><b>Флейта</b> – кованая решетка или же полые заостренные трубы, используемые вместо нее. Опускалась после закрытия ворот и использовалась как дополнительное защитное укрепление.</p><p class="b page-break-after:always"><a href="content3.html#back_n_1">Вернуться</a></p></div>

Замечу, что в данном примере описание сноски заканчивается ссылкой «Вернуться», которая переводит читателя обратно к месту чтения, это прямо в документе прописано. Далеко не всегда создатели книг так пекутся о читателе. И только редкие толковые читалки помогают вернуться к месту, независимо от файла книги — показывая специальный элемент «Вернуться» (KyBook так делает, например).

А вот показывают всплывающие сноски приложения по-разному. Я взял для примера одну и ту же книгу — «Искра и ветер» Алексея Пехова, вариант iOS.ePub.

Вот как отображает сноску «Читай!» от Литреса:

Сноска в «Читай!»

Описание сноски не закрывает оригинальную строчку, где сноска присутствует. Само описание на тёмном, слегка прозрачном фоне.

Сноска в KyBook 3

В KyBook 3 описание тоже не закрывает оригинальную строчку. KyBook 3 не показывает в описании название самой ссылки (в большинстве случаев это даже хорошо, потому что кому интересны эти 1, 2, 3 и так далее?) Однако именно при работе с iOS.ePub приложению почему-то сносит крышу, и стандартный тег <sup> (показ текста в верхней части строки, как обычно в тексте сноски в книгах и печатают) он показывает как очень мелкий текст снизу.

Сноска в родном приложении «Книги» от Apple

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

Выводы

Что же мы можем из всего этого решить? Как показали изыскания, отличия вёрстки в ePub для iOS не такие и значительные. И я не понимаю, почему Литрес вообще делает два варианта, да ещё нигде толком и не объясняет разницу. Но теперь я хотя бы знаю, что именно понимается под двумя «форматами».

И лично для меня отличия явно не тянут на «дайте в два раза больше денег». Единственное полезное — это наличие «всплывающих сносок» вместо стандартных гипертекстовых. Но почему бы их не вставять во все ePub по умолчанию, сие мне неведомо. Возможно, это связано с какой-то обратной совместимостью со старыми версиями формата, чтобы старые читалки прекрасно отображали текст. Это единственное разумное для меня объяснение. Хотя и не знаю, насколько старыми должны быть эти читалки, чтобы проблема вообще наличествовала.

Для себя я сделал вывод, что из двух вариантов я теперь буду отдавать предпочтение iOS.ePub, если он входит в стандартный набор, но при этом проверяя, не будет ли внутри чехарды с этими ненужными «красивостями». Благо, дело это чуть более затратное, поэтому за такие «дополнительные телодвижения» Литрес обычно дополнительных денег и просит. А если iOS.ePub входит в общий набор для книги наравне с другими, скорее всего, там только минимально нужное мне.

Post Scriptum

Если есть ещё известные отличия вам отличия, о которых я тут не написал, пишите мне, я дополню статью.

Один комментарий

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s