Epub

файлов формат за електронни книги

EPUB е файлов формат за електронни книги, който използва разширението на файла ".epub". Терминът е съкращение за електронна публикация и понякога се нарича ePub. EPUB се поддържа от много електронни четци и съвместим софтуер е наличен за повечето смартфони, таблети и компютри. EPUB е технически стандарт, публикуван от Международния форум за цифрово публикуване (IDPF). Той стана официален стандарт на IDPF през септември 2007 г., заменяйки по-стария стандарт Open eBook (OEB). [2]

Електронна публикация (EPUB)
Информация
Файлово разширение.epub
Тип MIMEapplication/epub+zip
СобственикМеждународен форум за цифрово публикуване (IDPF)
Разширение отOEBPS, XHTML , CSS , DTBook
Последна версия3.2
Уебсайтwww.w3.org/publishing/epub32/
Електронна публикация (EPUB) в Общомедия

Групата за изследване на книжната индустрия одобрява EPUB 3 като формат на избор за опаковане на съдържание и заявява, че световната издателска индустрия трябва да се обедини около единен стандарт. [3] EPUB форматът е реализиран като архивен файл, състоящ се от XHTML файлове, носещи съдържанието, заедно с изображения и други поддържащи файлове. EPUB е най-широко поддържаният независим от доставчика XML – базиран (за разлика от PDF) формат на електронни книги; тоест се поддържа от почти всички хардуерни четци, с изключение на Kindle. [4]

История редактиране

Наследник на отворената структура за публикуване на електронни книги, EPUB 2.0 е одобрен през октомври 2007 г. [5] с актуализация за поддръжка (2.0.1), одобрена през септември 2010 г. [6]

Спецификацията EPUB 3.0 влиза в сила през октомври 2011 г., заменена от незначителна актуализация за поддръжка (3.0.1) през юни 2014 г. [7] Новите основни функции включват поддръжка за прецизно оформление или специализирано форматиране (документи с фиксирано оформление), като например за комикси, [8] и поддръжка на MathML. Текущата версия на EPUB е 3.2, в сила от 8 май 2019 г. [9] Спецификацията на формата (текстът на) претърпява реорганизация; [10] форматът поддържа отдалечено хоствани ресурси и нови формати на шрифтове ( WOFF 2.0 и SFNT )[11] и използва по-чист HTML и CSS . [12]

През май 2016 г. членовете на IDPF одобряват сливането на World Wide Web Consortium (W3C) [13], „за да се изравнят напълно издателската индустрия и основната уеб технология“. [14]

Версия 2.0.1 редактиране

EPUB 2.0 е одобрен през октомври 2007 г. с актуализация за поддръжка (2.0.1), предназначена да изясни и коригира грешките в спецификациите, одобрени през септември 2010 г. [15] EPUB версия 2.0.1 се състои от три спецификации:

  • Open Publication Structure (OPS) 2.0.1, съдържа форматирането на съдържанието си. [15]
  • Open Packaging Format (OPF) 2.0.1, описва структурата на .epub файла в XML. [16]
  • Open Container Format (OCF) 2.0.1, събира всички файлове като ZIP архив. [17]

EPUB вътрешно използва XHTML или DTBook (XML стандарт, предоставен от DAISY Consortium) за представяне на текста и структурата на документа със съдържанието и подмножество от CSS за осигуряване на оформление и форматиране. XML се използва за създаване на манифеста на документа, съдържанието и EPUB метаданни. И накрая, файловете са групирани в zip файл като формат на опаковката.

Структура на отворена публикация 2.0.1 редактиране

EPUB файл използва XHTML 1.1 (или DTBook) за изграждане на съдържанието на книга от версия 2.0.1. Това е различно от предишните версии (OEBPS 1.2 и по-стари), които използваха подмножество от XHTML. Има обаче няколко ограничения за определени елементи. Типът mime за XHTML документи в EPUB е application/xhtml+xml.[15][a]

Стилирането и оформлението се извършват с помощта на подмножество от CSS 2.0, наричано OPS Style Sheets. Този специализиран синтаксис изисква системите за четене да поддържат само част от свойствата на CSS и добавя няколко персонализирани свойства. Персонализираните свойства включват oeb-page-head, oeb-page-footoeb-column-number. Вграждането на шрифт може да се осъществи с помощта на @font-face свойството, както и чрез включване на файла с шрифта в манифеста на OPF (вижте по-долу). Типът mime за CSS документи в EPUB е text/css. [15][b]

EPUB също така изисква PNG , JPEG , GIF и SVG изображения да се поддържат с помощта на mimetypes image/png, image/jpeg, image/gif, image/svg+xml. Други типове медии са разрешени, но създателите трябва да включват алтернативни предавания, използващи поддържани типове. [15] За таблица с всички необходими типове mime вижте раздел Section 1.3.7 от спецификацията.

Изисква се Unicode и производителите на съдържание трябва да използват или UTF-8, или UTF-16 кодиране. [15] Това е за подкрепа на международни и многоезични книги. Системите за четене обаче не са длъжни да предоставят шрифтовете, необходими за показване на всеки символ в Unicode, въпреки че се изисква да показват поне заместител за знаци, които не могат да бъдат показани напълно. [15]

Примерен скелет на XHTML файл за EPUB изглежда така:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  <head>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
    <title>Pride and Prejudice</title>
    <link rel="stylesheet" href="css/main.css" type="text/css" />
  </head>
  <body>
    ...
  </body>
</html>

Отворен формат на опаковката 2.0.1 редактиране

Целта на спецификацията на OPF е да „дефинира“ механизма, чрез който различните компоненти на OPS публикация са обвързани заедно и предоставя допълнителна структура и семантика на електронната публикация“. [16] Това се постига чрез два XML файла с разширения .opf и .ncx.

.opf файл

OPF файлът съдържа метаданните content.opf на EPUB книгата, манифеста на файла и линейния ред на четене. Този файл има основен елемент и четири дъщерни елемента: metadata, manifest, spine, и guide. Освен това package трябва да има атрибута unique-identifier. Типът mime на .opf файла е application/oebps-package+xml. [16].

Елементът metadata съдържа цялата информация за метаданните за конкретен EPUB файл. Необходими са три маркера за метаданни (въпреки че са налични много повече): title, language и identifier.title съдържа заглавието на книгата, language съдържа езика на съдържанието на книгата във формат RFC 3066 или неговите наследници, като например по-новия RFC 4646 и identifier съдържа уникален идентификатор за книгата, като например нейния ISBN или URL адрес. Атрибутът identifier's id трябва да е равен на unique-identifier атрибута от package елемента.[16][c]

Елементът manifest изброява всички файлове, съдържащи се в пакета. Всеки файл е представен от item елемент и има атрибутите id, href, media-type. Всички XHTML (документи със съдържание), таблици със стилове, изображения или други медии, вградени шрифтове и NCX файлът трябва да бъдат изброени тук. Не трябва да се включват само самият .opf файл, container.xml, и файловете от тип mimetype.[16]

Елементът spine изброява всички документи с XHTML съдържание в техния линеен ред на четене. Освен това всеки документ със съдържание, който може да бъде достигнат чрез свързване или съдържанието, също трябва да бъде посочен. Атрибутът toc на spine трябва да съдържа id на NCX файла, посочен в манифеста. Всеки itemref елемент idref е зададен на id на съответния документ със съдържание. [16]

Елементът guide е незадължителен елемент за целите на идентифицирането на основните структурни компоненти на книгата. Всеки reference елемент има атрибутите type, title, href. Файловете, посочени в href трябва да бъдат изброени в манифеста и могат да имат идентификатор на елемент (напр #figures в примера). [16][d]

Примерен OPF файл:

<?xml version="1.0"?>
<package version="2.0" xmlns="http://www.idpf.org/2007/opf" unique-identifier="BookId">

  <metadata xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:opf="http://www.idpf.org/2007/opf">
    <dc:title>Pride and Prejudice</dc:title>
    <dc:language>en</dc:language>
    <dc:identifier id="BookId" opf:scheme="ISBN">123456789X</dc:identifier>
    <dc:creator opf:file-as="Austen, Jane" opf:role="aut">Jane Austen</dc:creator>
  </metadata>

  <manifest>
    <item id="chapter1" href="chapter1.xhtml" media-type="application/xhtml+xml"/>
    <item id="appendix" href="appendix.xhtml" media-type="application/xhtml+xml"/>
    <item id="stylesheet" href="style.css" media-type="text/css"/>
    <item id="ch1-pic" href="ch1-pic.png" media-type="image/png"/>
    <item id="myfont" href="css/myfont.otf" media-type="application/x-font-opentype"/>
    <item id="ncx" href="toc.ncx" media-type="application/x-dtbncx+xml"/>
  </manifest>

  <spine toc="ncx">
    <itemref idref="chapter1" />
    <itemref idref="appendix" />
  </spine>

  <guide>
    <reference type="loi" title="List Of Illustrations" href="appendix.xhtml#figures" />
  </guide>

</package>
.ncx файл

Файлът NCX (Navigation Control file for XML), традиционно наречен toc.ncx, съдържа йерархичната таблица на съдържанието за EPUB файла. Спецификацията за NCX е разработена за Digital Talking Book (DTB), поддържа се от консорциума DAISY и не е част от спецификацията на EPUB. Файлът NCX има тип mime .application/x-dtbncx+xml.

Трябва да се отбележи, че стойностите за елементите docTitle, docAuthor, и meta name="dtb:uid" трябва да съвпадат с техните аналози в OPF файла. Освен това meta name="dtb:depth" елементът е зададен равен на дълбочината на navMap елемента. navPoint елементите могат да бъдат вложени, за да се създаде йерархична таблица със съдържание. Съдържанието на navLabel е текстът, който се появява в съдържанието, генерирано от системи за четене, които използват .ncx.navPoint Елементът на content сочи към документ със съдържание, посочен в манифеста и може също да включва идентификатор на елемент (напр#section1).[16][18]

Описание на определени изключения от спецификацията NCX, използвана в EPUB, е в Section 2.4.1 на спецификацията. Пълната спецификация за NCX може да бъде намерена в Section 8 от Спецификациите за Digital Talking Book .[18]

Примерен .ncx файл:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ncx PUBLIC "-//NISO//DTD ncx 2005-1//EN"
"http://www.daisy.org/z3986/2005/ncx-2005-1.dtd">

<ncx version="2005-1" xml:lang="en" xmlns="http://www.daisy.org/z3986/2005/ncx/">

  <head>
<!-- The following four metadata items are required for all NCX documents,
including those that conform to the relaxed constraints of OPS 2.0 -->

    <meta name="dtb:uid" content="123456789X"/> <!-- same as in .opf -->
    <meta name="dtb:depth" content="1"/> <!-- 1 or higher -->
    <meta name="dtb:totalPageCount" content="0"/> <!-- must be 0 -->
    <meta name="dtb:maxPageNumber" content="0"/> <!-- must be 0 -->
  </head>

  <docTitle>
    <text>Pride and Prejudice</text>
  </docTitle>

  <docAuthor>
    <text>Austen, Jane</text>
  </docAuthor>

  <navMap>
    <navPoint class="chapter" id="chapter1" playOrder="1">
      <navLabel><text>Chapter 1</text></navLabel>
      <content src="chapter1.xhtml"/>
    </navPoint>
  </navMap>

</ncx>

Източници редактиране

  1. EPUB 3.2 specification // IDPF. Архивиран от оригинала на 2022-04-07. Посетен на 2022-05-03.
  2. OPS 2.0 Elevated to Official IDPF Standard // IDPF. eBooklyn, Oct 15, 2007.
  3. Endorsement of EPUB 3 // Book Industry Study Group, 2012-08-06. Архивиран от оригинала на 2015-09-06. Посетен на 2022-05-03.
  4. The Different Ebook Formats Explained: EPUB, MOBI, AZW, IBA, and More // 27 July 2018.
  5. Older Versions of EPUB // Архивиран от оригинала на 2017-08-31. Посетен на 2017-05-10.
  6. 1.1 EPUB Revision History // IDPF, 11 October 2011.
  7. EPUB 3.0 // Архивиран от оригинала на 2012-04-17. Посетен на 2017-01-12.
  8. Rothman, David. The ePub torture test: Starring 'Three Shadows,' a graphic novel // TeleRead: Bring the E-Books Home. July 27, 2008.
  9. EPUB 3.2 // Посетен на 2021-02-20.
  10. EPUB 3.1 Changes from EPUB 3.0.1 // Посетен на 2017-01-12.
  11. EPUB 3.1 Changes from EPUB 3.0.1 // Посетен на 2017-01-12.
  12. EPUB 3.1 Changes from EPUB 3.0.1 // Посетен на 2017-01-12.
  13. IDPF Members Approve W3C Merger // 9 November 2016.
  14. World Wide Web Consortium (W3C) and International Digital Publishing Forum (IDPF) Explore Plans to Combine
  15. а б в г д е ж Open Publication Structure (OPS) 2.0.1 – Recommended Specification // IDPF, September 4, 2010. Посетен на February 21, 2011.
  16. а б в г д е ж з Open Packaging Format (OPF) 2.0.1 – Recommended Specification // IDPF, September 4, 2010. Посетен на February 21, 2011.
  17. Open Container Format (OCF) 2.0.1 – Recommended Specification // IDPF, September 4, 2010. Посетен на February 21, 2011.
  18. а б Specifications for the Digital Talking Book // NISO, April 21, 2005. Архивиран от оригинала на 2009-08-31. Посетен на 2022-07-03.
  1. For a table of the required XHTML modules and a description of the restrictions, see Section 2.2. ePub OPS 2.0.1 [specification draft]. IDPF, http://idpf.org/epub/20/spec/OPS_2.0.1_draft.htm#Section2.2 .
  2. For a table of supported properties and detailed information, see Section 3.0. ePub OPS 2.0.1 [specification draft]. IDPF, http://idpf.org/epub/20/spec/OPS_2.0.1_draft.htm#Section3.0 .
  3. For a full listing of metadata, see Section 2.2. ePub OPF 2.0.1 [specification draft]. IDPF, http://idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.2 .
  4. A list of possible values for type is in Section 2.6. ePub OPDF 2.0.1 [specification draft]. IDPF, http://idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.6 .
    Тази страница частично или изцяло представлява превод на страницата EPUB в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.​