Migliorare l'aspetto dei font: differenze tra le versioni
(Aggiornamento sostanziale) |
|||
Riga 1: | Riga 1: | ||
{{Versioni compatibili}} | {{Versioni compatibili}} | ||
== Introduzione == | == Introduzione == | ||
Stufo del rendering di Firefox, ho cercato un po' in giro ed ho trovato vari spunti per migliorare la resa dei caratteri sul nostro | Stufo del rendering di Firefox, ho cercato un po' in giro ed ho trovato vari spunti per migliorare la resa dei caratteri sul nostro monitor LCD. | ||
== | == Configurazione fontconfig == | ||
Se assenti, cosa improbabile, installiamo queste tre librerie: | |||
Se assenti | <pre># apt-get install fontconfig libcairo2 libxft2</pre> | ||
<pre># apt-get install libcairo2 libxft2</pre> | |||
Apriamo un terminale con i permessi di root e diamo: | Apriamo un terminale con i permessi di root e diamo: | ||
<pre># dpkg-reconfigure fontconfig-config</pre> | <pre># dpkg-reconfigure fontconfig-config</pre> | ||
e rispondiamo nell'ordine <code>Nativo - Sempre - No</code>, poi possiamo dare: | |||
e rispondiamo nell'ordine | |||
< | |||
poi possiamo dare: | |||
<pre># dpkg-reconfigure fontconfig</pre> | <pre># dpkg-reconfigure fontconfig</pre> | ||
e dopo rigeneriamo la cache dei font con: | |||
<pre>$ fc-cache -fv</pre> | |||
Ora, con i normali permessi utente, creiamo il file <code>.fonts.conf</code> nella nostra home: | Ora, con i normali permessi utente, creiamo il file <code>.fonts.conf</code> nella nostra home: | ||
<pre>$ nano ~/.fonts.conf</pre> | |||
<pre>$ | |||
ed inseriamo quanto segue: | ed inseriamo quanto segue: | ||
<pre> | <pre> | ||
<?xml version='1.0'?> | <?xml version='1.0'?> | ||
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> | <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> | ||
<fontconfig> | <fontconfig> | ||
<match target="font"> | |||
<edit mode="assign" name="rgba"> | |||
<const>rgb</const> | |||
</edit> | |||
</match> | |||
<match target="font"> | |||
<edit mode="assign" name="hinting"> | |||
<bool>true</bool> | |||
</edit> | |||
</match> | |||
<match target="font"> | |||
<edit mode="assign" name="hintstyle"> | |||
<const>hintslight</const> | |||
</edit> | |||
</match> | |||
<match target="font"> | |||
<edit mode="assign" name="antialias"> | |||
<bool>true</bool> | |||
</edit> | |||
</match> | |||
<match target="font"> | |||
<edit mode="assign" name="lcdfilter"> | |||
<const>lcddefault</const> | |||
</edit> | |||
</match> | |||
<!-- Per impostare manualmente il valore DPI | |||
<match target="pattern"> | |||
<edit name="dpi" mode="assign"> | |||
<double>102</double> | |||
</edit> | |||
</match> | |||
--> | |||
</fontconfig> | </fontconfig> | ||
</pre> | </pre> | ||
Salviamo il file e riavviamo X facendo logout e login. | |||
NOTA: dalla versione 2.10 di fontconfig (non ancora disponibile in debian al momento della scrittura) il file <code>~/.fonts.conf</code> cambierà percorso, diventando <code>~/.config/fontconfig/fonts.conf</code> (salvo cambiamenti del team Debian Fonts Task Force). | |||
== | == Configurazione Xft == | ||
Alcune applicazioni ignorano le impostazioni sopra perché non supportano fontconfig. In questo caso possiamo intervenire con Xft (X FreeType interface library). | |||
Creiamo o modifichiamo il file <code>.Xresources</code> nella nostra home con: | |||
<pre>$ nano ~/.Xresources</pre> | |||
ed aggiungiamo quanto segue: | |||
<pre> | |||
Xft.antialias: 1 | |||
Xft.hinting: 1 | |||
Xft.autohint: 0 | |||
Xft.hintstyle: hintslight | |||
Xft.rgba: rgb | |||
Xft.lcdfilter: lcddefault | |||
!Per impostare manualmente il valore DPI | |||
!Xft.dpi: 102 | |||
</pre> | |||
Salviamo il file e riavviamo X facendo logout e login. | |||
== DPI == | |||
Se non siamo ancora soddisfatti del risultato oppure il nostro monitor è grande e i caratteri sono piccoli, si può provare a cambiare il valore DPI dei caratteri usando quello del monitor (che sarebbe più corretto chiamare PPI). | |||
Generalmente fontconfig ricava tale valore automaticamente da xorg oppure usa lo standard non ufficiale dei 96 DPI. | |||
Per trovare il valore del nostro monitor, bisogna trovare prima la diagonale in pixel (applicando il teorema di Pitagora alla risoluzione nativa dello schermo) e poi dividerla con la diagonale effettiva del monitor in pollici (generalmente si trova nelle specifiche del monitor). | |||
Es.: il mio monitor è un AOC 2236Vw da 22" con risoluzione nativa di 1920x1080. Guardando le specifiche però trovo che la diagonale visibile non è 22" ma 21,5". Allora calcolo: | |||
sqrt(1920^2 + 1080^2) / 21.5 = '''102.46''' PPI | |||
Per fare più in fretta ci si può aiutare usando [http://members.ping.de/~sven/dpi.html questo calcolatore]. | |||
Una volta trovato il valore DPI (o PPI) del monitor basta sostituirlo nelle righe commentate dei file <code>.fonts.conf</code> e <code>.Xresources</code>, togliendo ovviamente i commenti per abilitare. | |||
Fate logout e login per vedere il risultato e se questo non è soddisfacente, commentate nuovamente le righe per tornare ai valori standard. | |||
Alcuni sostengono che il valore DPI da inserire nelle configurazioni deve essere arrotondato, senza parte decimale. Però il fatto che sia usato un valore ''double'' per memorizzare il DPI mi fa pensare che sia fatto apposta per usare anche la parte decimale. | |||
=== KDE === | |||
Se, una volta avviato KDE, la dimensione dei caratteri è piccola, ciò è dovuto al fatto che KDM sta utilizzando di default i 75dpi. | |||
Bisogna quindi modificare il file <code>/etc/kde3/kdm/kdmrc</code>. Cercare la riga: | |||
<pre>ServerArgsLocal=-nolisten tcp</pre> | |||
e aggiungere il valore DPI desiderato: | |||
<pre>ServerArgsLocal=-nolisten tcp -dpi 96</pre> | <pre>ServerArgsLocal=-nolisten tcp -dpi 96</pre> | ||
[[Categoria:Browser]] | [[Categoria:Browser]] | ||
[[Categoria:Ottimizzazione del sistema]] |
Versione delle 23:28, 26 set 2012
Versioni Compatibili Tutte le versioni supportate di Debian |
Introduzione
Stufo del rendering di Firefox, ho cercato un po' in giro ed ho trovato vari spunti per migliorare la resa dei caratteri sul nostro monitor LCD.
Configurazione fontconfig
Se assenti, cosa improbabile, installiamo queste tre librerie:
# apt-get install fontconfig libcairo2 libxft2
Apriamo un terminale con i permessi di root e diamo:
# dpkg-reconfigure fontconfig-config
e rispondiamo nell'ordine Nativo - Sempre - No
, poi possiamo dare:
# dpkg-reconfigure fontconfig
e dopo rigeneriamo la cache dei font con:
$ fc-cache -fv
Ora, con i normali permessi utente, creiamo il file .fonts.conf
nella nostra home:
$ nano ~/.fonts.conf
ed inseriamo quanto segue:
<?xml version='1.0'?> <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> <fontconfig> <match target="font"> <edit mode="assign" name="rgba"> <const>rgb</const> </edit> </match> <match target="font"> <edit mode="assign" name="hinting"> <bool>true</bool> </edit> </match> <match target="font"> <edit mode="assign" name="hintstyle"> <const>hintslight</const> </edit> </match> <match target="font"> <edit mode="assign" name="antialias"> <bool>true</bool> </edit> </match> <match target="font"> <edit mode="assign" name="lcdfilter"> <const>lcddefault</const> </edit> </match> <!-- Per impostare manualmente il valore DPI <match target="pattern"> <edit name="dpi" mode="assign"> <double>102</double> </edit> </match> --> </fontconfig>
Salviamo il file e riavviamo X facendo logout e login.
NOTA: dalla versione 2.10 di fontconfig (non ancora disponibile in debian al momento della scrittura) il file ~/.fonts.conf
cambierà percorso, diventando ~/.config/fontconfig/fonts.conf
(salvo cambiamenti del team Debian Fonts Task Force).
Configurazione Xft
Alcune applicazioni ignorano le impostazioni sopra perché non supportano fontconfig. In questo caso possiamo intervenire con Xft (X FreeType interface library).
Creiamo o modifichiamo il file .Xresources
nella nostra home con:
$ nano ~/.Xresources
ed aggiungiamo quanto segue:
Xft.antialias: 1 Xft.hinting: 1 Xft.autohint: 0 Xft.hintstyle: hintslight Xft.rgba: rgb Xft.lcdfilter: lcddefault !Per impostare manualmente il valore DPI !Xft.dpi: 102
Salviamo il file e riavviamo X facendo logout e login.
DPI
Se non siamo ancora soddisfatti del risultato oppure il nostro monitor è grande e i caratteri sono piccoli, si può provare a cambiare il valore DPI dei caratteri usando quello del monitor (che sarebbe più corretto chiamare PPI).
Generalmente fontconfig ricava tale valore automaticamente da xorg oppure usa lo standard non ufficiale dei 96 DPI. Per trovare il valore del nostro monitor, bisogna trovare prima la diagonale in pixel (applicando il teorema di Pitagora alla risoluzione nativa dello schermo) e poi dividerla con la diagonale effettiva del monitor in pollici (generalmente si trova nelle specifiche del monitor).
Es.: il mio monitor è un AOC 2236Vw da 22" con risoluzione nativa di 1920x1080. Guardando le specifiche però trovo che la diagonale visibile non è 22" ma 21,5". Allora calcolo:
sqrt(1920^2 + 1080^2) / 21.5 = 102.46 PPI
Per fare più in fretta ci si può aiutare usando questo calcolatore.
Una volta trovato il valore DPI (o PPI) del monitor basta sostituirlo nelle righe commentate dei file .fonts.conf
e .Xresources
, togliendo ovviamente i commenti per abilitare.
Fate logout e login per vedere il risultato e se questo non è soddisfacente, commentate nuovamente le righe per tornare ai valori standard.
Alcuni sostengono che il valore DPI da inserire nelle configurazioni deve essere arrotondato, senza parte decimale. Però il fatto che sia usato un valore double per memorizzare il DPI mi fa pensare che sia fatto apposta per usare anche la parte decimale.
KDE
Se, una volta avviato KDE, la dimensione dei caratteri è piccola, ciò è dovuto al fatto che KDM sta utilizzando di default i 75dpi.
Bisogna quindi modificare il file /etc/kde3/kdm/kdmrc
. Cercare la riga:
ServerArgsLocal=-nolisten tcp
e aggiungere il valore DPI desiderato:
ServerArgsLocal=-nolisten tcp -dpi 96