E-raamatud ja nende formaadid: FB2 ja FB3 - ajalugu, plussid, miinused ja tööpõhimõtted

Eelmises artiklis me rääkisime DjVu vormingu funktsioonid. Täna otsustasime keskenduda FictionBook2 formaadile, paremini tuntud kui FB2, ja selle "järglasele" FB3.

E-raamatud ja nende formaadid: FB2 ja FB3 - ajalugu, plussid, miinused ja tööpõhimõtted
/Flickr/ Judit Klein / CC

Formaadi välimus

90ndate keskel entusiastid alustasime digiteerida nõukogude raamatuid. Nad tõlkisid ja säilitasid kirjandust väga erinevates vormingutes. Üks esimesi Runeti raamatukogusid - Maxim Moshkovi raamatukogu - kasutas vormindatud tekstifaili (TXT).

Valik tehti selle kasuks tänu selle vastupidavusele baitide korruptsioonile ja mitmekülgsusele – TXT avaneb igas operatsioonisüsteemis. Siiski ta tegi selle keeruliseks salvestatud tekstiteabe töötlemine. Näiteks tuhandendale reale liikumiseks tuli töödelda 999 sellele eelnevat rida. Raamatud ka ladustatud Wordi dokumentides ja PDF-is - viimast oli raske teistesse vormingutesse teisendada ning nõrgad arvutid avanesid ja kuvatakse PDF-dokumendid viivitusega.

HTML-i kasutati ka elektroonilise kirjanduse "hoidmiseks". See hõlbustas indekseerimist, muudesse vormingutesse teisendamist ja dokumentide loomist (teksti sildistamine), kuid tõi kaasa omad puudused. Üks olulisemaid oli "ebamäärasus» standard: see võimaldas siltide kirjutamisel teatud vabadusi. Mõned neist tuli sulgeda, teised (näiteks ) - seda polnud vaja sulgeda. Märgistustel endil võib olla suvaline pesastamisjärjekord.

Ja kuigi sellist tööd failidega ei soodustatud – selliseid dokumente peeti ebaõigeteks –, nõudis standard lugejatelt sisu kuvamist. Siin tekkisid raskused, kuna igas rakenduses rakendati äraarvamise protsessi omal moel. Samas ka sel ajal turul saadaolevad lugemisseadmed ja rakendused aru saanud üks või kaks spetsiaalset vormingut. Kui raamat oli saadaval ühes vormingus, tuli see lugemiseks ümber vormindada. See oli mõeldud kõigi nende puuduste kõrvaldamiseks Ilukirjandusraamat2, või FB2, mis võttis üle teksti esialgse “kammimise” ja teisendamise.

Pange tähele, et vormingul oli esimene versioon - Ilukirjandusraamat1 - see oli siiski ainult eksperimentaalne, ei kestnud kaua, seda praegu ei toetata ja see ei ühildu tagasi. Seetõttu tähendab FictionBook enamasti selle "järgijat" - FB2-vormingut.

FB2 lõi arendajate rühm eesotsas Dmitri Gribov, kes on litrite ettevõtte tehniline direktor, ja Mihhail Matsnev, Haali Readeri looja. Vorming põhineb XML-il, mis reguleerib tööd sulgemata ja pesastatud siltidega rangemalt kui HTML. XML-dokumendiga on kaasas nn XML-skeem. XML-skeem on spetsiaalne fail, mis sisaldab kõiki silte ja kirjeldab nende kasutamise reegleid (järjestus, pesastamine, kohustuslik ja valikuline jne). FictionBookis on diagramm failis FictionBook2.xsd. Näidis XML-skeemi leiate aadressilt link (seda kasutab litrite e-raamatupood).

FB2 dokumendi struktuur

Tekst dokumendis hoitakse spetsiaalsetes siltides - lõigutüüpide elemendid: , Ja . Seal on ka element , millel puudub sisu ja mida kasutatakse lünkade sisestamiseks.

Kõik dokumendid algavad juursildiga , mille alla võib ilmuda , , Ja .

Tag sisaldab laadilehti, et hõlbustada teisendamist muudesse vormingutesse. IN vale kodeeritud kasutades base64 andmed, mida dokumendi renderdamiseks vaja läheb.

Element sisaldab kogu vajalikku teavet raamatu kohta: teose žanr, autorite nimekiri (täisnimi, meiliaadress ja veebisait), pealkiri, märksõnadega blokk, annotatsioon. Samuti võib see sisaldada teavet dokumendis tehtud muudatuste kohta ja teavet raamatu väljaandja kohta, kui see avaldati paberkandjal.

Selline näeb välja osa plokist FictionBooki kirjes jaoks töötab Arthur Conan Doyle'i "Uuring Scarlet'is", võetud aastast Projekt 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>

FictionBooki dokumendi põhikomponent on . See sisaldab raamatu enda teksti. Neid silte võib dokumendis olla mitu – allmärkuste, kommentaaride ja märkuste salvestamiseks kasutatakse täiendavaid plokke.

FictionBook pakub hüperlinkidega töötamiseks ka mitmeid silte. Need põhinevad spetsifikatsioonil XLink, mille on välja töötanud konsortsium W3C spetsiaalselt XML-dokumentides erinevate ressursside vaheliste linkide loomiseks.

Vormi eelised

FB2 standard sisaldab ainult minimaalset nõutavat siltide komplekti (piisab ilukirjanduse kujundamiseks), mis lihtsustab selle töötlemist lugejate poolt. Veelgi enam, FB-vormingus lugeja otsese töötamise korral on kasutajal võimalus kohandada peaaegu kõiki kuvaparameetreid.

Dokumendi range ülesehitus võimaldab automatiseerida FB-vormingust mis tahes teise teisendamise protsessi. Sama struktuur võimaldab töötada dokumentide üksikute elementidega - seadistada filtreid raamatu autorite, pealkirja, žanri jne järgi. Sel põhjusel on FB2-vorming Runetis populaarsust kogunud, muutudes Venemaa elektrooniliste raamatukogude ja raamatukogude vaikestandardiks SRÜ riikides.

Vormi puudused

FB2 formaadi lihtsus on üheaegselt selle eelis ja puudus. See piirab keeruka tekstipaigutuse funktsionaalsust (nt märkused veeristel). Sellel pole vektorgraafikat ega nummerdatud loendite tuge. Sel põhjusel formaat ei sobi eriti õpikute, teatmeteoste ja tehnilise kirjanduse jaoks (vormingu nimi räägib isegi sellest - ilukirjandusraamat või "ilukirjandusraamat").

Samal ajal, et kuvada raamatu kohta minimaalset teavet - pealkiri, autor ja kaas -, peab programm töötlema peaaegu kogu XML-dokumendi. Seda seetõttu, et metaandmed tulevad teksti algusesse ja pildid lõppu.

FB3 - formaadi arendus

Seoses suurenenud nõuetega raamatutekstide vormindamisele (ja selleks, et leevendada mõningaid FB2 puudusi), alustas Gribov tööd FB3 formaadi kallal. Hiljem areng seiskus, aga 2014. aastal nii jätkati.

Autorite sõnul uuriti tegelikke vajadusi tehnilist kirjandust avaldades, vaadati õpikuid, teatmeteoseid, käsiraamatuid ja visandati konkreetsem siltide komplekt, mis võimaldaks iga raamatu välja panna.

Uues spetsifikatsioonis on FictionBooki vorminguks zip-arhiiv, milles metaandmed, pildid ja tekst salvestatakse eraldi failidena. Zip-failivormingu nõuded ja selle korraldamise kokkulepped on sätestatud standardis ECMA-376, mis määratleb avatud XML-i.

Vormindamisega (tühikud, allakriipsutamine) tehti mitmeid täiustusi ja lisati uus objekt - "plokk" -, mis vormindab suvalise raamatu fragmendi nelinurga kujul ja mida saab ümbritseda tekstiga. Nüüd on olemas nummerdatud ja täpploendite tugi.

FB3 levitatakse tasuta litsentsi alusel ja see on avatud lähtekoodiga, seega on avaldajatele ja kasutajatele saadaval kõik utiliidid: konverterid, pilvetoimetajad, lugejad. Praegune versioon formaat, lugeja и toimetaja leiate projekti GitHubi hoidlast.

Üldiselt on FictionBook3 endiselt vähem levinud kui tema vanem vend, kuid mitmed elektroonilised raamatukogud pakuvad juba selles formaadis raamatuid. Ja Liter teatas paar aastat tagasi oma kavatsusest viia kogu oma kataloog uude formaati. Mõned lugejad juba toetavad kõiki vajalikke FB3 funktsioone. Näiteks kõik kaasaegsed ONYX-lugejate mudelid saavad selle vorminguga karbist välja võtta, näiteks Darwin 3 või Kleopatra 3.

E-raamatud ja nende formaadid: FB2 ja FB3 - ajalugu, plussid, miinused ja tööpõhimõtted
/ ONYX BOOX Cleopatra 3

FictionBook3 laiem levik loob ökosüsteemi orienteeritud täielikult ja tõhusalt töötada tekstiga mis tahes piiratud ressurssidega seadmes: must-valge või väike ekraan, vähe mälu jne. Arendajate sõnul on üks kord välja pandud raamat igas keskkonnas võimalikult mugav.

PS Juhime teie tähelepanu mitmetele ONYX BOOXi lugejate arvustustele:



Allikas: www.habr.com

Lisa kommentaar