Libri liberi - Introduzione ai formati di memorizzazione

Questa collezione di libri in formato digitale è il frutto di una mia passione per la digitalizzazione dei testi privi di diritti d'autore. Quest'introduzione ricopre soprattutto la gamma di tecniche e tecnologie provate da me nel tempo per la realizzazione e per la pubblicazione dei testi.

1. Il puro testo ASCII

Incontrai l'iniziativa per la digitalizzazione dei testi privi di diritti d'autore con il seminale progetto Gutenberg. Gli autori, volendo rendere fruibile la loro biblioteca digitale a più persone possibile, scelsero come forma digitale per ogni libro quella più povera: un singolo archivi per ogni libro, contenente del testo ASCII con una lunghezza massima di riga di 80 caratteri. Entro questo limite molti redattori adottarono delle convenzioni per segnalare l'uso della _sottolineatura_, del *grassetto*, del ~corsivo~ e per rappresentare i caratteri accentati, codificate di seguito nello standard TEI per i testi digitali ASCII.

Anch'io ho seguito questa forma per i miei testi in lingua inglese realizzate circa 1996 e disponibili in Internet all'indirizzo http://www.geocities.com/martinwguy

2. Catturato dalla MicroSoft

Quando, trovandomi di nuovo in Italia, volli conservare l'ultima copia a me conosciuta di "Ipnotismo Pratico", mi trovai ad usare un 286 portatile (diciamo piuttosto "trascinabile") con Microsoft Word versione 5.5 per poter registrare, oltre ai caratteri accentati, l'uso del corsivo, del grassetto e del maiuscoletto, i titolo centrati ed altro, sperando così di averne copia più fedele. Tutto andò bene fin quando cercai di togliere il testo dalle fauci di Microsoft Word 5.5. Perfino le versioni più recenti dello stesso prodotto, leggendo questi archivi, perdono il corsivo e il grassetto del tutto e trasformano i caratteri accentati in dei caratteri greci e dei simboli matematici.

Mi ero fidato di poter produrre dagli archivi MSWord delle versioni più povere in testo ASCII per la larga diffusione, ma ne fece uno schifo. Alla fine ho dovuto scrivere dei programmi propri per recuperare i caratteri accentati nel testo, rifacendo a mano tutto il corsivo, il grassetto e la formattazione dal testo originale.

Da quest'esperienza in poi rinunciai ai formati commerciali per i miei testi, perchè ci possono legare a delle ditte incompetenti. I formati pubblici possono essere più scarsi, ma hanno il merito di lasciare a noi la scelta dei prodotti da usare per maneggiarli e quello di essere sostenuti sia da molti programmi gratuiti sia da quelli commerciali.

3. Liberato da Linux

A questo punto, il sistema operativo Linux è apparso sulla mia scena, corredato dai potentissimi strumenti Unix per la manipolazione del testo. Realizzai i testi successivi (Il "Processo a Stampa" e il "Trattato de Religione") in testo ANSI chilometrico, forma accetta anche ai computer portatili con Windows 3.1, con l'aggiunta dei segni miei per il /corsivo/, trasformando questi poi in HTML con degli appositi programmi e pubblicandoli in Internet agl'indirizzi http://www.freaknet.org/martin/libri e http://it.geocities.com/martinwguy/libri

4. Schifato da tutto

Nella realizzazione di un testo digitale, più fattori possono avere la loro relativa importanza: e questi fattori sono in conflitto tra di loro.

La fedeltà tipografica implica l'uso di un linguaggio tipografico esteso e specializzato, e quindi in molta probabilità di uno specifico programma per la creazione e per la visualizzazione del testo. Alcuni dei formati forti in questo senso sono TeX, PDF e i vari formati DocBook e OpenBook sviluppati appositamente per i libri liberi digitali.

La larga fruibilità dipende o dell'uso di uno singolo formato comune a quasi tutti i sistemi esistenti, e qui non si scappa dall'umile testo ASCII, o della produzione del testo in più formati contemporaneamente. Quest'ultima via implica o la manutenzione di più versioni del testo, con conseguente moltiplicazione del lavoro per la creazione e la revisione del testo, o della preparazione e manutenzione del testo in un solo "superformato" che viene ridotto poi al meno peggio nei vari formati per la pubblicazione.

Finalmente, questi due contrastono con la pigrizia di chi crea il testo, con la sua voglia di impiegare lo stesso tempo per produrre più testi di più bassa qualità, e con la poca volontà di studiare l'enorme varietà di possibili tecniche e formati per la loro pubblicazione.

5. Rassegnato all'HTML

Attualmente mi sono fermato su tre formati per la pubblicazione dei testi:

  1. Testo ASCII, con lunghezza massima per riga di 80 caratteri. Questo formato è il più adatto ai sistemi MSDOS e ai mainframe, e ha la maggior probabilità di essere letto con successo dai sistemi "sconosciuti".
  2. Testo ANSI chilometrico, il quale comprende la maggior parte dei caratteri speciali ed accentati. E' il formato nativo di Linux ed è accetto anche a Microsoft Windows ai vari Web browser.
  3. HTML, il linguaggio nativo del World Wide Web ormai, ha molti anni e, essendo la lingua franca del Web, si è diffusa sulla stessa onda sulla quale s'espanse il Web stesso. I suoi link ipertestuali valgono sia per gli indici dei testi sia per realizzare le note entro i testi, e comprende delle semplici indicazioni tipografici.
e su due metodi per la produzione di un testo:

L'HTML è un formato fra i più scadenti. Ce ne sono molte versioni, fra cui le prime dimostrano la poca esperienza che i suoi autori avevano delle problematiche inerenti nella rappresentazione digitale dei testi. Le loro mancanze non sono tali da scusare dicendo che il linguaggio era mirato ad un'altro scopo, e una triste conseguenza di queste mancanze è che, nei primi anni, i vari produttori dei browser hanno "esteso" il linguaggio in vari modi, ciascuno a modo suo. Nelle successive versioni, gli autori di HTML hanno cercato sia di incorporare queste estensioni nello standard, sia di introdurre delle idee nuove, sempre poco mature, "deprecando" l'uso delle strutture equivalenti che, pochi anni prima, raccomandavano.

Che possano bastare come esempio della confusione che regna i modi per avere un titolo centrato:

  1. Non si fa. Nelle prime versioni di HTML mancava, e tuttora alcuni browser sono incapaci di centrare una riga.
  2. <CENTER><P>Ecco il testo.</CENTER>
    introdotto da Netscape, adottato da Internet Explorer, e poi incluso a malincuore nello standard.
  3. <P ALIGN=CENTER>Ecco il testo.</P>
    sembra la versione che funziona con più browser diversi.
  4. <DIV ALIGN=CENTER><P>Ecco il testo.</DIV>
    si lo dichiara l'equivalente preferita di <CENTER>, ma funziona ancora meno spesso di questo.

Il modo qui impiegato di usare HTML è maturato per funzionare al meno peggio con più browser possibili, ignorando le varie estensioni fantasiose adottate e poi lasciate nel tempo dalla W3 Consortium. In sintesi si tratta della versione 3.2 di HTML, usandone solo le strutture più semplici e scegliendo fra le forme alternative quelle che funzionano con più browser comuni.

Glossario

Testo ASCII
Un testo ASCII è formato di caratteri rappresentate da un numero fra 0 e 127. Questi 128 valori codificano le lettere maiuscole e minuscole, le cifre, una larga selezione di punteggiatura e simboli commerciali, assieme a dei cosiddetti "caratteri controllo" che segnano degli eventi come la fine di una riga e l'inizio di una nuova pagina.
Testo ANSI
E` un'estesione della codifica ASCII fino a 256 caratteri diversi per includere i caratteri accentati ed altri simboli. Questa codifica corrisponde a quella chiamata ISO-8859-1.
TEI
Si tratta di una convenzione per i testi che usano la codifica ASCII, aggiungendo delle convenzioni per la rappresentazione, fra l'altro, della _sottolineatura_, del *grassetto*, del ~corsivo~ e per i caratteri accentati. In più, segna la fine di un paragrafo con una riga vuota, di una sezione con due righe vuote ecc.
Testo ANSI chilometrico
E' la forma di un'archivio di testo ANSI in cui ogni paragrafo sta su una singola riga, ovvero in cui il carattere di controllo "newline" sta per "fine di paragrafo" piuttosto che per il semplice "a capo", lasciando la divisione del testo in righe e pagine al programma usato dal lettore per visualizzarlo. Si dice "chilometrico" perchè una singola riga può assumere una lunghezza di migliaia di caratteri.

Martin Guy <martinwguy@gmail.com>, novembre 2002.