W poprzednim materiale opowiadaliśmy o Dziś postanowiliśmy skupić się na formacie FictionBook2, bardziej znanym jako FB2, oraz jego 'następcy' FB3.
/ Flickr / /
Pojawienie się formatu
W połowie lat 90. pasjonaci digitalizowali radzieckie książki. Tłumaczyli i archiwizowali literaturę w najróżniejszych formatach. Jedna z pierwszych bibliotek w Runecie — — używała formatowanego pliku tekstowego (TXT).
Wybór na jego korzyść został dokonany ze względu na odporność na uszkodzenia bajtów i wszechstronność — TXT można otworzyć na każdym systemie operacyjnym. Jednakże powodował on w przetwarzaniu przechowywanych informacji tekstowych. Na przykład, aby przejść do tysiącej linii, należało przetworzyć 999 linii, które ją poprzedzały. Książki również w dokumentach 'Word' i PDF — ten ostatni ciężko było konwertować na inne formaty, a słabe komputery otwierały i dokumenty PDF z opóźnieniami.
Do 'przechowywania' literatury elektronicznej stosowano również HTML. Ułatwił on indeksowanie, konwersję na inne formaty i tworzenie dokumentów (formatowanie tekstu za pomocą tagów), ale wprowadził również własne wady. Jedną z najważniejszych była '» standardu: umożliwiał pewne swobody przy pisaniu tagów. Niektóre z nich miały być zamknięte, inne (na przykład, <p>) — zamykanie nie było konieczne. Same tagi mogły mieć dowolną kolejność zagnieżdżenia.
I chociaż taka praca z plikami nie była zalecana — takie dokumenty uważano za niepoprawne — standard wymagał od czytników spróbowania wyświetlenia treści. Tutaj napotykały trudności, ponieważ w każdej aplikacji proces 'domyślania się' był zrealizowany na swój sposób. Należy przy tym zaznaczyć, że wówczas istniejące na rynku urządzenia i aplikacje do czytania jeden lub dwa specjalistyczne formaty. Jeśli książka była w jednym formacie, należy było ją przekształcić, aby móc ją przeczytać. Rozwiązać te wszystkie wady miał , czyli FB2, który przejął na siebie pierwotne 'czyszczenie' tekstu i konwersję.
Należy zauważyć, że format miał pierwszą wersję — — jednak miała ona charakter jedynie eksperymentalny, istniała krótko, obecnie nie jest wspierana i nie ma zgodności wstecznej. Dlatego pod pojęciem FictionBook zazwyczaj rozumie się jego 'następcę' — format FB2.
FB2 stworzyła grupa deweloperów kierowana przez , który jest dyrektorem technicznym firmy „LitRes” oraz Michaił Maceńew, twórca czytnika Haali Reader. Podstawą formatu jest XML, który jest bardziej rygorystyczny niż HTML i reguluje pracę z niezamkniętymi i zagniezdżonymi znacznikami. Dokument XML jest uzupełniony tzw. schematem XML. Schemat XML to specjalny plik, w którym zgromadzone są wszystkie znaczniki oraz opisane zasady ich stosowania (kolejność, zagnieżdżenie, obowiązkowość i nieobowiązkowość itp.). W FictionBook schemat znajduje się w pliku FictionBook2.xsd. Przykład schematu XML można znaleźć w (jest wykorzystywany przez sklep z e-bookami „LitRes”).
Struktura dokumentu FB2
Tekst w dokumencie w specjalnych znacznikach — elementach typów akapitów: <p>, <v> i <subtitle>. Istnieje również element <empty-line>, który nie ma zawartości i służy do wstawiania odstępów.
Wszystkie dokumenty zaczynają się od tagu root <fictionbook>, pod którym mogą znajdować się <stylesheet>, <description>, <body> i <binary>.
Znacznik zawiera arkusze stylów, aby ułatwić konwersję do innych formatów. W znajdują się zakodowane za pomocą dane, które mogą być potrzebne do renderowania dokumentu.
Element zawiera wszystkie niezbędne informacje o książce: gatunek dzieła, lista autorów (imię, nazwisko, adres e-mail i strona internetowa), tytuł, blok z słowami kluczowymi, streszczenie. Może również zawierać informacje o wprowadzanych w dokumencie zmianach oraz dane o wydawcy książki, jeśli była wydawana w formie papierowej.
Oto jak wygląda część bloku w wpisie FictionBook dla „Studium w szkarłacie” Artura Conan Doyle’a, wziętego z :
detektywistyczna
Arthur
Conan
Doyle
A Study in Scarlet
1887
Kluczowym komponentem dokumentu FictionBook jest <body>. Zawiera on bezpośrednio tekst książki. W całym dokumencie może być wiele tych tagów - dodatkowe bloki są używane do przechowywania przypisów, komentarzy i notatek.
FictionBook oferuje również kilka znaczników do pracy z hiperłączami. Opierają się one na specyfikacji , opracowanej przez konsorcjum specjalnie do tworzenia linków między różnymi zasobami w dokumentach XML.
Zalety formatu
Standard FB2 zawiera jedynie minimalnie niezbędny zestaw znaczników (wystarczający do „formatowania” literatury pięknej), co upraszcza jego przetwarzanie przez czytniki. Przy bezpośredniej pracy czytnika z formatem FB użytkownik otrzymuje możliwość dostosowania właściwie wszystkich parametrów wyświetlania.
Struktura dokumentu umożliwia automatyzację procesu konwersji z formatu FB na dowolny inny. Ta sama struktura pozwala na pracę z poszczególnymi elementami dokumentów — można ustawiać filtry według autorów książek, tytułu, gatunku i innych. Z tego powodu format FB2 zyskał popularność w Runecie, stając się domyślnym standardem w rosyjskich bibliotekach elektronicznych oraz bibliotekach krajów WNP.
Wady formatu
Prostota formatu FB2 jest zarówno jego zaletą, jak i wadą. Ogranicza to funkcjonalność dla skomplikowanego formatowania tekstu (na przykład przypisów na marginesach). Brak w nim grafiki wektorowej i obsługi list numerowanych. Z tego powodu format do podręczników, encyklopedii i literatury technicznej (o czym świadczy nawet sama nazwa formatu — fiction book, czyli 'powieść').
Aby wyświetlić minimalne informacje o książce — tytuł, autora i okładkę — program musi przetworzyć praktycznie cały dokument XML. Związane jest to z tym, że metadane znajdują się na początku tekstu, a obrazy — na końcu.
FB3 — rozwój formatu
W związku ze wzrastającymi wymaganiami dotyczącymi formatowania tekstów książek (oraz aby zniwelować niektóre wady FB2), Gribow rozpoczął prace nad formatem FB3. Później prace zostały wstrzymane, ale w 2014 roku zostały .
Według słów autorów, zbadano rzeczywiste potrzeby przy wydawaniu literatury technicznej, analizowano podręczniki, encyklopedie, materiały pomocnicze i nakreślono bardziej konkretny zestaw znaczników, który powinien ich zdaniem pozwolić na przedstawienie każdej książki.
W nowej specyfikacji format FictionBook to archiwum zip, w którym jako oddzielne pliki przechowywane są metadane, obrazy i tekst. Wymagania dotyczące formatu pliku zip oraz zasady organizacji opisane są w standardzie , który definiuje Open XML.
Wprowadzono szereg ulepszeń związanych z formatowaniem (takich jak podkreślenie) oraz dodano nowy obiekt — 'blok' — który stylizuje dowolny fragment książki w formie prostokąta i może być osadzany w tekście z opływaniem. Wprowadzono wsparcie dla list numerowanych i punktowanych.
FB3 jest dystrybuowany na podstawie wolnej licencji i ma otwarty kod, dlatego wydawcy i użytkownicy mają dostęp do wszystkich narzędzi: konwerterów, edytorów w chmurze oraz czytników. Obecna formatu, i można znaleźć w repozytorium projektu na GitHub.
Ogólnie rzecz biorąc, FictionBook3 jest obecnie mniej popularny niż jego starszy brat, jednak kilka bibliotek elektronicznych już oferuje książki w tym formacie. A w 'LitRes' jeszcze kilka lat temu ogłaszano zamiar przetłumaczenia całego swojego katalogu na nowy format. Część czytników już wspiera wszystkie niezbędne funkcje FB3. Na przykład, wszystkie nowoczesne modele czytników ONYX, takie jak lub .

/
Szersze rozpowszechnienie FictionBook3 pozwoli na stworzenie ekosystemu do pełnoprawnej i efektywnej pracy z tekstem na dowolnym urządzeniu o ograniczonych zasobach: czarno-białym lub małym wyświetlaczu, o niskiej pamięci itp. Według słów twórców, raz przygotowana książka będzie maksymalnie wygodna w każdej środowisku.
P.S. Przedstawiamy kilka recenzji czytników ONYX BOOX:
Źródło: habr.com
