s i s t e m a o p e r a c i o n a l m a g n u x l i n u x | ~/ · documentação · suporte · sobre |
Next
Previous
Contents
4. Altre localizzazioni
Qui si vogliono trattare quelle localizzazioni che sono un po' piú hardware-dipendenti, meno standard e in particolar modo che riguardano i PC compatibili. Molto probabilmente molte di queste cose non si applicano alle altre piattaforme su cui gira Linux, ne chiedo venia. Ma o mi regalate un PPC, una Sparc, un Alpha, un A4000, un MAC, ... oppure se avete altre note per queste piattaforme da aggiungere fatemelo sapere. ;-)
4.1 Font in console
Linux permette di cambiare il font standard presente nella ROM della
scheda video, in modo da avere il set di caratteri ISO-8859-1 completo a
disposizione. La cosa può essere semplicemente ottenuta con uno script
del genere, da eseguire al boot (in Debian basta copiarlo nella
directory
#!/bin/sh # qualche variabile... # # font Latin1 (ISO-8859-1) CONSOLE_FONT=lat1u-16.psf # mappa nulla CONSOLE_MAP=trivial if [ -x /usr/bin/setfont ]; then echo -n "Setting up ISO 8859-1 font" setfont /usr/share/consolefonts/$CONSOLE_FONT echo -n "." mapscrn /usr/share/consoletrans/$CONSOLE_MAP echo -n "." for do echo -ne '\033(B' > /dev/tty$N done echo ". done." fi Il primo comando carica un nuovo set di caratteri, il secondo permette di eseguire una traduzione ``al volo'' tra caratteri richiesti e voluti e il terzo rende attiva la nuova coppia tabella-tavola di traslazione in ogni console. Ad esempio di default non viene caricata nessuna tabella e viene eseguita la traduzione da Latin1 (quello che Linux vuole) a CP437 (quello che il PC ha). Ovviamente le manpages di setfont(1) e mapscrn(1) sono utili letture.
Debian
Se si ha un sistema Debian 2.0 semplicemente il file
CONSOLE_FONT=lat1u-16.psf CONSOLE_MAP=trivial (da Lorenzo Maria Catucci).
SVGATextMode
Ma c'è una soluzione piú elegante. Esiste un programma che si chiama SVGATextMode(8) che fa tutta una serie di operazioni sulla console testo molto simpatiche. Permette di definire dimensioni ``non standard'' per la console (diverse da 80x25, insomma), permette di alzare la frequenza di refresh del video di modo da stancare meno gli occhi, gestisce chipset avanzati... Ha un file di configurazione, Basta modificare leggermente il file, facendo in modo che si presenti all'incirca come:
[...] Option "LoadFont" FontProg "/usr/bin/setfont" FontPath "/usr/share/consolefonts" FontSelect "lat1u-16.psf" 8x16 9x16 8x15 9x15 FontSelect "lat1u-14.psf" 8x14 9x14 8x13 9x13 FontSelect "lat1u-12.psf" 8x12 9x12 8x11 9x11 FontSelect "lat1u-08.psf" 8x8 9x8 8x7 9x7 FontSelect "lat1u-08.psf" 8x32 9x32 8x31 9x31 [...] e si ottengono magicamente i caratteri Latin1, e molto di piú.
4.2 Font in X
Buona parte dei caratteri installati con X seguono lo standard Latin1, e idem i font PostScript normalmente reperibili (come quelli dell'ATM). Inoltre sta facendo la sua comparsa il primo font server TrueType; I font TrueType sono organizzati secondo un set di caratteri che è un superset del Latin1 (MicroSoft chiaramente fa sempre di testa sua, e mette caratteri dove lo standard lo vieta esplicitamente...), e quindi non dovrebbero dare problemi neanche loro.
4.3 Stampante e DOS
Se stampate file DVI, PostScript o comunque in grafica, non ci sono problemi. Ci penserà il vostro programma per la stampa a convertire il vostro file nel formato matrice-di-punti più consono alla vostra stampante. Ma se volete stampare in puro testo, senza formattazioni? Resta, soprattutto per le stampanti ad aghi, il metodo più veloce. Ma quanto è standard il set ISO-8859-1? ISO-8859-1 è il set di caratteri di Unix in generale, di Windows, Amiga, OS/2. Mancano all'appello il DOS e Macintosh. Ma in DOS la CP850 è in pratica il set Latin1, con i caratteri rimescolati un po' per essere compatibile verso il basso con la CP437. Sentitevi liberi quindi da qualsiasi ``sindrome da 8 bit'', e usate tranquillamente questo set di caratteri. Se dovete importare dei testi Linux in Macintosh, semplicemente usate il filtro per ``puro testo Windows'' o cose simili. Se volete stampare puro testo con le accentate da Linux, a questo punto non vi resta che provare una delle soluzioni seguenti:
Chiaramente, per le ultime tre soluzioni, è il caso di utilizzare anche da DOS (se avete un sistema dual boot) la CP819 o in mancanza d'altro la CP850; per configurare la gestione del set di caratteri DOS, leggete le manpage, hem (la forza dell'abitudine! O;) il manuale dei comandi COUNTRY e MODE CON. Inoltre se la confusione attorno alle sigle dei vari set di caratteri sale, potete anche leggere le man page ascii(7) e latin1(7).
Un esempio di filtro
Per avere automaticamente la conversione, si può utilizzare questo filtro:
#!/bin/sh if /usr/local/bin/recode latin1:cp850 then exit 0 else exit -1 fi potete salvare questo filtro come
# esempio di filtro, sostituire ``lp2'' con il device corretto # i file log e acct vanno creati se utilizzati, nei contesti # normali non serve sapere chi usa e quante pagine stampa ogni # utente! ;) # cp850|dos:\ :lp=/dev/lp2:\ :sd=/var/spool/lp2:\ :lf=/var/spool/lp2/log:\ :af=/var/spool/lp2/acct:\ :if=/var/local/bin/iso2850:\ :sh: Ora, se la stampante è impostata per usare la codepage 850, basta un bel
4.4 libpaper
Libpaper è una piccola libreria e un programmino che dovrebbe
``standardizzare'' la gestione dei formati di carta sotto linux.
In pratica fornisce delle funzioni da linkare al proprio programma che
permettono di usare delle informazioni sul formato di carta centralizzate
(prese da In Debian è installata di default e gs la usa. Potrebbe essere una cosa utile, e va incentivata. Maggiori informazioni le potete trovare alla manpage di paperconf(1), ovviamente se avete libpaper installata nel vostro sistema.
4.5 Per maggiori informazioni
Next Previous Contents |