Migliorare l'aspetto dei font: differenze tra le versioni

m
Riga 11: Riga 11:
<pre># apt-get install libfreetype6 fontconfig libcairo2 libxft2</pre>
<pre># apt-get install libfreetype6 fontconfig libcairo2 libxft2</pre>
ma essendo usate da tutti i principali ambienti desktop è praticamente impossibile non averle (anche perché senza un desktop grafico ci sarebbero solo [http://en.wikipedia.org/wiki/Computer_font#Bitmap_fonts caratteri bitmap] e questa guida non servirebbe a molto).<br>
ma essendo usate da tutti i principali ambienti desktop è praticamente impossibile non averle (anche perché senza un desktop grafico ci sarebbero solo [http://en.wikipedia.org/wiki/Computer_font#Bitmap_fonts caratteri bitmap] e questa guida non servirebbe a molto).<br>
Fatto il controllo, si può creare il file di configurazione di ''fontconfig''. Ce ne sono due: il file <code>/etc/fonts/local.conf</code> e il file <code>~/.fonts.conf</code>. Questi file hanno la stessa struttura, cambia solo che il primo serve ad applicare la configurazione a tutto il sistema, mentre l'altro risiede nella home di un utente e il suo campo di applicazione è limitato solo alle sessioni di quell'utente. Basta averne uno ma possono convivere insieme; in presenza di entrambi i file la configurazione utente dovrebbe avere la priorità ma per esserne sicuri è meglio sostituire in <code>~/.fonts.conf</code> i vari <code>mode="append"</code> presenti nel file con <code>mode="assign"</code>.<br>
Fatto il controllo, si può creare il file di configurazione di ''fontconfig''. Ce ne sono due: il file <code>/etc/fonts/local.conf</code> e il file <code>~/.fonts.conf</code> (che a partire da Jessie è invece <code>~/.config/fontconfig/fonts.conf</code>, vedi nota a fine paragrafo). Questi file hanno la stessa struttura, cambia solo che il primo serve ad applicare la configurazione a tutto il sistema, mentre l'altro risiede nella home di un utente e il suo campo di applicazione è limitato solo alle sessioni di quell'utente. Basta averne uno ma possono convivere insieme; in presenza di entrambi i file la configurazione utente dovrebbe avere la priorità ma per esserne sicuri è meglio sostituire in <code>~/.fonts.conf</code> i vari <code>mode="append"</code> presenti nel file con <code>mode="assign"</code>.<br>
Il codice da inserire nel file è il seguente:
Il codice da inserire nel file è il seguente:
<pre>
<pre>
Riga 134: Riga 134:
La configurazione sopra riportata è una configurazione "standard" che cerca di fornire il miglior risultato possibile sulla maggior parte dei sistemi.
La configurazione sopra riportata è una configurazione "standard" che cerca di fornire il miglior risultato possibile sulla maggior parte dei sistemi.
Però ci sono tanti fattori da considerare se i font elaborati con questa configurazione non sono ancora soddisfacenti. Potrebbe essere colpa del monitor che ad esempio usa uno schema [http://www.lagom.nl/lcd-test/subpixel.php subpixel BGR], differente dal comune RGB o semplicemente è una questione di gusto personale. 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" o "Full". In ogni caso basta modificare i parametri nel file <code>.conf</code> aiutandosi con le descrizioni fornite nelle parti commentate per ottenere il risultato su schermo migliore per i vostri occhi.<br>
Però ci sono tanti fattori da considerare se i font elaborati con questa configurazione non sono ancora soddisfacenti. Potrebbe essere colpa del monitor che ad esempio usa uno schema [http://www.lagom.nl/lcd-test/subpixel.php subpixel BGR], differente dal comune RGB o semplicemente è una questione di gusto personale. 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" o "Full". In ogni caso basta modificare i parametri nel file <code>.conf</code> aiutandosi con le descrizioni fornite nelle parti commentate per ottenere il risultato su schermo migliore per i vostri occhi.<br>
C'è da considerare anche che l'ambiente desktop in uso può cambiare questi parametri, modificando direttamente il file <code>.fonts.conf</code> (KDE) o più spesso passando a ''Xft'' e/o ''fontconfig'' i propri valori di hinting con una priorità maggiore. Per esempio su Gnome3 le impostazioni predefinite (modificabili tramite ''gnome-tweak-tool'') sono "Hinting: Full" e "Antialiasing: Greyscale". Per evitare discrepanze e conflitti è meglio cambiare questi valori con quelli usati nei file <code>.conf</code>.<br>
C'è da considerare anche che l'ambiente desktop in uso può cambiare questi parametri, modificando direttamente il file <code>~/.fonts.conf</code> (KDE) o più spesso passando a ''Xft'' e/o ''fontconfig'' i propri valori di hinting con una priorità maggiore. Per esempio su Gnome3 le impostazioni predefinite (modificabili tramite ''gnome-tweak-tool'') sono "Hinting: Full" e "Antialiasing: Greyscale". Per evitare discrepanze e conflitti è meglio cambiare questi valori con quelli usati nei file <code>.conf</code>.<br>
Ogni desktop environment che si rispetti ha una sezione dove poter impostare i parametri base di fontconfig e spesso sembrano sufficienti per avere un buon risultato, ma per un controllo più accurato il ricorso ai file <code>.conf</code> è necessario. Ad esempio alcuni caratteri risultano più leggibili senza hinting sotto una certa dimensione. Ciò è correggibile aggiungendo una sezione simile a questa nel nostro file <code>.conf</code>:
Ogni desktop environment che si rispetti ha una sezione dove poter impostare i parametri base di fontconfig e spesso sembrano sufficienti per avere un buon risultato, ma per un controllo più accurato il ricorso ai file <code>.conf</code> è necessario. Ad esempio alcuni caratteri risultano più leggibili senza hinting sotto una certa dimensione. Ciò è correggibile aggiungendo una sezione simile a questa nel nostro file <code>.conf</code>:
<pre>
<pre>
Riga 151: Riga 151:
Questa ad esempio in caso di carattere "DejaVu Sans Mono" con una dimensione inferiore ai 7.5 punti, deve disabilitare l'hinting. Si possono fare tante altre cose simili con ''fontconfig'', come assegnare dei parametri di hinting diversi da quelli generali per un dato font che non rende bene; per approfondimenti leggete la documentazione di ''fontconfig'' (e visionate anche i file di configurazione del pacchetto [[Migliorare l'aspetto dei font#Infinality|<code>fontconfig-infinality</code>]] come esempio di applicazione pratica).<br>
Questa ad esempio in caso di carattere "DejaVu Sans Mono" con una dimensione inferiore ai 7.5 punti, deve disabilitare l'hinting. Si possono fare tante altre cose simili con ''fontconfig'', come assegnare dei parametri di hinting diversi da quelli generali per un dato font che non rende bene; per approfondimenti leggete la documentazione di ''fontconfig'' (e visionate anche i file di configurazione del pacchetto [[Migliorare l'aspetto dei font#Infinality|<code>fontconfig-infinality</code>]] come esempio di applicazione pratica).<br>
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].
{{Box|Nota|A partire dalla [http://cgit.freedesktop.org/fontconfig/commit/?id&#61;8c255fb185d5651b57380b0a9443001e8051b29d versione 2.10] di ''fontconfig'' (da Jessie in poi) il file <code>~/.fonts.conf</code> cambierà percorso, diventando <code>~/.config/fontconfig/fonts.conf</code> (anche se probabilmente sarà mantenuta la compatibilità con il vecchio percorso ancora per qualche versione, salvo cambiamenti da parte della [http://pkg-fonts.alioth.debian.org/ Debian Fonts Task Force]).}}
{{Box|Nota importante|A partire dalla [http://cgit.freedesktop.org/fontconfig/commit/?id&#61;8c255fb185d5651b57380b0a9443001e8051b29d versione 2.10] di ''fontconfig'' (da Jessie in poi) il file <code>~/.fonts.conf</code> cambierà percorso, diventando <code>~/.config/fontconfig/fonts.conf</code> ma sarà mantenuta la compatibilità con il vecchio percorso ancora per qualche versione. Cambiano anche la posizione della cache dei caratteri, da <code>~/.fontconfig/</code> a <code>~/.cache/fontconfig/</code> e di <code>/etc/fonts/conf.avail/</code>, che diventa <code>/usr/share/fontconfig/conf.avail/</code>.}}


=== Ubuntu ===
=== Ubuntu ===
317

contributi