14.3. Installazione e configurazione di font

L'installazione di font aggiuntivi In SUSE Linux è un'operazione di facile esecuzione. È sufficiente, infatti, copiare i font in qualsiasi directory nel percorso dei font di X11 (vedere la Sezione 14.3.1, "Font di base di X11"). Per poter utilizzare i font è necessario installarli in una sottodirectory delle directory configurate in /etc/fonts/fonts.conf (vedere la Sezione 14.3.2, "Xft").

Se si dispone dei privilegi di root, è possibile copiare i file dei font manualmente in una directory appropriata, ad esempio /usr/X11R6/lib/X11/fonts/truetype. In alternativa, è possibile eseguire questo task tramite l'utility di installazione dei font disponibile nel centro controllo KDE. Il risultato di tali operazioni è identico.

È inoltre possibile creare collegamenti simbolici anziché copiare i font effettivi. È possibile, ad esempio, eseguire questo tipo di operazione per utilizzare i font con licenza disponibili in una partizione Windows montata. In questo caso, eseguire SuSEconfig --module fonts.

SuSEconfig --module fonts consente di eseguire lo script /usr/sbin/fonts-config tramite il quale viene gestita la configurazione dei font. Per informazioni sul funzionamento di questo script, vedere la relativa documentazione (man fonts-config).

La procedura di installazione è identica per i font bitmap, TrueType e OpenType, nonché per i font Type1 (PostScript). È possibile installare questi tipi di font in qualsiasi directory. Per installare i font CID-keyed è invece necessario procedere in modo diverso. Per informazioni, vedere la Sezione 14.3.3, "Font CID-keyed".

In X.Org sono inclusi due sistemi di font completamente diversi tra loro, ovvero il sistema di font di base di X11 e il nuovo sistema Xft e fontconfig. Nelle sezioni seguenti vengono brevemente descritti tali sistemi.

14.3.1. Font di base di X11

Il sistema di font di base di X11 supporta attualmente sia i font bitmap sia i font ridimensionabili, ad esempio i font Type1, TrueType, OpenType e CID-keyed. I font ridimensionabili sono supportati senza antialias né rendering dei subpixel. Il caricamento di font ridimensionabili di grandi dimensioni con glifi per numerose lingue può inoltre richiedere una notevole quantità di tempo. Sono supportati anche i font Unicode, anche se il loro utilizzo può rallentare le prestazioni e occupare maggiore memoria.

Il sistema di font di base di X11 presenta alcuni svantaggi. Si tratta infatti di un sistema obsoleto che non consente un ulteriore sviluppo significativo. Sebbene sia necessario mantenerlo per motivi di compatibilità con le versioni precedenti, è consigliabile utilizzare il più moderno sistema Xft e fontconfig.

Per il corretto funzionamento del server X, è necessario che quest'ultimo sia in grado di individuare i font disponibili nel sistema. A questo scopo, viene utilizzata la variabile FontPath che contiene il percorso di tutte le directory dei font di sistema valide. In ogni directory è presente un file denominato fonts.dir nel quale sono elencati i font disponibili nella directory stessa. FontPath viene generata dal server X all'avvio. Viene quindi eseguita una ricerca del file fonts.dir valido in ognuna delle voci di FontPath nel file di configurazione /etc/X11/xorg.conf. Queste voci si trovano nella sezione Files. È possibile visualizzare la variabile FontPath effettiva mediante il comando xset q. xset consente inoltre di modificare il percorso al runtime. Per aggiungere un nuovo percorso, utilizzare xset +fp <path>. Per rimuovere un percorso indesiderato, utilizzare xset -fp <path>.

Se il server X è già attivo, è possibile rendere disponibili i font appena installati nelle directory montate mediante il comando xset fp rehash. Questo comando viene eseguito da SuSEconfig --module fonts. Poiché il comando xset deve accedere al server X quando quest'ultimo è in esecuzione, è necessario che SuSEconfig  --module fonts venga avviato da una shell che dispone dell'accesso al server X in esecuzione. Il modo più semplice per eseguire questa operazione consiste nell'assumere le autorizzazioni dell'utente root e immettere il comando su, nonché la relativa password. Il comando su consente di trasferire le autorizzazioni di accesso dell'utente che ha avviato il server X alla shell root. Per verificare che i font siano stati installati correttamente e siano disponibili tramite il sistema di font di base di X11, utilizzare il comando xlsfonts per visualizzarne un elenco.

Per default, in SUSE Linux vengono utilizzate le impostazioni internazionali UTF-8. È pertanto consigliabile utilizzare i font Unicode, ovvero quelli il cui nome termina con iso10646-1 nell'output di xlsfonts. È possibile visualizzare l'elenco di tutti i font Unicode disponibili mediante xlsfonts | grep iso10646-1. La maggior parte dei font Unicode disponibili in SUSE Linux include almeno i glifi necessari per le lingue europee (precedentemente indicate con la codifica iso-8859-*).

14.3.2. Xft

I programmatori che hanno progettato il sistema Xft si sono accertati fin dall'inizio che i font ridimensionabili dotati di antialias fossero supportati correttamente. Se si utilizza Xft, il rendering dei font viene eseguito dall'applicazione che li utilizza e non dal server X, come invece avviene nel caso del sistema di font di base di X11. In questo modo, l'applicazione in uso può accedere ai file effettivi dei font e controllare l'intero processo di rendering dei glifi. Ciò è essenziale per la visualizzazione corretta del testo in numerose lingue. L'accesso diretto ai file dei font risulta particolarmente utile ai fini dell'incorporazione dei font per la stampa in modo da garantire la conformità dell'output di stampa a quello dello schermo.

In SUSE Linux, Xft viene utilizzato per default negli ambienti desktop KDE e GNOME, in Mozilla, nonché in numerose altre applicazioni. Il sistema Xft viene attualmente utilizzato da un numero di applicazioni superiore rispetto al meno recente sistema di font di base di X11.

Per individuare i font e determinarne la modalità di rendering nell'ambito del sistema Xft viene utilizzata la libreria fontconfig. Le proprietà di fontconfig vengono definite nel file di configurazione globale /etc/fonts/fonts.conf e nel file di configurazione specifico dell'utente ~/.fonts.conf. Entrambi i file di configurazione di fontconfig devono iniziare con:


<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>

e terminare con

</fontconfig>

Per specificare ulteriori directory in cui eseguire le ricerche dei font, aggiungere righe del tipo seguente:

<dir>/usr/local/share/fonts/</dir>

In genere, questo tipo di modifica non è necessario. Per default, la directory specifica dell'utente ~/.fonts è già presente in /etc/fonts/fonts.conf. È quindi sufficiente copiare i font aggiuntivi nella directory ~/.fonts per installarli.

È inoltre possibile definire regole in base alle quali viene determinato l'aspetto dei font. È possibile, ad esempio, immettere:


<match target="font">
 <edit name="antialias" mode="assign">
  <bool>false</bool>
 </edit>
</match>

per disabilitare l'antialias per tutti i font oppure


<match target="font">
 <test name="family">
  <string>Luxi Mono</string>
  <string>Luxi Sans</string>
 </test>
 <edit name="antialias" mode="assign">
 <bool>false</bool>
 </edit>
</match>

per disabilitare l'antialias solo per font specifici.

Per default, nella maggior parte delle applicazioni vengono utilizzati i nomi di font sans-serif (o l'equivalente sans), serif o monospace. Si tratta di alias che vengono risolti nei font appropriati in base all'impostazione della lingua, non di font effettivi.

Gli utenti possono aggiungere facilmente regole a ~/.fonts.conf per risolvere tali alias nei font desiderati:


<alias>
 <family>sans-serif</family>
 <prefer>
  <family>FreeSans</family>
 </prefer>
</alias>
<alias>
 <family>serif</family>
 <prefer>
  <family>FreeSerif</family>
 </prefer>
</alias>
<alias>
 <family>monospace</family>
 <prefer>
  <family>FreeMono</family>
 </prefer>
</alias>

Poiché gli alias vengono utilizzati per default dalla maggior parte delle applicazioni, questo aspetto interessa quasi tutto il sistema. Ciò significa, inoltre, che nella maggior parte dei casi è possibile utilizzare i font desiderati senza la necessità di modificarne le impostazioni per le singole applicazioni.

Utilizzare il comando fc-list per determinare quali font sono installati e disponibili. Il comando fc-list consente ad esempio di visualizzare un elenco di tutti i font. Per individuare i font ridimensionabili (:scalable=true) che contengono tutti i glifi necessari per la lingua ebraica (:lang=he), con l'indicazione dei nomi (family), dello stile (style), dello spessore (weight), nonché i nomi dei rispettivi file, immettere il comando seguente:

fc-list ":lang=he:scalable=true" family style weight

L'output di questo comando risulterà analogo al seguente:

    

FreeSansBold.ttf: FreeSans:style=Bold:weight=200
FreeMonoBoldOblique.ttf: FreeMono:style=BoldOblique:weight=200
FreeSerif.ttf: FreeSerif:style=Medium:weight=80
FreeSerifBoldItalic.ttf: FreeSerif:style=BoldItalic:weight=200
FreeSansOblique.ttf: FreeSans:style=Oblique:weight=80
FreeSerifItalic.ttf: FreeSerif:style=Italic:weight=80
FreeMonoOblique.ttf: FreeMono:style=Oblique:weight=80
FreeMono.ttf: FreeMono:style=Medium:weight=80
FreeSans.ttf: FreeSans:style=Medium:weight=80
FreeSerifBold.ttf: FreeSerif:style=Bold:weight=200
FreeSansBoldOblique.ttf: FreeSans:style=BoldOblique:weight=200
FreeMonoBold.ttf: FreeMono:style=Bold:weight=200

Parametri importanti che possono essere utilizzati con il comando fc-list:

Tabella 14.2. Parametri di fc-list

Parametro

Descrizione e valori consentiti

family

Nome della famiglia di font, ad esempio FreeSans.

foundry

Il produttore del font, ad esempio urw.

style

Lo stile del font, ad esempio Medium, Regular, Bold, Italic, Heavy.

lang

La lingua supportata dal font, ad esempio de per il tedesco, ja per il giapponese, zh-TW per il cinese tradizionale o zh-CN per il cinese semplificato.

weight

Lo spessore del font, ad esempio 80 per normale, 200 per il grassetto.

slant

L'inclinazione, in genere 0 per nessuna e 100 per il corsivo.

file

Il nome del file contenente il font.

outline

true per i font vettoriali, false gli altri tipi di font.

scalable

true per i font scalabili, false gli altri tipi di font.

bitmap

true per i font bitmap, false gli altri tipi di font.

pixelsize

La dimensione dei font espressa in pixel. Per quanto concerne fc-list, questa opzione è valida solo per i font bitmap.

14.3.3. Font CID-keyed

A differenza degli altri tipi di font, i font CD-keyed non possono essere installati in una directory qualsiasi. È necessario installare questo tipo di font in /usr/share/ghostscript/Resource/CIDFont. In effetti, ciò non è rilevante per Xft e fontconfig, ma è essenziale per Ghostscript e per il sistema di font di base di X11.

[Tip]Suggerimento

Per ulteriori informazioni sui font in X11, visitare il sito http://www.xfree86.org/current/fonts.html.