FictionBook

От Уики на Читанка
Направо към: навигация, търсене

Какво е FictionBook

(Тази глава е превод със съкращения на статия от FictionBook.org.)

В мрежата се срещат различни тълкувания на FictionBook. Едни го смятат за формат за PocketPC, други — за програма за четене на електронни текстове. Затова този въпрос изисква по-подробно разяснение. И така, какво е FictionBook? Могат да се дадат няколко определения и всички ще бъдат верни. Да започнем с това, че

FictionBook е универсален формат за представяне на електронна литература

От това определение веднага можем да направим основен извод — това е формат за представяне на електронни текстове. За знаещите английски това е очевидно, защото FictionBook в превод означава именно художествена литература.

Защо този формат се смята за универсален? Защото електронен текст в този формат може напълно автоматично, без никаква ръчна намеса да бъде преобразуван във всички формати, поддържани от програмите за четене на електронни текстове.

FictionBook — формат, базиран на XML

За повече от десетилетие съществуване на Интернет всички свикнахме с езика за маркиран текст HTML. Този формат все още е популярен сред част от любителите на електронни текстове и сигурно сте срещали книги във формат HTM или CHM — компресираната версия на HTML.

Сама по себе си идеята за използване на маркери (тагове) за форматиране на текста е отлична идея. Само че широкото разпространение на стандарта бързо разкри основните му недостатъци. Един от тях е неговата неопределеност — можем да не затваряме някои маркери (например <p>), допуска се и неправилен ред на влагане на маркерите. Разбира се, самият стандарт не одобрява подобни волности, но все пак препоръчва да се правят опити за изобразяване на такива невалидни документи. Друг недостатък е, че всички маркери са твърдо описани и освен това са прекалено много. Виждали ли сте документ, в който да се използват всички маркери на HTML? Така че реализацията на програма, обработваща всички маркери с всевъзможните им атрибути, става твърде сложна задача, а за устройства с ограничена памет (PocketPC, телефони) — почти невъзможна. Към недостатъците на HTML може да се причисли и фактът, че един документ се състои от няколко файла, като картинките винаги са отделно.

Първият недостатък дотолкова отравяше живота на обществото, че беше направен опит за приемане на стандарт XHTML, който далеч по-строго се отнася към невалидните документи. Но и тук изискванията за обратна съвместимост с HTML наложиха запазване на някои от недостатъците му — прекалената сложност на маркерите, както и ориентацията към визуалното изобразяване.

FictionBook е подмножество на стандарта XML. Какви са основните разлики между HTML и XML? Първо, XML също работи с маркери, но за разлика от HTML правилата за използването им са много строги и не допускат никакви волности. Списъкът с маркери в XML е произволен; потребителят може да създава свои собствени маркери. XML-документите могат да бъдат съпровождани от схема — файл, в който са описани всички използвани маркери, както и правилата за тяхното прилагане и вложение. Именно тази схема се използва за валидация (проверка на коректността) на XML-документа.

FictionBook описва структурата на документа

Основният недостатък на HTML като формат за съхранение на електронни текстове е, че HTML е ориентиран към изобразяването на текста. С други думи, той посочва как да се изобрази даден елемент, но не казва какво представлява той. Не можете да разберете какво представлява фразата, заградена в <h1>…</h1> — име на автор, заглавие на книга, на глава, или нещо друго.

Всички елементи, използвани в стандарта FictionBook, описват структурни елементи на документа — автор на книга, заглавие, параграфи, стихове, епиграфи, анотации и т.н.), при това — в минимално необходимото количество, но нищо не казват за това, как трябва да бъдат изобразени. Начинът на изобразяването им се възлага на конвертора или четеца. При това, ако четецът работи директно с FictionBook, практически всички настройки могат да бъдат извършени от потребителя.

Това е най-забележителното свойство на формата FictionBook. Всеки, на който поне веднъж се е налагало да извърши качествена подготовка на текст, се е сблъсквал с нуждата от ръчно определяне структурните елементи на документа. Няма алгоритъм, който със 100% точност да различи епиграф от стихотворна форма, заглавие на част (от първо ниво) и заглавие на глава (от второ ниво). Но при готов FictionBook-документ процесът може да се автоматизира изцяло, защото единствената задача, която изисква ръчна намеса, вече е изпълнена.

Наличието само на минимално необходимите маркери прави форматът прост за обработка от четците, което позволява написването на програми с ограничения по памет, например PocketPC или телефон. Наличието на схема позволява да се създаде четец, който няма да зависи от версията на формата и ще обработва документа в съответствие със схемата.

(край на превода на статията)

Програми

Съществуват множество програми за четене на FictionBook формат; най-известните са CoolReader, FBReader, AlReader. На практика за почти всяка от съществуващите в момента платформи има четец, който директно поддържа формата FictionBook.

За съжаление обаче положението с редакторите е коренно различно. Известни са ми само два добри редактора — FBEditor и FictionBookDesigner (които често се споменават съкратено: FBE и FBD) — но и двата имат някои недостатъци, които ги правят неподходящи за титлата „напълно достатъчен инструмент“.

Ситуацията с конверторите от някой друг формат към FictionBook би трябвало вече да ви е ясна, след като сте прочели последната подточка от предишната глава — на практика не може да бъде създаден конвертор, който напълно автоматично да създава коректен FictionBook-файл на базата на някой от форматите, ориентирани към визуализация на документа. Всички съществуващи в момента конвертори преобразуват най-вече обвивката на документа, като оставят съществената част (текста) практически неформатирана.

SFB

За да се заобиколи проблемът с недостига на специализирани средства за редакция, през 2005 г. у нас бе разработен хибриден формат, който описва структурата на FictionBook-документи чрез текстови маркери, аналогични на използваните в уики-системите, който получава условното название SFB. През годините той претърпя няколко изменения, като бяха включени и маркери, които нямат директна поддръжка във FictionBook, но с времето доказа своята практичност и до момента продължава да се използва в „Моята библиотека“ за вътрешно съхранение на електронните текстове. Отначало сайтът не разполагаше с модул за автоматично преобразуване на SFB, затова бе разработен конверторът MyLibToFB2, но в края на 2009 г. този пропуск беше запълнен, „Моята библиотека“ вече разполагаше с пълноценен конвертор на SFB към три изходни формата и затова поддръжката на MyLibToFB2 беше прекратена.

юни 2011 г.