san4es: (reader)
[personal profile] san4es

Немного о самом формате



Если верить Википедии, то впервые задумались о таком в 1999 году. Тогда вообще был бум разнообразного XML, и применить его пытались где только не. Тогда в был разработан стандарт Open eBook. Однако дело шло ни шатко, ни валко, поскольку в нише, на которую претендовал новый формат, и так толклось уже много конкурентов. Основным являлся PDF. А поскольку никаких особых выгод от использования формата на экране компьютера не было, то положение дел оставалось прежним.

Всё поменялось с появлением устройств с экраном из "электронной бумаги", eInk. Сразу появился рынок. К тому же к работе подключилась фирма Adobe.



В сентябре 2007 года EPUB стал стандартом-наследником Open eBook и продолжает интенсивно развиваться. Текущая версия - 2.0.1. Идёт разработка версии 2.1.

Что такое файл формата EPUB? На ум приходят две аналогии. Во-первых, его идея схожа с форматом документов OpenOffice ODT - заархиварованные папки с информацией. С другой стороны, он напоминает файл CHM (файл контекстной помощи, разработанный Майкрософтом) - архив HTML-страниц, к которым добавлены служебные файлы. Таким образом, у нас получается нечто похожее на заархивированный веб-сайт.

Так уж получилось, что на территории бывшего СССР большее распространение получил другой XML формат - FB2. У него была фора по времени, и наши соотечественники использовали её на всю катушку. Теперь уже для осуществления нормальных продаж "читалок" на территории СНГ необходимо обязательно иметь поддержку FB2.

Однако такая распространённость никак не отменяет "минусов", которые имеются у отечественного формата. А именно - плохая поддержка таблиц. В настоящий момент, насколько я понимаю, есть только одна программа нормально их отрисовывающая, некоторые выводят просто текст таблицы, некоторые вообще ничего не выводят. Хотя, наверное, это проблемы уже программного обеспечения. Далее, отсутствие каких-либо особых извивов форматирования, что конечно сильно суживает возможности при передаче какого-нибудь хитрооформленного текста. Это всё полностью касается научных и технических текстов. В результате многое приходится выносить в картинки, а форматирование втискивать в те возможности, которые есть в FB2.

Говорят, что данные проблемы будут решены в FB3, однако когда он станет стандартом, а что самое главное - когда его начнут массово поддерживать "читалки"? На этот вопрос ответа пока нет.

В то же время EPUB уже сейчас обладает практически всеми средствами, решающими перечисленные проблемы. Файл может включать в свой состав каскадные таблицы стилей, шрифты, поддерживает SVG. Что ещё надо для создания качественных сложноформатированных книг?

Поработаем руками



Для начала разбирательства с EPUB хочется порекомендовать статью "Создание цифровых книг в формате EPUB". Весьма полезная статья - вы получите углублённое представление о структуре EPUB файла, по окончании чтения получите и первую вашу EPUB-книжка, естественно "Hello World!".

Из этого статьи следует, что для создания электронных книг в формате EPUB требуется ХHTML-страница, ну и хотя бы зачаточные навыки вёрстки HTML. Этого вполне достаточно. Правда, это совсем неавтоматизированное решение, поскольку придётся править руками несколько служебных XML-файлов, однако взамен мы получаем полный контроль над процессом создания книги.

При ручном создании необходимо завести себе что-то заготовки, набора файлов, из которых будет расти будущая книга. Можно использовать тот набор, идущий в комплекте к упомянутой статье. Потом можно поправить его под свои нужды. Фактически необходимо править всего два файла: content.opf, toc.ncx. В первом файле декларируется содержимое книжки. Там поминаются не только ХHTML-страницы, в которых собственно и находится книга, но и служебные файлы типа обложки, css-файл, шрифты. Второй файл отвечает за содержание.

В этом нет ничего сложного. Правда, поскольку многие "читалки" нерусифицированы, то для корректного отображения кириллических шрифтов надо их встроить в книгу. Делается это следующим образом: внутри каталога OEBPS создаём каталог Fonts, туда складываем шрифты. Я использовал LiberationSerif-Regular и LiberationSerif-Italic. Далее в файл content.opf вносим следующие строки:

<manifest>
   <item id="LiberationSerif-Regular" href="Fonts/LiberationSerif-Regular.ttf" media-type="application/x-font-ttf"/>
   <item id="LiberationSerif-Italic" href="Fonts/LiberationSerif-Italic.ttf" media-type="application/x-font-ttf"/>
    ...
</manifest>

Естественно, что нам также надо указать в css-файле (у меня это stylesheet.css), где эти шрифты применяются:

@font-face
{
font-style: normal;
font-family: "LiberationSerif";
src: url(Fonts/LiberationSerif-Regular.ttf) ;
}
@font-face
{
font-style: italic;
font-family: "LiberationSerif-Italic";
src: url(Fonts/LiberationSerif-Italic.ttf) ;
}
body
{
font-family: "LiberationSerif";
}

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


В следующих частях я хочу рассмотреть имеющиеся open source редакторы EPUB-книг.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting
Page generated Jun. 29th, 2025 09:00 am
Powered by Dreamwidth Studios