317
contributi
Nessun oggetto della modifica |
(update generale (da aggiornare Infinality, Xft, inst. font)) |
||
Riga 2: | Riga 2: | ||
== Introduzione == | == Introduzione == | ||
Molti nuovi utenti di Debian, subito dopo averlo installato, si lamentano del brutto aspetto che hanno i caratteri (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]]". <u>Se invece non vi interessano i particolari dettagliati e volete prendere la strada più breve allora leggete [[Migliorare l'aspetto dei caratteri |questa guida]]</u>. | |||
Prima di cominciare bisognerebbe controllare che siano installati i pacchetti responsabili della gestione dei font, e cioè <code>fontconfig</code>, <code>libfreetype6</code>, <code>libcairo2</code> e <code>libxft2</code>, ma è un controllo superfluo, dato che questi pacchetti sono dipendenze di tutti i principali ambienti desktop (senza un desktop grafico ci sarebbero solo [http://en.wikipedia.org/wiki/Computer_font#Bitmap_fonts caratteri bitmap], e di questa guida si potrebbe usare solo il paragrafo che riguarda la [[Migliorare l'aspetto dei font#Console Linux |console Linux]] in tal caso). | |||
In parole povere, [http://www.freetype.org/ FreeType] è come la "mano" che disegna i caratteri sullo schermo, mentre [http://cairographics.org/ Cairo] è sarebbe la "matita" usata da FreeType per disegnare. [http://www.freedesktop.org/wiki/Software/fontconfig/ Fontconfig] gestisce, configura e personalizza i caratteri, e infine [http://www.freedesktop.org/wiki/Software/Xft/ Xft] è un componente del server grafico X che usa e "coordina" FreeType e Fontconfig (in quanto questi ultimi sono pensati per essere universali e non dipendenti da X). | |||
== Fontconfig == | |||
Tra le varie funzioni di ''Fontconfig'' c'è anche quella di indicare a ''FreeType'' come disegnare i caratteri. Ad esempio può dirgli di usare l'antialiasing su tutti i font tranne che su quelli di lingua orientale, o di 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/> | |||
Ad esempio se si digita | |||
<pre># dpkg-reconfigure fontconfig-config</pre> | |||
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 con <code>conf.d</code> 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'è 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. | |||
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 nel primo file, <code>local.conf</code>, saranno applicate a tutti gli utenti del sistema mentre quelle del secondo file, <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/> | |||
In caso di impostazioni discordanti tra i vari 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/local.conf</code> | |||
# <code>~/.fonts.conf</code> <sup>[[Migliorare l'aspetto dei font#Jessie |nota]]</sup> | |||
# impostazioni font dell'ambiente desktop (''Xft'') | |||
anche se molto dipende da come sono impostati i parametri all'interno delle configurazioni, che potrebbero cambiare le priorità. 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[https://bugs.freedesktop.org/show_bug.cgi?id=17722 *]; per informazioni <code>man fonts-conf</code>). Per sicurezza quando si usa <code>.fonts.conf</code> <sup>[[Migliorare l'aspetto dei font#Jessie |nota]]</sup> è meglio sostituire nel modello riportato sotto tutti i <code>mode="append"</code> presenti con <code>mode="assign"</code> | |||
Ecco il modello di configurazione da usare nei file <code>.conf</code>: | |||
<pre> | <pre> | ||
<?xml version='1.0'?> | <?xml version='1.0'?> | ||
Riga 59: | Riga 34: | ||
<match target="pattern"> | <match target="pattern"> | ||
<!-- | <!-- La rasterizzazione dei caratteri converte i dati vettoriali dei font | ||
in immagini bitmap, così da poter essere visualizzati sullo schermo. | |||
Il risultato può apparire frastagliato per via dell'aliasing. | |||
L'anti-aliasing aumenta il dettaglio visivo dei bordi dei caratteri. --> | |||
<edit mode="append" name="antialias"> | <edit mode="append" name="antialias"> | ||
<bool>true</bool> | <bool>true</bool> | ||
</edit> | </edit> | ||
<!-- | <!-- Abilitando l'opzione "hinting", le istruzioni di hinting TrueType | ||
incorporate nei font vengono interpretate dal Byte-Code Interpreter | |||
(BCI) di FreeType. Questa è la scelta migliore in caso di font | |||
contenenti buone istruzioni di hinting. --> | |||
<edit mode="append" name="hinting"> | <edit mode="append" name="hinting"> | ||
<bool>true</bool> | <bool>true</bool> | ||
</edit> | </edit> | ||
<!-- | <!-- Abilitando l'autohinter verranno ignorate le istruzioni di hinting | ||
contenute nei font ma verrà usato un algoritmo generico di hinting, | |||
che è quasi sempre peggiore delle istruzioni ma potrebbe migliorare | |||
la visualizzazione dei font che non hanno istruzioni incorporate. | |||
L'autohinter e il subpixel rendering non sono programmati per lavorare | |||
insieme e non devono essere abilitati contemporaneamente. --> | |||
<edit mode="append" name="autohint"> | <edit mode="append" name="autohint"> | ||
<bool>false</bool> | <bool>false</bool> | ||
</edit> | </edit> | ||
<!-- | <!-- L'hintstyle rappresenta quanto influenza avrà l'hinting sul risultato | ||
finale. Può essere impostato in "hintfull", "hintmedium", "hintslight" | |||
e "hintnone". Con autohint abilitato è consigliato "hintslight", mentre | |||
con autohint disabilitato (BCI) è consigliato "hintfull", ma è una | |||
scelta abbastanza soggettiva. --> | |||
<edit mode="append" name="hintstyle"> | <edit mode="append" name="hintstyle"> | ||
<const>hintslight</const> | <const>hintslight</const> | ||
</edit> | </edit> | ||
<!-- | <!-- Il subpixel rendering riesce a triplicare efficacemente la risoluzione | ||
orizzontale o verticale dei font usando i subpixel del monitor. | |||
subpixel | Fontconfig deve sapere che tipo di subpixel usa il vostro monitor per | ||
visualizzare correttamente i caratteri. Le possibili opzioni sono: | |||
"rgb", "bgr", "vrgb", "vbgr", "unknown" e "none". Moltissimi monitor | |||
odierni usano le specifiche "rgb" (Red-Green-Blue). | |||
Non abilitare contemporaneamente questa opzione e l'autohinter. --> | |||
<edit mode="append" name="rgba"> | <edit mode="append" name="rgba"> | ||
<const>rgb</const> | <const>rgb</const> | ||
</edit> | </edit> | ||
<!-- | <!-- Quando si usa il subpixel rendering bisognerebbe abilitare il filtro | ||
LCD, che serve ad ridurre i bordi colorati dei font. Il filtro | |||
"lcddefault" è quello più comune; "lcdlight" è un filtro leggero ideale | |||
per i font che sembrano troppo spessi o tenui; "lcdlegacy" è il filtro | |||
originale di Cairo; "lcdnone" disabilita il filtro. --> | |||
<edit mode="append" name="lcdfilter"> | <edit mode="append" name="lcdfilter"> | ||
<const>lcddefault</const> | <const>lcddefault</const> | ||
</edit> | </edit> | ||
<!-- Fontconfig | <!-- Fontconfig dovrebbe prendere il valore DPI da Xorg. Per controllare | ||
il valore di Xorg usare il comando 'xdpyinfo | grep resolution' | |||
Per impostare manualmente il DPI disabilitare i tag-commento sotto --> | |||
<!-- | <!-- | ||
<edit mode="append" name="dpi"> | <edit mode="append" name="dpi"> | ||
Riga 121: | Riga 98: | ||
--> | --> | ||
<!-- | <!-- Alcuni font includono una versione bitmap che potrebbe essere usata | ||
al posto della vettoriale, specie alle dimensioni più piccole. Con | |||
questa opzione si disattiva l'utilizzo di questi caratteri bitmap. --> | |||
<edit mode="append" name="embeddedbitmap"> | <edit mode="append" name="embeddedbitmap"> | ||
<bool>false</bool> | <bool>false</bool> | ||
Riga 130: | Riga 107: | ||
</match> | </match> | ||
<!-- | <!-- Rifiuta l'uso di font bitmap, Fontconfig userà solo font vettoriali | ||
tipo TrueType, OpenType, Postscript, ecc. --> | |||
<selectfont><rejectfont><pattern> | |||
<patelt name="scalable"><bool>false</bool></patelt> | |||
</pattern></rejectfont></selectfont> | |||
<!-- I font predefiniti "Serif", "Sans-Serif" e "Monospace" sono in realtà | |||
degli alias, dei link, e possono essere cambiati usando la sostituzione | |||
font. Con lo stesso metodo si possono anche creare degli alias per altri | |||
font, l'importante è non dare un nome all'alias che sia uguale al nome di | |||
un font già presente nel sistema. Per esempio se non è installato Arial | |||
si può creare un alias con un suo font simile come FreeSans. | |||
Per personalizzare gli alias togliere i tag-commento sotto --> | |||
<!-- | <!-- | ||
<alias> | <alias> | ||
<family>serif</family> | <family>serif</family> | ||
<prefer><family> | <prefer><family>DejaVu Serif</family></prefer> | ||
</alias> | </alias> | ||
<alias> | <alias> | ||
<family>sans-serif</family> | <family>sans-serif</family> | ||
<prefer><family> | <prefer><family>Ubuntu</family></prefer> | ||
</alias> | </alias> | ||
<alias> | <alias> | ||
<family>monospace</family> | <family>monospace</family> | ||
<prefer><family> | <prefer><family>Ubuntu Mono</family></prefer> | ||
</alias> | </alias> | ||
Riga 155: | Riga 139: | ||
</alias> | </alias> | ||
--> | --> | ||
</fontconfig> | </fontconfig> | ||
</pre> | </pre> | ||
Per creare il file basta usare il proprio editor preferito (es. ''nano''). Per la configurazione di sistema: | |||
<pre># rm /etc/fonts/conf.d/1* | <pre># nano /etc/fonts/local.conf</pre> | ||
# rm /etc/fonts/conf.d/70* | oppure per il singolo utente: | ||
<pre>$ nano ~/.fonts.conf</pre> | |||
poi incollare il modello sopra, eventualmente modificarlo e salvare il file. | |||
Meglio poi eliminare i link in <code>conf.d</code> che riguardano le stesse impostazioni, per evitare strani risultati: | |||
<pre># rm /etc/fonts/conf.d/1*.conf | |||
# rm /etc/fonts/conf.d/70*.conf | |||
# dpkg-reconfigure fontconfig</pre> | # dpkg-reconfigure fontconfig</pre> | ||
dopo rigeneriamo la cache dei font con: | dopo rigeneriamo la cache dei font con: | ||
<pre># fc-cache -fv | <pre># fc-cache -fv | ||
$ fc-cache -fv</pre> | $ fc-cache -fv</pre> | ||
e infine riavviamo X facendo logout e login oppure riavviando il sistema. | e infine riavviamo X facendo logout e login (oppure riavviando tutto il sistema) per abilitare il nuovo aspetto dei caratteri. | ||
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 | 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 ad esempio per via del monitor che usa uno schema [http://www.lagom.nl/lcd-test/subpixel.php subpixel BGR] (ma sono rari), differente dal comune RGB sul quale si basano le impostazioni predefinite; a volte è invece solo una questione di gusto personale. | ||
C'è da considerare anche che l'ambiente desktop in uso può cambiare questi parametri, modificando direttamente il file <code>~/.fonts.conf</code> ( | |||
Ogni desktop environment che si rispetti ha una sezione dove poter impostare i parametri base | 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> (caso raro) o più spesso passando direttamente a ''Xft'' 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>. | |||
Ogni desktop environment che si rispetti ha una sezione dove poter impostare i parametri base dell'aspetto dei caratteri 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 del codice simile a questo nel nostro file <code>.conf</code>: | |||
<pre> | <pre> | ||
<match target="font"> | <match target="font"> | ||
Riga 189: | Riga 176: | ||
</match> | </match> | ||
</pre> | </pre> | ||
Questo 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). | |||
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]. | ||
=== Jessie === | |||
A partire dalla [http://cgit.freedesktop.org/fontconfig/commit/?id=8c255fb185d5651b57380b0a9443001e8051b29d versione 2.10] di ''Fontconfig'' (presente da Debian 8 "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 === | ||
Molti utenti che passano da Ubuntu a Debian o che li usano entrambi si lamentano dell'aspetto dei caratteri "out of the box", nettamente migliore su Ubuntu. | |||
e l' | Prima di Debian 7 "Wheezy" la differenza tra i due sistemi era più marcata, perché Ubuntu applicava delle patch al codice di Cairo e FreeType per migliorare la resa su schermo e se si voleva lo stesso risultato bisognava ricompilare i pacchetti interessati su Debian aggiungendo le patch. | ||
A partire da Wheezy queste patch sono presenti anche in Debian (perché assimilate 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 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. | |||
Per completare l'opera di "Ubuntizzazione" si può installare il font predefinito di Ubuntu, che è possibile scaricare dai [http://it.archive.ubuntu.com/ubuntu/pool/main/u/ubuntu-font-family-sources/ttf-ubuntu-font-family_0.80-0ubuntu6_all.deb repository di Ubuntu] e per installarlo basta un: | |||
La configurazione | |||
<pre># dpkg -i ttf-ubuntu-font-family_0.80-0ubuntu6_all.deb</pre> | <pre># dpkg -i ttf-ubuntu-font-family_0.80-0ubuntu6_all.deb</pre> | ||
Il font è presente in vari formati tra i quali Light, Regular, Medium e Bold. Alcuni programmi però non sembrano gestire bene tutte le varianti del font: per esempio l'interfaccia di VLC usa il font Medium invece del Regular. La soluzione più veloce è quella di cancellare le varianti Light e Medium, così che rimangano solo i font canonici. | |||
Per eliminarli, da terminale: | |||
<pre> | |||
# rm /usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-L.ttf | |||
# rm /usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-LI.ttf | |||
# rm /usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-M.ttf | |||
# rm /usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-MI.ttf | |||
# fc-cache -fv | |||
$ fc-cache -fv | |||
</pre> | |||
$ fc-cache -fv</pre> | |||
=== Infinality === | === Infinality === | ||
Riga 249: | Riga 231: | ||
poi ripristinare eventuali backup pre-Infinality e riavviare. | poi ripristinare eventuali backup pre-Infinality e riavviare. | ||
== Xft == | |||
== | |||
"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]). | "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]). | ||
Le applicazioni che si basano su X potrebbero ignorare le impostazioni di fontconfig e usare quelle di Xft.<br> | Le applicazioni che si basano su X potrebbero ignorare le impostazioni di fontconfig e usare quelle di Xft.<br> | ||
Riga 289: | Riga 270: | ||
== DPI == | == DPI == | ||
Se i caratteri a schermo sono troppo piccoli (o troppo grandi) perché il monitor ha risoluzioni elevate (o basse), si può cambiare il [http://en.wikipedia.org/wiki/Dots_per_inch DPI] specificando | Se i caratteri a schermo sono troppo piccoli (o troppo grandi) perché il monitor ha risoluzioni elevate (o basse), si può cambiare il valore del [http://en.wikipedia.org/wiki/Dots_per_inch DPI] specificando quello reale dello schermo (che sarebbe più corretto chiamare [http://en.wikipedia.org/wiki/Pixels_per_inch PPI]).<br> | ||
Impostare il corretto DPI è necessario quando è richiesta una grande cura dei dettagli, come nel font rendering, ma anche in altri casi (software di grafica, di impaginazione, ecc.).<br> | Impostare il corretto DPI è necessario quando è richiesta una grande cura dei dettagli, come nel font rendering, ma anche in altri casi (software di grafica, di impaginazione, ecc.).<br> | ||
In Debian e in tutte le distribuzioni Linux, sono presenti due DPI: quello usato da Xorg e quello usato da Xft (e | In Debian e in tutte le distribuzioni Linux, sono presenti due DPI: quello usato da Xorg e quello usato da Xft (e Fontconfig). | ||
=== DPI di Xorg === | === DPI di Xorg === | ||
Xorg ricava il suo valore dall'[http://en.wikipedia.org/wiki/Extended_display_identification_data EDID] del monitor ma se non si discosta molto dallo standard (non ufficiale) dei 96 DPI, | Xorg ricava il suo valore dall'[http://en.wikipedia.org/wiki/Extended_display_identification_data EDID] del monitor ma se non si discosta molto dallo standard (non ufficiale) dei 96 DPI, usa tale valore. Potete controllare il valore attualmente impostato con il comando: | ||
<pre>$ xdpyinfo | grep -B2 resolution</pre> | <pre>$ xdpyinfo | grep -B2 resolution</pre> | ||
Impostare il giusto valore DPI su Xorg è importante per avere una corrispondenza più realistica possibile delle dimensioni su schermo con quelle reali.<br> | Impostare il giusto valore DPI su Xorg è importante per avere una corrispondenza più realistica possibile delle dimensioni su schermo con quelle reali.<br> | ||
Il valore del DPI reale di uno schermo è ottenibile dal rapporto della sua diagonale in pixel con quella in pollici. La diagonale in pollici è il classico valore che identifica la grandezza dello schermo (ad es. un monitor da 22", una tv da 42", ecc.), mentre per calcolare la diagonale in pixel bisogna applicare il teorema di Pitagora sulla risoluzione nativa dello schermo (ad es. 1366x768, 1920x1080, ecc.). Per facilitare il calcolo esistono delle calcolatrici online come [http://pxcalc.com/ questa] e [http://members.ping.de/~sven/dpi.html questa]. A volte la misura in pollici dello schermo è minore (raramente maggiore) di quella dichiarata | Il valore del DPI reale di uno schermo è ottenibile dal rapporto della sua diagonale in pixel con quella in pollici. La diagonale in pollici è il classico valore che identifica la grandezza dello schermo (ad es. un monitor da 22", una tv da 42", ecc.), mentre per calcolare la diagonale in pixel bisogna applicare il teorema di Pitagora sulla risoluzione nativa dello schermo (ad es. 1366x768, 1920x1080, ecc.). Per facilitare il calcolo esistono delle calcolatrici online come [http://pxcalc.com/ questa] e [http://members.ping.de/~sven/dpi.html questa]. A volte la misura in pollici dello schermo è minore (raramente maggiore) di quella dichiarata: tenetene conto quando fate il calcolo (per sicurezza potete misurare le dimensioni effettive e convertirle in pollici).<br> | ||
Ottenuto un valore DPI (ad es. ''102.46''), bisogna impostarlo su Xorg con il comando | Ottenuto un valore DPI (ad es. ''102.46''), bisogna impostarlo su Xorg con il comando | ||
<pre>$ xrandr --dpi 102.46</pre> | <pre>$ xrandr --dpi 102.46</pre> | ||
ma questo sarà resettato al vecchio valore dopo un riavvio di X. Per fare eseguire quel comando automaticamente ad ogni avvio di X | ma questo sarà resettato al vecchio valore dopo un riavvio di X. Per fare eseguire quel comando automaticamente ad ogni avvio di X: | ||
<pre># | <pre> | ||
# cat > /etc/X11/Xsession.d/96setdpi <<EOF | |||
xrandr --dpi 102.46 | |||
EOF | |||
</pre> | |||
ovviamente cambiate il 102.46 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]. | |||
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 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. | ||
=== DPI di Xft / | === DPI di Xft / Fontconfig === | ||
Questo DPI, rappresentato dalla variabile ''Xft.dpi'', serve praticamente solo per impostare la grandezza dei caratteri e di altri elementi grafici su schermo. Fontconfig usa il valore di Xft.dpi il quale, se non è stato impostato manualmente o dall'ambiente desktop, è uguale al DPI di Xorg.<br> | Questo DPI, rappresentato dalla variabile ''Xft.dpi'', serve praticamente solo per impostare la grandezza dei caratteri e di altri elementi grafici su schermo. Fontconfig usa il valore di ''Xft.dpi'' il quale, se non è stato impostato manualmente o dall'ambiente desktop, è uguale al DPI di Xorg.<br> | ||
Per controllare l'attuale valore di Xft.dpi (e di altre variabili Xft impostate) usate il comando | Per controllare l'attuale valore di Xft.dpi (e di altre variabili Xft impostate) usate il comando | ||
<pre>$ xrdb -query</pre> | <pre>$ xrdb -query</pre> | ||
Riga 326: | Riga 311: | ||
* Non so se '''KDE4''' sovrascrive come Gnome3, ma in ogni caso si può cambiare il valore predefinito da "KDE menu" > "Personal Settings" > "Application Appearance" > "Fonts" > "Force fonts DPI".<br> | * Non so se '''KDE4''' sovrascrive come Gnome3, ma in ogni caso si può cambiare il valore predefinito da "KDE menu" > "Personal Settings" > "Application Appearance" > "Fonts" > "Force fonts DPI".<br> | ||
* '''LXDE''' non manomette il valore di Xft.dpi, lasciando quello impostato nei file di configurazione di fontconfig/Xft/Infinality. | * '''LXDE''' non manomette il valore di Xft.dpi, lasciando quello impostato nei file di configurazione di fontconfig/Xft/Infinality. | ||
== Installazione nuovi caratteri == | == Installazione nuovi caratteri == | ||
Riga 357: | Riga 341: | ||
Da notare che, come per i vari software, anche i caratteri hanno un numero di versione, perché possono essere revisionati per svariati motivi (come per l'aggiunta del supporto ad una lingua non latina, per migliorare le istruzioni di hinting, per perfezionare il design, ecc.). | Da notare che, come per i vari software, anche i caratteri hanno un numero di versione, perché possono essere revisionati per svariati motivi (come per l'aggiunta del supporto ad una lingua non latina, per migliorare le istruzioni di hinting, per perfezionare il design, ecc.). | ||
== Console Linux == | == Console Linux == | ||
Riga 371: | Riga 354: | ||
<pre>FONTFACE="Terminus" | <pre>FONTFACE="Terminus" | ||
FONTSIZE="10x20"</pre> | FONTSIZE="10x20"</pre> | ||
Dopo aver salvato il file si può riavviare il sistema oppure se si è già nella console si può usare il comando <code>/etc/init.d/console-setup restart</code | Dopo aver salvato il file si può riavviare il sistema oppure se si è già nella console si può usare il comando <code>/etc/init.d/console-setup restart</code> | ||
In alternativa è possibile usare una procedura guidata con: | In alternativa è possibile usare una procedura guidata con: | ||
Riga 377: | Riga 360: | ||
Per maggiori dettagli: <code>man console-setup</code> | Per maggiori dettagli: <code>man console-setup</code> | ||
== Riferimenti == | == Riferimenti == | ||
Per approfondimenti consiglio la lettura di [https://www.grc.com/cleartype.htm questo | Per approfondimenti sulla rasterizzazione consiglio la lettura di [https://www.grc.com/cleartype.htm questo articolo] dettagliato ma comprensibile. Invece [http://www.rastertragedy.com/ questa pagina] è più simile ad una tesi di laurea, con un approccio più scientifico. | ||
Altre fonti di informazione: | |||
http://wiki.debian.org/Fonts<br> | http://wiki.debian.org/Fonts<br> | ||
https://wiki.archlinux.org/index.php/Font_Configuration<br> | https://wiki.archlinux.org/index.php/Font_Configuration<br> | ||
Riga 405: | Riga 388: | ||
|Estesa_da = | |Estesa_da = | ||
:[[Utente:BubuXP|BubuXP]] 02:46, 21 mag 2013 (CEST) (riscrittura totale) | :[[Utente:BubuXP|BubuXP]] 02:46, 21 mag 2013 (CEST) (riscrittura totale) | ||
: [[Utente:Danielsan|Danielsan]] | : [[Utente:Danielsan|Danielsan]] | ||
}} | }} | ||
[[Categoria:Browser]] | [[Categoria:Browser]] | ||
[[Categoria:Ottimizzazione del sistema]] | [[Categoria:Ottimizzazione del sistema]] |
contributi