epub: ma quante putt… stupidaggini che si sentono

Ormai se ne leggono di ogni tipo: da quelli che dicono che epub è html (nomi illustri su siti illustri, non paglia) a chi sostiene che epub è per forza accessibile perché è impossibile includere testo in forma di immagine (uno che si dà arie da guru ma che evidentemente non sa di cosa parla).

Epub salverà il mondo in rovina, ci libererà dal buco dell’ozono e scaccerà le forze del male.

Perché sono puttanate? Basterebbe, come al solito, leggere le specifiche. A che servono gli standard di pubblico dominio se poi nessuno li legge? La Open Publication Structure è lì dal 2007, pubblica. Una lettura anche superficiale potrebbe indurre a qualche riflessione prima di cominciare a pigiare i tasti.

Anche solo leggendo l’indice, si notano delle voci come “Relationship to XML”, “Relationship to XHTML e DTBook”, e così via. Relationship, che parola difficile.

C’è anche una sezione 1.4.1.2: XHTML Content Document Requirements, che esplicita alcuni punti piuttosto chiari:

A conformant XHTML Content Document must meet these conditions:

  1. it is a well-formed XML document (as defined by XML 1.1); and
  2. it is encoded in UTF-8 or UTF-16; and
  3. it is a valid XML document according to the NVDL schema interaction provided in Appendix A; and
  4. it has a MIME media type of either application/xhtml+xml or text/x-oeb1-document (deprecated); and
  5. all XHTML elements and attributes not contained in an Inline XML Island are drawn from the XHTML subset identified in this document.

Dovrebbe essere evidente che non si fa alcun riferimento a HTML o XHTML 1.0, qui siamo in XML e la relazione eventualmente è con XHTML 1.1, dove ci si voglia riferire a questo schema. Ma non è obbligatorio, va bene anche DTBook. Vi sembra in HTML il content.opf qui sotto?

content.opf in pdfxml inspector

Per curiosità, ma anche perché sono stronzo, ho provato a scaricare alcuni degli ebook in formato epub disponibili su vari siti, e ho provato a validarli con Epub Check. Ce ne fosse uno che passa il controllo… Questo significa risultati impredicibili nei vari viewer software e hardware disponibili. Sembra di essere tornati indietro ai bei tempi delle guerre dei browser.

Comunque, nemmeno nella sezione dedicata all’indice, toc.ncx, c’è qualcosa che assomigli anche lontanamente a una barra di navigazione HTML.

sezione dell'indice in un file epub

Nella sezione Text, che contiene ciascuna pagina dell’ebook in formato epub, sono presenti dei file XHTML (perché in questa specifica pubblicazione l’editore ha deciso (più probabilmente ha subito le impostazioni del software di authoring) di usare XHTML.

la sezione Text di un file epub

E qui mi rivolgo agli accatiemmellisti: lo vedete quel <h4> usato come titolo principale con applicata la classe per i titoli di secondo livello? aiaiaiaiai…

Annunci

10 pensieri su “epub: ma quante putt… stupidaggini che si sentono

  1. e hai ragione per la tirata d’orecchie in H4, anche se la classe in secondo livello l’ha messa in automatico un programma che abbiamo utilizzato per un passaggio particolare solo per quel libro e che -anche per questo motivo- abbiamo deciso di abbandonare. il fatto di uscire in pdf ottimizzato per ereader, epub e mobipocket ci crea un triplo lavoro, con conversioni e con successivo lavoro di reimpaginazione.

    aggiungo però una seconda cosa: il fatto che l’epub passi la validazione significa poco (e i nostri epub passano tutti la validazione). nel momento che si prepara un bel epub seguendo tutte le specifiche dell’ops si è fatto solo un primo passo. il secondo è aprire l’epub con due o tre lettori di epub e rendersi conto che bisogna modificare il codice, perché la gestione di un epub fatta da stanza, ade e Ibook può dare risultati sostanzialmente differenti. in alcuni casi (stanza) bisogna produrre codice deprecated per far fare alcune cose che con lo standard corretto non vanno. altre volte non c’è nessun modo di fare cose previste dal’ops.

    insomma, oggi siamo distanti da poter fare epub allo stato dell’arte

  2. Bè la validazione è l’unico strumento per assicurare un minimo di standard, quindi non è vero che significhi poco, è essenziale soprattutto in xml ed è l’unico strumento che potrebbe allineare i vari reader. Sono d’accordo, siamo distanti.
    In ogni caso non era una tirata d’orecchi a te, solo che ho scaricato quel file… 🙂
    Ne ho visti anche di ben peggio in questi giorni, ed è un po’ desolante.
    È ancora più desolante che dobbiate fare un triplo lavoro.

  3. La percezione è che l’epub, nonostante abbia la sua veneranda età, sia ancora giovane e sia utilizzato da software ancora più giovani. Non c’è un metodo certo per creare in automatico un epub ‘certo’ e si procede per dare il meglio possibile con gli attuali limiti. Molte possibilità offerte dallo standard non sono supportate e quindi bisogna trovare metodi per ripensarle.
    Per quanto riguarda la validazione è certamente un passo necessario, ma è solo uno dei tanti per arrivare ad un epub funzionante. In genere noi lavoriamo con un primo codice completo e su quello lavoriamo per ottenere una prima validazione xhtml 1.1
    Solo quando abbiamo una validazione xhtml 1.1 passiamo alla seconda parte del lavoro che è distruggere quello che abbiamo appena fatto: purtroppo i lettori non supportano o supportano mediocremente i cambi pagina, non reggendo file unici di dimensioni medie. Il nostro primo epub, per fare un esempio, ha circa 12,000 pagine, tra pagine effettive e intercalari, e più o meno lo stesso numero di link interni. Questo significa che dobbiamo creare centinaia se non migliaia di file singoli, tutti validati xhtml 1.1 e fare rigenerare tutti i link interni trasformandoli in link esterni.
    Solo a questo punto si prepara il pacchetto epub, lo si valida e come dicevo sopra si passa alla terza fase che è “scorreggere” l’epub per fare in modo che funzioni davvero con i lettori epub. L’epub di cui hai messo gli screenshot, per fare un esempio, ha ottenuto la validazione xhtml, la validazione epub, e -aperto su stanza- non funzionava. Abbiamo dovuto rimetterci le mani.

    Insomma, questo per dire che il lavoro che c’è dietro la creazione di un epub è meno banale di quello che si pensa. Anche il nostro demo che hai preso in considerazione ha sopportato questo lavoro e nonostante il titolo in H4 (e ti assicuro che c’è una ragione anche per quello) è validato e contemporaneamente funziona su Ade, Stanza e Ibook.

    Non vediamo anche noi l’ora di poter impaginare solo in epub con sillabazione, footer, header, dizionari, sicurezza dei font embeddati, pagebreak e tutto il resto. Ma ad oggi le gradi aziende sembrano più preoccupate di codare la parte relativa ai DRM o a far girare le pagine ‘come un vero libro’ (sigh) che a fare la parte seria del lavoro.

  4. occhei. Io voglio preparare un ebook in formato .epub. Caratteristiche:
    – tanti capitoli molto brevi (con occhiello e metainformazioni sul contenuto)
    – alcune figure all’interno dei capitoli
    – riferimenti interni
    – soprattutto UN INDICE ANALITICO generato automaticamente

    Il tutto da usarsi fondamentalmente in maniera elettronica, ma eventualmente stampabile da chi volesse.

    Se io parto da XHTML (1.0 Strict al momento, validato) e uso Sigil va tutto bene, tranne che non so affatto come generare un indice analitico.

    Potrei partire da DocBook, il che significherebbe però un mezzo lavoraccio di riconversione dei tag – ma non ce ne sono moltissimi, quindi ce la posso fare. Sicuramente con un indice analitico me lo potrei fare; ma non so assolutamente come ottenere un XHTML (io uso una vecchia versione free di XMLMind, che mi traduce in HTML semplice, e già lì ho dei problemi a fare un formato non multifile, anche se ce la posso fare.

    Bene, che mi consigliate?
    (inutile dire che tutto il progetto non è commerciale, l’epub sarebbe rilasciato in CC-BY-NC)

  5. Ciao Mau, scusa il ritardo non avevo visto il commento. Non so per quale motivo parti da XHTML 1.0, ma avrai le tue ragioni. In realtà serve XHTML 1.1. Per l’analitico in automatico credo che tu intenda le voci linkate? la vedo dura in automatico ma mi hai messo una pulce nell’orecchio, proverò con Indesign.

  6. @livio: parto da un testo HTML 4.01 strict, e XHTML 1.1 non ha definite le entità; delle lettere accentate non me ne importa nulla, ma sono abituato a usare roba tipo &nbsp; e &alefsym; e sono troppo pigro per convertirle tutte. Tanto ho visto che anche se lo standard vuole XHTML 1.1 funziona lo stesso con la 1.0.

    Per l’analitico, mi sarebbe piaciuto indicare nel testo in qualche modo che in quel punto si sarebbe dovuto generare una voce di indice analitico, come si fa in TeX; poi ci ho pensato un po’ su e ho deciso che è una cosa che bisogna fare in due passi, quindi capisco che non sia stata implementata. Fortunatamente per i miei scopi posso creare l’indice analitico a mano.

  7. di html-kit avevo una vecchia versione (una delle ultime free) e non mi ci sono mai trovato bene; a questo punto preferisco ancora XMLmind (sempre vecchie versioni free; non guadagnandoci una lira con tutta questa roba non ci metto dentro dei soldi per lavorarci su). Tidy in effetti potrei anche usarlo 🙂

  8. Ciao Livio,
    finalmente dopo aver nel tempo accumulato tutte le competenze create per altre esigenze e per interesse, mi sono fiondato nella progettazione e realizzazione di ebook, specie per uso Corporate e non “libresco” 😉
    Concordo con te sulle mode di fare tutto senza alcuna preparazione, ma ricorda che siamo anche in Italia.
    Detto questo vengo al dunque.
    Avendo vissuto situazioni simili anche per altre codifiche (web e mobile), mi chiedevo (ingenuamente) e se invece di sforzarsi allo stato attuale a preparare un eBook brutto e pieno di imperfezioni, per farlo diventare “quasi” compatibile a dispositivi e eReader non seguissimo la strada di differenziare la produzione dopo aver maturato contenuti e impaginazione, in modo che sia l’utente a scaricarsi la versione più adatta alle sue esigenze?
    O, ancora, tipo la mobilizzazione di un sito web, se filtrassimo la tipologia del dispositivo indirizzando l’accesso alla versione più adatta? Così l’utente avrebbe il meglio e (tipo il nostro amico @quintadicopertina) noi non dovremmo “sporcare” il nostro lavoro abbassandolo ad un concetto di uniformità ad oggi inesistente? Ke ne pensate?
    Grazie

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...