E-books e seus formatos: FB2 e FB3 - história, prós, contras e princípios do trabalho

No último artigo, falamos sobre os recursos do formato DjVu . Hoje decidimos nos debruçar sobre o formato FictionBook2, mais conhecido como FB2, e seu “sucessor” FB3.


/ Flickr / judit klein / cc

Formatar aparência


Em meados dos anos 90, entusiastas começaram a digitalizar livros soviéticos. Eles traduziram e salvaram literatura em uma ampla variedade de formatos. Uma das primeiras bibliotecas em Runet - a Biblioteca Maxim Moshkov - usou um arquivo de texto formatado (TXT).

A escolha a seu favor foi feita devido à resistência ao dano e à versatilidade dos bytes - o TXT é aberto em qualquer sistema operacional. No entanto, dificultava o processamento das informações de texto armazenadas. Por exemplo, para ir para a milésima linha, você tinha que processar 999 linhas na frente dela. Os livros também foram armazenados em documentos do Word e PDFs - o último foi difícil de converter para outros formatos, e computadores fracos abriram e exibiram documentos PDF com atrasos.

Também para o "armazenamento" da literatura eletrônica utilizado HTML. Ele simplificou a indexação, converteu para outros formatos e criou documentos (etiquetando texto com tags), mas apresentou suas próprias falhas. Uma das mais significativas foi a " imprecisão " do padrão: permitiu certas liberdades ao escrever tags. Alguns deles tiveram que ser fechados, outros (por exemplo, <p>) - não foi necessário fechar. As próprias tags podem ter uma ordem de aninhamento arbitrária.

E, embora esse trabalho com arquivos não tenha sido incentivado - esses documentos foram considerados incorretos - o padrão exigia que os leitores tentassem exibir o conteúdo. Foi aí que surgiram dificuldades, já que em cada aplicação o processo de “especulação” foi implementado à sua maneira. Além disso, naquela época, os dispositivos e aplicativos disponíveis no mercado para leitura compreendiam um ou dois formatos especializados. Se o livro estava em um formato, tinha que ser reformatado para lê-lo. O FictionBook2 , ou FB2, que assumiu o “pentear” principal do texto e a conversão, foi chamado para resolver todas essas deficiências.

Observe que o formato teve a primeira versão - FictionBook1 - no entanto, era apenas experimental por natureza, não durou muito, hoje não é suportado e não possui compatibilidade com versões anteriores. Portanto, o FictionBook geralmente significa seu "seguidor" - o formato FB2.

O FB2 foi criado por uma equipe de desenvolvimento liderada por Dmitry Gribov , diretor técnico de litros, e Mikhail Matsnev, criador do leitor Haali Reader. O formato é baseado em XML, que é mais rígido que HTML, governa o trabalho com tags abertas e aninhadas. Um documento XML é acompanhado pelo chamado esquema XML. Um esquema XML é um arquivo especial que contém todas as tags e descreve as regras para sua aplicação (sequência, aninhamento, obrigatório e opcional, etc.). No FictionBook, o esquema está no arquivo FictionBook2.xsd. Você pode encontrar um exemplo de esquema XML no link (usado pela livraria eletrônica de litros).

Estrutura do documento FB2


O texto no documento é armazenado em tags especiais - elementos do tipo parágrafo: <p>, <v> e <subtitle>. Há também um elemento <vazio-line> que não possui conteúdo e é usado para inserir espaços.

Todos os documentos começam com a tag raiz <fictionbook>, abaixo da qual <stylesheet>, <description>, <body> e <binary> podem aparecer.

A tag <stylesheet> contém folhas de estilo para facilitar a conversão para outros formatos. O <binário> contém dados codificados em base64 que podem ser necessários para renderizar o documento.

O elemento <description> contém todas as informações necessárias sobre o livro: gênero do trabalho, lista de autores (F. I. O., endereço de email e site na Internet), título, bloco com palavras-chave, anotação. Também pode conter informações sobre alterações ao documento e informações sobre o editor do livro, se este tiver sido publicado em papel.

É assim que se parece a parte do bloco <description> na entrada FictionBook do Study in Scarlet Tones de Arthur Conan Doyle, extraído do Projeto Gutenberg :

<?xml version="1.0" encoding="iso-8859-1"?> <FictionBook xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.gribuser.ru/xml/fictionbook/2.0"> <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> 

Um componente-chave de um documento do FictionBook é <body>. Ele contém o texto do livro em si. Pode haver várias dessas tags em todo o documento - blocos adicionais são usados ​​para armazenar notas de rodapé, comentários e notas.

O FictionBook também fornece várias tags para trabalhar com hiperlinks. Eles são baseados na especificação XLink desenvolvida pelo consórcio W3C especificamente para criar links entre diferentes recursos em documentos XML.

Vantagens do formato


O padrão FB2 inclui apenas o conjunto de tags minimamente necessário (suficiente para o "design" da ficção), o que simplifica seu processamento pelos leitores. Além disso, no caso de operação direta do leitor com o formato FB, o usuário tem a oportunidade de configurar quase todos os parâmetros de exibição.

A estrutura estrita do documento permite automatizar o processo de conversão do formato FB para qualquer outro. A mesma estrutura torna possível trabalhar com elementos individuais de documentos - ajustar filtros por autores de livros, título, gênero etc. Por esse motivo, o formato FB2 ganhou popularidade no RuNet, tornando-se o padrão nas bibliotecas eletrônicas e bibliotecas russas dos países da CEI.

Desvantagens de formato


A simplicidade do formato FB2 é sua vantagem e desvantagem ao mesmo tempo. Isso limita a funcionalidade para a digitação complexa de texto (por exemplo, notas marginais). Não possui gráficos vetoriais nem suporte para listas numeradas. Por esse motivo, o formato não é muito adequado para livros didáticos, livros de referência e literatura técnica (o nome do formato ainda fala disso - livro de ficção ou "livro de arte").

Ao mesmo tempo, para exibir informações mínimas sobre o livro - título, autor e capa - o programa precisa processar quase todo o documento XML. Isso se deve ao fato de os metadados estarem localizados no início do texto e as imagens no final.

FB3 - desenvolvimento de formato


Devido aos requisitos crescentes de formatação de texto dos livros (e para compensar algumas das deficiências do FB2), Gribov começou a trabalhar no formato FB3. O desenvolvimento posterior parou, mas em 2014 foi retomado .

Segundo os autores, eles estudaram as reais necessidades na publicação de literatura técnica, analisaram livros didáticos, livros de referência, manuais e delinearam um conjunto mais específico de tags que permitiria a exibição de qualquer livro.

Na nova especificação, o formato FictionBook é um arquivo zip no qual metadados, imagens e texto são armazenados em arquivos separados. Os requisitos para o formato do arquivo zip e os acordos em sua organização estão especificados no padrão ECMA-376 que define o Open XML.

Várias melhorias relacionadas à formatação (descarga, sublinhado) foram feitas e um novo objeto foi adicionado - o “bloco” - que forma um fragmento arbitrário de um livro na forma de um quadrângulo e pode ser incorporado no texto com um fluxo ao seu redor. Há suporte para listas numeradas e com marcadores.

O FB3 é distribuído sob uma licença gratuita e possui código-fonte aberto, para que todos os utilitários estejam disponíveis para editores e usuários: conversores, editores de nuvem e leitores. A versão atual do formato, leitor e editor pode ser encontrada no repositório do projeto no GitHub.

Em geral, o FictionBook3 ainda é menos difundido do que o irmão mais velho, no entanto, várias bibliotecas eletrônicas já oferecem livros nesse formato. E há alguns anos, em litros, eles anunciaram sua intenção de transferir todo o catálogo para um novo formato. Alguns leitores já suportam toda a funcionalidade FB3 necessária. Por exemplo, todos os modelos modernos de leitores ONYX, por exemplo, Darwin 3 ou Cleopatra 3 , podem trabalhar com esse formato "pronto para uso".


/ ONYX BOOX Cleópatra 3

Uma distribuição mais ampla do FictionBook3 permitirá que você crie um ecossistema focado no trabalho completo e eficaz, com texto em qualquer dispositivo com recursos limitados: preto e branco ou uma tela pequena, pouca memória etc.



PS Chamamos a sua atenção várias críticas dos leitores do ONYX BOOX:

Source: https://habr.com/ru/post/pt411755/


All Articles