E-libro at ang kanilang mga format: FB2 at FB3 - kasaysayan, kalamangan, kahinaan at mga prinsipyo ng pagpapatakbo

Sa nakaraang artikulo ay napag-usapan natin mga tampok ng format ng DjVu. Ngayon ay nagpasya kaming tumuon sa format na FictionBook2, na mas kilala bilang FB2, at ang "kapalit" nito na FB3.

E-libro at ang kanilang mga format: FB2 at FB3 - kasaysayan, kalamangan, kahinaan at mga prinsipyo ng pagpapatakbo
/flickr/ Judit Klein / CC

Ang hitsura ng format

Sa kalagitnaan ng 90s, mga mahilig sinimulan namin i-digitize ang mga aklat ng Sobyet. Isinalin at iningatan nila ang mga literatura sa iba't ibang uri ng mga format. Isa sa mga unang aklatan sa Runet - Aklatan ng Maxim Moshkov - gumamit ng format na text file (TXT).

Ang pagpili ay ginawa sa pabor nito dahil sa kanyang pagtutol sa byte corruption at versatility - TXT ay bubukas sa anumang operating system. Gayunpaman, siya ginawa itong mahirap pagproseso ng nakaimbak na impormasyon ng teksto. Halimbawa, upang lumipat sa ika-libong linya, 999 na linya sa unahan nito ang kailangang iproseso. Mga libro din nakaimbak sa mga dokumento ng Word at PDF - ang huli ay mahirap i-convert sa iba pang mga format, at ang mahinang mga computer ay nagbukas at ipinapakita Mga dokumentong PDF na may mga pagkaantala.

Ginamit din ang HTML sa "imbak" ng mga elektronikong literatura. Pinadali nito ang pag-index, pag-convert sa iba pang mga format, at paggawa ng dokumento (pagta-tag ng teksto), ngunit ipinakilala nito ang sarili nitong mga pagkukulang. Isa sa pinakamahalaga ay β€œpagkalaboΒ» pamantayan: pinahintulutan nito ang ilang mga kalayaan kapag nagsusulat ng mga tag. Ang ilan sa kanila ay kailangang isara, ang iba (halimbawa, ) - hindi na kailangang isara ito. Ang mga tag mismo ay maaaring magkaroon ng isang arbitrary na pagkakasunud-sunod ng nesting.

At bagama't hindi hinihikayat ang ganitong gawain sa mga file - ang mga naturang dokumento ay itinuturing na hindi tama - ang pamantayan ay kinakailangan ng mga mambabasa na subukang ipakita ang nilalaman. Dito lumitaw ang mga paghihirap, dahil sa bawat aplikasyon ang proseso ng "paghula" ay ipinatupad sa sarili nitong paraan. Kasabay nito, ang mga device sa pagbabasa at mga application na magagamit sa merkado sa oras na iyon naintindihan isa o dalawang espesyal na format. Kung available ang isang libro sa isang format, kailangan itong i-reformat para mabasa. Ito ay nilayon upang malutas ang lahat ng mga pagkukulang na ito Aklat ng Fiction2, o FB2, na pumalit sa paunang "pagsusuklay" ng teksto at conversion.

Tandaan na ang format ay may unang bersyon - Aklat ng Fiction1 - gayunpaman, ito ay pang-eksperimento lamang, hindi nagtagal, kasalukuyang hindi suportado at hindi paatras na tugma. Samakatuwid, ang FictionBook ay kadalasang nangangahulugang "kapalit" nito - ang format na FB2.

Ang FB2 ay nilikha ng isang grupo ng mga developer na pinamumunuan ni Dmitry Gribov, na siyang teknikal na direktor ng kumpanya ng litro, at si Mikhail Matsnev, ang lumikha ng Haali Reader. Ang format ay batay sa XML, na kumokontrol sa trabaho sa mga hindi nakasara at naka-nest na mga tag nang mas mahigpit kaysa sa HTML. Ang isang XML na dokumento ay sinamahan ng isang tinatawag na XML Schema. Ang XML schema ay isang espesyal na file na naglalaman ng lahat ng mga tag at naglalarawan ng mga panuntunan para sa paggamit ng mga ito (sequence, nesting, mandatory at opsyonal, atbp.). Sa FictionBook, ang diagram ay nasa file na FictionBook2.xsd. Ang isang halimbawa ng XML schema ay matatagpuan sa link (ito ay ginagamit ng liters e-book store).

Istraktura ng dokumento ng FB2

Teksto sa dokumento nakaimbak sa mga espesyal na tag - mga elemento ng mga uri ng talata: , At . Mayroon ding elemento , na walang nilalaman at ginagamit upang magpasok ng mga puwang.

Ang lahat ng mga dokumento ay nagsisimula sa isang root tag , sa ibaba na maaaring lumitaw , , At .

Tag naglalaman ng mga style sheet upang mapadali ang conversion sa ibang mga format. SA kasinungalingan naka-encode gamit base64 data na maaaring kailanganin upang mai-render ang dokumento.

Elemento naglalaman ng lahat ng kinakailangang impormasyon tungkol sa aklat: genre ng trabaho, listahan ng mga may-akda (buong pangalan, email address at website), pamagat, block na may mga keyword, anotasyon. Maaari rin itong maglaman ng impormasyon tungkol sa mga pagbabagong ginawa sa dokumento at impormasyon tungkol sa publisher ng aklat kung ito ay nai-publish sa papel.

Ito ang hitsura ng bahagi ng bloke sa FictionBook entry para sa gumagana "A Study in Scarlet" ni Arthur Conan Doyle, kinuha mula sa Proyekto 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>

Ang pangunahing bahagi ng isang dokumento ng FictionBook ay . Naglalaman ito ng teksto ng aklat mismo. Maaaring mayroong ilan sa mga tag na ito sa kabuuan ng dokumento - ang mga karagdagang bloke ay ginagamit upang mag-imbak ng mga footnote, komento at tala.

Nagbibigay din ang FictionBook ng ilang mga tag para sa pagtatrabaho sa mga hyperlink. Ang mga ito ay batay sa pagtutukoy XLink, na binuo ng consortium W3C partikular para sa paglikha ng mga link sa pagitan ng iba't ibang mapagkukunan sa mga XML na dokumento.

Mga kalamangan ng format

Ang pamantayan ng FB2 ay kinabibilangan lamang ng pinakamababang kinakailangang hanay ng mga tag (sapat para "magdisenyo" ng kathang-isip), na nagpapasimple sa pagproseso nito ng mga mambabasa. Bukod dito, sa kaso ng direktang operasyon ng mambabasa na may format na FB, ang gumagamit ay may pagkakataon na i-customize ang halos lahat ng mga parameter ng display.

Ang mahigpit na istraktura ng dokumento ay nagbibigay-daan sa iyo upang i-automate ang proseso ng conversion mula sa FB format sa anumang iba pa. Ang parehong istraktura ay ginagawang posible na magtrabaho kasama ang mga indibidwal na elemento ng mga dokumento - mag-set up ng mga filter ng mga may-akda ng libro, pamagat, genre, atbp Para sa kadahilanang ito, ang format ng FB2 ay nakakuha ng katanyagan sa Runet, na naging default na pamantayan sa mga electronic na library at library ng Russia. sa mga bansang CIS.

Mga disadvantages ng format

Ang pagiging simple ng format ng FB2 ay ang kalamangan at kawalan nito sa parehong oras. Nililimitahan nito ang functionality para sa kumplikadong layout ng teksto (halimbawa, mga tala sa mga margin). Wala itong vector graphics o suporta para sa mga numerong listahan. Para sa kadahilanang ito ang format hindi masyadong angkop para sa mga aklat-aralin, sangguniang libro at teknikal na panitikan (ang pangalan ng format ay nagsasalita pa tungkol dito - fiction book, o "fiction book").

Kasabay nito, upang maipakita ang kaunting impormasyon tungkol sa aklat - pamagat, may-akda at pabalat - kailangang iproseso ng programa ang halos buong XML na dokumento. Ito ay dahil ang metadata ay nanggagaling sa simula ng teksto at ang mga larawan ay nasa dulo.

FB3 - pagbuo ng format

Dahil sa tumaas na mga kinakailangan para sa pag-format ng mga teksto ng libro (at upang mabawasan ang ilan sa mga pagkukulang ng FB2), nagsimulang magtrabaho si Gribov sa format na FB3. Ang pag-unlad ay tumigil sa paglaon, ngunit noong 2014 ito ay ipinagpatuloy.

Ayon sa mga may-akda, pinag-aralan nila ang mga tunay na pangangailangan kapag naglalathala ng teknikal na literatura, tumingin sa mga aklat-aralin, sangguniang aklat, manwal at binalangkas ang isang mas tiyak na hanay ng mga tag na magpapahintulot sa anumang aklat na maipakita.

Sa bagong detalye, ang format ng FictionBook ay isang zip archive kung saan iniimbak ang metadata, mga larawan at teksto bilang magkahiwalay na mga file. Ang mga kinakailangan para sa format ng zip file at mga kumbensyon para sa organisasyon nito ay tinukoy sa pamantayan ECMA-376, na tumutukoy sa Open XML.

Ang ilang mga pagpapabuti ay ginawa na may kaugnayan sa pag-format (spacing, underlining) at isang bagong bagay ay idinagdag - isang "block" - na nag-format ng isang arbitrary na fragment ng isang libro sa anyo ng isang quadrangle at maaaring i-embed sa text na may wraparound. Mayroon na ngayong suporta para sa mga numero at bullet na listahan.

Ang FB3 ay ipinamahagi sa ilalim ng isang libreng lisensya at ito ay open source, kaya lahat ng mga utility ay magagamit sa mga publisher at user: converter, cloud editor, readers. Kasalukuyan ang bersyon format, mambabasa ΠΈ ang editor ay matatagpuan sa GitHub repository ng proyekto.

Sa pangkalahatan, ang FictionBook3 ay hindi gaanong laganap kaysa sa nakatatandang kapatid nito, ngunit maraming mga elektronikong aklatan ang nag-aalok na ng mga aklat sa ganitong format. At ang mga litro ilang taon na ang nakalilipas ay inihayag ang kanilang intensyon na ilipat ang kanilang buong catalog sa isang bagong format. Sinusuportahan na ng ilang mambabasa ang lahat ng kinakailangang functionality ng FB3. Halimbawa, lahat ng modernong modelo ng mga ONYX reader ay maaaring gumana sa format na ito nang wala sa kahon, halimbawa, Darwin 3 o Cleopatra 3.

E-libro at ang kanilang mga format: FB2 at FB3 - kasaysayan, kalamangan, kahinaan at mga prinsipyo ng pagpapatakbo
/ ONYX BOOX Cleopatra 3

Ang mas malawak na pamamahagi ng FictionBook3 ay lilikha ng isang ecosystem nakatuon upang ganap at epektibong magtrabaho kasama ang teksto sa anumang device na may limitadong mapagkukunan: black-and-white o maliit na display, mababang memorya, atbp. Ayon sa mga developer, ang isang libro kapag inilatag ay magiging maginhawa hangga't maaari sa anumang kapaligiran.

PS Dinadala namin sa iyong pansin ang ilang mga pagsusuri ng mga mambabasa ng ONYX BOOX:



Pinagmulan: www.habr.com

Magdagdag ng komento