Vi è mai capitato di andare all’estero, finire in un Internet Point, e scoprire con orrore che la tastiera su cui scrivete non è quella giusta? L’esperienza di non trovare le lettere al punto giusto è scioccante, e io che ho una certa qual età ricordo con terrore il periodo alla fine degli anni ’70 in cui le RELAWIONI datate l)/% si sprecavano, visto che mi toccava passare dalla macchina da scrivere con una tastiera QZERTY e i numeri che venivano digitati come maiuscole ai miei primi(tivi) computer che avevano la tastiera QWERTY e mancavano di lettere accentate. Ma la storia di come interagiamo con i caratteri del PC è molto più complcata: iniziamo a vedere la parte relativa ai charset, cioè agli insiemi di caratteri che dovrebbero rappresentare quanto si può scrivere in una lingua.
Potrei partire da Adamo ed Eva, o per meglio dire dai geroglifici egiziani che a un certo punto persero il valore di idea per assumere anche quello di lettera; ma in effetti di tastiere ai tempi non ce n’erano. Però, seguendo le arcaiche FAQ del newsgroup alt.etext, credo che si possa datare il primo momento in cui abbiamo una conversione dall’alfabeto usato di solito a un altro alfabeto con la nascita dell’alfabeto Morse. Con esso si hanno a disposizione 44 caratteri, in fila per sei col resto di due: le ventisei lettere dell’alfabeto inglese, gli otto segni di interpunzione .,:;-/?" e le dieci cifre: uno si deve accontentare, e non esclamare tra l’altro nulla. Il lettore attento si sarà accorto di un’altra peculiarità dell’alfabeto Morse, che cioè i caratteri hanno una lunghezza diversa: ma questo fa parte della codifica, che con il charset ha ben poco a che fare, e di cui parlerò la prossima volta.
Il passo successivo, il codice Baudot usato nelle telescriventi, è il primo codice con un numero ben definito di bit per rappresentare i caratteri: ben cinque. Due alla quinta fa 32, però, e non c’è nemmeno spazio per lettere e numeri! Niente paura: nella versione rivista del Baudot, si usano ventisei lettere e sei codici. I codici sono lo spazio, il NULL che non punzona nulla, il “carriage return” che riporta la testina tutto a sinistra e il “line feed” che fa avanzare la carta (e la contrapposizione CR/LF nasce proprio ora, prima di fare impazzire chi doveva convertire tra Windows, Unix e Mac), ma soprattutto FIGS e LTRS, dei codici di “cambio alfabeto”. Col primo si passava a un nuovo insieme di caratteri contenente i numeri e i segni di interpunzione; col secondo si tornava alle lettere. Erano così stati inventati gli antenati del tasto ESC.
Ma anche col trucco di cambiare alfabeto cinque bit erano davvero pochi, e così dal 1932 nacque il TTS code che di bit ne aveva ben sei. Il cambio di alfabeto era sempre presente, ma stavolta serviva a passare dalle lettere maiuscole alle minuscole, che finalmente, giusto quattrocento anni dopo la loro nascita, fanno la loro comparsa anche in questo mondo. Un racconto sicuramente apocrifo, che avevo letto decenni orsono e non sono riuscito a ritrovare se non in questo resoconto, diceva che in precedenza, quando si era dovuto scegliere se usare solo le lettere maiuscole o solo le minuscole, si era notato come queste ultime aumentavano la leggibilità di un testo; però il presidente del comitato decise per le MAIUSCOLE “perché altrimenti non si sarebbe potuto scrivere correttamente il nome di Dio”.
Da questo punto in avanti parte la corsa alla crescita degli alfabeti utilizzabili dai computer, o meglio agli standard: come sapete, il bello degli standard è che ce ne sono sempre tanti tra cui scegliere. Il primo standard relativo ai computer usava sei bit per i caratteri, ha la mia età (è del 1963) ed è stato creato dall ASA (American Standard Association, la mamma dell’ANSI); continuava a non avere le minuscole. L’ASCII (American Standard Code for Interchange of Information) inizia a essere definito due anni dopo… con dei buchi corrispondenti alle lettere minuscole, che saranno standardizzate solo alcuni anni dopo; intanto IBM andava avanti per conto suo con l’EBCDIC, e in Europa l’ISO riuscì nel 1967 a codificare le varie versioni nazionali dello standard ISO 646. Ci sono infatti alcune cose che in genere non si sanno: innanzitutto che ASCII si pronuncia “aschi” e non “asci”; inoltre c’erano dieci posizioni “libere” che venivano usate per le lettere accentate nelle lingue diverse dall’inglese. Peccato che quelle posizioni corrispondevano alle graffe, al backquote, e insomma ai caratteri che servivano ai programmatori! Insomma, non le usava nessuno, e non per nulla la mia generazione si abituò a scrivere gli apostrofi, o meglio ancora i backquote “`”, al posto degli accenti.
Aumentando la potenza dei calcolatori e gli utenti non anglofoni, il numero di caratteri richiesto per un alfabeto continuò a crescere. Si arrivò così allo standard ISO 8859-1 (del 1999, ma già presente nella versione ECMA fin dal 1986), che partendo dal principio che i byte hanno 8 bit li usa tutti per ottenere ben 256 caratteri, ed è lo standard ufficiale per le pagine HTML (visto come sono internazionalizzate?). Lo standard va benissimo per le lingue europee standard, meno per le lingue slave scritte coi caratteri latini, ancora meno per neogreco e cirillico, tanto che c’è una cifra di ISO 8859-x per usare le lettere latine e quelle di una singola altra lingua europea. Peggio ancora, nel 1999 si sfruttò l’introduzione dell’euro per fare una versione riveduta e corretta di ISO 8859-1, chiamata ISO 8859-15 e che genera semplicemente confusione.
Nel frattempo, cinesi e giapponesi – ma anche gli arabofoni – si lamentarono di essere ingiustamente trascurati: nacque così Unicode, che usa due byte, cioè sedici bit, cioè 65536 possibilità, per definire tutti i caratteri. Inizialmente avrebbe anche dovuto avere spazio per il Klingon, che poi non è stato accettato con la miserrima scusa che non è una lingua parlata da nessuno. Unicode, o per meglio dire il fratello ISO 10646, è quasi coetaneo a ISO 8859: la prima versione è infatti del 1991. Ora siamo alla versione 6.1.0 di Unicode, rilasciata a gennaio 2012. Naturalmente ci si è accorti che 65536 caratteri non erano sufficienti per tutti, anche perché i caratteri CJK – cinesi, giapponesi e coreani – riempivano la maggior parte dello spazio. Così si è iniziato a creare nuovi “piani” (gruppi di 65536 caratteri). E per passare da un piano all’altro come si fa? Semplice, si usano alcuni caratteri speciali che indicano di cambiare piano! Le soluzioni informatiche sono l’esempio più tipico di applicazione dei concetti di Giovanni Battista Vico: i corsi e ricorsi storici…
Se siete sopravvissuti fino a qua, sappiate che la prossima volta complicherò ancora più le cose…