Uno dei problemi più noiosi con i quali ho avuto a che fare sono gli abissabili font predefiniti e impostazioni dei font di X (sto parlando specificatamente a proposito di XFree86, altre versioni di X potrebbero essere migliori). Molti programmi usano font predefiniti di dimensione (width) fissa mentre sarebbero più appropriati font a dimensione variabile. Altri programmi usano font che sono ridicolmente piccoli e illeggibili. I font distribuiti con XFree86 sono a mala pena adeguati per al loro compito: c'è un font Courier quasi decente, ma i font Times e Helvetica sono semplici bitmap che «pixelizzano» (ndt: ovvero se ingranditi i loro contorni non sono più continui, ma tutti a gradini) quando sono scalati. Yuck!
Questo HOWTO prova a mostrare come aggiustare le diverse impostazioni dei font, installare nuovi font e come fare altre cose che migliorano considerevolmente l'aspetto e la leggibilità dei font nel desktop di X Window. Ciò è fatto sistemando il FontPath nel file XF86Config, aggiungendo opzioni alla riga di comando dell'X server in startx o in xdm, aggiungendo nuovi font, installando il server per i font True Type xfstt e usando una funzionalità della versione 1.1 del K Desktop Environment che «automagicamente» sistemerà le impostazioni dei font in molte applicazioni, incluse quelle non KDE, impostando i loro font e colori come quelli delle impostazioni di stile del KDE.
Commenti, correzioni, aggiunte e critiche sono sempre benvenuti. Mi si può raggiungere a meldroc@frii.com.
Il primo posto dove guardare quando si cerca di curare i problemi dei
font è il file XF86Config
(/usr/X11/lib/X11/XF86Config
o
/etc/X11/XF86Config
sono le posizioni usuali). Se non lo si
è già indovinato, la parte più importante di questo file relativamente
ai font è il FontPath
. Prima di andare a modificarlo,
sarebbe una buona idea dare una controllata alle altre parti della
propria configurazione di X. Impostazioni errate del monitor possono
causare ben più di un mal di testa a confronto di font brutti, quindi
ci si assicuri che la velocità di refresh sia abbastanza alta rispetto
alle possibilità del monitor (85 Hz è l'ottimo, 75 Hz vanno bene, 60 Hz
è uno schifo).
Si usi il proprio editor di testi favorito e si modifichi
XF86Config
. All'inizio del file, ci dovrebbe essere qualcosa
di simile a questo:
FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/Type1/" FontPath "/usr/X11R6/lib/X11/fonts/Speedo/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
Il FontPath
dice a X dove trovare i font che usa per
visualizzare il testo nella schermata. L'ordine è importante --
quando un applicazione X chiede la visualizzazione di un testo, il
server X solitamente ha un po' di libertà nella scelta del font da
usare. Il server scorre i FontPath
e prende il primo font
che corrisponde ai criteri del client X e poi effettua la
visualizzazione.
Il FontPath predefinito tipicamente mette i font a 75dpi (Ndt: dpi = «dot per inch» ovvero «punti per pollice») prima dei font a 100dpi. Se si ha un monitor ad alta risoluzione, questo implica font veramente piccoli. Il primo trucco che si userà sarà di scambiare le righe FontPath dei font a 75dpi e 100dpi.
FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/Type1/" FontPath "/usr/X11R6/lib/X11/fonts/Speedo/" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
Poi, si specifichi che si preferisce utilizzare font bitmap non
scalabili. Se si è mai usato Netscape o qualsiasi altro programma che
mostra i titoli utilizzando grossi font, si sarà notato che questi
font sono «pixelizzati». Questa cosa è molto brutta e deve essere
corretta. Quindi si aggiunga :unscaled
alla fine delle righe
dei font misc, 100dpi e 75dpi. Si possono pure usare sia i font non
scalabili che scalabili, basta mettere per prime le righe
FontPath
dei font non scalabili per dire a X che si
preferiscono, ove possibile, questi ultimi.
FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/Type1" FontPath "/usr/X11R6/lib/X11/fonts/Speedo" FontPath "/usr/X11R6/lib/X11/fonts/misc" FontPath "/usr/X11R6/lib/X11/fonts/100dpi" FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
Dopo aver fatto queste modifiche, si riavvii X. Il proprio desktop non sembra già meglio?
La prossima cosa che si deve sistemare sono le opzioni in riga di
comando per il server X. Si vorrà usare l'opzione -dpi
che
specifica la risoluzione dello schermo in punti per pollice. Poiché
un sacco di sistemi odierni utilizzano schermi ad alta risoluzione, è
facile che funzionino a 100 dpi.
Se si avvia X dal prompt dei comandi della console, si digiti
startx -dpi 100.
Se si usa xdm per i login in grafica, si dovrà modificare il proprio
file /usr/X11/lib/X11/xdm/Xservers
, che contiene la riga di
comando per il server X. Il mio ha questa riga
:0 local /usr/X11R6/bin/X -dpi 100 -gamma 1.6
Maggiori informazioni nelle pagine man di X e Xserver.
Poiché i ragazzi a Redmond ci tengono molto all'aspetto del loro software (diversamente dal funzionamento interno ;) hanno costruito i supporto per i font TrueType dentro a Windows. Windows 95 e praticamente qualsiasi altra variante di Windows viene distribuito con i font Arial, Times New Roman e Courier New, che sono praticamente equivalenti agli Helvetica, Times e Courier. I font TrueType sono scalabili, quindi sono belli anche se usati a grandi dimensioni, e sono pure ben riducibili, quindi vanno benissimo anche piccoli. Molte applicazioni Windows sono distribuite con dozzine di font TrueType. Quindi si aspetti ancora un po' prima di mettere nel micronde il proprio CD di Windows, prima si prendano i font.
Sfortunatamente, XFree86 non ha il supporto nativo per i font TrueType e quindi bisogna aggiungerlo per proprio conto. Il modo più semplice per farlo è con xfstt, un server per i font TrueType libero.
xfstt è molto facile da installare. Per prima cosa si scarichi l'archivio tar dal web. La versione più aggiornata è a http://metalab.unc.edu/pub/Linux/X11/fonts/Xfstt-0.9.10.tgz
Una volta scaricato, lo si decomprima.
tar -zxvf Xfstt-0.9.10.tgz
Poi lo si compili e lo si installi. Si legga il file INSTALL per le
istruzioni veloci, ma l'installazione non è una cosa
cervellotica. Tutto quel che si deve fare è make; make
install
. Una volta fatto, si copino i font TrueType in
/usr/ttfonts
e si è pronti a partire. Si lanci xfstt
digitando:
xfstt --sync # aggiorna la base di dati dei font di xfstt. xfstt & # avvia xfstt in background.
Poi si lanci
xset +fp unix/:7100 # informa X su xfstt
o si aggiunga
FontPath "unix/:7100"
al proprio XF86Config
per informare X sul servizio font.
Se i propri font TrueType appaiono molto piccoli, i seguenti comandi possono aiutare.
Si aggiunga l'opzione -dpi
alla riga di comando del proprio X
server (si veda la sezione 3 per sapere come farlo).
Si usi l'opzione --res
per dire a xfstt di incrementare
la risoluzione predefinita. Si usi la seguente riga di comando:
xfstt --res 120
xfs è un font server alternativo che ora viene incluso nelle distribuzioni basate su RedHat. xfs si basa sulla libreria FreeType Font e fornisce funzionalità simili a xfstt. È in grado di servire sia i font TrueType che Type 1, nonché tutti i vari font standard di X.
Il primo passo è l'aggiunta dei font TrueType al proprio sistema
Linux. Si faccia su root
e si crei una directory per conservare
i font:
mkdir /usr/share/fonts/ttfonts
Poi si aggiungano i font a questa directory, o copiandoli dal proprio sistema Windows:
cp /mnt/win/path_to_fonts/*ttf /usr/share/fonts/ttfonts/
oppure scaricando quelli disponibili direttamente dalla Microsoft.
Questi font sono contenuti in un archivio zip autoscompattante. Si può comunque installare anche sotto Linux:
unzip <TTFONT.EXE>
Si noti che i nomi di file dei font devono essere in minuscolo. Un modo semplice e veloce per convertirli è di copiarli in un filesystem DOS (FAT16) e poi ricopiarli dove prima. DOS non conserva le maiuscole. Se si vuole un metodo «linuxiano», si vada nella directory contenente i font e si digiti quanto segue:
ls *TTF | while read f do [ -f "$f" ] && mv -f "$f" "`echo \"$f\" | tr A-Z a-z`" done
Mentre si scrive ciascuna riga si otterrà il prompt «>» dopo aver premuto «Invio» al termine di ciascuna delle suddette righe. Si noti la punteggiatura: quegli «apici rovesciati» sono importanti! Una volta installati correttamente i font TrueType, come root:
ttmkfdir -o fonts.scale mkfontdir
Si riusino questi comandi ogni volta che cambia il contenuto della directory dei font. Dopodiché, si modifichi il file di configurazione di xfs, /etc/X11/fs/config, per aggiungere i font TrueType alla lista di font del server:
catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled, /usr/X11R6/lib/X11/fonts/100dpi:unscaled, /usr/X11R6/lib/X11/fonts/75dpi:unscaled, /usr/X11R6/lib/X11/fonts/misc, /usr/X11R6/lib/X11/fonts/Type1, /usr/X11R6/lib/X11/fonts/Speedo, /usr/share/fonts/default/Type1, /usr/share/fonts/ttfonts, /usr/X11R6/lib/X11/fonts/100dpi, /usr/X11R6/lib/X11/fonts/75dpi
In alternativa, per aggiungere font si può usare il comando `chkfontpath --add <font>'. Mentre lo si sta facendo si potrebbe cambiare anche la dimensione in punto predefinita.
default-point-size = 140
Questo la imposta a 14 punti, invece dei 12 predefiniti. Alcune applicazioni X la usano, altre no. Poi ci si assicuri che la riga FontPath in /etc/X11/XF86Config sia:
FontPath "unix/:-1"
Si noti che anche «unix/:7100» potrebbe fare questo trucchetto, ma non funziona nella versione iniziale. Si commenti con «#» qualsiasi altro FontPath già esistente in quanto non se ne ha più bisogno. Il pacchetto xfs stesso dovrebbe essere già stato installato assieme con gli altri pacchetti di XFree. Per assicurarsi che giri come uno dei servizi predefiniti si usi 'ntsysv' oppure
chkconfig --add xfs
Ora xfs verrà lanciato ogni volta che si riavvia. Poi si riavvii X per forzare i nuovi FontPath e per far si che si accorgai della presenza di xfs che si può lanciare/rilanciare con:
/etc/rc.d/init.d/xfs restart
Ora si dovrebbe avere un font server funzionante. Si può controllare quali sono i font serviti con:
xlsfonts | less
o controllarli utilizzando xfontsel o, ancora meglio, gfontsel!
KDE è una delle cose migliori accadute a Linux e X da tanto tempo. Fornisce un'interfaccia utente uniforme che è un grosso passo avanti nel fornire un Linux accessibile a qualsiasi utente medio. Maggiori informazioni su KDE possono essere trovate a http://www.kde.org/. Perché ne sto tessendo le lodi qui? Perché KDE 1.1 ha una nuova funzionalità che farà sì che i font e i colori nei programmi, inclusi quelli non KDE, siano consistenti con lo stile corrente di KDE.
È molto facile. Semplicemente si lanci il KDE Control Center, si vada sotto Desktop e da lì in Style. Là ci dovrebbe essere un pulsante etichettato «Apply fonts and colors to non-KDE apps». Lo si abiliti, si clicchi su OK e tutto è fatto! La prossima volta che si lancerà applicazioni X, queste useranno gli stessi colori e font che usano le applicazioni KDE. Ad alcuni questa possibilità piace più che ad altri, e se non piace la si può sempre disabilitare.
Netscape Communicator è particolarmente suscettibile a problemi di font. Se si stanno usando i FontPath predefiniti, i propri font saranno molto piccoli e veramente brutti. La prima cosa da fare è di correggere i FontPath del proprio XF86Config (si veda la sezione 2). L'uso di font a 100dpi migliora immensamente la leggibilità. Si potrebbe anche controllare le impostazioni dei font andando in Edit/Preferences e da lì sotto Appearance/Fonts. Per venir a capo della «pixelizzazione» dei font bitmap, si disabiliti l'opzione «Allow Scaling» nella selezione dei font.
Se si ha xfstt o xfs, Netscape è perfettamente in grado si usarli
tranquillamente. In Edit/Preferences, si possono specificare font
TrueType sia per i font a larghezza fissa che variabile, ma comunque
Netscape non si ricorderà dopo averlo chiuso la dimensione che si era
scelta. Se non si è usata l'opzione -dpi
quando si è
lanciato l'X server o l'opzione --res
di xfstt, si otteranno
font veramente piccoli. Una volta applicate queste due cose, i font
TrueType funzionano alla grande.
Presto in arrivo.
Presto in arrivo.
Creato da Doug Holland
Email: meldroc@frii.com
WWW: http://www.frii.com/~meldroc/
Contributi aggiuntivi di:
Ringraziamenti a:
Copyright © 1999 by Doug Holland.
Unless otherwise stated, Linux HOWTO documents are copyrighted by their respective authors. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions.
All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator for more information.
In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would very much like to be notified of any plans to redistribute the HOWTOs, this one in particular! Web page authors are free to link to this HOWTO without restriction, though the author would appreciate an email informing him of this, just so he can boost his ego by knowing who else reads and links to this document.
Many of the terms mentioned in this document are trade names. Unless otherwise stated, all trademarks are property of their respective owners.