Libros electrónicos y sus formatos: FB2 y FB3: historia, pros, contras y principios de trabajo

En el último artículo, hablamos sobre las características del formato DjVu . Hoy decidimos detenernos en el formato FictionBook2, más conocido como FB2, y su "sucesor" FB3.


/ Flickr / judit klein / cc

Apariencia del formato


A mediados de los 90, los entusiastas comenzaron a digitalizar los libros soviéticos. Tradujeron y guardaron literatura en una amplia variedad de formatos. Una de las primeras bibliotecas en Runet, la Biblioteca Maxim Moshkov , utilizó un archivo de texto formateado (TXT).

La elección a su favor se hizo debido a la resistencia al daño de bytes y la versatilidad: TXT se abre en cualquier sistema operativo. Sin embargo, dificultó el procesamiento de la información de texto almacenada. Por ejemplo, para ir a la milésima línea, tenía que procesar 999 líneas delante de ella. Los libros también se almacenaron en documentos de Word y PDF; este último fue difícil de convertir a otros formatos, y las computadoras débiles abrieron y mostraron documentos PDF con demoras.

También para el "almacenamiento" de literatura electrónica se utiliza HTML. Simplificó la indexación, la conversión a otros formatos y la creación de documentos (etiquetar texto con etiquetas), pero introdujo sus propias deficiencias. Una de las más significativas fue la " vaguedad " del estándar: permitía ciertas libertades al escribir etiquetas. Algunos de ellos tuvieron que cerrarse, otros (por ejemplo, <p>); no fue necesario cerrarlos. Las etiquetas mismas podrían tener un orden de anidación arbitrario.

Y aunque no se fomentó el trabajo con archivos, tales documentos se consideraron incorrectos, el estándar requería que los lectores trataran de mostrar los contenidos. Aquí es donde surgieron las dificultades, ya que en cada aplicación el proceso de "especulación" se implementó a su manera. Además, en ese momento, los dispositivos y aplicaciones disponibles en el mercado para la lectura comprendían uno o dos formatos especializados. Si el libro estaba en un formato, tenía que ser reformateado para leerlo. FictionBook2 , o FB2, que se hizo cargo del "peinado" primario del texto y la conversión, fue llamado para resolver todas estas deficiencias.

Tenga en cuenta que el formato tenía la primera versión, FictionBook1 , sin embargo, solo era de naturaleza experimental, no duró mucho, hoy no es compatible y no tiene compatibilidad con versiones anteriores. Por lo tanto, FictionBook a menudo significa su "seguidor": el formato FB2.

FB2 fue creado por un grupo de desarrolladores liderados por Dmitry Gribov , quien es el director técnico de litros, y Mikhail Matsnev, el creador del lector Haali Reader. El formato se basa en XML, que es más estricto que HTML, rige el trabajo con etiquetas abiertas y anidadas. Un documento XML va acompañado de un llamado esquema XML. Un esquema XML es un archivo especial que contiene todas las etiquetas y describe las reglas para su aplicación (secuencia, anidamiento, obligatorio y opcional, etc.). En FictionBook, el esquema está en el archivo FictionBook2.xsd. Puede encontrar un ejemplo de un esquema XML en el enlace (lo utiliza la librería electrónica de litros).

Estructura del documento FB2


El texto en el documento se almacena en etiquetas especiales: elementos de tipo de párrafo: <p>, <v> y <subtitle>. También hay un elemento <empty-line> que no tiene contenido y se utiliza para insertar huecos.

Todos los documentos comienzan con la etiqueta <fictionbook> raíz, debajo de la cual pueden aparecer <stylesheet>, <description>, <body> y <binary>.

La etiqueta <stylesheet> contiene hojas de estilo para facilitar la conversión a otros formatos. El <binario> contiene datos codificados en base64 que pueden ser necesarios para representar el documento.

El elemento <description> contiene toda la información necesaria sobre el libro: el género del trabajo, la lista de autores (F.I.O., dirección de correo electrónico y sitio web en Internet), título, bloque con palabras clave, anotación. También puede contener información sobre enmiendas al documento e información sobre el editor del libro, si fue publicado en papel.

Así es como se ve la parte del bloque <description> en la entrada de FictionBook para el Estudio de Arthur Conan Doyle en Scarlet tomado del Proyecto Gutenberg :

<?xml version="1.0" encoding="iso-8859-1"?> <FictionBook xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.gribuser.ru/xml/fictionbook/2.0"> <description> <title-info> <genre match="100">detective</genre> <author> <first-name>Arthur</first-name> <middle-name>Conan</middle-name> <last-name>Doyle</last-name> </author> <book-title>A Study in Scarlet</book-title> <annotation> </annotation> <date value="1887-01-01">1887</date> </title-info> </description> 

Un componente clave de un documento de FictionBook es <body>. Contiene el texto del libro en sí. Puede haber varias de estas etiquetas en todo el documento; se usan bloques adicionales para almacenar notas al pie, comentarios y notas.

FictionBook también proporciona varias etiquetas para trabajar con hipervínculos. Se basan en la especificación XLink desarrollada por el consorcio W3C específicamente para crear enlaces entre diferentes recursos en documentos XML.

Ventajas del formato


El estándar FB2 incluye solo el conjunto de etiquetas mínimamente necesario (suficiente para el "diseño" de la ficción), lo que simplifica su procesamiento por parte de los lectores. Además, en el caso del funcionamiento directo del lector con el formato FB, el usuario tiene la oportunidad de configurar casi todos los parámetros de visualización por sí mismo.

La estructura estricta del documento le permite automatizar el proceso de conversión del formato FB a cualquier otro. La misma estructura hace posible trabajar con elementos individuales de documentos: ajuste los filtros por autores de libros, título, género, etc. Por esta razón, el formato FB2 ha ganado popularidad en RuNet, convirtiéndose en el estándar predeterminado en las bibliotecas electrónicas rusas y las bibliotecas de los países de la CEI.

Desventajas de formato


La simplicidad del formato FB2 es su ventaja y desventaja al mismo tiempo. Esto limita la funcionalidad para la composición compleja de texto (por ejemplo, notas marginales). No tiene gráficos vectoriales ni soporte para listas numeradas. Por esta razón, el formato no es muy adecuado para libros de texto, libros de referencia y literatura técnica (el nombre del formato incluso habla de este libro de ficción o "libro de arte").

Al mismo tiempo, para mostrar información mínima sobre el libro (título, autor y portada), el programa necesita procesar casi todo el documento XML. Esto se debe al hecho de que los metadatos se encuentran al principio del texto y las imágenes al final.

FB3 - desarrollo de formatos


Debido a los mayores requisitos para el formato de texto de los libros (y para compensar algunas de las deficiencias de FB2), Gribov comenzó a trabajar en el formato FB3. El desarrollo posterior se detuvo, pero en 2014 se reanudó .

Según los autores, estudiaron las necesidades reales de publicación de literatura técnica, examinaron libros de texto, libros de referencia, manuales y describieron un conjunto más específico de etiquetas que permitirían mostrar cualquier libro.

En la nueva especificación, el formato FictionBook es un archivo zip en el que los metadatos, las imágenes y el texto se almacenan en archivos separados. Los requisitos para el formato del archivo zip y los acuerdos sobre su organización se especifican en el estándar ECMA-376 que define Open XML.

Se realizaron una serie de mejoras relacionadas con el formato (descarga, subrayado) y se agregó un nuevo objeto, el "bloque", que forma un fragmento arbitrario de un libro en forma de cuadrilátero y se puede incrustar en el texto con un flujo a su alrededor. Hay soporte para listas numeradas y con viñetas.

FB3 se distribuye bajo una licencia gratuita y tiene un código fuente abierto, por lo que todas las utilidades están disponibles para editores y usuarios: convertidores, editores en la nube y lectores. La versión actual del formato, lector y editor se puede encontrar en el repositorio del proyecto en GitHub.

En general, FictionBook3 todavía está menos extendido que su hermano mayor, sin embargo, varias bibliotecas electrónicas ya ofrecen libros en este formato. Y en litros, hace un par de años, anunciaron su intención de transferir todo su catálogo a un nuevo formato. Algunos lectores ya admiten toda la funcionalidad necesaria de FB3. Por ejemplo, todos los modelos modernos de lectores ONYX, por ejemplo, Darwin 3 o Cleopatra 3 , pueden funcionar con este formato "listo para usar".


/ ONYX BOOX Cleopatra 3

Una distribución más amplia de FictionBook3 le permitirá crear un ecosistema centrado en el trabajo completo y efectivo con texto en cualquier dispositivo con recursos limitados: blanco y negro o una pantalla pequeña, poca memoria, etc. Según los desarrolladores, una vez compilado el libro será más conveniente en cualquier entorno.



PD Traemos a su atención varias reseñas de lectores de ONYX BOOX:

Source: https://habr.com/ru/post/es411755/


All Articles