Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Libri digitali. Come costruirli
Libri digitali. Come costruirli
Libri digitali. Come costruirli
Ebook922 pages7 hours

Libri digitali. Come costruirli

Rating: 0 out of 5 stars

()

Read preview

About this ebook

Il mercato ha visto una crescita vertiginosa nella diffusione dei dispositivi di lettura per i libri digitali. Questo libro passa in rassegna le procedure per la creazione, il trattamento e la modifica dei file ePub con incorporati font, immagini, audio e video. I file ePub possono essere utilizzati per creare non solo libri, ma anche riviste, opuscoli, brochure e quant'altro potrebbe essere necessario produrre in editoria. Questo testo si occupa anche dei dettagli di conversione dall'ePub ad altri formati in modo da poter coprire tutti i dispositivi mediante la creazione di un solo formato e-book. Si è cercato non solo di illustrare le nozioni di base per chi non abbia alcuna conoscenza preventiva di HTML, CSS, etc. ma anche di consentire un utilizzo del libro come riferimento per coloro che conoscono già la materia. L'acquisto del libro dà la possibilità di scaricare un file ZIP di oltre 60MB di esempi ed esercitazioni oltre a consentire al lettore di creare i propri file senza richiedere applicazioni costose. Che cosa si può fare con le conoscenze apprese da questo libro? Una cosa possibile è creare libri in formato ePub per poi venderli. Molti distributori e siti web specializzati possono vendere i libri prodotti da terzi. Questo libro è rivolto a chiunque desideri essere in grado di creare, trattare o modificare file in formato ePub. Non è necessaria alcuna conoscenza preventiva di ePub e la difficoltà non è differente dalla capacità di imparare altri linguaggi di marcatura o programmazione. Per gli argomenti trattati nel dettaglio in questo testo si può esaminare l'indice nell'anteprima e tutti i file di esempio nel libro potranno essere estratti da un file scaricabile dal sito dell'autore. Si sottolinea che è possibile leggere questo libro seguendo un percorso sequenziale, dall'inizio alla fine, o si possono consultare solo i capitoli che interessano. Gli esempi in ogni capitolo non si basano necessariamente sul materiale creato in altri capitoli. Infine, dato che molti capitoli contengono note, suggerimenti e avvertenze, è opportuno tenere presenti queste sezioni durante la lettura. Una ampia seconda parte è dedicata ad argomenti avanzati e agli aspetti di accessibilità dei contenuti.
LanguageItaliano
PublisherMario Canton
Release dateFeb 2, 2019
ISBN9788832506853
Libri digitali. Come costruirli

Read more from Mario Canton

Related to Libri digitali. Come costruirli

Titles in the series (7)

View More

Related ebooks

Programming For You

View More

Reviews for Libri digitali. Come costruirli

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Libri digitali. Come costruirli - Mario Canton

    >

    Capitolo I

    ePub

    Argomenti

    Conoscere lo standard ePub 2 e gli e-reader specifici per opere prevalentemente testuali

    Esaminare come costruire i file all'interno dell'ePub

    Imparare alcune basi di XML

    Capire quali file sono necessari per un ePub

    Scoprire quali tag HTML sono utilizzabili in un ePub

    Essere in grado di visualizzare il contenuto di un ePub

    Il mondo della lettura è mutato radicalmente. I libri di carta, le riviste e altro materiale a stampa sono letti sempre più di frequente in un formato digitale. Questo riguarda non solo i lettori, ma anche gli scrittori. I dispositivi di lettura elettronica sono ormai popolari e con loro i libri elettronici (e-book), detti anche libri digitali per distinguerli – in base alla loro fondazione su elementi «discreti» anziché «continui» – dai libri analogici a stampa.

    Come lettore, si vuole essere in grado di godere di un libro visivamente. Piccoli miglioramenti possono rendere un e-book più piacevole. Cambiare i caratteri, aggiungere immagini, regolare il layout di testo possono essere alcuni trucchi possibili da utilizzare per «sistemare» un e-book. Come scrittore, si vuole rendere l'esperienza del lettore più piacevole. Un vantaggio caratteristico del formato digitale può essere quello di poter mantenere l'attenzione del lettore che vuole saperne di più sulla vostra produzione, mediante collegamenti, esempi scaricabili, accesso ad altre fonti e regolazione personalizzata della visualizzazione del testo.

    In questo capitolo, verrà illustrato lo standard ePub versione 2.0.1, denominato «ePub 2». Capiremo in cosa consista lo standard ePub attualmente e come stia progredendo. Alcuni standard sono principalmente per gli e-reader in bianco e nero, mentre altri sono per e-reader a colori. Ad esempio, alcuni standard sono finalizzati specificatamente agli e-reader a colori, che consentono anche l'utilizzo contemporaneo di video, testo e audio. Altri e-reader sono concepiti soltanto per il testo. ePub 2 è principalmente per e-reader in bianco e nero (scala di grigi), ma può essere visualizzato anche su dispositivi a colori.

    ePub Versione 2 (ePub 2)

    Lo standard ePub 2 comprende tre parti base, come mostrato nella Fig. 1-1.

    Fig 1-1. Le tre parti base di un ePub

    Le tre parti sono descritte di seguito.

    OEBPS Container Format (OCF) Contenitore che comprende tutti i file che compongono la pubblicazione. Raccolta dei singoli file all'interno di un file .zip, rinominato in .epub.

    Open Packaging Format (OPF) Descrive e fa riferimento ai componenti all'interno della pubblicazione. Include informazioni sul contenuto, l'elenco dei contenuti, l'ordine di lettura dei contenuti e delle parti del documento.

    Open Publication Structure (OPS) Contenuti della pubblicazione. Costituiti da file XHTML/HTML, CSS, font e immagini.

    Ogni parte ha requisiti specifici di cui si dovrebbe essere consapevoli quando si lavora con i file ePub. Bisogna assicurarsi di aver compreso i fondamenti di ciascuna sezione. Di seguito i dettagli per ogni sezione, con alcune parti discusse con maggiore approfondimento nei capitoli successivi.

    Open Container Format

    Da quello che si è visto nella Fig. 1-1, ci si potrebbe chiedere come mai tutte queste informazioni siano sistemate in un unico file. In realtà la soluzione è molto semplice, ma, naturalmente, accompagnata da molti dettagli e molte specifiche. Non c'è da preoccuparsi perché la maggior parte delle informazioni non viene quasi mai utilizzata nella stragrande maggioranza dei file ePub.

    La risposta a questa domanda è un file .zip. Un file .zip è un singolo file che contiene uno o più file memorizzati o compressi. Ciascun file memorizzato all'interno dello .zip è «come è» (as-is) senza che siano modificate le dimensione dei file, mentre i file compressi sono scritti in modo tale da avere una dimensione dei file più piccola.

    L'IDPF (International Digital Publishing Forum) stabilisce che OCF sia una raccolta logica di file, ovvero un «contenitore logico», che è una raccolta di vari file e cartelle. Questo contenitore logico si trova all'interno di un file .zip, che è il «contenitore fisico».

    Il contenitore logico presenta i requisiti esposti di seguito:

    • Il file system all'interno dell'archivio deve avere una singola directory principale.

    • Tutti i file incorporati diversi da quelli richiesti devono essere in una directory al di fuori della radice.

    • I file speciali richiesti dall'OCF devono essere nella directory \META-INF (discussa più avanti in questo capitolo).

    Utilizzo delle parole chiave

    Molti degli standard, impiegati dall'IDPF e altre organizzazioni, utilizzano parole come «richiesto», «dovuto», «dovrebbe», etc. A volte questi significati possono essere un po' opprimenti quando si incontrano in continuazione. La seguente tabella indica i loro significati.

    Il contenitore fisico deve avere il seguente requisito:

    • La struttura del file system deve essere mappata «uno-a-uno» proprio come su un disco rigido o altri supporti di archiviazione.

    Requisiti dell'archvio .zip

    Immaginiamo che un file .zip sia un disco rigido fisico. Quando si copiano e visualizzano i file nella struttura di una directory, si vede la directory principale, i file e le cartelle. Questo elenco è il nostro contenitore logico. Il file .zip sul supporto di archiviazione è invece il nostro contenitore fisico.

    Dal momento che il nostro file .zip è simile a un disco rigido, ha una singola directory principale. C'è una directory obbligatoria nella root chiamata META-INF. Altri file in ePub necessari per la visualizzazione sono in un'altra directory dalla root. Proprio come un disco rigido, tutti i file e le directory sono mappati uno a uno. Questo significa che c'è solo una directory META-INF. Ogni nome di file è usato da un solo archivio all'interno della stessa cartella.

    I programmi che producono file .zip consentono di suddividere il file .zip su vari supporti. Per esempio, se si desidera salvare un file .zip in un DVD e la dimensione totale del file richiede più di un DVD, è possibile dividere il .zip in più parti che riempirebbero un DVD, con il resto sul disco successivo. I file ePub non possono essere divisi in questo modo e devono essere un file .zip completo rinominato con un'estensione .epub.

    I file ePub devono essere «appiattiti» (flate compressed) o «immagazzinati» (stored). La compressione «piatta» è analoga a uno «sgonfiamento» ed è un metodo di compressione «lossless». Compressione «lossless» significa che nessuna informazione viene persa dal file originale e tutti i dati esistono ancora. Il metodo «flate/sgonfia» funziona meglio per i file di testo e le immagini in bianco e nero o scala di grigi. I dati «immagazzinati» invece si ritrovano quando i file non possono essere o non vengono compressi e sono solo inseriti nel file con estensione .zip nello stato originale. I file «immagazzinati» (stored) non vengono ridotti in dimensione, anche se altri file all'interno di .zip possono essere compressi. Altri metodi di compressione dovrebbero generare un errore da parte del dispositivo di lettura.

    Se il dispositivo di lettura o il sistema supporta le estensioni .zip64, è possibile utilizzare il formato di compressione «Zip64». L'estensione rimuove i limiti dei file .zip regolari sulle dimensioni e il numero di file all'interno dell'archivio, come mostrato in Tav. 1-1. Questo può aumentare drasticamente il numero di file in uno .zip, così come le dimensioni dei file compressi.

    Tav. 1-1. Differenze tra i formati Standard e Zip64

    [ (*) EB = Exabyte ]

    I file .zip possono essere criptati dal programma di archiviazione, richiedendo una password per accedere al contenuto. ePub non consente che la crittografia sia gestita dal file .zip. Per utilizzare la crittografia, vedere la sezione più avanti intitolata «encryption.xml».

    Un file con estensione .zip deve codificare i nomi in archivio utilizzando UTF-8. UTF (Unicode Transformation Format) è un modo di utilizzare da 1 a 4 byte per rappresentare i caratteri Unicode. Il set di caratteri Unicode designa diversi caratteri di testo e script. Unicode non supporta solo testo e script, ma anche punteggiatura, simboli matematici, numeri e così via. Ogni carattere UTF rappresenta un valore che corrisponde a un simbolo Unicode. I valori Unicode rappresentano i caratteri delle varie lingue scritte del mondo. I valori Unicode possono rappresentare lettere latine, lettere greche, script in ebraico, cirillico e molti altri simboli. Per un elenco più completo delle lingue, si vada a Unicode.org.

    Lo standard ePub richiede che il campo «Version Needed To Extract» nell'intestazione dello .zip sia 10, 20 o 45. La posizione del campo a 2 byte è nell'intestazione locale (local header) all'offset 04 nell'intestazione dello .zip. I valori sono mostrati in Tav. 1-2. L'esempio di file ePub mostrato in Fig. 1-2. è un file «sgonfiato» (deflate).

    Tav. 1-2. Versione del campo necessario per l'estrazione

    Fig. 1-2. Valore dll'intestazione dello .zip

    visto su un editor esadecimale

    Il metodo di compressione deve essere 0 o 8. Qualsiasi altro valore fa sì che la lettura di un ePub restituisca un errore. Come si può vedere in Fig. 1-3, il file ePub di esempio ha il metodo di compressione 08 all'offset 8. Il valore 0 indica che i file sono stati «immagazzinati» (stored) nell'archivio, mentre 8 significa che i file sono stati «sgonfiati» (deflated). Per scopi di riferimento, altri valori di compressione sono indicati in Tav. 1-3. Ricordare che sono validi solo i valori 00 e 08.

    Tav. 1-3. Metodi di compressione e loro valori

    Fig. 1-3. Editor esadecimale di un ePub

    che mostra un metodo di compressione piatto

    (deflated)

    Un ePub con un'intestazione di decriptazione dell'archivio o un record di dati extra archivio non è valido. Come indicato in precedenza, il file .zip non deve controllare la crittografia. Quando un .zip gestisce la crittografia, l'intestazione di decriptazione dell'archivio e l'archivio dei dati aggiuntivi contengono appunto le informazioni sulla crittografia.

    Il primo file inserito nella radice dello .zip deve essere il file «mimetype», senza spaziatura o modifiche aggiuntive apportate al contenuto. Il file «mimetype» non deve essere compresso o crittografato e non deve essere presente un campo aggiuntivo nell'intestazione dello .zip. Il campo aggiuntivo viene utilizzato per archiviare informazioni aggiuntive per applicazioni speciali o requisiti di piattaforma. Se questi elementi non sono presenti, allora le informazioni di Tav. 1-4. appariranno nella posizione specifica dell'ePub, che viene mostrata in Fig. 1-4. In questo caso appare il «numero magico» definito nella RFC 2048 (sequenza di byte che sono sempre presenti e quindi possono essere utilizzati per identificare le entità di un determinato tipo di supporto). Naturalmente, questo non accade sempre, dal momento che non tutti i file ePub producono il «numero magico», come si può vedere osservando le Figg. 1-2 e 1-3. Tutti i file .zip dovrebbero iniziare con «PK», non importa quali altre impostazioni siano state modificate.

    Tav. 1-4. Valore e posizione del «numero magico»

    Fig. 1-4. Il «numero magico» in ePub

    Ora che abbiamo esaminato il file .zip nel suo complesso, diamo un'occhiata alle regole per l'interno dell'archivio, vale a dire, le directory e i file. Le directory sono come cartelle e i file possono essere considerati come i documenti all'interno di queste. Naturalmente, il file .zip è il contenitore in cui vengono posizionate le cartelle e i documenti.

    La radice inizia con una barra rovesciata (\) e anche tutte le cartelle sono separate con un backslash (barra retroversa). Anche i nomi dei file sono separati dai nominativi delle directory da una barra rovesciata. Ad esempio, se dovessimo annotare il percorso a partire dalla radice al file container.xml, lo scriveremmo così:

    \META-INF\container.xml

    Tutti i file nell'archivio devono essere codificati in UTF-8 e non superare le dimensioni di 255 byte o caratteri. I percorsi non devono superare le dimensioni di 65.535 byte o caratteri.

    La directory e i nomi dei file non devono includere uno dei seguenti elementi:

    /, ", *, :, >, <, ?, \

    Inoltre, il nome dei file non può terminare con un punto.

    Alcuni programmi .zip possono supportare la distinzione tra maiuscole e minuscole sui nomi dei file. Ciò significa che il file «container.xml» è un file diverso da «Container.xml». Tutti i file all'interno di una singola cartella non devono avere lo stesso nome dopo che i nomi siano stati tutti trasformati in minuscolo o maiuscolo (questo include anche nomi delle directory).

    A seconda della lingua utilizzata (se diversa dall'inglese), è possibile che vengano utilizzati caratteri accentati. Anche questi devono essere rimossi in modo che in nessun modo due file abbiano lo stesso nome nella stessa directory. Ad esempio, si potrebbe leggere «princìpi» come «Principi».

    Nella maggior parte dei casi, può essere necessario attenersi per i nomi di file e di directory ai codici ASCII. In caso contrario, i nomi non possono essere conservati dopo che sono stati decompressi dall'archivio.

    Requisiti META-INF

    In precedenza abbiamo esaminato la directory META-INF, che deve essere inclusa nel file ePub. Senza questa directory, il file viene considerato corrotto.

    All'interno della directory META-INF, ci sono cinque file facoltativi e un file obbligatorio. Si esaminerà lo scopo di questi file ora, ma il contenuto dei file sarà spiegato più avanti, in questo e in alcuni altri capitoli.

    manifest.xml Il file manifest.xml è un file facoltativo necessario solo per la compatibilità con ODF (Open Document Format).

    L'ODF è un formato di documento aperto basato su XML che non è proprietario, consentendo una più facile condivisione e conversione dei dati. Una applicazione di esempio che lo utilizza è la suite LibreOffice.

    Se il file manifest.xml è presente, elenca il contenuto del file ePub. Il file non deve essere crittografato.

    L'elenco del «manifest» fa parte del file OPF e verrà trattato nella sezione OPF (Open Packaging Format).

    metadata.xml Il file metadata.xml è un file facoltativo che contiene i metadati relativi alla pubblicazione. Il file in formato XML utilizza le estensioni «Dublin Core» per descrivere il titolo, l'autore, l'editore, ecc. I dati specificati sono per il livello del contenitore, poiché fa parte di OCF. I metadati in OPF sono invece a livello di pubblicazione.

    Se il file metadata.xml è presente, non può essere crittografato.

    Il file metadata.xml fa parte del file OPF e verrà trattato nella sezione OPF (Open Packaging Format).

    signatures.xml Il file signatures.xml contiene un elenco di eventuali file firmati mediante SHA-1 (Secure Hash Algorithm 1). L'algoritmo SHA-1 è un sofisticato modo per eseguire un calcolo che generi una stringa di dati denominata «hash». Il valore prodotto viene creato in modo identico ogni volta che il file viene elaborato dall'algoritmo. Ciò consente all'utente di verificare che i propri file non siano stati modificati o danneggiati.

    Se ogni file all'interno dell'ePub è firmato individualmente, ogni hash deve essere presente in signatures.xml. Avendo così tanti valori hash diversi, il file ovviamente sarà più grande. Più file possono però essere firmati insieme rendendo il file signatures.xml più contenuto nelle sue dimensioni.

    Per aggiungere, rimuovere o modificare i file in un ePub senza causare il danneggiamento del file, non firmare il file signatures.xml. Se invece non è necessario aggiungere, rimuovere o modificare alcun file, il file signatures.xml dovrebbe essere firmato. Se il file signatures.xml esiste, potrebbe non essere crittografato.

    Il file signature.xml si occupa della sicurezza di un ePub e sarà esaminato più in dettaglio nel Capitolo VIII.

    encryption.xml Alcuni file ePub vengono acquistati su Internet da vari fornitori, in genere gli stessi fornitori del dispositivo di lettura. I libri che si comprano non sono ideati per essere facilmente condivisi con altri. Per evitare questo, i contenuti del file ePub sono criptati. Come si è visto finora, nessun file all'interno della directory META-INF può essere crittografato, incluso encryption.xml. Se le pubblicazioni sono crittografate, il file encryption.xml specifica come decrittografare tali file. Se il file viene eliminato da un ePub criptato, l'ePub viene corrotto.

    I file vengono crittografati singolarmente, ma l'intero contenitore, esclusa la cartella META-INF, può essere crittografato. Quando un file viene crittografato, l'intero file deve essere crittografato, non solo una parte. Se i file all'interno del .zip vengono compressi prima di essere crittografati, devono essere immagazzinati (stored), non appiattiti (flated).

    Bisogna fare attenzione quando si includono font all'interno di un ePub, come discusso nel Capitolo IV. Se il tipo di carattere deve essere protetto dalla condivisione libera, anche il file del font dovrebbe essere crittografato. La procedura di crittografia del font viene chiamata «font mangling».

    signature.xml sarà presente quando esiste rights.xml e può non essere crittografato.

    rights.xml Il file rights.xml è un file facoltativo utilizzato per specificare i diritti di licenza per la crittografia dei dati. Questa procedura viene denominata DRM (Digital Rights Management), discussa nel Capitolo VIII. Se l'ePub è protetto da DRM e il file rights.xml viene rimosso, l'ePub viene corrotto. Il file rights.xml non può essere crittografato.

    container.xml Il file container.xml è un file obbligatorio. Se il file non c'è o è criptato, l'ePub viene considerato corrotto. Il contenuto del file container.xml indica la collocazione (percorso e nome file) del file OPF che verrà discusso nella sezione successiva.

    Open Packaging

    Format (OPF)

    L'OPF è costituito da due file. Il primo file è il file .opf, che contiene la descrizione e i riferimenti ai file all'interno della parte OPS della pubblicazione. Inoltre, corregge l'ordine dei file visualizzabili per assicurarsi che tutto venga visualizzato nell'ordine corretto. Il secondo file, il file .ncx la struttura di navigazione globale, fornisce una struttura simile a un indice dei contenuti. Fornisce un accesso rapido alle pagine senza dover scorrere tutta la pubblicazione pagina per pagina.

    Il file OPF è trattato nel dettaglio al Capitolo VI, mentre il file NCX è spiegato nel Capitolo V.

    Open Publication

    Structure (OPS)

    Prima di andare troppo avanti, accenniamo ai dispositivi di lettura. Gli e-reader disponibili includono il Nook di Barnes and Noble, il Kobo, l'iPad di Apple, etc. Ci sono anche applicazioni per PC per il Nook di Barnes and Noble, il Kobo, etc. Perciò possiamo definire un e-reader come qualsiasi dispositivo che permetta di leggere un libro elettronico (e-book) in un qualsiasi dispositivo di lettura.

    E il Kindle?

    Il Kindle di Amazon è un popolare e-reader che, purtroppo, non supporta lo standard ePub. Non ci si deve preoccupare di questo, però. Ci sono modi semplici per convertire un ePub nel formato Kindle, noto come AZW, discusso nel Capitolo VII. Per la maggior parte delle persone, è più facile creare e manipolare un file ePub e poi convertirlo in AZW.

    L'OPS è costituito da file che contengono gli elementi visualizzabili della pubblicazione. Fondamentalmente, è quello che si vedrà sullo schermo dell'e-reader. Nei file ePub, questo contenuto proviene da file XHTML (EXtensible HyperText Markup Language). Il contenuto può essere modificato visivamente con uno o più fogli di stile CSS. Infine, l'ultima parte del file OPS è costituito da immagini e font. Le immagini possono essere in formato PNG, JPG (JPEG), GIF e SVG. I font possono essere nei formati TTF, OTF o SVG (alcuni sistemi di lettura possono supportare altri formati, come WOFF o EOT).

    Cos'è SVG?

    SVG (Scalable Vector Graphics) è uno standard creato dal World Wide Web Consortium (W3C). SVG può essere font, immagini e animazioni. I font possono essere più fluidi in quanto sono costituiti da forme piuttosto che da punti. L'animazione può essere controllata da JavaScript solo in ePub 3.

    Tutti i file SVG sono basati su XML e possono, quindi, essere visualizzati in un editor di testo. Dal momento che sono file basati su testo, possono essere molto compressi nel file .zip. Comprimendo i file SVG, i file ePub sono più piccoli di quelli che utilizzano altri tipi di carattere o immagini (esempi sono riportati al Capitolo IV).

    ePub 2 supporta i font e le immagini SVG. Le immagini SVG con testo incorporato possono essere ricercate come il normale testo della pubblicazione. Le immagini SVG possono anche essere utilizzate per contenere collegamenti a scopo di navigazione.

    Tenere presente che alcuni e-reader non sono in grado di supportare SVG anche se fa parte dello standard ePub.

    Tutti i file OPS lavorano insieme per creare il materiale visualizzabile che costituisce la pubblicazione o e-book. Utilizzando XHTML, anche se non tutti gli elementi e gli attributi sono supportati, la maggior parte hanno valori CSS per sostituirli. La cosa principale da ricordare è che il testo è pensato per fluire e sarà visualizzabile su vari dispositivi. Avere testo e flusso di immagini è simile a quanto accade in una pagina Web, che può essere visualizzata in varie dimensioni e risoluzioni di schermo.

    I documenti OPS e XHTML devono avere vari requisiti:

    • Devono essere documenti XML ben formati.

    • Codificati in UTF-8 o UTF-16.

    • Devono essere documenti XML validi secondo lo schema NVDL (Namespace-based Validation Dispatching Language).

    • Devono essere MIMETYPE di tipo application/xhtml+xml o text/x-oebl-document (deprecato).

    • Gli elementi e gli attributi XHTML non contenuti inline nell'isola XML devono essere estratti dal sottoinsieme XHTML

    I requisiti per DTBook sono i seguenti:

    • Devono essere documenti XML ben formati.

    • Codificato in UTF-8 o UTF-16.

    • Devono essere documenti XML validi.

    • MIMETYPE di tipo application/x-dtbook+xml.

    I requisiti dei documenti XML out-of-line sono i seguenti:

    • Devono essere documenti XML ben formati.

    • Codificati in UTF-8 o UTF-16.

    • MIMETYPE di tipo:

    • application/xhtml+xml (non un modulo esteso)

    • text/x-oebl-document

    • application/x-dtbook+xml

    I requisiti CSS per OPS sono i seguenti:

    • nel documento OPS deve essere fatto riferimento al foglio di stile CSS esterno.

    • Codificati in UTF-8 o UTF-16.

    • UTF-16 richiede un contrassegno di ordine dei byte (BOM, Byte Order Mark).

    • UTF-8 ha un BOM facoltativo.

    I requisiti del sistema di lettura sono i seguenti:

    • Elaborare correttamente XML come richiesto dalle specifiche XML 1.0, inclusi gli errori di gestione

    • Riconoscere i markup consentiti e elaborarli in modo coerente

    • Non deve eseguire il rendering di img o degli elementi oggetto di tipologie di media non supportate in assenza di fallback

    • Verificare l'esistenza di appropriate specifiche namespace

    • Elaborare correttamente i fogli di stile CSS

    Cos'è NVDL

    (Namespace-based Validation

    Dispatching Language)?

    NVDL è un insieme di regole utilizzate per consentire la convalida di un file XML che assicuri che i tag XML siano corretti in base al namespace utilizzato.

    Cos'è DAISY o DTBook?

    Prima di ePub, c'era il consorzio DAISY (Digital Accessible Information SYstem). DAISY ha creato il DTBook (Daisy Digital Talking Book) per le persone con problemi di accessibilità. L'OEB (Open eBook), in precedenza OEBPS (Open eBook Publication Structure) 1.2, è diventato l'ePub 2.0 e successivamente il consorzio DAISY ha aderito a ePub per creare ePub 3.

    Lo standard OPS richiede l'utilizzo dell'elaborazione XHTML degli elementi elencati nella Tav. 1-5. Le voci della tabella saranno discusse nel dettaglio nel Capitolo II.

    Tav. 1-5. Elementi XHTML in OPS

    Dal momento che OPS è stato preso da OEB (più tardi OEBPS), vi è una certa somiglianza con DAISY DTBooks. La navigazione tra capitoli e singole pagine può consentire a un lettore di spostarsi facilmente nel libro. Il contenuto DTBook deve essere convalidato nel vocabolario XML DTBook. Tutti gli elementi che si occupano di linguaggio di integrazione multimediale sincronizzato (SMIL) non sono ammessi in ePub 2. SMIL (Synchronized Multimedia Integration Language) è il componente multimediale di DAISY, ma ePub 2 non gestisce multimedialità, e quindi non è permesso. Per ulteriori informazioni sul supporto multimediale, vedere i Capitoli VIII e IX.

    Ci sono state alcune modifiche di base da OEBPS 1.2 a OPS 2.0, il che significa che ora è necessario l'elaborazione XML del namespace. Il supporto per SVG è stato aggiunto, così come l'incorporazione dei font. Inoltre,sono stati modificati alcuni tipi di MIME.

    OPS supporta i fogli di stile CSS (Cascading Style Sheets), file esterni che memorizzano gli stili per il codice XHTML, ma non tutti gli elementi CSS sono supportati su tutti i sistemi di lettura. Ad esempio, i dispositivi che non dispongono di schermi a colori non possono supportare elementi relativi al colore. Gli elementi di colore possono essere, tuttavia, renderizzati in tonalità di grigio per emulare le differenze di colorazione.

    OPS supporta vari tipi MIME. MIME (Multipurpose Internet Mail Extensions) è stato originariamente utilizzato per designare i formati di file su Internet. È stato specificamente utilizzato da SMTP (Simple Mail Transport Protocol) per gli allegati di posta elettronica. Dopo essere stato utilizzato con protocolli come HTTP e altri, si è espanso ad altri protocolli.

    MIMETYPE viene ora generalmente utilizzato come identificatore del tipo di supporto ed esiste per diversi tipi di file (vedi Tav. 1-6).

    Tav. 1-6. Tipi MIME

    C'è un intero elenco di sottotipi, alcuni dei quali sono supportati all'interno di un ePub. La Tav. 1-6 elenca tipi e sottotipi supportati nell'ePub 2. Gli articoli nella Tav. 1-7 sono inseriti per dare un'idea di quali tipi di file possono essere utilizzati per creare ePub, che saranno trattati in dettaglio nel Capitolo VI.

    Tav. 1-7. MIMETYPE e loro uso in OPS

    Non è il caso di spaventarsi per la quantità di informazioni elencate qui tutte in una volta. Sino al termine di questo capitolo e in tutti gli altri che verranno dopo si discuterà ognuno di questi standard nel dettaglio. L'importante è arrivare alla fine della discussione e tutto diventerà più chiaro.

    Cos'è un ePub?

    Un file ePub è una raccolta di file all'interno di un file .zip rinominato in .epub. Ciò significa che qualsiasi file ePub può essere aperto con un'applicazione di archiviazione .zip . A seconda del programma, potrebbe essere necessario rinominare o meno l'estensione del file da .epub a .zip. Verrà fornita una scorciatoia momentanea per i sistemi Windows che permette di aprire un file ePub senza rinominarlo.

    Vari capitoli di questo libro esaminano i diversi tipi di file all'interno di un ePub. Alcuni potrebbe essere necessario modificarli, a volte, e altri non c'è mai bisogno di cambiarli. È meglio capire che cosa fanno questi file in modo da poter essere sicuri di non modificarli o eliminarli.Queste azioni possono causare problemi.

    Preparazione alla visualizzazione

    del contenuto di un file ePub

    Prima di inoltrarci troppo negli standard, diamo un'occhiata al contenuto di un file ePub. Ciò contribuirà a illustrare cosa stiamo esaminando mentre proseguiamo la descrizione.

    A questo punto, è necessario assicurarsi di avere un'utilità di compressione/decompressione .zip. Suggerisco «7-Zip» in quanto è freeware. Esamineremo alcune nozioni di base per impostare i parametri nel menu contestuale di Windows, che è ciò che appare quando si fa clic destro su un file ePub. Come indicato nell'introduzione, è possibile scaricare 7-Zip dal Sito di 7-Zip. Scaricare e installare l'applicazione, quindi eseguire i seguenti passaggi per creare il menu di scelta rapida in un sistema Windows.

    Windows 7

    1. Aprire il «Pannello di Controllo», selezionare «Programmi», quindi selezionare «Programmi predefiniti».

    2. Selezionare «Associa un tipo di file o un protocollo a un programma».

    3. Selezionare «.epub» (se .epub non è presente nell'elenco, chiudere le finestre aperte, installare Sigil, quindi ripartire dal punto 1).

    4. Selezionare «Cambia programma».

    5. Sfogliare le varie voci sino ad arrivare a «7-Zip» e quindi fare clic su «OK» (a meno che non si intenda utilizzare un programma di archiviazione diverso).

    6. Fare clic su «Chiudi».

    7. Trovare un file EPUB e fare clic destro.

    8. Dal menu aperto, selezionare «Apri con».

    9. È possibile scegliere Sigil per modificare il file o 7-Zip per aprire l'archivio (o il programma di archivio al posto di 7-zip che avete impostato).

    Windows XP

    1. Aprire «Risorse del computer».

    2. Fare clic su «Strumenti» e selezionare «Opzioni cartella».

    3. Una volta che l'elenco dei tipi di file registrati è completato, scorrere verso il basso per trovare «.zip».

    4. Evidenziare «.zip» e selezionare il pulsante «Avanzate».

    5. Evidenziare «Apri» in azioni, quindi fare clic sul pulsante «Modifica».

    6. In «Applicazione per eseguire l'azione», si dovrebbe vedere C:\Program files\7-Zip\7zFM.exe%1. Prendere nota della riga esatta (la lettera di unità può essere diversa a seconda di dove è stato installato).

    7. Selezionare «Annulla» due volte per tornare alla schermata «Opzioni cartella».

    8. Scorrere e selezionare «.epub», quindi fare clic sul pulsante «Avanzate» (se .epub non è presente nell'elenco, chiudere le finestre aperte, installare Sigil, quindi ripartire dal punto 1).

    9. Nella sezione «Azioni», si dovrebbe vedere una voce per «Apri». Selezionare il nuovo pulsante.

    10. In «Azioni», digitare «View Contents».

    11. In «Applicazione per eseguire l'azione», inserire le informazioni indicate al punto 6.

    12. Selezionare l'opzione per utilizzare DDE e la casella dovrebbe espandersi.

    13. In applicazione, digitare il nome del file 7-Zip: «7zfm.exe».

    14. In «Argomento», digitare «Sistema».

    15. Selezionare «OK» e chiudere tutte le finestre aperte per questa procedura.

    Linux

    Per i sistemi Linux, si può utilizzare «Arca» o «Xarchiver» come visualizzatore .zip. Seguire le istruzioni successive per il File Manager specifico.

    Nautilus

    1. In primo luogo, fare clic con il pulsante destro del mouse su ePub e selezionare «Proprietà».

    2. Quindi, fare clic sulla scheda «Apri con».

    3. Infine, scegliete un programma di archiviazione compatibile con ePub.

    Dolphin e Konqueror

    1. In primo luogo, fare clic con il pulsante destro del mouse su ePub e selezionare «Proprietà».

    2. Quindi, fare clic sull'icona solo dalla proprietà «Type».

    3. Successivamente, impostare l'ordine di preferenza dell'applicazione per aprire i file con l'estensione .epub.

    Thunar

    1. In primo luogo, fare clic con il pulsante destro del mouse sul file ePub e selezionare «Proprietà».

    2. Infine, scegliere il programma predefinito da utilizzare quando si aprono i file .epub.

    X File Explorer (XFE)

    1. Prima di iniziare, aprire una riga di comando e digitare qual è il «nome del gestore di archivio preferito». Questo restituirà il percorso del file dell'eseguibile. Scriverlo o copiarlo negli appunti. Per esempio:

    • Input dell'utente: quell'archivio

    • Output di sistema: /usr/bin/ark

    2. Dopo di che, fare clic destro su ePub e fare clic su «Proprietà».

    3. Quindi, fare clic sulla scheda «Associazioni file».

    4. Infine, incollare o digitare il percorso del file di output di sistema nella linea «Apri», e finire facendo clic su «Accetta».

    Visualizzazione del contenuto

    di un file ePub

    Ora, è necessario scaricare un file ePub per testare questa nuova funzionalità. Usa il tuo browser e vai a LiberLiber. Nella prima pagina, digita nella casella di ricerca «Sei personaggi in cerca di autore» (romanzo di Luigi Pirandello). Scarica il file ePub gratuito e salvalo in una cartella accessibile. In Windows, fare clic con il pulsante destro del mouse sul file e si dovrebbe vedere un'opzione, verso la parte superiore dell'elenco, per visualizzare il contenuto. Selezionare «Visualizza contenuto» e 7-Zip dovrebbe aprirlo. Questo menu di scelta rapida dovrebbe ora funzionare su tutti i file ePub. Se non funziona, tornare indietro ripercorrendo tutti i passaggi e riprovare. Per i sistemi Linux, fare clic con il pulsante destro del mouse, selezionare «Apri con» e scegliere l'archiviatore installato.

    Il programma archiviatore installato dovrebbe visualizzare delle cartelle e degli oggetti: questi sono i contenuti del file ePub.

    Si dovrebbe vedere qualcosa di simile a Fig. 1-5, a seconda del programma di archiviazione. Come si può vedere, la maggior parte dei file sono .xhtml; in alcuni casi possono esserci file .html. Questi sono il cuore del testo visualizzato sull'e-reader. I file immagine compongono l'immagine di copertina, illustrazioni e altre immagini. Il file .css è il foglio di stile CSS, che definisce l'aspetto delle pagine XHTML. Tutto il resto è utilizzato per creare il file ePub e determinare l'ordine di lettura dei file, l'indice e molto altro ancora.

    Fig. 1-5 Contenuti di «Sei personaggi in cerca di autore»

    Basi di XML

    La maggior parte di questi file sono discussi nei capitoli successivi. Verranno illustrati i file container.xml, manifest.xml, metadata.xml e mimetype. Al Capitolo VII si discuteranno gli altri file XML: signatures.xml, rights.xml ed encryption.xml. Prima di tutto è necessario esporre alcune basi di XML.

    ePub utilizza alcuni file XML e per manipolare alcuni dei file è necessaria una conoscenza di base di XML. Sigil e altri programmi possono gestire i file in automatico, ma a volte è più facile gestire i file da soli o perlomeno è meglio capirli.

    XML (EXtensible Markup Language) viene utilizzato per descrivere dati. XML è usato in varie posizioni all'interno del file ePub. I tag vengono posizionati all'interno di parentesi acute (< e >) e la maggior parte dei tag dispone di un tag iniziale per designare l'inizio di una sezione. Ogni sezione termina con un tag di chiusura, che inizia con una barra prima del nome del tag (). I tag XML fanno distinzione tra maiuscole e minuscole, possono anche non contenere spazi e in genere sono a caratteri minuscoli.

    Supponiamo, ad esempio, di avere un database che volevamo creare per un catalogo di libri. Rispetto all'esempio, naturalmente, ci sarebbero più tipi di dato, ma questo è solo un esempio di base.

    Sei personaggi in cerca di autore

    Luigi Pirandello

    9788806220570

    La coscienza di Zeno

    Italo Svevo

    978-8807900495

    Come si può vedere, esiste un tag globale di inizio () e un tag corrispondente di fine. Questo designa il catalogo nel suo complesso e tutto ciò che si trova tra i due tag è all'interno di . All'interno del tag principale sono nidificati tag/tag che si trovano all'interno di altri tag. In questo caso, i tag sono nidificati all'interno di . Ogni contiene informazioni nidificate su un singolo libro. Qui il primo libro è Sei personaggi in cerca di autore e il secondo è La coscienza di Zeno. In ognuno di questi libri sono inclusi , e . Si noti che le informazioni all'interno del tag stesso (< >) sono tutte minuscole. I nomi dei tag fanno distinzione tra maiuscole e minuscole, pertanto il tag di inizio e di fine devono essere identici nella composizione di lettere maiuscole e minuscole. I dati inclusi tra i tag possono essere sia in maiuscole che in minuscole a seconda delle necessità, come illustrato nell'esempio.

    I tag nidificati sono denominati «figli». è un tag figlio mentre «» è un elemento genitore. , e sono fratelli tra loro e figli di .

    Ora per accedere a questo file XML da un'applicazione, bisogna fare in modo che l'applicazione capisca cosa significano i tag. Per specificare i significati del tag o il vocabolario XML, usiamo un namespace XML (xmlns).

    Ora che disponiamo di qualche informazione di base di XML, possiamo esaminare il file container.xml che fa parte di OCF.

    container.xml

    Il file container.xml è necessario per visualizzare la posizione del file OPF, in questo caso content.opf. Il Capitolo VI esaminerà nel dettaglio il file OPF.

    Quando si utilizza Sigil per creare o modificare i file ePub, il programma gestisce automaticamente il file container.xml. Se si deve cambiare qualcosa manualmente, è necessario però sapere come funziona il tutto.

    Il file container.xml deve essere contenuto in una directory denominata META-INF. Se questa directory o file non esistono, l'ePub viene considerato corrotto e non può essere visualizzato su alcun dispositivo o modificato in Sigil. Per risolvere il problema, è necessario ricreare il file manualmente.

    Il contenuto del file container.xml di «Sei personaggi in cerca di autore» è il seguente:

    1.0 encoding=UTF-8?>

    1.0 xmlns=urn:oasis:names:tc:opendocument:xmlns:container>

    OEBPS/content.opf media-type=application/oebps-package+xml/>

    Il file può essere lo stesso per qualsiasi ePub, tranne che per la quarta riga (le «righe» sono quelle comprese tra < e >). Il percorso completo indicato deve puntare al file OPF, che può avere qualsiasi nome di file valido, ma deve avere l'estensione OPF.

    L'inizio della prima riga, 1.0 è standard per tutti i file XML. La prima riga dichiara a qualsiasi programma che la utilizzi che il contenuto è in XML e la versione è la 1.

    La seconda parte della prima riga, encoding=UTF-8?> indica che il file utilizza la codifica UTF-8.

    ePub richiede UTF-8 o UTF-16, ma alcuni dispositivi e-reader potrebbero non supportare UTF-16. È

    Enjoying the preview?
    Page 1 of 1