Traduccion del post de RuPoR en:
http://www.the-ebook.org/forum/viewt...=984579#984579
Como probablemente sepáis, el ePUB es un empaquetado XHTML (básicamente HTML expresado como XML válido). Cada ePUB tiene un fichero XML especial con la extensión opf, por ejemplo, content.opf el cual contiene metadatos sobre el resto del contenido del libro.
En particular, hay un tipo de etiqueta que es:
y que puede estar repetida en más de un sitio y que sirve para indicar en que lenguaje está el ePUB sin tener que leer el fichero entero.Código:<dc:language>es</dc:language>
Para poder hacer que funcione la separación de guiones (hyphenation) en el T2, se necesita asignar un diccionario de separación de guiones del lenguaje adecuado para cada lenguaje usado en el ePUB.
Esto se hace con una instrucción especial en CSS que es algo como ésto:
@adobe-hyphenation {lang: es; src: url ("res :///ebook/fonts/../../data/hyphenDic/hyph_es.dic");}
La principal regla - Todos los lenguajes deberían tener un diccionario asignado o el guionado no funcionará, el lector puede tener un comportamiento extraño o el libro en concreto ni siquiera se abrirá. Por supuesto, esto no debería suceder y el lector debería siempre manejar todos los casos para todos los lenguajes, pero la realidad es que esto no siempre ocurre.
El principal problema es que incapacidad de predecir el lugar del ePUB en el cual se define el lenguaje (XML permite poner la etiqueta casi en cualquier lugar), que forma tendrá (diferentes normalizaciones como por ejemplo ES, es, spa, es-ES para el idioma español) y como hacer la correspondencia de todas las posibles etiquetas con el diccionario adecuado.
Programas como calibre añaden un montón de información cuando convierten a ePUB.
Por el momento, el ARM incluye guionado para los siguientes idiomas: de, en, es, fr, it, pt, ru. Por ejemplo:
/data/hyphenDic/hyph_es.dic
Versiones de ARM liberadas después del 18/11/2012 in el modo AUTO leerán las etiquetas dc:language> del lenguaje y tratarán de precedir como esos idiomas podrían ser definidos en el resto del documento. De igual modo, ocurre cuando se elige un determinado idioma (por ejemplo, el español), las etiquetas <dc:language> se ignorarán.
En la mayoría de los casos, la funcionalidad AUTO es suficiente. El lector automáticamente creará las instrucciones necesarias y el diccionario de guionado correcto será asignado a todos los lenguajes que pueda tener el ePUB.
Por ejemplo, se reconoce en y eng para ingles o ES, es, spa, es-ES para español.
Para ePUBs producidos por el conversor fb2epub de Roman, el comportamiento del lector es perfecto.
Sin embargo, a veces no es suficiente. Entonces el libro puede no ser abierto, tu userStyle.css no hace lo que se espera que haga o se ven otros comportamientos extraños en el lector. En esos casos, se debería desactivar el guionado o reparar manualmente el ePUB limpiándolo o añadir las instrucciones necesarias para asignar los diccionarios de guionado al principio del userStyle.css.