jueves, 11 de octubre de 2012

Minitutorial sobre el formato EPub

Minitutorial sobre el formato EPub

Posted: 11 Oct 2012 02:20 AM PDT


Durante el último mes hemos recibido en este blog varias preguntas relacionadas con la estructura de un EPub y el uso de fuentes con ebooks en dicho formato. Por este motivo, hemos creído conveniente realizar un pequeño tutorial dedicado a explicar de la forma más sencilla posible en qué consiste un fichero EPub. Antes de nada, cabe mencionar que un fichero EPub es realmente un fichero con formato ZIP. Más concretamente, el tipo MIME asociado es “application/epub+zip”. De hecho, si tomamos un fichero EPub y lo abrimos con un programa que maneje archivos ZIP podemos descomprimirlo para obtener todos los ficheros de los que consta el Ebook. Para ello, lo más fácil suele ser cambiarle sin más la extensión al fichero de EPUB a ZIP y abrirlo con el programa asociado a dicha extensión.

Una vez descomprimido el fichero ZIP nos encontraremos con una carpeta con la siguiente estructura y contenidos:
Fichero “mimetype” que, como ya dijimos, contiene el texto “application/epub+zip“
La carpeta META-INF: Contiene típicamente sólo el archivo “container.xml”, aunque puede contener otros. Este archivo contiene una línea del tipo
<rootfiles><rootfile full-path=”path/contenidos.opf” media-type=”application/oebps-package+xml”/></rootfiles>
indicando la ubicación y nombre del fichero OPF (Open Packaging Format), donde se describe toda la estructura del EPUB en lenguaje XML.
En el fichero OPF nos encontraremos a su vez con una línea
<item id=”ncx” href=”toc.ncx” media-type=”application/x-dtbncx+xml”/>
que indica la ubicación y nombre del fichero NCX (Navigation Control file for XML), tradicionalmente llamado “toc.ncx”, y que contiene la tabla de contenidos jerárquica para el ebook.

El fichero OPF al que se apunta en “container.xml” no sólo especifica la estructura (capítulos) del ebook y la ubicación del fichero NCX, sino también las ubicaciones de todos los ficheros XHTML que contienen dichos capítulos, y las ubicaciones de otros tipos de archivos como las imágenes y qué fichero contiene la hoja de estilos (de extensión CSS), es decir, donde se definen los formatos (tamaños, fuentes, etc.) de los distintos estilos definidos (títulos, párrafos, etc.). Cabe resaltar que los archivos OPF, NCX y CSS así como todos los archivos XHTML e imágenes que conforman el e-book pueden hallarse en la raíz u organizados en carpetas.

Por último, debemos hacer mención especial a las fuentes o tipos de letra. Los distintos lectores de e-book y dispositivos móviles, como las tabletas, poseen preinstaladas las fuentes más habitualmente usadas en los e-books. En caso de que alguna fuente definida en un e-book no esté entre las preinstaladas se sustituye por alguna de éstas, normalmente atendiendo a ciertas reglas de sustitución. Por ejemplo, los dispositivos de Apple con sistema operativo iOS (como iPhone o iPad) vienen con 33 familias de fuentes. Sin embargo, tal y como explicamos en una de las preguntas de este blog, también podemos incrustar una fuente en nuestro e-book si deseamos usar una de las no instaladas en el dispositivo. Para ello, primero debemos añadir en el EPub-Zip el fichero con la fuente deseada (supongamos que ésta es “Caxton-book.ttf”, por ejemplo). Posteriormente debe definirse un estilo para dicha fuente en el CSS mediante una sentencia “@font-face”. Por ejemplo, si llamamos “CaxtonBook” a nuestra fuente, escribimos

@font-face {
font-family: ‘CaxtonBook’;
font-weight: normal;
font-style: normal;
src: url(/Fonts/Caxton-Book.ttf); // ubicación de la fuente en nuestro EPub-Zip }

Esto hace que la fuente se halle disponible. Para aplicarla en el texto, debemos añadirla a uno de nuestros estilos, también en el CSS. Por ejemplo:
p.caxton {
font-family: "CaxtonBook";
font-weight: normal;
font-style: normal;
font-size: 1em;
margin: 1em 0 0 0;
}

Y luego asegurarnos de usar en el texto dicho estilo:
<p class="caxton">Viernes, 12 de Octubre de 2012</p>

Por último, en el caso de iOS, debe añadirse un fichero “com.apple.ibooks.display-options.xml” file en la carpeta META-INF, que contenga una línea como ésta:
<option name="specified-fonts">true</option>

1 comentario:

Unknown dijo...

Este artículo de blog es mío. http://www.educabarrie.org/aulaebook/2012/minitutorial-sobre-el-formato-epub/
Por lo menos, podría usted citar la fuente