Livres électroniques et leurs formats : FB2 et FB3 — histoire, avantages, inconvénients et principes de fonctionnement

Dans le document précédent, nous avons parlé des particularités du format DjVu.Aujourd'hui, nous avons décidé de nous concentrer sur le format FictionBook2, plus connu sous le nom de FB2, et son « successeur » FB3.

Livres électroniques et leurs formats : FB2 et FB3 — histoire, avantages, inconvénients et principes de fonctionnement
/ Flickr / Judit Klein / CC

L'apparition du format

Au milieu des années 90, des passionnés ont commencé ont commencé à numériser des livres soviétiques. Ils traduisaient et conservaients des œuvres littéraires dans divers formats. L'une des premières bibliothèques sur le Runet — La bibliothèque de Maxime Moshkov — utilisait des fichiers texte formatés (TXT).

Le choix de ce format a été fait en raison de sa résistance à la corruption de données et de son universalisme — le fichier TXT peut être ouvert sur n'importe quel système d'exploitation. Cependant, il posait des difficultés dans le traitement des informations textuelles stockées. Par exemple, pour atteindre la millième ligne, il fallait traiter les 999 lignes précédentes. Les livres étaient également stockés dans des documents « Word » et au format PDF — ce dernier était difficile à convertir en d'autres formats, et les ordinateurs moins puissants ouvraient et affichaient les documents PDF avec des délais.

De plus, pour « stocker » la littérature électronique, on utilisait aussi HTML. Cela facilitait l'indexation, la conversion vers d'autres formats et la création de documents (marquage du texte avec des balises), mais cela a apporté ses propres inconvénients. L'un des plus significatifs était la «flou» standard : il permettait certaines libertés dans l'écriture des balises. Certaines d'entre elles devaient être fermées, d'autres (par exemple, <p>) — il n'était pas nécessaire de les fermer. Les balises elles-mêmes pouvaient avoir un ordre d'imbrication arbitraire.

Et bien que ce type de travail avec des fichiers n'était pas encouragé — ces documents étaient considérés comme incorrects — la norme exigeait des liseuses qu'elles essaient d'afficher le contenu. C'est ici que surgissaient des difficultés, car dans chaque application, le processus de « compréhension » était mis en œuvre de manière différente. À l'époque, les dispositifs et applications disponibles sur le marché pour la lecture comprenaient un ou deux formats spécialisés. Si le livre était au format, il fallait le reformater pour le lire. Le but était de résoudre tous ces problèmes en utilisant FictionBook2, ou FB2, qui s'occupait de la première « mise en forme » du texte et de la conversion.

Il convient de noter que le format avait une première version — FictionBook1 — qui était purement expérimentale, n'a pas duré longtemps, n'est plus supportée aujourd'hui et n'a pas de compatibilité ascendante. Ainsi, on entend souvent par FictionBook son « successeur » — le format FB2.

FB2 a été créé par un groupe de développeurs dirigé par Dmitri Gribov, qui est le directeur technique de la société «ЛитРес», et Mikhaïl Matsnev, le créateur de la liseuse Haali Reader. Le format repose sur XML, qui est plus strict que HTML et réglemente le traitement des balises non fermées et imbriquées. Un document XML est accompagné d'un schéma XML, qui est un fichier spécial dans lequel toutes les balises sont rassemblées et les règles de leur utilisation (séquence, imbriquement, obligation et non-obligation, etc.) sont décrites. Dans FictionBook, le schéma se trouve dans le fichier FictionBook2.xsd. Vous pouvez trouver un exemple de schéma XML à le lien (il est utilisé par la librairie de livres électroniques «ЛитРес»).

La structure du document FB2

Le texte dans le document est stocké dans des balises spéciales — éléments de type paragraphe : <p>, <v> et <subtitle>. Il y a aussi un élément <empty-line>, qui n'a pas de contenu et est utilisé pour insérer des espaces.

Tous les documents commencent par une balise racine <fictionbook>, sous laquelle peuvent apparaître <stylesheet>, <description>, <body> et <binary>.

La balise contient des feuilles de style pour faciliter la conversion vers d'autres formats. Dans se trouvent des données codées avec base64 qui peuvent être nécessaires pour le rendu du document.

L'élément contient toutes les informations nécessaires sur le livre : le genre de l'œuvre, la liste des auteurs (nom complet, adresse email et site internet), le titre, un bloc de mots-clés, un résumé. Il peut également contenir des informations sur les modifications apportées au document et des données sur l'éditeur du livre, s'il a été publié sur support papier.

Voici à quoi ressemble une partie du bloc dans un enregistrement FictionBook pour l'œuvre «Étude en rouge» d'Arthur Conan Doyle, extrait de Projet «Gutenberg»:

detective
      
        Arthur
        Conan
        Doyle
      
      A Study in Scarlet
      
      
      1887

Un composant clé du document FictionBook est <body>. Il contient le texte de l'ouvrage. Ce type de balises peut apparaître plusieurs fois dans le document — des blocs supplémentaires sont utilisés pour stocker des notes de bas de page, des commentaires et des remarques.

FictionBook fournit également plusieurs balises pour travailler avec des hyperliens. Elles sont basées sur la spécification XLink, développée par le consortium W3C spécifiquement pour créer des liens entre différentes ressources dans des documents XML.

Les avantages du format

Le standard FB2 ne comprend qu'un minimum de balises nécessaires (suffisantes pour le «formatage» de la littérature artistique), ce qui simplifie son traitement par les liseuses. De plus, en cas de travail direct du lecteur avec le format FB, l'utilisateur a la possibilité de personnaliser presque tous les paramètres d'affichage.

La structure rigoureuse du document permet d'automatiser le processus de conversion du format FB vers n'importe quel autre format. Cette même structure permet de travailler sur des éléments individuels des documents - en configurant des filtres par auteur, titre, genre, etc. C'est cette raison qui a contribué à la popularité du format FB2 sur le Runet, le rendant standard par défaut dans les bibliothèques électroniques russes et celles des pays de la CEI.

Inconvénients du format

La simplicité du format FB2 est à la fois un avantage et un inconvénient. Cela limite les fonctionnalités pour la mise en forme complexe du texte (par exemple, les notes en marge). Il n'inclut pas de graphiques vectoriels et ne prend pas en charge les listes numérotées. Pour cette raison, le format n'est pas très adapté pour les manuels, les guides et la littérature technique (comme l'indique le nom même du format - fiction book, ou « livre de fiction »).

Cependant, pour afficher les informations minimales sur un livre - le titre, l'auteur et la couverture - le programme doit traiter presque tout le document XML. Cela est dû au fait que les métadonnées se trouvent au début du texte, tandis que les images sont à la fin.

FB3 - développement du format

En raison des exigences croissantes en matière de mise en forme des textes de livres (et pour atténuer certains des inconvénients du FB2), Gribo a commencé à travailler sur le format FB3. Le développement a été arrêté par la suite, mais en 2014, il a été réactivée.

Selon les auteurs, ils ont étudié les besoins réels en matière de publication de littérature technique, examiné des manuels, des guides, des ressources et défini un ensemble de balises plus concret pour permettre l'affichage de n'importe quel livre.

Dans la nouvelle spécification, le format FictionBook est un fichier zip dans lequel les métadonnées, les images et le texte sont stockés sous forme de fichiers séparés. Les exigences relatives au format du fichier zip et les accords concernant son organisation sont définis dans la norme ECMA-376, qui définit l'Open XML.

Une série d'améliorations a été apportée concernant la mise en forme (espacement, soulignement) et un nouvel objet - « bloc » - a été ajouté, permettant de styliser un fragment de livre sous forme de rectangle pouvant être intégré dans le texte avec un habillage. Le support des listes numérotées et à puces a été ajouté.

FB3 est distribué sous une licence libre et possède un code ouvert, ce qui donne accès à tous les utilitaires : convertisseurs, éditeurs en nuage, lecteurs. La version actuelle du format, lecteur éditeur et peut être trouvée dans le dépôt du projet sur GitHub. En général, FictionBook3 est encore moins répandu que son grand frère, mais plusieurs bibliothèques électroniques proposent déjà des livres dans ce format. Et chez « LitRes », il y a quelques années, ils annonçaient leur intention de convertir tout leur catalogue au nouveau format. Certaines liseuses prennent déjà en charge toutes les fonctionnalités nécessaires d'FB3. Par exemple, tous les modèles modernes de liseuses ONYX, comme

Darwin 3 Cleopatra 3 ou ONYX BOOX Cleopatra 3.

Livres électroniques et leurs formats : FB2 et FB3 — histoire, avantages, inconvénients et principes de fonctionnement
/ Une diffusion plus large de FictionBook3 permettra de former un écosystème

axé sur un travail complet et efficace avec le texte sur n'importe quel appareil aux ressources limitées : écran noir et blanc ou petit, faible mémoire, etc. Selon les développeurs, un livre formaté une fois sera le plus pratique dans n'importe quel environnement. P.S. Nous vous présentons quelques critiques des liseuses ONYX BOOX :

Critique de l'ONYX BOOX Darwin 3 : plus qu'un simple livre électronique



Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster