E-boeken en hun formaten: FB2 en FB3 - geschiedenis, voor-, nadelen en werkingsprincipes

In het vorige artikel hebben we het erover gehad kenmerken van het DjVu-formaat. Vandaag hebben we besloten ons te concentreren op het FictionBook2-formaat, beter bekend als FB2, en zijn “opvolger” FB3.

E-boeken en hun formaten: FB2 en FB3 - geschiedenis, voor-, nadelen en werkingsprincipes
/flickr/ Judit Klein / CC

Het uiterlijk van het formaat

Halverwege de jaren 90, liefhebbers we begonnen digitaliseren van Sovjetboeken. Ze vertaalden en bewaarden literatuur in een grote verscheidenheid aan formaten. Een van de eerste bibliotheken in Runet - Bibliotheek van Maxim Moshkov - een geformatteerd tekstbestand (TXT) gebruikt.

De keuze werd in zijn voordeel gemaakt vanwege zijn weerstand tegen bytecorruptie en veelzijdigheid: TXT kan op elk besturingssysteem worden geopend. Echter, hij maakte het moeilijk verwerking van opgeslagen tekstinformatie. Om bijvoorbeeld naar de duizendste regel te gaan, moesten 999 regels ervoor worden verwerkt. Boeken ook opgeslagen in Word-documenten en PDF - deze laatste was moeilijk te converteren naar andere formaten en zwakke computers openden en weergegeven PDF-documenten met vertragingen.

HTML werd ook gebruikt om elektronische literatuur te ‘opslaan’. Het maakte indexering, conversie naar andere formaten en het maken van documenten (het taggen van tekst) eenvoudiger, maar het introduceerde zijn eigen tekortkomingen. Een van de belangrijkste was “vaagheid» standaard: het liet bepaalde vrijheden toe bij het schrijven van tags. Sommige daarvan moesten worden gesloten, andere (bijvoorbeeld ) - het was niet nodig om het te sluiten. De tags zelf kunnen een willekeurige nestvolgorde hebben.

En hoewel dergelijk werken met bestanden niet werd aangemoedigd – dergelijke documenten werden als onjuist beschouwd – vereiste de standaard dat lezers probeerden de inhoud weer te geven. Dit is waar er problemen ontstonden, omdat in elke toepassing het proces van "gissen" op zijn eigen manier werd geïmplementeerd. Tegelijkertijd zijn er de leesapparaten en applicaties die op dat moment op de markt verkrijgbaar waren begrepen een of twee gespecialiseerde formaten. Als een boek in één formaat beschikbaar was, moest het opnieuw worden geformatteerd om te kunnen worden gelezen. Het was bedoeld om al deze tekortkomingen op te lossen FictieBoek2, of FB2, dat het aanvankelijke "kammen" van de tekst en de conversie overnam.

Merk op dat het formaat zijn eerste versie had - FictieBoek1 - het was echter slechts experimenteel van aard, duurde niet lang, wordt momenteel niet ondersteund en is niet achterwaarts compatibel. Daarom betekent FictionBook meestal zijn “opvolger”: het FB2-formaat.

FB2 is gemaakt door een groep ontwikkelaars onder leiding van Dmitri Gribov, de technisch directeur van het literbedrijf, en Mikhail Matsnev, de maker van de Haali Reader. Het formaat is gebaseerd op XML, dat het werken met niet-gesloten en geneste tags strenger reguleert dan HTML. Bij een XML-document hoort een zogenaamd XML-schema. Een XML-schema is een speciaal bestand dat alle tags bevat en de regels voor het gebruik ervan beschrijft (volgorde, nesting, verplicht en optioneel, enz.). In FictionBook bevindt het diagram zich in het bestand FictionBook2.xsd. Een voorbeeld van een XML-schema is te vinden op link (het wordt gebruikt door de liter e-boekwinkel).

FB2-documentstructuur

Tekst in document wordt opgeslagen in speciale tags - elementen van alineatypen: , En . Er is ook een element , dat geen inhoud heeft en wordt gebruikt om gaten in te voegen.

Alle documenten beginnen met een roottag , hieronder kan verschijnen , , En .

Label bevat stijlbladen om conversie naar andere formaten te vergemakkelijken. IN leugen gecodeerd met behulp van base64 gegevens die nodig kunnen zijn om het document weer te geven.

Element bevat alle benodigde informatie over het boek: genre van het werk, auteurslijst (volledige naam, e-mailadres en website), titel, blok met trefwoorden, annotatie. Het kan ook informatie bevatten over wijzigingen die in het document zijn aangebracht en informatie over de uitgever van het boek als het op papier is gepubliceerd.

Zo ziet een deel van het blok eruit in het FictionBook-item voor werken "A Study in Scarlet" van Arthur Conan Doyle, afkomstig uit Project Gutenberg:

<?xml version="1.0" encoding="iso-8859-1"?>
 <FictionBook 
  >
  <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>

Het belangrijkste onderdeel van een FictionBook-document is . Het bevat de tekst van het boek zelf. Er kunnen meerdere van deze tags door het hele document voorkomen; extra blokken worden gebruikt om voetnoten, opmerkingen en notities op te slaan.

FictionBook biedt ook verschillende tags voor het werken met hyperlinks. Ze zijn gebaseerd op de specificatie XLink, ontwikkeld door het consortium W3C specifiek voor het maken van koppelingen tussen verschillende bronnen in XML-documenten.

Voordelen van het formaat

De FB2-standaard bevat alleen de minimaal vereiste set tags (voldoende om fictie te 'ontwerpen'), wat de verwerking ervan door lezers vereenvoudigt. Bovendien heeft de gebruiker, in het geval van directe bediening van de lezer met het FB-formaat, de mogelijkheid om bijna alle weergaveparameters aan te passen.

Dankzij de strikte structuur van het document kunt u het conversieproces van het FB-formaat naar een ander formaat automatiseren. Dezelfde structuur maakt het mogelijk om met individuele elementen van documenten te werken - stel filters in op auteurs van boeken, titel, genre, enz. Om deze reden is het FB2-formaat populair geworden in Runet en is het de standaardstandaard geworden in Russische elektronische bibliotheken en bibliotheken in de GOS-landen.

Nadelen van het formaat

De eenvoud van het FB2-formaat is tegelijkertijd het voordeel en het nadeel ervan. Dit beperkt de functionaliteit voor complexe tekstopmaak (bijvoorbeeld notities in de marges). Het heeft geen vectorafbeeldingen of ondersteuning voor genummerde lijsten. Om deze reden is het formaat niet erg geschikt voor schoolboeken, naslagwerken en technische literatuur (de naam van het formaat spreekt hier zelfs over - fictieboek of 'fictieboek').

Tegelijkertijd moet het programma, om minimale informatie over het boek weer te geven (titel, auteur en omslag), vrijwel het volledige XML-document verwerken. Dit komt omdat metadata aan het begin van de tekst staan ​​en afbeeldingen aan het einde.

FB3 - formaatontwikkeling

Vanwege de toegenomen eisen voor het opmaken van boekteksten (en om enkele tekortkomingen van FB2 te verzachten), begon Gribov te werken aan het FB3-formaat. De ontwikkeling stopte later, maar in 2014 was dat wel het geval hervat.

Volgens de auteurs bestudeerden ze de werkelijke behoeften bij het publiceren van technische literatuur, keken ze naar studieboeken, naslagwerken en handleidingen en schetsten ze een meer specifieke set tags waarmee elk boek kon worden weergegeven.

In de nieuwe specificatie is het FictionBook-formaat een zip-archief waarin metadata, afbeeldingen en tekst als afzonderlijke bestanden worden opgeslagen. Vereisten voor het zip-bestandsformaat en conventies voor de organisatie ervan zijn gespecificeerd in de standaard ECMA-376, dat Open XML definieert.

Er zijn een aantal verbeteringen aangebracht met betrekking tot de opmaak (afstand, onderstreping) en er is een nieuw object toegevoegd - een 'blok' - dat een willekeurig fragment van een boek in de vorm van een vierhoek opmaakt en met een omhulsel in tekst kan worden ingebed. Er is nu ondersteuning voor genummerde lijsten en lijsten met opsommingstekens.

FB3 wordt gedistribueerd onder een gratis licentie en is open source, dus alle hulpprogramma's zijn beschikbaar voor uitgevers en gebruikers: converters, cloudeditors, lezers. Huidig versie formaat, lezer и редактор is te vinden in de GitHub-repository van het project.

Over het algemeen is FictionBook3 nog steeds minder wijdverspreid dan zijn oudere broer, maar verschillende elektronische bibliotheken bieden al boeken in dit formaat aan. En liters kondigden een paar jaar geleden hun voornemen aan om hun volledige catalogus naar een nieuw formaat over te zetten. Sommige lezers ondersteunen al alle noodzakelijke FB3-functionaliteit. Alle moderne modellen ONYX-lezers kunnen bijvoorbeeld kant-en-klaar met dit formaat werken, Darwin3 of Cleopatra 3.

E-boeken en hun formaten: FB2 en FB3 - geschiedenis, voor-, nadelen en werkingsprincipes
/ ONYX BOOX Cleopatra 3

Een bredere verspreiding van FictionBook3 zal een ecosysteem creëren georiënteerd om volledig en effectief met tekst te werken op elk apparaat met beperkte bronnen: zwart-wit of klein scherm, weinig geheugen, enz. Volgens de ontwikkelaars zal een boek dat eenmaal is opgemaakt in elke omgeving zo handig mogelijk zijn.

PS We brengen verschillende beoordelingen van ONYX BOOX-lezers onder uw aandacht:



Bron: www.habr.com

Voeg een reactie