4 мин чтения
Книга, которая не открывается
Вам прислали книгу, вы дважды щёлкнули по файлу — а компьютер спрашивает, какой программой его открыть. Ради этого момента в nopa и появилась читалка. Рассказываем, что на самом деле лежит внутри EPUB и FB2, почему они не открываются и что мы решили говорить человеку прямо, вместо того чтобы показывать пустую страницу.
EPUB — это маленький сайт в zip-архиве
Переименуйте .epub в .zip и откройте: внутри главы, свёрстанные как веб-страницы, картинки, файл стилей и два коротких списка — в каком порядке читать главы и как выглядит оглавление. Это весь формат. А значит, самая естественная программа для чтения EPUB — та, что у вас уже открыта: браузер показывает такие страницы тридцать лет.
При этом в Windows своей читалки EPUB нет — старый Edge умел их открывать, нынешний не умеет. iPhone отдаёт файл в Apple Books, Android обычно сначала просит поставить приложение. Поэтому страница EPUB делает простую вещь: вы выбираете файл, вкладка распаковывает его в памяти, и книга открывается со своим оглавлением. На сервер ничего не уходит — ему просто некуда уходить.
FB2 и страница из знаков вопроса
FB2 — второй частый книжный формат, и живёт он почти целиком в русскоязычных библиотеках. Это один XML-файл, в котором даже картинки хранятся текстом, часто упакованный в .fb2.zip. Ни одна операционная система не открывает его без отдельной программы.
Главная ловушка FB2 — возраст. Заметная часть файлов в обращении сделана до того, как всё перешло на UTF-8, и хранится в windows-1251 или KOI8-R. Читалка, которая считает файл юникодным, показывает вместо романа строчки «����». Первая строка FB2 сама говорит, в какой она кодировке, поэтому страница FB2 читает её раньше всего остального — и книга из библиотеки десятилетней давности открывается текстом, а не кракозябрами.
Три файла, которые мы не откроем, — и объясним почему
Некоторые книги не откроет никто, кроме магазина, который их продал, и делать вид, что это не так, — значит отнять у человека вечер. Поэтому читалка смотрит на сами байты, а не только на имя файла, и отвечает прямо:
- DRM. Книги из Kindle и большинства магазинов зашифрованы под приложение магазина. Взламывать это мы не будем, и читалка так и скажет, а не сломается молча.
- MOBI и AZW3. Это форматы Kindle. Файл, переименованный в .epub, всё равно будет узнан — и вместо падения вы получите одно понятное предложение.
- PDF, брошенный по ошибке. Его читалка отправит к инструментам для PDF — там ему и место.
Ошибка, которую мы сделали первой
Внутри EPUB может лежать файл encryption.xml, и DRM действительно им пользуется. Поэтому первая версия читалки считала сам этот файл доказательством DRM. А это не так: многие издательства кладут его только затем, чтобы зашифровать встроенные в книгу шрифты — чтобы шрифт нельзя было вытащить и использовать отдельно. Текст при этом читается спокойно.
В итоге читалка говорила человеку, купившему книгу без DRM, что открыть её может только приложение магазина. Неправда — и ровно тому, кому страница обещала помочь. Теперь читалка смотрит, что именно перечислено в этом файле: книги, где зашифрованы только шрифты, открываются, а отказ остаётся для книг, у которых закрыт сам текст.
Что запоминается и где
На странице инструмента книга открывается, и вы читаете — глава за главой. Откройте её на рабочем столе, и читалка запомнит больше: место, на котором вы остановились, шрифт с засечками или без, размер текста от 15 до 26, светлую, сепию или тёмную страницу и закладки. Можно искать по всей книге, а выделенный фрагмент — сохранить цитатой в Заметки, с названием книги.
Всё это хранится в этом браузере на этом устройстве. Аккаунта нет, а значит, нет и синхронизации: телефон не знает, где вы остановились на ноутбуке. Рядом с закладками читалка так и пишет — «хранится только на этом устройстве», потому что узнать это после очистки браузера гораздо обиднее.
Чем она не является
Это не магазин и не библиотека. Мы не храним книги, не ищем их и не даём на них ссылок — читалка открывает файл, который у вас уже есть. Она не открывает книги Kindle и не синхронизируется. Если вы читаете каждый вечер на трёх устройствах, вам лучше подойдёт отдельное приложение для чтения, и мы предпочитаем сказать это здесь, а не на двухсотой странице.
А если у вас один файл, который ничем не открывается, — он откроется во вкладке, в которой вы уже находитесь.