EPUB(electronic publication)은 국제 디지털 출판 포럼(IDPF, International Digital Publishing Forum)에서 제정한 개방형 자유 전자서적 표준이다. EPUB은 자동공간조정(reflowable)이 가능하게 끔 디자인 되었다. 이는 EPUB으로 만들어진 내용을 볼 때 디스플레이하는 기계의 형식, 크기에 자동으로 최적화되어 보여줄 수 있다는 뜻이다.
EPUB는 2007년 9월 이전에 있던 오픈 eBook 표준을 대체하기 위해 국제 디지털 출판 포럼에서 공식 표준으로 채택되었다.
Open Packaging Format (OPF) 2.0, 이는 XML로 구성된 .epub의 파일 구조를 정의한다.
OEBPS Container Format(OCF) 1.0, 모든 파일들을 ZIP으로 압축 저장한다.
기본적으로, EPUB은 내부적으로 XHTML이나 DTBook(DAISY 컨소시엄에서 만든 XML 표준.)를 이용하여 내부의 글과 문서 구조를 만들고, CSS의 일부를 이용해 문서의 틀과 형식을 만든다. 목록이나 표 양식, EPUB 메타데이터를 위해 XML을 사용한다. zip 파일을 통해 상기된 다양한 파일들을 하나로 묶어 배포한다.
개방형 출판 형식(Open Publication Structure) 2.0
EPUB은 내용을 구성하기 위해 이전 버전에서는 XHTML에서 파생된 OEBPS 1.2를 사용했었으나 2.0버전에서는 XHTML 1.1(이나 DTBook)을 사용한다. 그러나 XHTML 구성요소(element)에 대한 제한이 좀 있다. EPUB의 XHTML에서 사용하는 mimetype은 application/xhtml+xml이다. XHTML 모듈과 제한에 대한 자세한 설명은 2.2[1]를 참고하면 된다.
스타일과 레이아웃은 "OPS 스타일 시트"라 불리는 CSS 2.0의 일부를 사용한다. 이 특별한 구문들은 CSS 중 읽기시스템과 몇가지 특수한 부분만을 사용한다. 특수한 부분이란 oeb-page-head, oeb-page-foot,나, oeb-column-number등과 같은 것들이다. 폰트는 @font-face항목이나 OPF 매니페스트 속에 폰트를 포함시켜 설정할 수 있다. mimetype을 위한 EPUB의 CSS 문서형식은 text/css이다.[1] 지원 항목과 그에 대한 세부 정보는 Section 3.0에서 찾아볼 수 있다.
EPUB에서 이미지는 PNG, JPEG, GIF, SVG 형식을 지원한다. 이들은 각각 mimetype의 image/png, image/jpeg, image/gif, image/svg+xml를 사용한다. 다른 미디어 형식도 허용되나, 제작자가 지원 형식으로 된 대체물을 지정해 두어야 한다.[1] mimetypes을 위한 표는 Section 1.3.7의 세부사항[2]을 참고하면 된다.
국제적이며 다중언어 서적을 위해 유니코드가 사용되며, 제작자는 UTF-8 or UTF-16 인코딩을 사용해야 한다. 하지만, 읽기 시스템에서 유니코드의 모든 유니코드 문자를 위한 폰트를 제공해야 하는 것은 아니지만, 표시할 수 없는 문자를 위한 표시는 해주어야 한다.[1]
EPUB을 위한 XHTML의 기본 골격은 아래와 같다.
<?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"><htmlxmlns="http://www.w3.org/1999/xhtml"xml:lang="en"><head><metahttp-equiv="Content-Type"content="application/xhtml+xml; charset=utf-8"/><title>Pride and Prejudice</title><linkrel="stylesheet"href="css/main.css"type="text/css"/></head><body>
...
</body></html>
소프트웨어
읽기 지원
EPUB를 읽는 것을 지원하는 장치는 OPS 출판을 지원하는 하드웨어와 소프트웨어의 조합이다.