Di certo vi stupirà sapere che lo standard POSIX, e quindi anche Linux, prevede il supporto delle regole nazionali, che vogliono dire set di caratteri, modo di scrivere data, ora, numeri in generale e i messaggi di sistema.
Non vi stupirà sapere che Linux supporta per ora solo il set di caratteri, mentre viene lasciato al futuro lo sviluppo del resto.
Governano la cosa delle variabili d'ambiente. In ordine:
(oppure LANG) E' la variabile "generale" del gruppo, serve a definire una regola generale (il paese) con cui poi assegnare le variabili che vengono sotto.
Influisce sulle regoole di parsing di alcune funzioni C.
Definisce il set di caratteri.
Definisce come devono essere scritti i numeri, ovvero quale, tra virgola e punto, e' il separatore di decimali e migliaia e viceversa.
Definisce in che linguaggio devono essere scritti i messaggi di sistema.
Definisce come deve essere stampata l'ora corrente.
Come consiglio personale, visto il mio alto senso dello Stato, e vista la
fiducia in un roseo futuro, consiglio di aggiungere questo nel proprio
$(HOME)/.profile
o /etc/profile
per
sh-type shells:
export LANG=it export LC_CTYPE=iso-8859-1
Inoltre, se si vuole usare nomi di files con lettere accentate è bene
aggiungere anche questo nel proprio $(HOME)/.inputrc
set meta-flag on set convert-meta off set output-meta on
Oppure se avete c-type shells:
setenv LANG it setenv LC_CTYPE iso-8859-1
Il primo serve per scaramanzia (sembra che XFree86 ne tenga conto...), mentre il secondo e' una forzatura per evitare problemi.
Come sempre la man page di locale(7) e' lettura molto consigliata,
come un giro per /var/X11R6/lib/locale
, che sembra essere l'unica
implementazione di locale oggi funzionante.
Ulteriori informazioni possono essere recuperate nei seguenti testi:
ftp://grasp.insa-lyon.fr/pub/faq/fr/accents , in Francese, ftp://rtfm.mit.edu/pub/usenet-by-group/comp.answers/character-sets/iso-8859-1-faq in inglese e anche ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit/FAQ-ISO-8859-1 .
Tutti finito, direte voi. Beh, quasi...
Ora il problema è far capire alle applicazioni ``cattive'' che vogliamo avere i caratteri accentati. Questi hanno la interessante proprietà che sono lunghi 8 bit, mentre molti programmi ne considerano solo 7, perchè è da 7 bit il codice ASCII internazionalemte riconosciuto.
Per prima cosa l'ottavo bit deve sopravvivere nel kernel, quindi è buona cosa
dare questo comando (anche se stty di default ha queste impostazioni,
controllare con stty -a
):
stty cs8 -istrip -parenb
Come sempre emacs e' molto particolare. Avvisiamolo che vogliamo i caratteri accentati con :
(standard-display-european t) (set-input-mode nil nil 1) (require 'iso-syntax) (load-file "iso-insert.el") (define-key global-map [?\C-.] 8859-1-map)
Aggiunto al nostro bravo $(HOME)/.emacs
Inoltre, se si usa Emacs in un Xterm (NO XEmacs o LEmacs!!!), è anche
necessario aggiungere nel proprio $(HOME)/.XDefaults
:
XTerm*VT100.Translations: #override\n\ Ctrl <KeyPress> . : string("\0308")
Anche qui vogliamo che i nomi di files con lettere accentate vengano correttamente visualizzati. Quindi:
alias ls "ls -N"
sempre nel solito $(HOME)/.profile
o /etc/profile
.
Aggiungere le seguenti righe nel file /var/lib/elm/elm.rc
o nel
proprio $(HOME)/.elm/elmrc
:
displaycharset = iso-8859-1 charset = iso-8859-1 textencoding = 8bit
Basta editare il file di configurazione /usr/lib/joe/joerc
di modo che
comprenda la riga (con il ``-'' sulla colonna 1):
-asis Characters 128 - 255 shown as-is
Mancano parecchi programmi all'appello. Alcuni perchè hanno una loro sezione dedicata nel seguito, come il TeX, altri perchè non ho tempo e voglia di leggere man pages e doc di programmi che non uso. Mandatemi delle istruzioni che mi fiderò...
Non dimeticatevi di settare correttamente la vostra stampante, in modo che sia impostata per la CodePage 850.
Questo e' il nome del set di caratteri ISO-8859-1 sotto Dos. Almeno così ero convinto, visto che il manuale del dos recita ``CP 850, o tabella di caratteri Latina 1''.
Poi ho verificato (mai fidarsi di gente che guadagna troppi soldi l'anno...) e non è propriamente la stessa cosa.
L'unica soluzione è fare un filtro per fare una traslazione in fase di stampa, o stampare in qualche altro formato, tipo PostScript.
Se qualcuno si offre volontario per fare o ha già fatto un filtro in sed, awk, perl o un'altro qualsiasi di questi ammenicoli, si faccia vivo, e si renda disponibile.
Capitolo Successivo, Capitolo Precedente
Indice di questo capitolo, Indice generale
Inizio del documento, Inizio di questo Capitolo