Leitor EPUB

Leitor dedicado a EPUB, completamente separado do Leitor HQ. A diferença de fundo: EPUB é texto reflowable, não uma sequência de imagens de página — então em vez de decodificar bitmaps, o leitor renderiza o HTML de cada capítulo num WebView e usa o próprio motor de layout do navegador para paginar.

Paginação por CSS multi-column

Cada capítulo é dividido em páginas horizontais usando colunas CSS, não por corte manual de texto. Isso garante que uma linha nunca é cortada no meio e uma palavra nunca se repete entre páginas — a paginação é sempre respeitando as quebras naturais do texto, do jeito que o próprio navegador decide.

Tamanho de fonte padronizado entre arquivos

Um problema comum de leitores de EPUB: cada editora define font-size do próprio jeito (em em, %, etc.), então dois livros de fontes diferentes podem parecer ter tamanhos de texto completamente diferentes mesmo com a mesma configuração de zoom. O InkShelf resolve isso à força: injeta uma folha de estilo com font-size: 18px !important, que sobrepõe qualquer regra de tamanho vinda do EPUB original. O resultado é que todo EPUB lido no app tem o mesmo tamanho visual de texto em 100% de zoom, independente de como foi produzido.

A partir dessa base de 18px, o zoom de texto vai de 20% a 300%, em passos de 10%, com 100% como padrão.

Seleção de fonte tipográfica

Seis fontes embutidas no app, à escolha do usuário: Merriweather (padrão), Alice, Comfortaa, Droid Serif, Noto Serif e Roboto.

Navegação

  • Gesto: swipe horizontal ou toque nas bordas laterais da tela avança/retrocede uma página dentro do capítulo atual.
  • Ao alcançar o fim de um capítulo, o leitor avança automaticamente para o início do próximo; ao voltar além do início de um capítulo, volta automaticamente para o fim do capítulo anterior — a transição entre capítulos é transparente, sem precisar de um gesto separado.
  • Toque no centro da tela alterna a visibilidade da interface (barras superior/inferior).
  • Animação de virada de página: a página atual desliza para a esquerda enquanto a próxima aparece por trás, com easing suave.

Interface

  • Barra superior: voltar, favoritar (quando o arquivo pertence à biblioteca), alternar entre tema claro/escuro do leitor.
  • Barra inferior: seletor de capítulos, com botões de capítulo anterior/próximo.

Tema de leitura

Independente do tema geral do app, o leitor EPUB tem seu próprio alternador claro/escuro, com CSS injetado para adaptar cor de fundo, cor de texto, links, espaçamento e hierarquia tipográfica (tamanhos de h1–h6) ao tema escolhido, além de tornar imagens responsivas ao tamanho da tela.

Persistência

Progresso de leitura em EPUB é guardado por capítulo e posição de rolagem dentro dele, não por "número de página" absoluto como no Leitor HQ — o conceito de página aqui é derivado da paginação CSS, que pode mudar se o tamanho de fonte ou a fonte tipográfica forem trocados depois. As mesmas regras de conclusão do Leitor HQ se aplicam: ao terminar o último capítulo, o arquivo é marcado como lido, contribuindo para Histórico, Estatísticas e notificações conforme estiverem ativados.