Migliorare l'aspetto dei font: differenze tra le versioni

→‎Infinality: revisione (da completare)
(→‎Infinality: revisione (da completare))
Riga 258: Riga 258:
Infinality è una combinazione di patch e configurazioni che puntano, come scrive l'autore [http://www.infinality.net/blog/infinality-freetype-patches/ sul suo sito], a migliorare la resa dei font imitando quelle dei vari sistemi operativi, e di permettere all'utente di personalizzare al meglio le impostazioni.
Infinality è una combinazione di patch e configurazioni che puntano, come scrive l'autore [http://www.infinality.net/blog/infinality-freetype-patches/ sul suo sito], a migliorare la resa dei font imitando quelle dei vari sistemi operativi, e di permettere all'utente di personalizzare al meglio le impostazioni.


Principalmente, Infinality consiste in un set di patch da applicare al motore di rendering dei font ''FreeType'' per cambiarne alcuni comportamenti, e di un sistema di configurazione che si integra con ''Fontconfig'' e ne diventa quasi un'alternativa di fatto. Tra le varie configurazioni è degno di nota un "database" con un gran numero di font e le opzioni di rendering migliore per ognuno di essi (per esempio abilita l'autohint per i font senza istruzioni di hinting).
Principalmente, Infinality consiste in un set di patch da applicare al motore di rendering dei font ''FreeType'' per cambiarne alcuni comportamenti, e di un sistema di configurazione che si integra con ''Fontconfig''. Tra le varie configurazioni è degno di nota un "database" con un gran numero di font e le opzioni di rendering migliore per ognuno di essi (per esempio abilita l'autohint per i font senza istruzioni di hinting).


Alcuni utenti che hanno provato Infinality non ne sono rimasti colpiti, altri hanno espresso un'opinione negativa. Probabilmente avranno giudicato senza provare a cambiare le molte opzioni di configurazione 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 a cambiare le molte opzioni di configurazione 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 con il nickname 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>
Il creatore del progetto (conosciuto proprio con il nickname 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>
Al momento, bohoomil chiama il progetto [http://bohoomil.com/ Infinality ultimate], perché l'ha modificato e migliorato sostanzialmente. Qui di seguito troverete i pacchetti con l'Infinality originale, ribattezzato ''[https://it.wikipedia.org/wiki/Sistema_legacy legacy]'' per distinguerlo dall'attuale ''ultimate'', ma al più presto si cercherà di pacchettizzare anche la versione ''ultimate''.<br>
Al momento, bohoomil chiama il suo progetto [http://bohoomil.com/ Infinality ultimate], perché l'ha modificato sostanzialmente, aggiungendo ad esempio anche delle patch per la libreria ''Cairo''.
 
Comunque a detta di molti, il rendering di FreeType è ormai ottimo anche senza bisogno di queste patch, basta una buona configurazione.
Comunque a detta di molti, il rendering di FreeType è ormai ottimo anche senza bisogno di queste patch, basta una buona configurazione.


== Infinality legacy ==
== Installazione ==
La differenza principale tra ''ultimate'' e ''legacy'' sta nelle modifiche a ''Fontconfig'': mentre nella ''ultimate'' si vanno a modificare i sorgenti per inserire le configurazioni di Infinality, nella ''legacy'' queste configurazioni vanno ad aggiungersi e affiancano i pacchetti originali, senza modificarli direttamente. Nella ''ultimate'' le configurazioni sono state rinnovate e si vanno a modificare anche i sorgenti della libreria grafica ''Cairo'', oltre ad aggiungere una collezione di font liberi e gratuiti. Il cuore del progetto, cioè le modifiche alla libreria ''FreeType'', invece è rimasto praticamente lo stesso tra le due versioni.
=== 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 copiare in una directory di backup e poi eliminare i file <code>/etc/fonts/local.conf</code> e <code>~/.config/fontconfig/fonts.conf</code>, poi fare la stessa cosa con le impostazioni di hinting (''1*.conf'') in <code>/etc/fonts/conf.d/</code>, con:
Copiare in una directory di backup e poi eliminare i file <code>/etc/fonts/local.conf</code> e la directory <code>~/.config/fontconfig/</code> con tutto il suo contenuto:
<pre>
<pre>
$ mkdir ~/backupFC/
$ mkdir ~/backupFC/
$ mv ~/.config/fontconfig/fonts.conf ~/backupFC/
$ mv ~/.config/fontconfig/ ~/backupFC/
$ cp /etc/fonts/local.conf ~/backupFC/
$ cp /etc/fonts/local.conf ~/backupFC/
$ cp /etc/fonts/conf.d/1*.conf ~/backupFC/
# rm /etc/fonts/local.conf
# rm /etc/fonts/local.conf /etc/fonts/conf.d/1*.conf
</pre>
</pre>
Controllare anche che i file <code>/etc/X11/Xresources/x11-common</code> e <code>~/.Xresources</code> non contengano righe con impostazioni [[Migliorare l'aspetto dei font#Xft|Xft]] (se sono presenti e non volete cancellarle si possono commentare con un '''''!''''' all'inizio della riga). Così dovremmo essere tornati alla configurazione iniziale di Debian.
Controllare anche che i file <code>/etc/X11/Xresources/x11-common</code> e <code>~/.Xresources</code> non contengano righe con impostazioni [[Migliorare l'aspetto dei font#Xft|Xft]] (se sono presenti e non volete cancellarle direttamente si possono commentare con un '''''!''''' all'inizio della riga). Così dovremmo essere tornati alla configurazione iniziale di Debian.
 
Adesso si possono aggiornare <code>libfreetype6</code>, <code>libcairo2</code> e <code>libcairo-gobject2</code> con le versioni patchate e poi installare la configurazione di Infinality, contenuta in <code>fontconfig-infinality</code>:
{| class="wikitable"
|-
! !! libfreetype6 !! libcairo2 !! libcairo-gobject2 !! fontconfig-infinality
|-
| rowspan=2 | Wheezy || i386 || n.d. || n.d. || rowspan=2 | all
|-
| amd64 || n.d. || n.d.
|-
| rowspan=2 | Jessie || i386 || i386 || i386 || rowspan=4 | all
|-
| amd64 || amd64 || amd64
|-
| rowspan=2 | Stretch/Sid || i386 || i386 || i386
|-
| amd64 || amd64 || amd64
|}


Adesso si può aggiornare <code>libfreetype6</code> con la versione patchata e poi installare la configurazione di Infinality, contenuta in <code>fontconfig-infinality</code>:
<!--
*'''libfreetype6'''
*'''libfreetype6'''
**[https://drive.google.com/uc?export=download&id=0B7AdLMiZn4FzM3g1Q0U4aDdSWU0 Wheezy i386]
**[https://drive.google.com/uc?export=download&id=0B7AdLMiZn4FzYlNITlQ0YWhjVk0 Wheezy amd64]
**Jessie i386 (non disponibile al momento, si può compilare comunque [https://drive.google.com/open?id=0B7AdLMiZn4FzTjFJWTZQOXh2OFE#list dai sorgenti])
**Jessie i386 (non disponibile al momento, si può compilare comunque [https://drive.google.com/open?id=0B7AdLMiZn4FzTjFJWTZQOXh2OFE#list dai sorgenti])
**[https://drive.google.com/uc?export=download&id=0B7AdLMiZn4FzanJMQnhwa0N5bG8 Jessie amd64]
**[https://drive.google.com/uc?export=download&id=0B7AdLMiZn4FzT2drTHFvY0ZxUFk Jessie amd64]
**Stretch/Sid i386 (non disponibile al momento, si può compilare comunque [https://drive.google.com/open?id=0B7AdLMiZn4Fzfi13cC15dm1NaWRBaFhKNXFiNGg3aTBEbUFqUkxQNnNtZC15enB2ZkhXY1E#list dai sorgenti])
**Stretch/Sid i386 (non disponibile al momento, si può compilare comunque [https://drive.google.com/open?id=0B7AdLMiZn4Fzfi13cC15dm1NaWRBaFhKNXFiNGg3aTBEbUFqUkxQNnNtZC15enB2ZkhXY1E#list dai sorgenti])
**[https://drive.google.com/uc?export=download&id=0B7AdLMiZn4FzYlowWWRGdXI2YnM Stretch/Sid amd64]
**[https://drive.google.com/uc?export=download&id=0B7AdLMiZn4FzYlowWWRGdXI2YnM Stretch/Sid amd64]
Riga 291: Riga 305:
**[https://drive.google.com/uc?export=download&id=0B7AdLMiZn4FzYmM3YUFOVGtoUmM tutte le versioni, i386 e amd64]
**[https://drive.google.com/uc?export=download&id=0B7AdLMiZn4FzYmM3YUFOVGtoUmM tutte le versioni, i386 e amd64]
Gli altri pacchetti, il codice sorgente e i log di compilazione sono disponibili [https://drive.google.com/open?id=0B7AdLMiZn4FzT1FGTERscGtzc0E#list qui per Wheezy], [https://drive.google.com/open?id=0B7AdLMiZn4FzZWVXYmM5TE5YVUE#list qui per Jessie] e [https://drive.google.com/open?id=0B7AdLMiZn4FzflZIWDFMWUxMR2F4WGQwQkRkcThsaFFxV2x1S0dGWjgzcEdlVjgtaGV5U2c#list qui per Stretch/Sid].<br>
Gli altri pacchetti, il codice sorgente e i log di compilazione sono disponibili [https://drive.google.com/open?id=0B7AdLMiZn4FzT1FGTERscGtzc0E#list qui per Wheezy], [https://drive.google.com/open?id=0B7AdLMiZn4FzZWVXYmM5TE5YVUE#list qui per Jessie] e [https://drive.google.com/open?id=0B7AdLMiZn4FzflZIWDFMWUxMR2F4WGQwQkRkcThsaFFxV2x1S0dGWjgzcEdlVjgtaGV5U2c#list qui per Stretch/Sid].<br>
-->
Se avete abilitato [[Usare pacchetti a 32 bit su sistemi a 64 bit|multiarch]], quasi sicuramente avrete già installato entrambe le versioni ''i386'' e ''amd64'' di <code>libfreetype6</code> e quindi dovrete aggiornarle entrambe. Per installare il tutto:
Se avete abilitato [[Usare pacchetti a 32 bit su sistemi a 64 bit|multiarch]], quasi sicuramente avrete già installato entrambe le versioni ''i386'' e ''amd64'' di <code>libfreetype6</code> e quindi dovrete aggiornarle entrambe. Per installare il tutto:
<pre>
<pre>
Riga 305: Riga 320:
È possibile creare anche altri preset e modificare altri parametri, ma per farlo rimando alla lettura del file <code>/etc/fonts/infinality/README</code> e dei file di configurazione <code>/etc/fonts/infinality/infinality.conf</code> e <code>/etc/X11/Xsession.d/99infinality-settings</code>.
È possibile creare anche altri preset e modificare altri parametri, ma per farlo rimando alla lettura del file <code>/etc/fonts/infinality/README</code> e dei file di configurazione <code>/etc/fonts/infinality/infinality.conf</code> e <code>/etc/X11/Xsession.d/99infinality-settings</code>.


=== Disinstallazione ===
== Disinstallazione ==
Per rimuovere Infinality e ripristinare lo status quo ante:
Per rimuovere Infinality e ripristinare lo status quo ante:
<pre>
<pre>
317

contributi