Migliorare l'aspetto dei font: differenze tra le versioni

Aggiornamento per nuova stable + piccole correzioni
(modificato categoria principale in Configurare Debian)
(Aggiornamento per nuova stable + piccole correzioni)
Riga 2: Riga 2:


= Introduzione =
= Introduzione =
Molti nuovi utenti di Debian, subito dopo l'installazione, si lamentano del brutto aspetto che hanno i caratteri (mentre alcuni invece piacciono, de gustibus). Il problema risiede principalmente nella configurazione predefinita di Debian, che non imposta il [http://en.wikipedia.org/wiki/Font_rasterization rendering dei caratteri] adeguatamente.
Molti nuovi utenti di Debian, subito dopo l'installazione, si lamentano del brutto aspetto che hanno i caratteri (mentre ad alcuni invece piacciono, de gustibus). Il problema risiede principalmente nella configurazione predefinita di Debian, che non imposta il [http://en.wikipedia.org/wiki/Font_rasterization rendering dei caratteri] adeguatamente.


Ci sono vari modi e tanti parametri per migliorare il rendering, di seguito si farà una carrellata quanto più esplicativa possibile (spero). Ulteriori approfondimenti sull'argomento si possono leggere nell'ultimo capitolo "[[Migliorare l'aspetto dei font#Riferimenti|Riferimenti]]".<br>
Ci sono vari modi e tanti parametri per migliorare il rendering, di seguito si farà una carrellata quanto più esplicativa possibile (spero). Ulteriori approfondimenti sull'argomento si possono reperire nell'ultimo capitolo "[[Migliorare l'aspetto dei font#Riferimenti|Riferimenti]]".<br>
A chi invece interessa solo il risultato finale può leggere direttamente la "[[Migliorare l'aspetto dei font#Guida rapida|Guida rapida]]".
A chi invece interessa solo il risultato finale può leggere direttamente la "[[Migliorare l'aspetto dei font#Guida rapida|Guida rapida]]".


Riga 12: Riga 12:


= Fontconfig =
= Fontconfig =
Tra le varie funzioni di ''Fontconfig'' c'è anche quella di indicare a ''FreeType'' come disegnare i caratteri. Ad esempio può essere configurato per usare l'antialiasing su tutti i font tranne che su quelli di lingua orientale, oppure può disabilitare l'hinting su un determinato font quando questo è di dimensioni inferiori a 8 punti.
Tra le varie funzioni di ''Fontconfig'' c'è anche quella di indicare a ''FreeType'' come disegnare i caratteri. Ad esempio può essere configurato per usare l'antialiasing su tutti i font tranne che su quelli di lingue orientali, oppure può disabilitare l'hinting su un determinato font quando questo è di dimensioni inferiori a 8 punti.


La configurazione di ''Fontconfig'' si trova in <code>/etc/fonts/conf.d/</code> ed è composta da tanti file, ognuno con una sua funzione specifica, intuibile dal nome stesso del file. In realtà tutti i file di configurazione si trovano in <code>/etc/fonts/conf.avail/</code> <sup>[[Migliorare l'aspetto dei font#Jessie |nota]]</sup> e vengono creati (o rimossi) dei link simbolici in <code>/etc/fonts/conf.d/</code> in base alla caratteristica che si vuole abilitare (o disabilitare).<br>
La configurazione di ''Fontconfig'' si trova in <code>/etc/fonts/conf.d/</code> ed è composta da tanti file, ognuno con una sua funzione specifica, intuibile dal nome stesso del file. In realtà tutti i file di configurazione si trovano in <code>/usr/share/fontconfig/conf.avail/</code> e vengono creati (o rimossi) dei link simbolici in <code>/etc/fonts/conf.d/</code> in base alla caratteristica che si vuole abilitare (o disabilitare).<br>
Ad esempio se si esegue
Ad esempio se si esegue
<pre># dpkg-reconfigure fontconfig-config</pre>
<pre># dpkg-reconfigure fontconfig-config</pre>
in base alle risposte date nella procedura guidata verranno creati dei link in <code>conf.d/</code><br>
in base alle risposte date nella procedura guidata verranno creati dei link in <code>conf.d/</code><br>
Però si sconsiglia di cambiare la configurazione in questo modo perché in <code>conf.avail/</code> non sono presenti tutte le opzioni che è possibile usare per migliorare l'aspetto del font (per esempio, grossa mancanza, non c'è il file per attivare l'antialiasing). Invece di creare i file mancanti in <code>conf.avail/</code> per poi linkarli in <code>conf.d/</code> diventa molto più pratico ricorrere ad un altro metodo, illustrato di seguito.
Però si sconsiglia di cambiare la configurazione in questo modo perché in <code>conf.avail/</code> non sono presenti tutte le opzioni che è possibile usare per migliorare l'aspetto del font (per esempio, grossa mancanza, non c'è un file per attivare l'antialiasing). Invece di creare i file mancanti in <code>conf.avail/</code> per poi linkarli in <code>conf.d/</code> diventa molto più pratico ricorrere ad un altro metodo, illustrato di seguito.


Dopo aver letto la configurazione in <code>conf.d/</code>, ''Fontconfig'' cerca altre configurazioni nel file <code>/etc/fonts/local.conf</code> e poi in <code>~/.fonts.conf</code> <sup>[[Migliorare l'aspetto dei font#Jessie |nota]]</sup>. Entrambi i file servono proprio per personalizzare ''Fontconfig'' e non esistono inizialmente, a meno che non vengano creati dall'utente o da qualche software. Le impostazioni contenute in <code>/etc/fonts/local.conf</code> sono applicate a tutti gli utenti del sistema mentre quelle in <code>~/.fonts.conf</code> <sup>[[Migliorare l'aspetto dei font#Jessie |nota]]</sup>, risiedendo nella home dell'utente sono applicate solo a quel singolo utente. La sintassi dei due file è identica (come quella dei file in <code>conf.d/</code>) e possono convivere insieme.<br>
Dopo aver letto la configurazione in <code>conf.d/</code>, ''Fontconfig'' cerca altre configurazioni nel file <code>/etc/fonts/local.conf</code> e poi in <code>~/.config/fontconfig/fonts.conf</code>. Entrambi i file servono proprio per personalizzare ''Fontconfig'' e non esistono inizialmente, a meno che non vengano creati dall'utente o da qualche software. Le impostazioni contenute in <code>/etc/fonts/local.conf</code> sono applicate a tutti gli utenti del sistema, mentre quelle in <code>~/.config/fontconfig/fonts.conf</code> risiedono nella home dell'utente e sono applicate solo a quel singolo utente. La sintassi dei due file è identica (come quella dei file in <code>conf.d/</code>) e possono convivere insieme.<br>
In caso un'opzione fosse presente in più file di configurazione, ''Fontconfig'' dovrebbe usare quest'ordine di lettura, dove la priorità spetta all'ultima configurazione letta:
In caso un'opzione fosse presente in più file di configurazione, ''Fontconfig'' dovrebbe usare quest'ordine di lettura, dove la priorità spetta all'ultima configurazione letta:
# <code>/etc/fonts/conf.d/</code>
# <code>/etc/fonts/conf.d/</code>
# <code>/etc/fonts/local.conf</code>
# <code>/etc/fonts/local.conf</code>
# <code>~/.fonts.conf</code> <sup>[[Migliorare l'aspetto dei font#Jessie |nota]]</sup>
# <code>~/.config/fontconfig/fonts.conf</code>
# impostazioni font degli ambienti desktop GTK (che usano ''Xft'')
# impostazioni font degli ambienti desktop GTK (che usano ''Xft'')
A seconda di come sono impostati i parametri all'interno delle configurazioni, ciò potrebbe rendere nulla la priorità dell'ordine di lettura. Per esempio usando <code>mode="assign"</code> per impostare un valore, questo rimarrà tale anche se ne verrà impostato uno diverso successivamente (ma alcune applicazioni potrebbero anche usare l'ultimo valore letto a prescindere[http://bugs.freedesktop.org/show_bug.cgi?id=17722 *]; per informazioni <code>man fonts-conf</code>).
A seconda di come sono impostati i parametri all'interno delle configurazioni, ciò potrebbe rendere nulla la priorità dell'ordine di lettura. Per esempio usando <code>mode="assign"</code> per impostare un valore, questo rimarrà tale anche se ne verrà impostato uno diverso successivamente (ma alcune applicazioni potrebbero anche usare l'ultimo valore letto a prescindere[http://bugs.freedesktop.org/show_bug.cgi?id=17722 *]; per informazioni <code>man fonts-conf</code>).
Riga 143: Riga 143:
</fontconfig>
</fontconfig>
</pre>
</pre>
Se si usa il modello sopra per creare <code>~/.fonts.conf</code> <sup>[[Migliorare l'aspetto dei font#Jessie |nota]]</sup> bisogna sostituire tutti i <code>mode="append"</code> presenti con <code>mode="assign"</code> (quasi indispensabile per far convivere entrambe le configurazioni senza problemi di priorità).
Se si usa il modello sopra per creare <code>~/.config/fontconfig/fonts.conf</code> bisogna sostituire tutti i <code>mode="append"</code> presenti con <code>mode="assign"</code> (quasi indispensabile per far convivere entrambe le configurazioni senza problemi di priorità).
Per creare il file basta usare il proprio editor preferito (es. ''nano''). Per la configurazione di sistema:
Per creare il file basta usare il proprio editor preferito (es. ''nano''). Per la configurazione di sistema:
<pre># nano /etc/fonts/local.conf</pre>
<pre># nano /etc/fonts/local.conf</pre>
oppure per il singolo utente:
oppure per il singolo utente:
<pre>$ nano ~/.fonts.conf</pre>
<pre>$ nano ~/.config/fontconfig/fonts.conf</pre>
poi incollare il modello sopra, eventualmente modificarlo e salvare il file.<br>
poi incollare il modello sopra, eventualmente modificarlo e salvare il file.<br>
Dopo rigeneriamo la cache dei font con:
Dopo rigeneriamo la cache dei font con:
Riga 158: Riga 158:
Spesso i font hanno istruzioni di hinting codificate al loro interno e mentre alcuni possono dare un buon risultato con l'hinting "Slight", altri appariranno meglio con hinting "None", oppure con quello "Full". In ogni caso basta modificare i parametri nei file <code>.conf</code> aiutandosi con i commenti inclusi nel codice o con la documentazione (online e offline) per ottenere il risultato su schermo migliore per i vostri occhi.
Spesso i font hanno istruzioni di hinting codificate al loro interno e mentre alcuni possono dare un buon risultato con l'hinting "Slight", altri appariranno meglio con hinting "None", oppure con quello "Full". In ogni caso basta modificare i parametri nei file <code>.conf</code> aiutandosi con i commenti inclusi nel codice o con la documentazione (online e offline) per ottenere il risultato su schermo migliore per i vostri occhi.


C'è da considerare anche che l'ambiente desktop in uso può cambiare questi parametri, modificando direttamente il file <code>~/.fonts.conf</code> (KDE) o passando direttamente a ''Xft'' i propri valori di hinting con una priorità maggiore (GNOME, Xfce, LXDE).
C'è da considerare anche che l'ambiente desktop in uso può cambiare questi parametri, modificando direttamente il file <code>~/.config/fontconfig/fonts.conf</code> (KDE) o passando direttamente a ''Xft'' i propri valori di hinting con una priorità maggiore (GNOME, Xfce, LXDE).
*In ''GNOME 3'' le impostazioni predefinite sono "Hinting: Full" e "Antialiasing: Greyscale" (cioè utilizza l'autohint al posto del subpixel hinting). Dato che GNOME sovrascrive le impostazioni di sistema con le sue, è meglio installare il pacchetto ''gnome-tweak-tool'', lanciare l'omonima utility e cambiare questi valori con quelli usati in <code>/etc/fonts/local.conf</code> o in <code>~/.fonts.conf</code> <sup>[[Migliorare l'aspetto dei font#Jessie |nota]]</sup>.<br>
*In ''GNOME 3'' le impostazioni predefinite sono "Hinting: Full" e "Antialiasing: Greyscale" (Greyscale utilizza l'autohint al posto del subpixel hinting). Dato che GNOME sovrascrive le impostazioni di sistema con le sue, è meglio installare il pacchetto ''gnome-tweak-tool'', lanciare l'omonima utility e cambiare questi valori con quelli già usati nei vostri <code>/etc/fonts/local.conf</code> e/o <code>~/.config/fontconfig/fonts.conf</code>.<br>
*In ''Xfce'' e ''LXDE'' non ci dovrebbero essere conflitti con la configurazione di Fontconfig se l'utente non modifica le impostazioni dell'ambiente desktop, altrimenti vale lo stesso discorso di ''GNOME 3'' (eccetto che questi ambienti già forniscono il pannello di configurazione dei font).<br>
*In ''Xfce'' e ''LXDE'' non ci dovrebbero essere conflitti con la configurazione di Fontconfig se l'utente non modifica le impostazioni dell'ambiente desktop, altrimenti vale lo stesso discorso di ''GNOME 3'' (eccetto che questi ambienti già forniscono il pannello di configurazione dei font).<br>
*''KDE'' invece utilizza solo Fontconfig, precisamente memorizza le opzioni dell'utente in <code>~/.fonts.conf</code> <sup>[[Migliorare l'aspetto dei font#Jessie |nota]]</sup>, rispettando i nuovi standard. In realtà anche KDE imposta i valori Xft ma gli servono solo per la compatibilità con alcune applicazioni (tipo quelle in GTK). [http://bugs.kde.org/show_bug.cgi?id=245664 Un bug] di KDE imposta sempre e comunque dei parametri di hinting predefiniti in <code>~/.fonts.conf</code> <sup>[[Migliorare l'aspetto dei font#Jessie |nota]]</sup> anche se l'utente sceglie di mantenere quelli di sistema; l'unica soluzione è scegliere di personalizzare i parametri.
*''KDE'' invece utilizza solo Fontconfig, precisamente memorizza le opzioni dell'utente in <code>~/.config/fontconfig/fonts.conf</code>. In realtà anche KDE imposta i valori Xft ma gli servono solo per la compatibilità con alcune applicazioni (tipo quelle in GTK). [http://bugs.kde.org/show_bug.cgi?id=245664 Un bug] di KDE imposta sempre e comunque dei parametri di hinting predefiniti in <code>~/.config/fontconfig/fonts.conf</code> anche se l'utente sceglie di mantenere quelli di sistema; quindi l'unica soluzione al momento è impostare i parametri così come in GNOME3.


Alla fine del tuning potrete testare la vostra configurazione corrente [http://www.infinality.net/files/font.html in questa pagina].
Alla fine del tuning potrete testare la vostra configurazione corrente [http://www.infinality.net/files/font.html in questa pagina].
Riga 172: Riga 172:
A partire da Wheezy queste patch sono presenti anche in Debian (perché adottate in upstream) e l'unica differenza rimasta tra Debian e Ubuntu adesso è la configurazione iniziale di Fontconfig. Su Ubuntu questa configurazione è ottenuta sempre con delle patch nel codice di Fontconfig, ma per fortuna non è necessario ricompilare nulla in questo caso, basta solo applicare la stessa configurazione di Ubuntu con <code>local.conf</code> per avere risultati identici.
A partire da Wheezy queste patch sono presenti anche in Debian (perché adottate in upstream) e l'unica differenza rimasta tra Debian e Ubuntu adesso è la configurazione iniziale di Fontconfig. Su Ubuntu questa configurazione è ottenuta sempre con delle patch nel codice di Fontconfig, ma per fortuna non è necessario ricompilare nulla in questo caso, basta solo applicare la stessa configurazione di Ubuntu con <code>local.conf</code> per avere risultati identici.


La configurazione-modello esposta nel paragrafo precedente è già uguale a quella di Ubuntu, quindi basta usarla senza modifiche se si vuole lo stesso risultato. Se si riscontrano delle piccole differenze nel rendering tra le due distribuzioni, ciò sarà dovuto alle differenti versioni delle librerie Fontconfig, FreeType e Cairo (o dei font).
Il modello di configurazione esposto nel paragrafo precedente è già uguale a quella di Ubuntu, quindi basta usare quella configurazione senza modifiche se si vuole lo stesso risultato. Se si riscontrano delle piccole differenze nel rendering tra le due distribuzioni, ciò sarà dovuto alle differenti versioni delle librerie Fontconfig, FreeType e Cairo (o dei font).


Per completare l'opera di "Ubuntizzazione" si può installare il font predefinito di Ubuntu, che è possibile scaricare da [http://drive.google.com/file/d/0B7AdLMiZn4FzMDYtc2IwSlJsam8/ qui] già pacchettizzato per Debian, e per installarlo basta un:
Per completare l'opera di "Ubuntizzazione" si può installare il font predefinito di Ubuntu, che è possibile scaricare da [http://drive.google.com/file/d/0B7AdLMiZn4FzMDYtc2IwSlJsam8/ qui] già pacchettizzato per Debian, e per installarlo basta un:
<pre># dpkg -i fonts-ubuntu_0.80-6.2_all.deb</pre>
<pre># dpkg -i fonts-ubuntu_0.80-6.2_all.deb</pre>


== Jessie ==
== Debian 7 e precedenti ==
A partire dalla [http://cgit.freedesktop.org/fontconfig/commit/?id&#61;8c255fb185d5651b57380b0a9443001e8051b29d versione 2.10] di ''Fontconfig'' (presente da Debian 8 "Jessie" in poi) cambierà la posizione di alcuni file di configurazione, anche se sarà mantenuta la compatibilità con i vecchi percorsi ancora per qualche versione. Ecco una tabella dei cambiamenti:
A partire dalla [http://cgit.freedesktop.org/fontconfig/commit/?id&#61;8c255fb185d5651b57380b0a9443001e8051b29d versione 2.10] di ''Fontconfig'' (da Debian 8 "Jessie" in poi) sono cambiate le posizioni di alcuni file di configurazione, ma sarà mantenuta la compatibilità con alcuni dei vecchi percorsi ancora per qualche versione. Ecco una tabella comparativa:


{| class="wikitable"
{| class="wikitable"
|-
|-
! !! Vecchio percorso !! Nuovo percorso
! !! Percorso attuale !! Vecchio percorso
|-
|-
| '''Directory di configurazione utente''' || <code>~/.fonts.conf.d/</code> || <code>~/.config/fontconfig/conf.d/</code>
| '''Directory di configurazione utente''' || <code>~/.config/fontconfig/conf.d/</code> || <code>~/.fonts.conf.d/</code>
|-
|-
| '''File di configurazione utente''' || <code>~/.fonts.conf</code> || <code>~/.config/fontconfig/fonts.conf</code>
| '''File di configurazione utente''' || <code>~/.config/fontconfig/fonts.conf</code> || <code>~/.fonts.conf</code>
|-
|-
| '''Directory caratteri utente''' || <code>~/.fonts/</code> || <code>~/.local/share/fonts/</code>
| '''Directory caratteri utente''' || <code>~/.local/share/fonts/</code> || <code>~/.fonts/</code>
|-
|-
| '''Cache caratteri utente''' || <code>~/.fontconfig/</code> || <code>~/.cache/fontconfig/</code>
| '''Cache caratteri utente''' || <code>~/.cache/fontconfig/</code> || <code>~/.fontconfig/</code>
|-
|-
| '''Configurazioni sistema disponibili''' || <code>/etc/fonts/conf.avail/</code> || <code>/usr/share/fontconfig/conf.avail/</code>
| '''Configurazioni sistema disponibili''' || <code>/usr/share/fontconfig/conf.avail/</code> || <code>/etc/fonts/conf.avail/</code>
|-
|-
|}
|}
Riga 199: Riga 199:
"X FreeType interface library" come dice il nome stesso, è una libreria che serve ad interfacciare il rasterizzatore FreeType con X (precisamente con [http://en.wikipedia.org/wiki/X_Rendering_Extension XRender]).<br>
"X FreeType interface library" come dice il nome stesso, è una libreria che serve ad interfacciare il rasterizzatore FreeType con X (precisamente con [http://en.wikipedia.org/wiki/X_Rendering_Extension XRender]).<br>
Generalmente sono gli ambienti desktop ad impostare i parametri Xft a seconda delle scelte dell'utente (per verificare ciò si può usare il comando <code>xrdb -query | grep Xft</code> prima e dopo aver cambiato delle opzioni nell'ambiente desktop). Se non dovessero essere impostare questi valori, Xft comunque dovrebbe assumere le impostazioni di Fontconfig, quindi non ci dovrebbe essere alcuna necessità di intervenire direttamente su Xft, tranne se qualche applicazione mostrasse un rendering diverso (come ad esempio [[Openbox]]).<br>
Generalmente sono gli ambienti desktop ad impostare i parametri Xft a seconda delle scelte dell'utente (per verificare ciò si può usare il comando <code>xrdb -query | grep Xft</code> prima e dopo aver cambiato delle opzioni nell'ambiente desktop). Se non dovessero essere impostare questi valori, Xft comunque dovrebbe assumere le impostazioni di Fontconfig, quindi non ci dovrebbe essere alcuna necessità di intervenire direttamente su Xft, tranne se qualche applicazione mostrasse un rendering diverso (come ad esempio [[Openbox]]).<br>
In caso ci sia necessità di impostare manualmente i parametri di Xft è consigliabile usare gli stessi valori presenti in <code>~/.fonts.conf</code> o <code>/etc/fonts/local.conf</code> per evitare conflitti.<br>
In caso ci sia necessità di impostare manualmente i parametri di Xft è consigliabile usare gli stessi valori presenti in <code>~/.config/fontconfig/fonts.conf</code> o <code>/etc/fonts/local.conf</code> per evitare conflitti.<br>
Creiamo o modifichiamo il file <code>.Xresources</code> nella nostra home con:
Creiamo o modifichiamo il file <code>.Xresources</code> nella nostra home con:
<pre>$ nano ~/.Xresources</pre>
<pre>$ nano ~/.Xresources</pre>
Riga 239: Riga 239:
Alcuni utenti che hanno provato Infinality non ne sono rimasti colpiti, altri hanno espresso un'opinione negativa. Probabilmente avranno giudicato senza provare le varie configurazioni predefinite messe a disposizione, oppure non hanno installato i font tipici dei sistemi operativi che vuole imitare Infinality, che è un requisito importante.
Alcuni utenti che hanno provato Infinality non ne sono rimasti colpiti, altri hanno espresso un'opinione negativa. Probabilmente avranno giudicato senza provare le varie configurazioni predefinite messe a disposizione, oppure non hanno installato i font tipici dei sistemi operativi che vuole imitare Infinality, che è un requisito importante.


Il creatore del progetto (conosciuto proprio come Infinality) non lavora più su questo progetto da un anno e mezzo, e attualmente sembra abbandonato da parte sua. L'utente [https://github.com/bohoomil/fontconfig-ultimate bohoomil] cominciò a portare avanti il progetto autonomamente, poi ha avuto il [http://www.infinality.net/forum/viewtopic.php?f=2&t=350 riconoscimento ufficiale].<br>
Il creatore del progetto (conosciuto proprio come Infinality) non lavora più su questo progetto da tempo, e attualmente sembra abbandonato da parte sua. L'utente [https://github.com/bohoomil/fontconfig-ultimate bohoomil] cominciò a portare avanti il progetto autonomamente, poi ha avuto il [http://www.infinality.net/forum/viewtopic.php?f=2&t=350 riconoscimento ufficiale].<br>
Comunque a detta di molti, il rendering di FreeType è ormai ottimo anche senza bisogno di questa patch, basta una buona configurazione.
Comunque a detta di molti, il rendering di FreeType è ormai ottimo anche senza bisogno di questa patch, basta una buona configurazione.


== Installazione ==
== Installazione ==
Prima di installare Infinality è meglio fare pulizia di configurazioni ridondanti (che probabilmente Infinality riesce a bypassare, ma meglio esserne sicuri).
Prima di installare Infinality è meglio fare pulizia di configurazioni ridondanti (che probabilmente Infinality riesce a bypassare, ma meglio esserne sicuri).
Innanzitutto spostare in una directory di backup o eliminare i file <code>/etc/fonts/local.conf</code> e <code>~/.fonts.conf</code> <sup>[[Migliorare l'aspetto dei font#Jessie |nota]]</sup>, poi rimuovere o spostare le impostazioni di hinting (''1*.conf'') da <code>/etc/fonts/conf.d/</code> con:
Innanzitutto spostare in una directory di backup o eliminare i file <code>/etc/fonts/local.conf</code> e <code>~/.config/fontconfig/fonts.conf</code>, poi rimuovere o spostare le impostazioni di hinting (''1*.conf'') da <code>/etc/fonts/conf.d/</code> con:
<pre># mv /etc/fonts/conf.d/1*.conf directoryBackup/</pre>
<pre># mv /etc/fonts/conf.d/1*.conf directoryBackup/</pre>
così dovremmo essere tornati alla configurazione iniziale di Debian.
così dovremmo essere tornati alla configurazione iniziale di Debian.
Riga 289: Riga 289:
EOF
EOF
</pre>
</pre>
ovviamente cambiate il 102.46 sopra con il vostro DPI. Questo è il metodo più veloce ma se volete approfondire ci sono altri modi per impostare il DPI su Xorg, leggete ad esempio [http://wiki.archlinux.org/index.php/Xorg#Display_Size_and_DPI qui].
ovviamente cambiate quel 102.46 con il DPI del vostro schermo. Questo è il metodo più veloce ma se volete approfondire ci sono altri modi per impostare il DPI su Xorg, leggete ad esempio [http://wiki.archlinux.org/index.php/Xorg#Display_Size_and_DPI qui].
Una volta impostato il DPI, potete verificare se è tutto ok aprendo un qualsiasi file pdf in formato A4 ([http://www.mediafire.com/download/kl37crw0n5k3ydy/A4.pdf come questo]), mettendo lo zoom al 100% e sovrapponendo sul foglio a schermo un foglio di carta A4: se le dimensioni sono uguali o quasi il calcolo e la configurazione sono andati a buon fine.
Una volta impostato il DPI, potete verificare che sia tutto a posto aprendo un qualsiasi file pdf in formato A4 ([http://www.mediafire.com/download/kl37crw0n5k3ydy/A4.pdf come questo]), mettendo lo zoom al 100% e sovrapponendo sul foglio nello schermo un foglio reale di carta in A4: se le dimensioni sono uguali il calcolo e la configurazione sono andati a buon fine.
{{Box|Nota|Testando KDE, sembrerebbe che questo ambiente desktop rilevi automaticamente il DPI esatto dello schermo, in quanto il test del foglio A4 viene superato senza l'uso della procedura sopra, utilizzando il visualizzatore di documenti predefinito. Provando ad installare ed usare evince (il visualizzatore predefinito di Gnome) questo non sembra beneficiare della rilevazione automatica, rendendo necessario l'utilizzo della procedura sopra per una visualizzazione in scala 1:1. Probabilmente è una questione di toolkit: [http://qt-project.org/ Qt] da questo punto di vista sembra superiore a [http://www.gtk.org/ GTK].}}
{{Box|Nota|Testando KDE, sembrerebbe che questo ambiente desktop rilevi automaticamente il DPI esatto dello schermo, in quanto il test del foglio A4 viene superato senza l'uso della procedura sopra, e utilizzando il visualizzatore di documenti predefinito. Provando ad installare ed usare evince (il visualizzatore predefinito di GNOME) questo non sembra beneficiare della rilevazione automatica, rendendo necessario l'utilizzo della procedura sopra per una visualizzazione in scala 1:1. Probabilmente è una questione di toolkit: [http://qt-project.org/ Qt] da questo punto di vista sembra superiore a [http://www.gtk.org/ GTK].}}


== DPI di Xft / Fontconfig ==
== DPI di Xft / Fontconfig ==
Riga 312: Riga 312:
* '''LXDE''' si comporta come Xfce.<br>
* '''LXDE''' si comporta come Xfce.<br>
* Anche '''KDE 4''' non cambia il DPI se non facendolo manualmente da "Impostazioni di sistema" > "Aspetto delle applicazioni" > "Caratteri".<br>
* Anche '''KDE 4''' non cambia il DPI se non facendolo manualmente da "Impostazioni di sistema" > "Aspetto delle applicazioni" > "Caratteri".<br>
Se necessario, i valori del DPI possono anche essere impostati su <code>/etc/fonts/local.conf</code> e <code>/etc/X11/Xresources/x11-common</code> o nelle rispettive controparti per utente singolo <code>~/.fonts.conf</code> e <code>~/.Xresources</code>. Se per creare questi file avete usato le configurazioni-modello dei paragrafi precedenti, le sezioni dove inserire il DPI sono già presenti ma sono disattivate da un tag di commento: togliete quei tag per abilitare.
Se necessario, i valori del DPI possono anche essere impostati su <code>/etc/fonts/local.conf</code> e <code>/etc/X11/Xresources/x11-common</code> o nelle rispettive controparti per utente singolo <code>~/.config/fontconfig/fonts.conf</code> e <code>~/.Xresources</code>. Se per creare questi file avete usato le configurazioni-modello dei paragrafi precedenti, le sezioni dove inserire il DPI sono già presenti ma sono disattivate da un tag di commento: togliete quei tag per abilitare.
{{Box|Nota|Se usate [[Migliorare l'aspetto dei font#Infinality|Infinality]], dovete impostate i valori del DPI nei file <code>/etc/fonts/infinality/infinality.conf</code> e <code>/etc/X11/Xsession.d/99infinality-settings</code>}}
{{Box|Nota|Se usate [[Migliorare l'aspetto dei font#Infinality|Infinality]], dovete impostate i valori del DPI nei file <code>/etc/fonts/infinality/infinality.conf</code> e <code>/etc/X11/Xsession.d/99infinality-settings</code>}}
Nei valori DPI con parte decimale (per esempio 102.46) si usa il punto e non la virgola. Riavviate per vedere il risultato e, se questo non è soddisfacente, rimettete tutto com'era per tornare al valori standard.
Nei valori DPI con parte decimale (per esempio 102.46) si usa il punto e non la virgola. Riavviate per vedere il risultato e, se questo non è soddisfacente, rimettete tutto com'era per tornare al valori standard.


= Installazione nuovi caratteri =
= Installazione nuovi caratteri =
Quando si vuole installare un nuovo carattere non presente nei repository di Debian, bisogna mettere il/i file del font in questione in determinate directory per essere utilizzabile.<br>
Quando si vuole installare un nuovo carattere non presente nei repository di Debian, bisogna mettere i file del font in questione in determinate directory per essere utilizzabile.<br>
La directory dove sono presenti tutti i font di sistema è <code>/usr/share/fonts/</code> ma è preferibile non usare questa. I font vanno inseriti in <code>~/.fonts/</code> per poter essere usati dall'utente corrente, oppure in <code>/usr/local/share/fonts/</code> per metterli a disposizione di tutti gli utenti del sistema.<br>
La directory dove sono presenti tutti i font di sistema è <code>/usr/share/fonts/</code> ma è meglio non usare questa, perché appunto di sistema. I font vanno inseriti in <code>~/.local/share/fonts/</code> per poter essere usati dall'utente corrente, oppure in <code>/usr/local/share/fonts/</code> per metterli a disposizione di tutti gli utenti del sistema.<br>
È buona abitudine dopo l'installazione o la rimozione di font rigenerare la cache con:
È buona abitudine dopo l'installazione o la rimozione di font rigenerare la cache con:
<pre># fc-cache -fv
<pre># fc-cache -fv
$ fc-cache -fv</pre>
$ fc-cache -fv</pre>


Facciamo un esempio: per usare i caratteri Ubuntu presenti nel [http://font.ubuntu.com/ sito ufficiale] come archivio .zip, basta estrarli direttamente nella directory dei font dell'utente <sup>[[Migliorare l'aspetto dei font#Jessie |nota]]</sup> e aggiornare la cache dei font con:
Facciamo un esempio: per usare i caratteri Ubuntu presenti nel [http://font.ubuntu.com/ sito ufficiale] (archivio .zip), basta estrarli direttamente nella directory dei font dell'utente e aggiornare la cache dei font con:
<pre>$ unzip ubuntu-font-family-0.80.zip -d ~/.fonts/
<pre>$ unzip ubuntu-font-family-0.80.zip -d ~/.local/share/fonts/
$ fc-cache -fv</pre>
$ fc-cache -fv</pre>
oppure, per renderli disponibili anche agli altri utenti estrarli nella cartella dei font locali con:
oppure, per renderli disponibili anche agli altri utenti estrarli nella cartella dei font locali con:
Riga 338: Riga 338:
- iOS: ''[http://en.wikipedia.org/wiki/Helvetica#Neue_Helvetica_.281983.29 Helvetica Neue]''<br>
- iOS: ''[http://en.wikipedia.org/wiki/Helvetica#Neue_Helvetica_.281983.29 Helvetica Neue]''<br>
- Android (< 4.0): famiglia di caratteri ''[http://www.droidfonts.com/ Droid]'' (presente in Debian)<br>
- Android (< 4.0): famiglia di caratteri ''[http://www.droidfonts.com/ Droid]'' (presente in Debian)<br>
- Android: ''[http://developer.android.com/design/style/typography.html Roboto]'' (presente in Debian Jessie)<br>
- Android: ''[http://developer.android.com/design/style/typography.html Roboto]'' (presente in Debian)<br>
- Ubuntu: la già citata famiglia di caratteri ''[http://font.ubuntu.com/ Ubuntu]''<br>
- Ubuntu: la già citata famiglia di caratteri ''[http://font.ubuntu.com/ Ubuntu]''<br>
- Gnome 3: ''[http://live.gnome.org/CantarellFonts Cantarell]'' (presente in Debian)<br>
- Gnome 3: ''[https://wiki.gnome.org/action/show/Projects/CantarellFonts Cantarell]'' (presente in Debian)<br>
- KDE: dovrebbe usare in futuro il font ''[http://projects.kde.org/projects/playground/artwork/oxygen-fonts Oxygen]''<br>
- KDE: dovrebbe usare in futuro il font ''[https://projects.kde.org/projects/kde/workspace/oxygen-fonts Oxygen]'' (presente in Debian [https://packages.debian.org/experimental/fonts-oxygen experimental])<br>
Sul web ci sono tanti siti con collezioni di font, come [https://code.google.com/p/googlefontdirectory/source/browse/ Google Web Fonts]. Alcuni font pacchettizzati per Debian potete trovarli [https://drive.google.com/folderview?id=0B7AdLMiZn4FzNUtxeU9uT2RTU1U qui], mentre su [http://www.typetester.org/ Typetester] potrete fare dei confronti tra caratteri.<br>
Sul web ci sono tanti siti con collezioni di font, come [https://code.google.com/p/googlefontdirectory/source/browse/ Google Web Fonts]. Alcuni font pacchettizzati per Debian potete trovarli [https://drive.google.com/folderview?id=0B7AdLMiZn4FzNUtxeU9uT2RTU1U qui], mentre su [http://www.typetester.org/ Typetester] potrete fare dei confronti tra caratteri.<br>


Riga 416: Riga 416:
[[Image:Xfce-font-rendering.png|thumb|right|Xfce]]
[[Image:Xfce-font-rendering.png|thumb|right|Xfce]]
=== KDE 4 ===
=== KDE 4 ===
In KDE le impostazioni si trovano in "Impostazioni di sistema" > "Aspetto delle applicazioni" > "Caratteri" > "Utilizza l'antialiasing per i caratteri". Qui è possibile scegliere tra ''Abilitato'', ''Disabilitato'' (sconsigliato) e ''Impostazioni di sistema'' ([http://bugs.kde.org/show_bug.cgi?id=245664 che non funziona]). L'unica scelta logica rimane quindi ''Abilitato'', dove poi è possibile con il tasto ''Configura'' cambiare le impostazioni (valori consigliati nell'immagine a destra).<br>
In KDE le impostazioni si trovano in "Impostazioni di sistema" > "Aspetto delle applicazioni" > "Caratteri" > "Utilizza l'antialiasing per i caratteri". Qui è possibile scegliere tra ''Abilitato'' (consigliato), ''Disabilitato'' (sconsigliato) e ''Impostazioni di sistema'' ([http://bugs.kde.org/show_bug.cgi?id=245664 che non funziona]). L'unica scelta logica rimane quindi ''Abilitato'', dove poi è possibile con il tasto ''Configura'' cambiare le impostazioni (valori consigliati nell'immagine a destra).<br>
KDE salva le impostazioni nello stesso file di configurazione illustrato nel successivo paragrafo "[[Migliorare l'aspetto dei font#Altri desktop|Altri desktop]]".
KDE salva le impostazioni nello stesso file di configurazione illustrato nel successivo paragrafo "[[Migliorare l'aspetto dei font#Altri desktop|Altri desktop]]".


=== GNOME 3 ===
=== GNOME 3 ===
GNOME Shell imposta automaticamente una configurazione generica che non sfrutta bene le caratteristiche degli schermi LCD e che va a sovrascrivere quella di sistema, per cui è necessario cambiarla (tranne nel caso in cui vi piaccia, ovviamente). Per farlo bisogna prima installare il pacchetto <code>gnome-tweak-tool</code>, successivamente andare in "Preferenze" > "Impostazioni avanzate" > "Tipi di carattere" e da qui cambiare i valori di ''Hinting'' e ''Antialiasing'' (valori consigliati nell'immagine a destra).
GNOME Shell imposta automaticamente una configurazione generica che non sfrutta bene le caratteristiche degli schermi LCD e che va a sovrascrivere quella di sistema, per cui è necessario cambiarla (tranne nel caso in cui vi piaccia questa configurazione di default, ovviamente). Per farlo bisogna prima installare il pacchetto <code>gnome-tweak-tool</code>, successivamente andare in "Preferenze" > "Impostazioni avanzate" > "Tipi di carattere" e da qui cambiare i valori di ''Hinting'' e ''Antialiasing'' (valori consigliati nell'immagine a destra).


=== Xfce ===
=== Xfce ===
Riga 462: Riga 462:


Dopodiché:
Dopodiché:
*se si usa '''Wheezy''' salvare il file come <code>~/.fonts.conf</code>
*se si usa '''Wheezy''' (o versioni precedenti) salvare il file come <code>~/.fonts.conf</code>
*se si usa '''Jessie''' (o versioni successive) salvare come <code>~/.config/fontconfig/fonts.conf</code>
*se si usa '''Jessie''' (o versioni successive) salvare come <code>~/.config/fontconfig/fonts.conf</code>
e infine riavviare X (riavviando il sistema o facendo il logout) per applicare la configurazione.
e infine riavviare X (riavviando il sistema o facendo il logout) per applicare la configurazione.


==== Openbox ====
==== Openbox ====
Su [[Openbox]] (e forse anche in altri ambienti minimalisti simili, come [[Fluxbox]]) si avranno miglioramenti solo parziali: ad esempio l'interno delle finestre rimarranno insensibili ai cambiamenti, al contrario dei titoli.<br>
Su [[Openbox]] (e forse anche in altri ambienti minimalisti simili, come [[Fluxbox]]) si avranno miglioramenti solo parziali: ad esempio l'interno delle finestre rimarranno insensibili ai cambiamenti, al contrario delle barre dei titoli.<br>
In questo caso bisogna usare un altro file di configurazione (in aggiunta o in sostituzione a quello sopra), che andremo a creare con il nome <code>~/.Xresources</code> e con il seguente contenuto:
In questo caso bisogna usare un altro file di configurazione (in aggiunta o in sostituzione a quello sopra), che andremo a creare con il nome <code>~/.Xresources</code> e con il seguente contenuto:
<pre>
<pre>
317

contributi