PDA

Ver la versión completa : FB2 → EPUB: no conserva los estilos



simonbcn
18/10/2010, 19:47
Hola,
He probado a convertir un FB2 de muestra, que tiene muchos estilos diferentes (http://img443.imageshack.us/img443/2006/tmps5qoxm.png) (lo hizo solsticio), a EPUB con Calibre, pero el resultado es decepcionante, un EPUB plano, no ha pasado ni uno de los estilos.
Así que he preguntado en el foro de mobileread al autor del programa y me ha dicho que el conversor a EPUB debería pasar los estilos, que abra un tique con el FB2 original para que él lo pueda probar. Este es el enlace del tique que he abierto: http://bugs.calibre-ebook.com/ticket/7219
Si tenéis algún otro FB2 que hayáis pasado a EPUB y no haya convertido los estilos, es un buen momento para adjuntarlo en ese tique.
Un saludo.

simonbcn
22/10/2010, 12:20
Pues es curioso, ahora que tengo el Sony PRS-650 he convertido el FB2 que estaba leyendo (el VI de "La Torre Oscura", estoy enganchadísimo!) a EPub y LRF con Calibre (por cierto, es comodísimo que me reconozca el Sony cuando lo conecto para mover directamente los libros en el formato correcto).
La salida EPub, que es la que tiene relación con este hilo, ha sido muy buena: me ha mantenido las imágenes y, a diferencia del documento de prueba anterior, en este FB2 ha convertido los estilos: negrita, cursiva,... Los titulares de cada capítulo se muestran mejor que en el Papyre con el FB2: en el Papyre muestra la palabra en negrita y enorme en mitad de la línea, en el EPub se muestra en negrita y grande (pero no tanto) alineada a la izquierda y encuadrado en una caja de fondo gris claro, para mi gusto queda mejor así.
Estoy encantado, así no tengo que complicarme la vida, ya que uso Linux y el Calibre me va de coña. =D>

anabelee
22/10/2010, 16:06
Pero si el documento de partida es el mismo, y dado que ambas conversiones han sido con Calibre, la diferencia está en el aparato, que no es capaz (o sí, en el caso del Sony) de distinguir los diferentes estilos...

simonbcn
22/10/2010, 16:20
Pero si el documento de partida es el mismo, y dado que ambas conversiones han sido con Calibre, la diferencia está en el aparato, que no es capaz (o sí, en el caso del Sony) de distinguir los diferentes estilos...

No, los dos documentos son del mismo tipo (FB2) pero son diferentes: uno es el libro que estoy leyendo y otro es el documento FB2 de prueba de estilos que hizo Solsticio.

solsticio
28/10/2010, 09:16
La salida EPub, que es la que tiene relación con este hilo, ha sido muy buena: me ha mantenido las imágenes y, a diferencia del documento de prueba anterior, en este FB2 ha convertido los estilos: negrita, cursiva,... Los titulares de cada capítulo se muestran mejor que en el Papyre con el FB2: en el Papyre muestra la palabra en negrita y enorme en mitad de la línea, en el EPub se muestra en negrita y grande (pero no tanto) alineada a la izquierda y encuadrado en una caja de fondo gris claro, para mi gusto queda mejor así.
Estoy encantado, así no tengo que complicarme la vida, ya que uso Linux y el Calibre me va de coña. =D>
Lo mínimo a respetar es la negrita y la cursiva. Eso es algo que debe darse por hecho.

En cuanto a que se presentan mejor en uno que en otro es cuestión de configuración. En el papyre, que suele usar coolreader, los estilos y su forma de mostrarse se configuran en un archivo fb2.css. Si no te gusta la negrita, el tamaño, lo que sea, puedes modificarlo a tu gusto. Adaptar el fb2.css a su gusto es algo que debería hacer todo usuario de coolreader.

En cuanto al archivo que hice de pruebas de estilos pues es eso, una prueba extrema tratando de sacar todo el partido al fb2 y al coolreader (que yo sepa el único capaz de sacar partido de esto). Tonos de grises para letras, cambios de fuente, tamaño, color, fondo y otras neuras dentro de un mismo párrafo dudo que puedan trasladarse fácilmente a otros formatos, tal vez por su especificidad o porque no lo admita el formato destino. Como digo es un caso rebuscado, es un archivo de pruebas donde trato de plasmar todo tipo de posiblidades que se me van ocurriendo.

simonbcn
28/10/2010, 10:31
@solsticio, sí, en el Papyre me lo muestra tal cual la imagen que tú pusiste. Pero al convertirlo a EPub, con el Calibre, no respeta ninguno de los estilos. Y no es que los visores, en mi caso un Sony y un Papyre, no soporten los estilos, si no porque la conversión está mal hecha.
Si haces una prueba y luego echas un vistazo a los ficheros generados lo podrás comprobar. Por ejemplo, este es uno de los párrafos convertidos:

<div class="calibre5"> Este es un párrafo al que voy a hacerle perrerías y que me sirve de pruebas. <span>Empezamos con un simple cambio de tamaño.</span><span> Ahora usamos un tono de gris más difuminado.</span><span> Ahora un chorrada en Courier New,</span><span> Ahora la chorrada viene en fuente Verdana y tumbada,</span><span> Ahora la chorrada viene en fuente Cómic y tumbada con fondo negro y grisecilla.</span><span> Ahora usamos una de esas fuentes que quedan estupendas pero dificultan la lectura una barbaridad.</span></div>

Calibre añade la etiqueta (span) que permite cambiar los estilos en cada uno de los fragmentos donde hay cambios pero nada más. Sin atributos la etiqueta span no hace nada por sí misma.

Y si miramos el estilo CSS, asignado a este párrafo (calibre5), en el fichero CSS generado, veremos que simplemente es un estilo genérico que genera Calibre:

.calibre5 {
display: block;
font-family: "Times New Roman", Times, serif;
text-align: justify
}

En este caso yo tengo muy claro que es un bug del Calibre. Es cierto que es un caso extremo y que, en casos normales, he podido comprobar que sí funciona, pero no está de más que el autor del Calibre se lo mire (si quiere) porque creo que es síntoma de un bug en las conversiones que hace el Calibre.

simonbcn
29/10/2010, 00:25
Pues el autor de Calibre ha cerrado la incidencia con un "Invalido". Dice que ese FB2 no es correcto, que así no es cómo se especifican los estilos en un FB2 y que si lo abro con el FBReader no hay información de estilos.
De hechos sus palabras exactas son:

That's not the way you specify style information in FB2. Open the file with FBReader and you will see that there is no style information there either.

@solsticio, ¿puede ser que ese FB2 no cumpla las especificaciones de estilos del formato FB2?

AÑADO
Le he comentado que en el CoolReader sí funciona y me ha respondido:

That will be because Cool Reader has implemented proprietary extensions to the FB2 spec. Using <style> tags in FB2 contravenes the FB2 spec.

Estoy leyendo las especificaciones del formato FB2 para ver si realmente es correcto, o no, ese FB2 de estilos que creaste.

solsticio
29/10/2010, 07:28
En este caso yo tengo muy claro que es un bug del Calibre. Es cierto que es un caso extremo y que, en casos normales, he podido comprobar que sí funciona, pero no está de más que el autor del Calibre se lo mire (si quiere) porque creo que es síntoma de un bug en las conversiones que hace el Calibre.

Calibre creo que está en desarrollo todavía. Mas que un bug yo creo que es algo todavía pendiente. Dudo que el autor o autores se hayan encontrado alguna vez con algo similar. Lo del <span>(...)</span> es simplemente que ha leído que esa parte va entre unas etiquetas que no ha sabido interpretar y salirse de las típicas strong y emphasis del fb2. Ten en cuenta que todos los estilos en coolreader se definen en fb2.css, incluido los dos anteriores. Si yo defino allí toda chorrada que se me ocurra y creo etiquetas: ¿debería saber que hacer con ellas el calibre?. Incluso puedo cambiar en el fb2.css o en el propio libro en fb2 el sentido de emphasis y strong, si está en el fb2.css ni el calibre ni nadie puede hacer nada, si está definido en el libro supone mucho trabajo de programación. En este caso los estilos están definidos en el mismo sitio a base de <style>(...)</style> lo cual facilitaría la labor de conversión pero es que incluso así se puede definir cualquier majadería. Seguramente es algo que sepan los autores pero tendrán prioridades mucho mas interesantes que contemplar antes que esto.

Es un texto adaptado totalmente a lo que puedo exprimir del coolreader. Hasta hace dos días lo de la sangría francesa ni funcionaba. Y si nos salimos de coolreader (como Fbreader y supogno que el resto) es simplemente texto plano igual que el resultado obtenido en calibre.

simonbcn
29/10/2010, 10:40
@solsticio, olvídate de CoolReader y demás lectores. Céntrate en las especificaciones del propio formato FB2. Si te sales de esas especificaciones al crear un FB2, el fichero resultante no es correcto. Y lo que dice el creador de Calibre es que la etiqueta STYLE se sale de esas especificaciones.

Al ser un estándar ruso, la documentación que hay en inglés es poca y, parte de ella, obsoleta. Pero, usando el traductor de Google, más o menos creo que me he enterado y creo que tienes razón, que la etiqueta STYLE sí está permitida (http://SPAMSPAMSPAMSPAMSPAMSPAMSPAM/bn2k).

Y en el esquema XML de este formato (http://fictionbook.org/index.php/Eng:XML_Schema_Fictionbook_2.1) se muestra lo siguiente:

<xs:complexType name="styleType" mixed="true">
<xs:annotation>
<xs:documentation>Markup</xs:documentation>
</xs:annotation>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="strong" type="styleType"/>
<xs:element name="emphasis" type="styleType"/>
<xs:element name="style" type="namedStyleType"/>
<xs:element name="a" type="linkType"/>
<xs:element name="strikethrough" type="styleType"/>
<xs:element name="sub" type="styleType"/>
<xs:element name="sup" type="styleType"/>
<xs:element name="code" type="styleType"/>
<xs:element name="image" type="inlineImageType"/>
</xs:choice>
<xs:attribute ref="xml:lang"/>
</xs:complexType>


Sin embargo, he pasado ese FB2 por un validador de este formato y esta es la lista de errores:

1. Validation of file prueba de estilos.fb2
Try the DOM parser
xml validity check passed
Schema validation
Schemas validity ERROR:
Line 5: Element '{http://www.gribuser.ru/xml/fictionbook/2.0}author': This element is not expected. Expected is ( {http://www.gribuser.ru/xml/fictionbook/2.0}genre ).
Line 3: Element '{http://www.gribuser.ru/xml/fictionbook/2.0}description': Missing child element(s). Expected is one of ( {http://www.gribuser.ru/xml/fictionbook/2.0}src-title-info, {http://www.gribuser.ru/xml/fictionbook/2.0}document-info ).
Line 13: Element '{http://www.gribuser.ru/xml/fictionbook/2.0}style', attribute 'style': The attribute 'style' is not allowed.
Line 13: Element '{http://www.gribuser.ru/xml/fictionbook/2.0}style': The attribute 'name' is required but missing.
Line 13: Element '{http://www.gribuser.ru/xml/fictionbook/2.0}style', attribute 'style': The attribute 'style' is not allowed.
....
Line 15: Element '{http://www.gribuser.ru/xml/fictionbook/2.0}style', attribute 'style': The attribute 'style' is not allowed.
Line 15: Element '{http://www.gribuser.ru/xml/fictionbook/2.0}style': The attribute 'name' is required but missing.
fb2 validity check failed
Extra FB2 checkup
Some errors found


Los puntos suspensivos corresponden al resto de errores de todas las etiquetas STYLE. :-s

No sé, no lo tengo claro. Lo he añadido en el reporte del error del Calibre, a ver qué responde el autor.
Un saludo.

RECTIFICO

Mirando detenidamente la especificación del elemento STYLE dice que puede tener 2 atributos (nada más):

xml: lang, opcional
name, requerido


Lo cual vendría a decir que estaría permitido poner algo así como (el validador da esta línea como correcta):

<p>prueba <style name="estilo1">de estilos</style></p>

Lo que no entiendo es cual es la utilidad de esta etiqueta entonces. 8-}

jotas
29/10/2010, 11:30
El estilo está definido en la css externa, o en los propios estilos extra definidos dentro del libro .fb2

El resto son filtraciones del HTML, extrás, añadidos y permitidos fuera del estándar.

El último schema es el 2.2 y está aquí : http://www.gribuser.ru/xml/fictionbook/2.2/xsd/FictionBook2.2.xsd


Es interesante de todas formas el tema. A ver que dice el Kovid.

simonbcn
29/10/2010, 11:54
El estilo está definido en la css externa, o en los propios estilos extra definidos dentro del libro .fb2
El resto son filtraciones del HTML, extrás, añadidos y permitidos fuera del estándar.
Yo no diría permitidos, porque el único que los permite es el CR.
En el momento que a un documento cualquiera, que debe cumplir unos estándares, le metes extras que sólo reconoce un lector en concreto ya la has cagado, porque has condenado a ese documento a que sólo pueda verse correctamente en un lector.


El último schema es el 2.2 y está aquí : http://www.gribuser.ru/xml/fictionbook/2.2/xsd/FictionBook2.2.xsd

Esta etiqueta sigue siendo igual en la 2.2:


<xs:complexType name="styleType" mixed="true">
<xs:annotation>
<xs:documentation>Markup</xs:documentation>
</xs:annotation>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="strong" type="styleType"/>
<xs:element name="emphasis" type="styleType"/>
<xs:element name="style" type="namedStyleType"/>
<xs:element name="a" type="linkType"/>
<xs:element name="strikethrough" type="styleType"/>
<xs:element name="sub" type="styleType"/>
<xs:element name="sup" type="styleType"/>
<xs:element name="code" type="styleType"/>
<xs:element name="image" type="inlineImageType"/>
</xs:choice>
<xs:attribute ref="xml:lang"/>
</xs:complexType>


AÑADO

El mismo FB2 respetando el estándar: http://dl.dropbox.com/u/1466192/prueba%20de%20estilos.fb2

En este caso los estilos (a excepción de los incrustados en la etiqueta P) no los interpreta ni Cristo!!! :(( ::pum::

Sigo investigando a ver si descubro la manera de incorporar estilos correctamente y que funcionen.

solsticio
29/10/2010, 13:02
El estilo está definido en la css externa, o en los propios estilos extra definidos dentro del libro .fb2.
Exacto. Lo primero que intenté era crear un estilo en el <stylesheet> del libro. Y funcionar funciona pero con la particularidad de que el nuevo estilo provoca salto de línea, resultando entonces que solo sirve para parráfos. :-(

Haciendo pruebas para evitar el salto de linea di con dos opciones:


usar alguna definida en el fb2.css y añadir lo que quería y, si fuere menester, quitar las propiedades que no me interesen: xxxx <emphasis style="text-style:normal; color:#888">tarati tarara</emphasis>. Pelín rebuscado pero funciona, no provoca salto de línea.
lo mismo pero con la etiqueta "style": xxxx <style style="color:#888">tarati tarara</style>.

Entre las 2 opciones la segunda pienso que es mejor y más elegante.

Yo no sé lo que está o no fuera del estándar. Sólo quiero conseguir el resultado que busco (en este caso mezclar diferentes estilos en un mismo párrafo). Si lo encuentro lo utilizo, si no lo encuentro pues ajo y agua.

johansolo
29/10/2010, 13:13
Exacto. Lo primero que intenté era crear un estilo en el <stylesheet> del libro. Y funcionar funciona pero con la particularidad de que el nuevo estilo provoca salto de línea, resultando entonces que solo sirve para parráfos. :-(

Haciendo pruebas para evitar el salto de linea di con dos opciones:


usar alguna definida en el fb2.css y añadir lo que quería y, si fuere menester, quitar las propiedades que no me interesen: xxxx <emphasis style="text-style:normal; color:#888">tarati tarara</emphasis>. Pelín rebuscado pero funciona, no provoca salto de línea.
lo mismo pero con la etiqueta "style": xxxx <style style="color:#888">tarati tarara</style>.

Entre las 2 opciones la segunda pienso que es mejor y más elegante.

Yo no sé lo que está o no fuera del estándar. Sólo quiero conseguir el resultado que busco (en este caso mezclar diferentes estilos en un mismo párrafo). Si lo encuentro lo utilizo, si no lo encuentro pues ajo y agua.

Para evitar el salto de línea en un nuevo estilo hay que poner "display: inline;" en la declaración del estilo. (Al menos en coolreader)

Por ejemplo en el fb2.css de mi coolreader está la siguiente declaración:


b,strong,i,em,dfn,var,q,u,del,s,strike,small,big,s ub,sup,acronym,tt,sa mp,kbd,code {
display: inline;
}

Supongo que en fbreader y otros que se ajusten al estándar no funcionará.

solsticio
29/10/2010, 13:17
Sigo investigando a ver si descubro la manera de incorporar estilos correctamente y que funcionen.
Pues ánimo.
De todas maneras no creo que merezca la pena el esfuerzo. Al final uno va a la guerra con las armas que le dan.

Esto de ceñirse a las normas son batallas que me conozco. Es una manera de echar la culpa al otro. ;)

Terisa
29/10/2010, 13:21
lo mismo pero con la etiqueta "style": xxxx <style style="color:#888">tarati tarara</style>.



Una pregunta, ¿esto no es exactamente lo mismo que <span style="color:#888">tarati tarara</span>? ¿O es que el fb2 no admite el span? ¿O hay alguna diferencia que no veo?

simonbcn
29/10/2010, 13:26
Este es el problema que quiero resaltar: si creas un FB2 no estándar sólo funcionará en un lector.

Claro que, después de las pruebas que he hecho, he comprobado que la teoría no funciona: si respetas el estándar no se ven los estilos sueltos en mitad de un párrafo en ningún lector!! :o Apaga y vámonos!! :-s

De todas formas, volviendo al tema de las conversiones FB2 → EPUB en el Calibre, he reabierto la incidencia (http://bugs.calibre-ebook.com/ticket/7219#comment:5) porque el autor creo que no se ha fijado que hay unos párrafos que tienen estilos y estos sí que son correctos en el estándar.
Es más, he probado un conversor en java (bajado desde aquí: http://code.google.com/p/epub-tools/downloads/list) y sí que, en el EPUB generado,, aparecen estos estilos de párrafo correctamente.

simonbcn
29/10/2010, 13:29
Una pregunta, ¿esto no es exactamente lo mismo que <span style="color:#888">tarati tarara</span>? ¿O es que el fb2 no admite el span? ¿O hay alguna diferencia que no veo?

Esta etiqueta no existe en las especificaciones del FB2.

solsticio
29/10/2010, 13:35
Para evitar el salto de línea en un nuevo estilo hay que poner "display: inline;" en la declaración del estilo. (Al menos en coolreader)

Sí, exacto. Pero eso lo descubrí más tarde luchando en otra batalla.
De todas maneras suelen ser situaciones que usas una sola vez y entonces me cuesta menos definirla "in situ" con style que que definir arriba un estilo y luego ir al sitio a ponerle las etiquetas. Si se usa el mismo estilo más veces puede compensar el esfuerzo. :-)

Terisa
29/10/2010, 13:37
Esta etiqueta no existe en las especificaciones del FB2.

Ok, yo la uso en el html previo del Creator, y el calibre me la ha generado también a partir de un lit, supongo que no la habrán incorporado.

solsticio
29/10/2010, 13:59
o mismo pero con la etiqueta "style": xxxx <style style="color:#888">tarati tarara</style>.
Una pregunta, ¿esto no es exactamente lo mismo que <span style="color:#888">tarati tarara</span>? ¿O es que el fb2 no admite el span? ¿O hay alguna diferencia que no veo?

No sé si será o no lo mismo pues de estas cosas de CSS, html, xml, solo tengo una idea superficial. Lo que sí puedo confirmar es que, al menos por lo que acabo de probar en el coolreader, el resultado es el mismo.

Y acabo de pasar pasar el resultado por el visor del calibre obteniendo el mismo resultado plano. Pero al pasarlo por BookDesigner los estilos se muestran con span y no con style. A partir de ahora mejor span que style. ;)

johansolo
29/10/2010, 14:31
Sí, exacto. Pero eso lo descubrí más tarde luchando en otra batalla.
De todas maneras suelen ser situaciones que usas una sola vez y entonces me cuesta menos definirla "in situ" con style que que definir arriba un estilo y luego ir al sitio a ponerle las etiquetas. Si se usa el mismo estilo más veces puede compensar el esfuerzo. :-)

Bueno, siempre puedes poner el "display: inline;" en la etiqueta que te inventas, a mi al menos me resulta más aclaratorio y sencillo que usar un <strong> o <emphasis> modificado, pero eso ya es cuestión de gustos. :-)

solsticio
29/10/2010, 14:48
Bueno, siempre puedes poner el "display: inline;" en la etiqueta que te inventas, a mi al menos me resulta más aclaratorio y sencillo que usar un <strong> o <emphasis> modificado, pero eso ya es cuestión de gustos. :-)

Totalmente de acuerdo. Esa fue la primera probatura cuando me ahogaba en un mar de dudas. Iba dando palos de ciego a todo lo que se ponía al alcance. Debo reconocer que, aunque funcionaba, me parecía harto grosera y seguí en busca de una solución más elegante.

jotas
29/10/2010, 16:30
A ver, que nos perdemos :))

- ¡Tú quieres comprar un lector y que funcione tal venden y prometen!
- ¡Tú quieres leer libros y formatos y que se vean igual!
- ¡Tú quieres que los estándares funcionen como estándares!
- Etc, etc.

¡Vamos! Que incluso un teléfono táctil con MP3 de 600 euros, sirva además para hablar por teléfono y oír música con calidad.
:p:D



Que el FB2 no es nada más que un formato de texto plano XML, muy, muy sencillito, simplificado y limitado! Por no tener, no tiene, por ejemplo, ni para subrayar. En el mismo schema lo puedes ver, el resto, casi todo, lo estas copiando y tomando prestado como "extras" del HTML.

Ya comentamos algo sobre esto en el siguiente hilo (y algún otro en el pasado):

http://www.lectoreselectronicos.com/showthread.php?6152-FBE-fictionbookeditor-FB2-document-WYSIWYG-code-editor&p=65435&viewfull=1#post65435





Yo no diría permitidos, porque el único que los permite es el CR.
En el momento que a un documento cualquiera, que debe cumplir unos estándares, le metes extras que sólo reconoce un lector en concreto ya la has cagado, porque has condenado a ese documento a que sólo pueda verse correctamente en un lector.

Efectivamente, los permite el CR. Si te ciñes al estándar, pocos o ninguno lo cumple, ni lector hardware, ni lector software. Lo más cercano es el FBReader (el cual cumple la 2.0, y sin tablas), y el código generado por OOoFBTools. Incluso CSS, como tal, no existe, y menos externa, sino estilos, y siempre que se ciñan además a los elementos permitidos y definidos en el schema.




El mismo FB2 respetando el estándar: http://dl.dropbox.com/u/1466192/prueba%20de%20estilos.fb2

En este caso los estilos (a excepción de los incrustados en la etiqueta P) no los interpreta ni Cristo!!! :(( ::pum::

Creo que tú buscas algo así (quizá):


<?xml version="1.0" encoding="utf-8"?>
<FictionBook xmlns:l="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.gribuser.ru/xml/fictionbook/2.0">
<stylesheet type="text/css">
style [name = "estilo1"] {
font-size: 150%;
}
style [name = "estilo2"] {
color: #BBBBBB;
}
style [name = "estilo3"] {
font-family: Courier New;
font-size: 130%;
}
style [name = "estilo4"] {
font-family: Verdana;
font-size: 130%;
color: #888888;
font-style: italic;
}
style [name = "estilo5"] {
font-family: Comic;
font-size: 130%;
background-color: #000000;
color: #888888;
font-style: italic;
}
style [name = "estilo6"] {
font-family: Old English Text MT;
font-size: 130%;
font-style: italic;
}
style [name = "estilo7"] {
font-size: 110%;
}
style [name = "estilo8"] {
font-size: 120%;
}
style [name = "estilo9"] {
font-size: 130%;
}
style [name = "estilo10"] {
font-size: 140%;
}
style [name = "estilo11"] {
font-size: 160%;
}
style [name = "estilo12"] {
font-size: 170%;
}
style [name = "estilo13"] {
font-size: 180%;
}
style [name = "estilo14"] {
font-size: 190%;
}
style [name = "estilo15"] {
font-size: 200%;
}
style [name = "estilo16"] {
font-size: 90%;
}
style [name = "estilo17"] {
font-size: 80%;
}
style [name = "estilo18"] {
font-size: 70%;
}
style [name = "estilo19"] {
font-size: 60%;
}
style [name = "estilo20"] {
font-size: 50%;
}
</stylesheet>
<description>
<title-info>
<author>
<first-name>Simón</first-name>
</author>
<book-title>FB2 con estilos</book-title>
</title-info>
</description>
<body>
<section>
<p>Este es un párrafo al que voy a hacerle perrerías y que me sirve de pruebas. <style name="estilo1">Empezamos con un simple cambio de tamaño.</style><style name="estilo2"> Ahora usamos un tono de gris más difuminado.</style><style name="estilo3"> Ahora un chorrada en Courier New,</style><style name="estilo4"> Ahora la chorrada viene en fuente Verdana y tumbada,</style><style name="estilo5"> Ahora la chorrada viene en fuente Cómic y tumbada con fondo negro y grisecilla.</style><style name="estilo6"> Ahora usamos una de esas fuentes que quedan estupendas pero dificultan la lectura una barbaridad.</style></p>
<empty-line/>
<p>J<style name="estilo7">u</style><style name="estilo8">g</style><style name="estilo9">a</style><style name="estilo10">n</style><style name="estilo1">d</style><style name="estilo11">o </style><style name="estilo12">c</style><style name="estilo13">o</style><style name="estilo14">n </style><style name="estilo15">e</style><style name="estilo14">l </style><style name="estilo13">t</style><style name="estilo12">a</style><style name="estilo11">m</style><style name="estilo1">a</style><style name="estilo10">ñ</style><style name="estilo9">o </style><style name="estilo8">y </style><style name="estilo7">h</style>a<style name="estilo16">c</style><style name="estilo17">i</style><style name="estilo18">e</style><style name="estilo19">n</style><style name="estilo20">d</style><style name="estilo19">o </style><style name="estilo18">e</style><style name="estilo17">l </style><style name="estilo16">t</style>o<style name="estilo7">n</style><style name="estilo8">t</style><style name="estilo9">o.</style></p>
<empty-line/>
<p style="text-indent: 3em hanging">Este es otro texto que quiero que me sirva para expresar mis emociones con sangría francesa. Mi deseo es que quede lo más bonito posible y se cumplan todas las esperanzas que acabo de depositar en estas letras.</p>
<empty-line/>
<p style="font-weight:bold; margin-left:20%; margin-right:20%">Probando un parrafo en negrita y con mayores márgenes, tanto a izquierda como a derecha. ;-)</p>
<empty-line/>
<p style="font-size: 120%, font-style:italic; color:#888888; font-weight:bold; margin-left:50%">Ahorra quiero un parrafete que se pegue en mayor media y todo lo que pueda a la derecha porque me han dicho que ese borde está más triste y solitario desde que su Mamá le abandonó. :'-(</p>
<empty-line/>
<p style="font-size: 120%, font-style:italic; hyphenate:none; font-weight:bold; margin-left:30%; text-align:right">Ahora un tontería similar simplemente que todo debe estar alineado a la derecha, con un margen grandete y sin "silabeo"</p>
</section>
</body>
</FictionBook>

simonbcn
29/10/2010, 16:54
A ver, que nos perdemos :))

- ¡Tú quieres comprar un lector y que funcione tal venden y prometen!
- ¡Tú quieres leer libros y formatos y que se vean igual!
- ¡Tú quieres que los estándares funcionen como estándares!
- Etc, etc.

Tú mismo lo dices. Si voy a la frutería, pido un kilo de patatas y me dan uno de manzanas, según tú, me callo, las pago y me las llevo!?

Evidentemente tiene que haber un margen de flexibilidad, pero una cosa es un margen y otra que el margen sea más grande que una piscina olímpica.

Lo cierto es que estamos hablando de un formato que, EMHO, es deficiente y obsoleto (si no me equivoco, no ha evolucionado desde el 2004). Y esto conlleva que tenga muchas carencias que ciertos lectores tratan de suplir a su manera.


Que el FB2 no es nada más que un formato de texto plano XML, muy, muy sencillito, simplificado y limitado!

También lo eran las primeras versiones del HTML y mira ahora!


Incluso CSS, como tal, no existe, y menos externa, sino estilos, y siempre que se ciñan además a los elementos permitidos y definidos en el schema.

En las especificaciones del FB2 define una sección llamada <stylesheet type="text/css"> (http://translate.googleusercontent.com/translate_c?hl=es&ie=UTF-8&sl=auto&tl=es&u=http://www.fictionbook.org/index.php/%25D0%25AD%25D0%25BB%25D0%25B5%25D0%25BC%25D0%25B5 %25D0%25BD%25D1%2582_stylesheet&prev=_t&rurl=translate.google.es&twu=1&usg=ALkJrhg1KrukVt34rBRUA8taZ4Rb0SQ14Q) precisamente para esta función, pero que no reconocen ninguno de los lectores (ni siquiera el CR).


Creo que tú buscas algo así (quizá):
....


Bueno, no lo busco, es que ese lo hice yo... :p
Y cumple el estándar en cuanto a estilos, párrafos, etc... pero ningún lector de los que he probado los reconoce.

jotas
29/10/2010, 16:59
En las especificaciones del FB2 define una sección llamada <stylesheet type="text/css"> (http://translate.googleusercontent.com/translate_c?hl=es&ie=UTF-8&sl=auto&tl=es&u=http://www.fictionbook.org/index.php/%25D0%25AD%25D0%25BB%25D0%25B5%25D0%25BC%25D0%25B5 %25D0%25BD%25D1%2582_stylesheet&prev=_t&rurl=translate.google.es&twu=1&usg=ALkJrhg1KrukVt34rBRUA8taZ4Rb0SQ14Q) precisamente para esta función, pero que no reconocen ninguno de los lectores (ni siquiera el CR).



Bueno, no lo busco, es que ese lo hice yo... :p
Y cumple el estándar en cuanto a estilos, párrafos, etc... pero ningún lector de los que he probado los reconoce.

No es el que pusiste tú. Pruébalo ;)

simonbcn
29/10/2010, 17:08
No es el que pusiste tú. Pruébalo ;)

Tienes razón, no había visto el sutil cambio de los estilos. :p
Sí, este sí funciona en el CR y, teóricamente, sí cumple las especificaciones.
Pero no se parece en nada al ejemplo 2 (en el que me basé) que han puesto en el wiki del FB2 (http://translate.googleusercontent.com/translate_c?hl=es&ie=UTF-8&sl=auto&tl=es&u=http://www.fictionbook.org/index.php/%25D0%25AD%25D0%25BB%25D0%25B5%25D0%25BC%25D0%25B5 %25D0%25BD%25D1%2582_stylesheet&prev=_t&rurl=translate.google.es&twu=1&usg=ALkJrhg1KrukVt34rBRUA8taZ4Rb0SQ14Q#.D0.9F.D1.8 0.D0.B8.D0.BC.D0.B5.D1.80_.D0.B8.D1.81.D0.BF.D0.BE .D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D 1.8F).

Por cierto, el autor del Calibre está empeñado en que su programa lo hace divinamente y que el fallo es del documento. En el caso de los estilos metidos en medio del documento, vamos a dejarlo estar pero el atributo style dentro de la etiqueta <p> está claramente definido en las especificaciones.

jotas
29/10/2010, 17:14
Por cierto, el autor del Calibre está empeñado en que su programa lo hace divinamente y que el fallo es del documento. En el caso de los estilos metidos en medio del documento, vamos a dejarlo estar pero el atributo style dentro de la etiqueta <p> está claramente definido en las especificaciones.

Calibre y su autor siempre ha sido así, un trabajo MONUMENTAL y meritorio, y también un código y manías de entrada/salida MONUMENTAL, y además en Python :p, y eso que que el funcionamiento, opciones y formatos soportados respecto al de hace uno o dos años es notable.

simonbcn
29/10/2010, 17:30
Calibre y su autor siempre ha sido así, un trabajo MONUMENTAL y meritorio, y también un código y manías de entrada/salida MONUMENTAL, y además en Python :p, y eso que que el funcionamiento, opciones y formatos soportados respecto al de hace uno o dos años es notable.

Yo el programa este lo encuentro cojonudo, no me digas que no. ¿Conoces algún otro programa gratuito y de código abierto que haga lo que este?
Supongo que el hacerlo en Python es por el tema de la portabilidad. Lo prefiero al Java.

Bueno, finalmente kovidgoyal ha dado su brazo a torcer (http://bugs.calibre-ebook.com/ticket/7219#comment:10), pero que no lo considera prioritario ya que el CR es el unico que reconoce estas etiquetas. Lo cual me parece lógico, teniendo el trabajo que supongo que tiene ya. Lo que me tocaba los c... era que me negase algo que le estaba mostrando con ejemplos y con enlaces sacados de la propia web de los creadores del formato FB2.

Ahora que lo pienso, voy a abrir una incidencia también en el FBReader por no leer correctamente el FB2 que cumple las especificaciones... >:)

jotas
29/10/2010, 17:37
Yo el programa este lo encuentro cojonudo, no me digas que no. Tú no has calibreado mucho >:) con el programa y el código que despacha , en especial en tiempos ancestrales (uno o dos años).

Y el Python lo usa principalmente porque es por lo que empezó, y porque hay muy poco similar, tan fácil y tan raro a la vez, para el tratamiento de cadenas y expresiones (i.e. formatos).



Bueno, finalmente kovidgoyal ha dado su brazo a torcer (http://bugs.calibre-ebook.com/ticket/7219#comment:10), pero que no lo considera prioritario ya que el CR es el unico que reconoce estas etiquetas. Lo cual me parece lógico, teniendo el trabajo que supongo que tiene ya. Lo que me tocaba los c... era que me negase algo que le estaba mostrando con ejemplos y con enlaces sacados de la propia web de los creadores del formato FB2.

But if you really want the ability, feel free to dive in and implement it. The FB2 plugin is a simple XSL stylesheet so it should be easy to make the modifications.

=))

simonbcn
29/10/2010, 18:09
Y el Python lo usa principalmente porque es por lo que empezó, y porque hay muy poco similar, tan fácil y tan raro a la vez, para el tratamiento de cadenas y expresiones (i.e. formatos).

No he programado mucho con él, pero es un lenguaje que me gusta, mucho más que el Java (en el cual también he programado).

¿Qué lenguaje hubieses escogido tú (si el desarrollo comenzase ahora)?


But if you really want the ability, feel free to dive in and implement it. The FB2 plugin is a simple XSL stylesheet so it should be easy to make the modifications.
=))

Pues ná, que le he dado pena y ha decidido arreglarlo él mismo :\') :

On second thoughts, this is such a trivial fix, that I'll do it myself. Look for it in the next release.

Terisa
29/10/2010, 18:12
Una cosita :-\" ¿Me podéis dar un enlace al archivo FB2 de prueba que escribió solsticio? Es que no lo encuentro y tengo curiosidad por hacer una prueba.

simonbcn
29/10/2010, 18:19
Una cosita :-\" ¿Me podéis dar un enlace al archivo FB2 de prueba que escribió solsticio? Es que no lo encuentro y tengo curiosidad por hacer una prueba.

Está en el reporte del error a Calibre, te paso el enlace directo (http://bugs.calibre-ebook.com/raw-attachment/ticket/7219/prueba%20de%20estilos.fb2).

solsticio
29/10/2010, 18:26
Una cosita :-\" ¿Me podéis dar un enlace al archivo FB2 de prueba que escribió solsticio? Es que no lo encuentro y tengo curiosidad por hacer una prueba.

<?xml version="1.0" encoding="utf-8"?>
<FictionBook xmlns:l="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.gribuser.ru/xml/fictionbook/2.0">
<description>
<title-info>
<author>
<first-name>Solsticio</first-name>
</author>
<book-title>Probando majaderías en fb2</book-title>
</title-info>
</description>
<body>
<section>
<p>Este es un párrafo al que voy a hacerle perrerías y que me sirve de pruebas. <span style="font-size:150%">Empezamos con un simple cambio de tamaño.</span><span style="color:#BBB"> Ahora usamos un tono de gris más difuminado.</span><span style="font-family:Courier New; font-size:130%"> Ahora un chorrada en Courier New,</span><span style="font-family:Verdana; font-size:130%;color:#888; font-style:italic"> Ahora la chorrada viene en fuente Verdana y tumbada,</span><span style="font-family:Comic; font-size:130%; background-color:#000; color:#888; font-style:italic"> Ahora la chorrada viene en fuente Cómic y tumbada con fondo negro y grisecilla.</span><span style="font-family:Old English Text MT; font-size:130%; font-style:italic"> Ahora usamos una de esas fuentes que quedan estupendas pero dificultan la lectura una barbaridad.</span></p>
<empty-line/>
<p>J<span style="font-size:110%">u</span><span style="font-size:120%">g</span><span style="font-size:130%">a</span><span style="font-size:140%">n</span><span style="font-size:150%">d</span><span style="font-size:160%">o </span><span style="font-size:170%">c</span><span style="font-size:180%">o</span><span style="font-size:190%">n </span><span style="font-size:200%">e</span><span style="font-size:190%">l </span><span style="font-size:180%">t</span><span style="font-size:170%">a</span><span style="font-size:160%">m</span><span style="font-size:150%">a</span><span style="font-size:140%">ñ</span><span style="font-size:130%">o </span><span style="font-size:120%">y </span><span style="font-size:110%">h</span>a<span style="font-size:90%">c</span><span style="font-size:80%">i</span><span style="font-size:70%">e</span><span style="font-size:60%">n</span><span style="font-size:50%">d</span><span style="font-size:60%">o </span><span style="font-size:70%">e</span><span style="font-size:80%">l </span><span style="font-size:90%">t</span>o<span style="font-size:110%">n</span><span style="font-size:120%">t</span><span style="font-size:130%">o.</span></p>
<empty-line/>
<p style="text-indent: 3em hanging">Este es otro texto que quiero que me sirva para expresar mis emociones con sangría francesa. Mi deseo es que quede lo más bonito posible y se cumplan todas las esperanzas que acabo de depositar en estas letras.</p>
<empty-line/>
<p style="font-weight:bold; margin-left:20%; margin-right:20%">Probando un parrafo en negrita y con mayores márgenes, tanto a izquierda como a derecha. ;-)</p>
<empty-line/>
<p style="font-size: 120%, font-style:italic; color:#888888; font-weight:bold; margin-left:50%">Ahorra quiero un parrafete que se pegue en mayor media y todo lo que pueda a la derecha porque me han dicho que ese borde está más triste y solitario desde que su Mamá le abandonó. :'-(</p>
<empty-line/>
<p style="font-size: 120%, font-style:italic; hyphenate:none; font-weight:bold; margin-left:30%; text-align:right">Ahora un tontería similar simplemente que todo debe estar alineado a la derecha, con un margen grandete y sin "silabeo"</p>
</section>
</body>
</FictionBook>
Este es básicamente el original. He cambiado los "<style style...> .. </style>" por "<span style..>..</span>" como sugerías al ver que el resultado es igual en el coolreader y mucho mejor en el BD y que parece ser como más "internacional".
El mensaje original es éste (http://www.lectoreselectronicos.com/showthread.php?6152-FBE-fictionbookeditor-FB2-document-WYSIWYG-code-editor&p=66083&viewfull=1#post66083), se puede ver el resultado en el cool del pc que es identico al del hanlin.

Terisa
29/10/2010, 18:32
Este es básicamente el original. He cambiado los "<style style...> .. </style>" por "<span style..>..</span>" como sugerías al ver que el resultado es igual en el coolreader y mucho mejor en el BD y que parece ser como más "internacional".

Internacional no sé, si sé que es una etiqueta del html que calibre usa profusamente y que además he leído que recomiendan definir estilos para negrita e itálica y usarlos con span en vez de usar <b>, <i>, <strong> o <emphasis> porque se ajusta más. No sé, la verdad, yo he aprendido más de lo css a base de pegarme con ellos en el html para editar libros, o sea que estoy como tú ;)

simonbcn
29/10/2010, 18:43
Internacional no sé, si sé que es una etiqueta del html que calibre usa profusamente y que además he leído que recomiendan definir estilos para negrita e itálica y usarlos con span en vez de usar <b>, <i>, <strong> o <emphasis> porque se ajusta más. No sé, la verdad, yo he aprendido más de lo css a base de pegarme con ellos en el html para editar libros, o sea que estoy como tú ;)

ya, pero el problema es que no existe la etiqueta <span> en las especificaciones del FB2. Aunque se parezca, no es HTML.
Volvemos a lo de antes, si se crea un FB2 que no cumple las especificaciones y, por ejemplo, el FBReader se decide a sacar una versión de su lector en condiciones, que muestre los estilos, estos FB2 "raros" no se verán correctamente.

El ejemplo corregido por jotas es el único que cumple las especificaciones del formato FB2 y que, además, se ve correctamente en el CR.

Por cierto, ya he reportado el error también en el FBReader: http://www.fbreader.org/mantis/view.php?id=394

Terisa
29/10/2010, 18:46
ya, pero el problema es que no existe la etiqueta <span> en las especificaciones del FB2. Aunque se parezca, no es HTML.
Volvemos a lo de antes, si se crea un FB2 que no cumple las especificaciones y, por ejemplo, el FBReader se decide a sacar una versión de su lector en condiciones, que muestre los estilos, estos FB2 "raros" no se verán correctamente.

El ejemplo corregido por jotas es el único que cumple las especificaciones del formato FB2 y que, además, se ve correctamente en el CR.

Por cierto, ya he reportado el error también en el FBReader: http://www.fbreader.org/mantis/view.php?id=394

Todo eso ya me lo sé. Si yo lo único que quiero es hacer una prueba, porque este formato no lo voy a utilizar para leer.

simonbcn
29/10/2010, 19:46
Todo eso ya me lo sé. Si yo lo único que quiero es hacer una prueba, porque este formato no lo voy a utilizar para leer.

ah, bueno! Si es así, te dejo... :p

Hablando en serio, otra ventaja de seguir las especificaciones de un formato es a la hora de crear conversores. Como está pasando con el paso de FB2 a EPUB del Calibre que, por cierto, ya lo ha corregido (este tío es un hacha!).

simonbcn
30/10/2010, 13:21
Pues ya ha sacado la nueva versión de Calibre con este error de la conversión FB2 → EPUB supuestamente corregido: http://calibre-ebook.com/whats-new

Voy a probarlo...

AÑADO:

=D> He convertido el FB2 que cumple las especificaciones y que funciona (el modificado por jotas) con la nueva versión de Calibre a EPUB y luego lo he probado en el Sony, este es el resultado:
http://img168.imageshack.us/img168/3815/dsc5277.jpg

El cambio de fuente no funciona porque el Sony, por incompetencia de su equipo técnico, sólo tiene una, pero la mayoría de estilos sí. Aunque no va del todo fino, si comparáis con el original (http://img443.imageshack.us/img443/2006/tmps5qoxm.png), hay diferencias. Y los dos últimos párrafos, que no se ven en esta foto (me olvidé de fotografiarlos) salen sin formato.
Voy a repasar el formato de entrada y el de salida para ver donde está el fallo, si en el FB2 o en el EPUB generado.

AÑADO²:

Esta sí que es buena!! El EPUB generado, en el CR se ve sin estilos!! :o Si es que esto de los programas lectores es para darles de comer aparte!! Eso les pasa por no respetar los estándares!! :p

He hecho una captura del documento completo en el visor del Calibre mostrando este EPUB (se muestra casi igual que en el Sony, a excepción de las fuentes y alguna cosilla más):
http://img824.imageshack.us/img824/1220/captura103001.png

solsticio
31/10/2010, 07:00
Hay cosas que sigo sin entender en lo que cumple las especificaciones y lo que no. He mirado un poco el schema ese al que se refiere jotas (y he entendido casi nada). He preparado este "librito" comparativo en fb2.

<?xml version="1.0" encoding="utf-8"?>
<FictionBook xmlns:l="http://www.w3.org/1999/xlink" xmlns="http://www.gribuser.ru/xml/fictionbook/2.0">
<stylesheet type="text/css">
style [name = "estilo4"] {
font-family: Verdana;
font-size: 130%;
color: #888888;
font-style: italic;
}
pru4 [name = "estilo4"] {
font-family: Verdana;
font-size: 130%;
color: #888888;
font-style: italic;
display:inline;
}
trad4{
font-family: Verdana;
font-size: 130%;
color: #888888;
font-style: italic;
display:inline;
}
</stylesheet>
<description>
<title-info>
<author>
<last-name>Solsticio</last-name>
</author>
<book-title>probando majaderías 2</book-title>
</title-info>
</description>
<body>
<section>
<title>
<p>Prueba segunda de majaderías</p>
</title>
<empty-line/>
<p>Con style-estilo4: <style name="estilo4">probando majaderías 2</style></p>
<p>Con pru4-estilo4: <pru4 name="estilo4">probando majaderías 2</pru4></p>
<p>Con trad4: <trad4>probando majaderías 2</trad4></p>
</section>
</body>
</FictionBook>
He definido el mismo estilo de tres maneras diferentes. Los tres funcionan con coolreader, solo la primera parece gustarle al calibre (y eso solo a la hora de convertir porque el visor solo lo muestra en su conversión a epub pero no en el original fb2).

Podiamos decir que la primera se apellida (style) y de nombre (name)"estilo4". La segunda se apellida "pru4" y de nombre "estilo4". La tercera solo tiene apellido: "trad4" y es la forma más habitual de encontrarse estilos en los fb2 (por lo menos según mi experiencia) y a mi entender la más intuitiva.

La cuestión es si para definir un estilo, "que cumple la ley", el apellido tiene que ser "style" y variamos según el nombre. Yo no he sabido ver que el apellido del estilo tenga que ser "por coj...." style y que tenga que llevar nombre (name).

Vamos, que no veo por donde se quebrantan las especificaciones en las 2 últimas definiciones. :-?

simonbcn
31/10/2010, 12:32
Hay cosas que sigo sin entender en lo que cumple las especificaciones y lo que no. He mirado un poco el schema ese al que se refiere jotas (y he entendido casi nada). He preparado este "librito" comparativo en fb2.
He definido el mismo estilo de tres maneras diferentes. Los tres funcionan con coolreader, solo la primera parece gustarle al calibre (y eso solo a la hora de convertir porque el visor solo lo muestra en su conversión a epub pero no en el original fb2).
Podiamos decir que la primera se apellida (style) y de nombre (name)"estilo4". La segunda se apellida "pru4" y de nombre "estilo4". La tercera solo tiene apellido: "trad4" y es la forma más habitual de encontrarse estilos en los fb2 (por lo menos según mi experiencia) y a mi entender la más intuitiva.
La cuestión es si para definir un estilo, "que cumple la ley", el apellido tiene que ser "style" y variamos según el nombre. Yo no he sabido ver que el apellido del estilo tenga que ser "por coj...." style y que tenga que llevar nombre (name).
Vamos, que no veo por donde se quebrantan las especificaciones en las 2 últimas definiciones. :-?

El CR traga con casi todo (por lo menos en los FB2, con el EPUB es otro cantar...), pero eso no quiere decir que lo esté haciendo bien. Es más cómodo, sí, pero en el momento que te sales del CR, apaga y vámonos!


Un apunte: lo primero que aparece después del símbolo "<" es la etiqueta (lo que tú llamas el apellido) y los siguientes pares de "nombre=valor" (ejemplo: name="estilo1"), que aparecen después de la etiqueta y antes del símbolo ">", son los atributos de esa etiqueta.

Pero, en cuanto a las especificaciones, es que no te puedes inventar etiquetas. Y <pru4> y <trad4> son dos etiquetas que te has inventado y que para FB2 (ni para ningún otro estándar basado en XML) significan nada. Supongo que no sabes HTML porque entonces lo entenderías perfectamente.

El estándar del FB2 establece que, para definir estilos, sólo es válida la etiqueta <style> con un atributo que es el nombre: name='nombre', cuyas propiedades de estilo se definen en el apartado <stylesheet>. Nada más, no hay porqué complicarse la vida inventando etiquetas porque ya existe una para esa función: style significa estilo. ;) ¿Lo entiendes ahora?
Un saludo.

AÑADO:
Creo que los lectores que soportan el formato FB2 le están haciendo un flaco favor al mismo:

CoolReader porque se pasa las especificaciones por el arco del triunfo y traga con todo, hasta te permite inventarte etiquetas!! :o
FBReader porque, a pesar de su nombre, es el que menos especificaciones del FB2 soporta. Los estilos para él son chino mandarín!! :-s
El lector del Calibre, bueno, este debe estar basado en el FBReader porque se comporta prácticamente igual.

Sin embargo, con el ePub son más estrictos y casi todos se comportan igual... ¿Qué es lo que falla con el FB2 entonces? ¿Que no hay ninguna empresa detrás dando caña? :-?

Terisa
31/10/2010, 13:26
Sin embargo, con el ePub son más estrictos y casi todos se comportan igual... ¿Qué es lo que falla con el FB2 entonces? ¿Que no hay ninguna empresa detrás dando caña? :-?

El 80% de los lectores llevan para ePub el software de Adobe, con lo cual hay pocas variaciones, no suelen llevar CoolReader, FBReader o similares, sobre todo si quieren leer DRM. Enfréntate tú al Stanza (en iPhone/iPad) y luego hablamos de hacer lo que nos dé la gana.

simonbcn
31/10/2010, 13:35
El 80% de los lectores llevan para ePub el software de Adobe, con lo cual hay pocas variaciones, no suelen llevar CoolReader, FBReader o similares, sobre todo si quieren leer DRM. Enfréntate tú al Stanza (en iPhone/iPad) y luego hablamos de hacer lo que nos dé la gana.

No conozco en absoluto (ni ganas) el mundo de los iKK, ni creo que un iPad sea lo más cómodo (y adecuado) para leer (así que del iPhone ya ni te cuento). Los que usan estos dispositivos para leer son carne de oculista en poco tiempo... :-B

Pero no hace falta irse a dispositivos concretos, los ejemplos que comenté (CoolReader, FBReader y el lector de Calibre) son lectores de código abierto, gratuitos y que, más que ningún otro privativo, deberían regirse por las especificaciones y ser respetuosos con ellas, sin embargo cuando hablamos de FB2 no lo son, y sí con el ePub... ¿Qué es lo que falla?

Terisa
31/10/2010, 13:38
Pero no hace falta irse a dispositivos concretos, los ejemplos que comenté (CoolReader, FBReader y el lector de Calibre) son lectores de código abierto, gratuitos y que, más que ningún otro privativo, deberían regirse por las especificaciones y ser respetuosos con ellas, sin embargo cuando hablamos de FB2 no lo son, y sí con el ePub... ¿Qué es lo que falla?

La realidad del mundo del desarrollo software (y no es ironía).

simonbcn
31/10/2010, 13:45
La realidad del mundo del desarrollo software (y no es ironía).

Pero no estamos hablando de software creado en empresas para consumidores. Aquí sé, por experiencia propia, que lo que prima es la productividad, lo barato y poco más.
Pero en el caso de programadores no sujetos a empresas, que van a su ritmo, con programas de código abierto, suelen ser muy respetuosos con las especificaciones.
Creo que lo que falla son los propios creadores del formato FB2. Quizás que la documentación más reciente esté sólo en ruso puede ser un claro handicap. En mi caso, por ejemplo, para aclararme con el tema de la sección <stylesheet> me costó lo suyo y sólo encontré información en su web en ruso.
Por otro lado, tampoco ayuda que este formato sea denostado por casi todas las empresas y lectores electrónicos comerciales.

Terisa
31/10/2010, 14:22
Pero en el caso de programadores no sujetos a empresas, que van a su ritmo, con programas de código abierto, suelen ser muy respetuosos con las especificaciones.
Creo que lo que falla son los propios creadores del formato FB2. Quizás que la documentación más reciente esté sólo en ruso puede ser un claro handicap. En mi caso, por ejemplo, para aclararme con el tema de la sección <stylesheet> me costó lo suyo y sólo encontré información en su web en ruso.
Por otro lado, tampoco ayuda que este formato sea denostado por casi todas las empresas y lectores electrónicos comerciales.

Lo de que sea denostado por los elementos comerciales no tendría que influir en un desarrollador que va por libre, ¿no? Y respecto a lo de que suelen seguir las especificaciones, me imagino que la palabra clave es "suelen", no tienen ninguna obligación, y si les parece que está limitado lo amplían como desean. ¿Que el FB2 que se lea en el coolreader no se lee en otro programa open-source? ¿En qué afecta al desarrollador?

solsticio
31/10/2010, 17:02
El CR traga con casi todo (por lo menos en los FB2, con el EPUB es otro cantar...), pero eso no quiere decir que lo esté haciendo bien. Es más cómodo, sí, pero en el momento que te sales del CR, apaga y vámonos!

En el momento que te sales de CR ólvidate de estilos en FB2. En todo caso peca por exceso pues parece que también cumple con la normativa en cuestion de estilos.


Nada más, no hay porqué complicarse la vida inventando etiquetas porque ya existe una para esa función: style significa estilo. ;) ¿Lo entiendes ahora? Ahora creo que voy entendiendo. La cuestión es que nunca la había visto de esa manera. Y que quieres que te diga, simplemente es un coñazo de usar. Me gusta más el span (que hacía lo mismo que mi style originario) al que puedes añadir atributos sin necesidad de declarar el estilo arriba para luego ponerlo abajo. Y parece que no es solo cosa de coolreader, también del BD y por lo que comenta Terisa también de alguna que otra más.

Y en cuanto a la normativa pues ya se sabe, o incorpora lo que la gente usa o se queda obsoleta. FB tiene varias versiones (se de la 2,1 y de la 2.2 y supongo que habrá habia alguna antes) y generalmente las nuevas versiones suelen ir incorporando "novedades". Cualquier día de estos tenemos un FB3 ( y mira que si incorpora el span y el inventarnos etiquetas).

Por cierto, me gustaría echar un vistazo a la normal del FB2, si puede ser que no sea en ruso. ;)

De todas maneras no seas quisquilloso con las aplicaciones, están en evolución y quien sabe que futuro tendrán. Unas pecan por defecto pasando de los estilos y otros, por lo que veo, por exceso como el Coolreader permitiendo cosas que no debería. Si tengo que elegir me quedo con esto último.

En cuanto al Cool, la implementación epub no creo que sea su fuerte aunque no hace mucho el Buggins le metió un empujoncillo pero no creo que alcance el nivel que tiene en FB2 (mayor del aconsejable por lo que veo).

Si alguien tiene la culpa somos los que editamos los libros con un editor de texto (pues no conozco otra manera de conseguir estilos) y que nos saltamos la norma. Pero es que no tenemos ni idea de la norma FB2 (parece que la ocultan como si fuera el más alto secreto) simplemente hemos ido dando palos de ciego al Cool hasta que hemos podido conseguir lo que queríamos. Dábamos por sentado que si funcionaba cumpliría la normativa. Tan orgullosos que estábamos y resulta que no hacíamos otra cosa que atentar contra el libro sagrado de la Norma. ¡Qué osada es la ignorancia! :-\"

simonbcn
01/11/2010, 11:18
Lo de que sea denostado por los elementos comerciales no tendría que influir en un desarrollador que va por libre, ¿no? Y respecto a lo de que suelen seguir las especificaciones, me imagino que la palabra clave es "suelen", no tienen ninguna obligación, y si les parece que está limitado lo amplían como desean. ¿Que el FB2 que se lea en el coolreader no se lee en otro programa open-source? ¿En qué afecta al desarrollador?

Por comentarios tuyos que he leído en este foro creo que eres programadora, no? Si es así, lo que acabas de decir aún tiene menos sentido.

Si es apoyado por el "elemento comercial", a menos que sea un formato privativo, suele haber mucha más documentación disponible (en inglés, como mínimo) y más aparatos que lo soportan. Sólo hay que comparar los lectores que soportan, por ejemplo, ePub con respecto a los que soportan FB2. Generalmente cuanto más apoyo reciba por el elemento comercial, más software/firmware/hardware se desarrolla para él.

Las especificaciones se hacen para que ese formato sea leído de forma homogénea, sea cual sea el dispositivo/programa. Imagínate si todos los formatos: PDF, HTML, XML, etc... se interpretasen en cada programa de manera diferente. No habría dios que se aclarase a la hora de hacer un documento de ese tipo!
Lo que sí se suele hacer es que si las especificaciones de un formato concreto son muy limitadas, puede que cierto software permita extensiones a ese formato, creadas por él mismo, pero nunca sustituir el estándar, si no sería el caos.

Terisa
01/11/2010, 11:31
Por comentarios tuyos que he leído en este foro creo que eres programadora, no? Si es así, lo que acabas de decir aún tiene menos sentido.


Al contrario, aún recuerdo mi querido amigo html y lo que soportaba cada navegador: lo que le daba la gana, vamos. Y cómo se soportaba el javascript.... De la teoría a la práctica hay un mundo.

Y lo que hace con un C cada compilador y el código máquina que genera, y cómo puede funcionar un intérprete de java.... Efectivamente, puede ser un caos.

simonbcn
01/11/2010, 12:02
Al contrario, aún recuerdo mi querido amigo html y lo que soportaba cada navegador

Dime una etiqueta HTML que no soporte un navegador concreto. Y que ese navegador, claro está, no sea la mierda del IE6.


Y cómo se soportaba el javascript....

Del ECMAScript hay varias versiones, dependerá de la versión que soporte de este.
De todas formas, este es un ejemplo muy bueno de cómo no respetar los estándares genera el caos y sólo empeora las cosas a los programadores, a los diseñadores, a los usuarios, etc...
Pero esta guerra es una guerra entre empresas, por ver el navegador que se lleva el gato al agua. Continuamente vemos estadísticas de cual es el navegador más usado, el más rápido, etc... Y muy pocas (o ninguna) de cual es el navegador que respeta el estándar.
Si nos ceñimos a los navegadores GPL (y alguno más que no lo es), si no me equivoco, respetan el estándar: Midori, Chromium, etc...


De la teoría a la práctica hay un mundo.

Este es el problema: malos programadores haciendo lo que no deberían hacer. Precisamente teniendo ejemplos claros de el caos que se genera con estas prácticas, no entiendo que un programador (ni nadie) defienda no respetar los estándares.


Y lo que hace con un C cada compilador y el código máquina que genera

Este es otro tema, no tiene que ver con los estándares. ¿Hay estándares de código máquina? Estás hablando de código máquina, el cual dependerá de la máquina donde/para la que se genere ese código. De los flags que se le indiquen al compilador. Y, evidentemente, del compilador en sí mismo.


y cómo puede funcionar un intérprete de java....

Bueno, el interprete de Sun es el que, evidentemente, respeta el estándar. El resto, en general, es para darles de comer aparte... Pero por mi experiencia es un problema de dejadez por parte de los desarrolladores de esas máquinas Java alternativas. Teniendo en cuenta que el original es gratuito y está disponible para todas las plataformas, poca gente usa y apoya esas maquinas alternativas.


Efectivamente, puede ser un caos.

Pues no hay más que discutir.
Por otro lado, nos estamos saliendo del tema en una discusión un tanto absurda. Creo que todos vemos claro que el no respetar los estándares sólo genera problemas.

Terisa
01/11/2010, 12:26
Dime una etiqueta HTML que no soporte un navegador concreto. Y que ese navegador, claro está, no sea la mierda del IE6.


En esto yo pensaba en versiones muuuucho más antiguas, Netscape (que no Mozilla) y Explorer, y desde luego ni HTML 3 ni nada, sino en HTML 1. Pero, efectivamente, nos hemos salido del tema y no merece la pena seguir con ello.

pepa
02/12/2010, 23:01
Hola: a pesar de ser novata lo he instalado a la primera pero no se en qué carpeta tengo que meter los libros en fb2,¿ en la misma que documents? por favor si me lo podeis indicar.. gracias:\')

pepa
03/12/2010, 00:44
Hola: a pesar de ser novata lo he instalado a la primera pero no se en qué carpeta tengo que meter los libros en fb2,¿ en la misma que documents? por favor si me lo podeis indicar.. gracias:\')


solucionado, me había equivocado de hilo.

BigKahuna
21/12/2010, 13:26
El CR traga con casi todo (por lo menos en los FB2, con el EPUB es otro cantar...), pero eso no quiere decir que lo esté haciendo bien. Es más cómodo, sí, pero en el momento que te sales del CR, apaga y vámonos!


Un apunte: lo primero que aparece después del símbolo "<" es la etiqueta (lo que tú llamas el apellido) y los siguientes pares de "nombre=valor" (ejemplo: name="estilo1"), que aparecen después de la etiqueta y antes del símbolo ">", son los atributos de esa etiqueta.

Pero, en cuanto a las especificaciones, es que no te puedes inventar etiquetas. Y <pru4> y <trad4> son dos etiquetas que te has inventado y que para FB2 (ni para ningún otro estándar basado en XML) significan nada. Supongo que no sabes HTML porque entonces lo entenderías perfectamente.

El estándar del FB2 establece que, para definir estilos, sólo es válida la etiqueta <style> con un atributo que es el nombre: name='nombre', cuyas propiedades de estilo se definen en el apartado <stylesheet>. Nada más, no hay porqué complicarse la vida inventando etiquetas porque ya existe una para esa función: style significa estilo. ;) ¿Lo entiendes ahora?
Un saludo.

AÑADO:
Creo que los lectores que soportan el formato FB2 le están haciendo un flaco favor al mismo:

CoolReader porque se pasa las especificaciones por el arco del triunfo y traga con todo, hasta te permite inventarte etiquetas!! :o
FBReader porque, a pesar de su nombre, es el que menos especificaciones del FB2 soporta. Los estilos para él son chino mandarín!! :-s
El lector del Calibre, bueno, este debe estar basado en el FBReader porque se comporta prácticamente igual.

Sin embargo, con el ePub son más estrictos y casi todos se comportan igual... ¿Qué es lo que falla con el FB2 entonces? ¿Que no hay ninguna empresa detrás dando caña? :-?

Tienes razón, inventar etiquetas o añadir las de html le hace un flaco favor.
Es verdad que FB2 es bastante simplón, pero para leer novelas (Fiction Book) debería ser suficiente. Aun así han incluído un tag <style> que referencia un "named style".
El las hojas de estilo se pueden redefinir etiquetas (con el efecto colateral de que a veces se definen nuevas, lo que no es bueno a efectos de un XML válido) o se pueden definir estilos. Los nombres de estilo empiezan con un punto.

<stylesheet type="text/css">
.oscuro { font-weight: bold}
</stylesheet>

Y luego dentro de un párrafo:

<p>texto normal y luego texto <style name="oscuro">en negrita</style>

No vale span, ni div.

Desafortunadamente en la especificación FB2 no hay un atributo class para p.
Al fin y al cabo, style solo tiene sentido en realces de texto, no para la caja del
párrafo. Y en realces de texto aparte del tipo de letra y su peso, poco más.

<p class="oscuro"> podría ser un párrafo en negrita.

Lo interesante es que si se usara esta aproximación (como en HTML con CSS) se
podría definir un estilo
.centrado {align: center ; margin: 3em ; }

y con <p class="centrado"> ... un párrafo centrado

Pero no hay atributo class

johansolo
21/12/2010, 15:46
Las modificaciones al párrafo se hacen de esta forma:

<p style="text-align:right">Párrafo alineado a la derecha</p>
<p style="text-align:right">Párrafo centrado</p>

etc...

También se puede hacer que esté todo el párrafo en negrita, cursiva, etc (pero como atributo del párrafo), con la letra cambiada de fuente, tamaño, modificar el sangrado (tanto normal como francés...)

En el mensaje 23 de este hilo (http://www.lectoreselectronicos.com/showthread.php?6586-FB2-?-EPUB-no-conserva-los-estilos&p=73563&viewfull=1#post73563) hay un buen ejemplo de ello.

Además gracias a este hilo simonbcn se decidió a hablar con el creador de calibre y le convenció para que revisara la conversión a fb2. Ahora el calibre hace las conversiones bien respetando las opciones "style" y las etiquetas nuevas que hayamos definido en el stylesheet del fb2 (siempre que lo hagamos como en el ejemplo de la url que he puesto antes.