I font di default che vengono distribuite con X11 non sono certo ideali per il tipico desktop di pubblicazione. I font grandi delle presentazioni appaiono confuse e non professionali, e i piccoli font in Netscape® sono quasi illeggibili. Comunque, ci sono molti font Type1 gratis e di alta qualità (PostScript®) disponibili che possono essere usate subito con X11. Ad esempio la collezione dei font URW (x11-fonts/urwfonts) include versioni di alta qualità di font standard type1 (Times Roman®, Helvetica®, Palatino® ed altre). La collezione Freefonts (x11-fonts/freefonts) include molti altri font, ma la maggior parte di loro sono fatte per essere usate con software grafico come Gimp e non sono abbastanza complete per essere usate come font di schermo. Inoltre, X11 può essere configurato per usare i font TrueType® con un minimo sforzo. Per ulteriori dettagli leggi la pagina di manuale di X(7) o la sezione sui font TrueType®.
Per installare la collezione dei font Type1 sopra citate, esegui il seguente comando:
#
cd /usr/ports/x11-fonts/urwfonts
#
make install clean
E in maniera analoga per freefont o altre collezioni. Per fare
sì che l'X server usi questi font, aggiungi una linea
appropriata al file di configurazione dell'X server
(/etc/X11/xorg.conf
), simile a questa:
FontPath "/usr/local/lib/X11/fonts/URW/"
Alternativamente, alla command line in una sessione di X esegui:
%
xset fp+ /usr/local/lib/X11/fonts/URW
%
xset fp rehash
Questo funzionerà ma sarà perso quando la sessione
X viene chiusa, a meno che non sia aggiunto al file di startup
(~/.xinitrc
per una normale sessione
startx
, o ~/.xsession
quando ci
si logga attraverso un
login manager grafico come XDM).
Un terzo modo è usare il nuovo file
/usr/local/etc/fonts/local.conf
: consulta la
sezione su anti-aliasing.
Xorg ha il supporto nativo per rendere
i font TrueType®. Ci sono due differenti moduli che possono abilitare
questa funzionalità. Il modulo freetype è usato in questo
esempio perchè è più consistente con gli altri
back-end di rendering degli altri font. Per abilitare il modulo
freetype basta che aggiungi la seguente linea nella sezione
"Module"
del file
/etc/X11/xorg.conf
:
Load "freetype"
Adesso crea una directory per i font TrueType® (ad
esempio /usr/local/lib/X11/fonts/TrueType
)
e copia tutte i font TrueType® in questa directory. Ricordati
che i font TrueType® non possono essere prese direttamente da un
Macintosh®, devono essere in formato UNIX®/MS-DOS®/Windows® per
essere usate da X11. Una volta che i file sono stati copiati in questa
directory, usa il comando ttmkfdir per
creare un file fonts.dir
, così che il
renderer di font X sappia che questi nuovi file sono stati installati.
ttmkfdir
è disponibile dalla Collezione dei
Ports di FreeBSD come
x11-fonts/ttmkfdir.
#
cd /usr/local/lib/X11/fonts/TrueType
#
ttmkfdir -o fonts.dir
Adesso aggiungi la directory TrueType® al percorso dei font. È lo stesso procedimento seguito sopra per i font Type1, ovvero usa
%
xset fp+ /usr/local/lib/X11/fonts/TrueType
%
xset fp rehash
o aggiungi una linea FontPath
al file
xorg.conf
.
Questo è tutto. Adesso Netscape®, Gimp, StarOffice™ e tutte le altre applicazioni X dovrebbero riconoscere i font TrueType® installate. I font molto piccoli (come del testo mostrato in alta risoluzione su una pagina web) e font estremamente grandi (all'interno di StarOffice™) avranno un'apparenza molto migliore.
L'anti-aliasing dei font è stato disponibile per X11 a
partire da XFree86™ 4.0.2. Tuttavia la
configurazione dei font era complicata prima dell'introduzione di
XFree86™ 4.3.0. A partire da
XFree86™ 4.3.0, tutte i font in X11 che sono
trovati sotto le directory
/usr/local/lib/X11/fonts/
e
~/.fonts/
sono automaticamente resi disponibili
per l'anti aliasing ad applicazioni con supporto per Xft. Non tutte le
applicazioni lo hanno, ma molte hanno ricevuto supporto per Xft.
Esempi di applicazioni con supporto per Xft includono Qt 2.3 e
successivi (il toolkit per il desktop KDE),
GTK+ 2.0 e successivi (il toolkit per il desktop
GNOME) e
Mozilla 1.2 e successivi.
Per controllare quali font sono anti-aliased, o per configurare
delle proprietà anti-alias, crea (o edita, se esiste già)
il file /usr/local/etc/fonts/local.conf
. Molte
caratteristiche avanzate del sistema di font Xft possono essere
configurate usando questo file; questa sezione descrive solo alcune
semplici possibilità. Per ulteriori dettagli, consulta
fonts-conf(5).
Questo file deve essere in formato XML. Presta particolare
attenzione al case, e accertati che tutti i tag siano chiusi
propriamente.
Il file inizia con l'header usuale XML seguito da una definizione
DOCTYPE, poi usa il tag <fontconfig>
:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig>
Come ricordato in precedenza, tutti i font in
/usr/local/lib/X11/fonts/
così come
quelli in ~/.fonts/
sono già resi
disponibili alle applicazioni pronte per Xft. Se desideri aggiungere
un'altra directory fuori da queste due alberature di directory,
aggiungi una linea simile a questa in
/usr/local/etc/fonts/local.conf
:
<dir>/path/to/my/fonts</dir>
Dopo aver aggiunto i nuovi font, e specialmente nuove directory, dovresti eseguire questo comando per ricostruire la cache dei font:
#
fc-cache -f
L'anti-aliasing rende i bordi un pò confusi, il che rende il testo piccolo più leggibile e rimuove le «scale» dal testo grande, ma può causare una cattiva visuale se applicato al testo normale. Per escludere i font di dimensione minore di 14 punti dall'anti-aliasing includi le seguenti linee:
<match target="font"> <test name="size" compare="less"> <double>14</double> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> <match target="font"> <test name="pixelsize" compare="less" qual="any"> <double>14</double> </test> <edit mode="assign" name="antialias"> <bool>false</bool> </edit> </match>
Anche lo spazio per alcuni font a spazio singolo potrebbe essere inappropriato con l'anti-aliasing. Questo pare che sia un problema in particolare con KDE. Una possibile soluzione a questo è forzare lo spazio di questi font a 100. Aggiungi le seguenti linee:
<match target="pattern" name="family"> <test qual="any" name="family"> <string>fixed</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> <match target="pattern" name="family"> <test qual="any" name="family"> <string>console</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match>
(questo crea un alias per altri nomi comuni di font a dimensione
fissa come "mono"
), e poi aggiungi:
<match target="pattern" name="family"> <test qual="any" name="family"> <string>mono</string> </test> <edit name="spacing" mode="assign"> <int>100</int> </edit> </match>
Alcuni font, come Helvetica, potrebbero avere un problema quando
sono resi anti-alias. In genere questo si manifesta come un font che
sembra tagliato in verticale. Nella peggiore delle ipotesi, questo
potrebbe causare
il crash delle applicazioni come Mozilla.
Per evitarlo, considera di aggiungere queste linee a
local.conf
:
<match target="pattern" name="family"> <test qual="any" name="family"> <string>Helvetica</string> </test> <edit name="family" mode="assign"> <string>sans-serif</string> </edit> </match>
Quando hai finito di editare il file local.conf
accertati di mettere alla fine del file il tag
</fontconfig>
.
Se non lo fai le tue modifiche saranno ignorate.
Il set di font che viene di default con X11 non è molto
desiderabile quando viene reso sotto anti-alias. Un set molto migliore
può essere trovato nel port
x11-fonts/bitstream-vera.
Questo port installerà un file
/usr/local/etc/fonts/local.conf
se non esiste
già. Se il file esiste, il port creerà un file
/usr/local/etc/fonts/local.conf-vera
. Unisci il
contenuto di questo file in
/usr/local/etc/fonts/local.conf
e i font
Bitstream automaticamente rimpiazzeranno le X11 Serif di default, Sans
Serif, e Monospaced.
Alla fine, gli utenti possono aggiungere le loro impostazioni
attraverso i loro file personali .fonts.conf
.
Per farlo, ogni utente dovrebbe crearsi semplicemente un file
~/.fonts.conf
. Anche questo
file dovrebbe essere in formato XML.
Un ultimo punto: con uno schermo LCD, potrebbe essere desiderabile
una resa sub-pixel. In sostanza questo tratta le componenti rosse,
verdi e blu in modo separato per migliorare la risoluzione orizzontale;
il risultato è notevole. Per abilitarlo, aggiungi queste linee
da qualche parte nel file local.conf
:
<match target="font"> <test qual="all" name="rgba"> <const>unknown</const> </test> <edit name="rgba" mode="assign"> <const>rgb</const> </edit> </match>
A seconda del tipo di display, rgb
potrebbe essere cambiato in bgr
,
vrgb
o vbgr
: sperimenta
e vedi quale funziona meglio.
L'anti-aliasing dovrebbe essere abilitato la prossima volta che
il server X sarà avviato. Comunque, i programmi devono sapere
come avvantaggiarsene. Al momento, il toolkit Qt lo sa, così
l'intero ambiente KDE può usare font
anti-aliased. GTK+ e GNOME possono essere
rese compatibili con l'anti-aliasing attraverso il capplet
«Font» (leggi Sezione 5.7.1.3, «Font anti-aliased con GNOME» per
dettagli). Di default Mozilla 1.2 e
successivi sapranno come usare automaticamente l'anti-aliasing. Per
disabilitarlo, ricompila Mozilla con il flag
DWITHOUT_XFT
.
Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Per domande su FreeBSD, leggi la
documentazione prima di contattare
<questions@FreeBSD.org>.
Per domande su questa documentazione, invia una e-mail a
<doc@FreeBSD.org>.