venerdì 3 settembre 2010

Arrivare dove nessun font è mai giunto prima...

I font su Linux sono sempre stati un po' il tallone d'achille, soprattutto paragonando i risultati a video con soluzioni proprietarie come Windows e MacOS... Fino ad oggi! Infatti ora vi suggerisco un piccolo trucco per migliorare sensibilmente i caratteri sullo schermo.


FEDORA
Prima di tutto assicuriamoci di avere i repo RPMFusion configurati, quindi da terminale lanciamo:
su -c 'yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'
(Fate attenzione, dev'essere tutto su una riga)

Una volta fatto questo andiamo ad inserire i seguenti comandi, sempre da terminale:
su -c "ln -s /etc/fonts/conf.avail/10-autohint.conf /etc/fonts/conf.d/"
su -c "ln -s /etc/fonts/conf.avail/10-sub-pixel-rgb.conf /etc/fonts/conf.d/"
Ora riavviate, già dovreste notare qualche miglioramento... Ma non è ancora finita!
Ora installiamo un pacchetto aggiuntivo, tramite il comando
su -c "yum install freetype-freeworld"

DEBIAN
La procedura per la mamma è un po' diversa.
Aggiungete al vostro sources.list il seguente repo:
deb http://hadret.rootnode.net/debian/ unstable main
deb-src http://hadret.rootnode.net/debian/ unstable main
Ora da terminale (come root)
apt-get update
apt-get install -t unstable libcairo2
Per evitare possibili conflitti, al termine della procedura è consigliabile commentare i repo appena aggiunti.
Ulteriore accorgimento, per coloro che utilizzano DE alternativi ai soliti Gnome e KDE, è quello di lanciare da terminale di root SOLAMENTE il comando a seguire, per ottenere il massimo risultato:
ln -s /etc/fonts/conf.avail/10-sub-pixel-rgb.conf /etc/fonts/conf.d/

A questo punto riavviate nuovamente e godetevi il vostro nuovo desktop in tutto il suo splendore!

24 commenti:

  1. Ottimo!
    Ovviamnte, si tratta della stessa patch di cui abbiamo parlato giorni fa relativamente a Debian.
    Per ottenerla su Debian, si può procedere in due modi.

    1) Compilazion: cf. http://forum.debianizzati.org/viewtopic.php?f=17&t=36257&hilit=resa+caratteri (testata personalmente e funzionante, anche se una rottura immensa)

    2) Repo di Hadret: cf. http://hadret.rootnode.net/ (via semplice e comoda: basta upgradare il pacchetto libcairo2 e quindi agire tramite le impostazioni di aspetto di Gnome/KDE)

    Per Arch esiste nei repos, credo di Aur, la versione di ubuntu: cf. http://wiki.archlinux.org/index.php/Font_Configuration#Ubuntu_patched_packages

    RispondiElimina
  2. @Doc
    Aggiungo che, almeno per Debian, si ottengono risultati migliori NON mettendo il link a 10-autohint.conf, ma lasciando SOLO quello per 10-sub-pixel-rgb.conf.
    Questo perché la qualità si OpenBox o altri DE peggiora notevolmente.

    RispondiElimina
  3. Molto interessante,dite che la procedura per Debian vale anche per Kubuntu?Invece di decommentare i repo posso eliminarli oppure deselezionarli direttamente da Kpackegekit....
    Non siate kubuntrazzisti :D

    RispondiElimina
  4. @Lazy
    Tranquillo, la patch per Debian su K/Ubuntu è già presente, in barba ai copyright ed al sw proprietario...
    Ergo, non devi fare nulla!

    RispondiElimina
  5. però a proposito avevo trovato queststa http://pollycoke.org/guide/index.php/Caratteri_%22da_leccare%22_su_Ubuntu anche se non chiarissima che parla proprio di Ubu e Kubu

    RispondiElimina
  6. Non riesco a capire quando aggiungo il comando

    apt-get install -t unstable libcairo2

    LA risposta e


    Alcuni pacchetti non possono essere installati. Questo può voler dire
    che è stata richiesta una situazione impossibile oppure, se si sta
    usando una distribuzione in sviluppo, che alcuni pacchetti richiesti
    non sono ancora stati creati o sono stati rimossi da Incoming.
    Le seguenti informazioni possono aiutare a risolvere la situazione:

    I seguenti pacchetti hanno dipendenze non soddisfatte:
    libcairo2 : Dipende: libegl1-mesa (>= 7.8.1) ma non è installabile oppure
    libegl1-x11 ma non è installabile
    E: Pacchetti danneggiati

    Qualche idea ???

    RispondiElimina
  7. @Burt
    Cosa hai installato?
    Debian sid o debian wheezy? Oppure, usi squeeze?

    In alternativa, prova:
    apt-get install libcairo2/unstable

    In generale, però, ti conviene imparare a gestire il pinning: http://wiki.debian.org/it/AptPreferences

    RispondiElimina
  8. Io credo dipenda dai recenti cambiamenti in fatto di libcairo2 in Debian.
    La nuova versione, infatti, sia dei repo ufficiali (sid) sia di Hadret, dipende da quel pacchetto libegl1-mesa di sid.
    Se l'amico Burt usa Squeeze, ad esempio, e come da guida ha aggiunto solo il repo di Hadret mentre non ha attivo il repo di unstable, è chiaro che aptitude non trova quel libegl1-mesa e non può soddisfare la dipendenza.
    È solo un'ipotesi, ma penso sia realistica.

    Il discorso libcairo2 è abbastanza in fermento al momento ed io e doc stiamo studiando la situazione, direi che appena la situazione si sarà un attimo sistemata sarà da aggiornare l'articolo, o in alternativa spezzarlo proponendone uno solo dedicato a Debian, in quanto sarà da diversificare la situazione Squeeze da quella Wheezy/Sid.

    RispondiElimina
  9. Allora, mi sono dimenticato di dire che da poco uso LMDE, quindi in questo momento dovrei usare squeeze giusto ?

    Quindi se non ho capito male dovrei attivare i pacchetti di livello 5 da mint update, o sbaglio ?

    RispondiElimina
  10. @Burt
    Se usi LMDE, significa che hai una "testing", dunque, attualmente, "wheezy".

    Questa guida non ti serve: LMDE ha la versione della libcairo patchata, presa da un'altra distro derivata di debian.

    Se vuoi usare il pacchetto di Hadret, devi:
    1) attivare il repo di hadret
    2) attivare il repo di Debian Sid/Unstable
    3) studiarti il funzionamento del pinning, a meno che tu non voglia sputtanare il tuo sistema

    RispondiElimina
  11. @Doc

    Confermo tutto, i vari livelli del mint update qui non c'entrano, si tratta proprio di un repo che manca (quello di Sid).

    Come detto, comunque, il discorso libcairo si sta evolvendo.
    Prima di metterti a giocare con i repo, i ti consiglierei di fare una prova e di crearti nella tua home un file .Xresources contenente questi valori:

    Xft.dpi: 96.0
    Xft.hinting: true
    Xft.hintstyle: hintslight
    Xft.antialias: true
    Xft.rgba: rgb
    Xft.lcdfilter: lcddefault

    Prova a vedere se questo ti rende i caratteri piacevoli, se così non è, procedi come ti ha detto Doc ma il file .Xresources non l'avrai comunque creato per niente poichè anche con il nuovo pacchetto di Hadret, per una buona resa, ho scoperto che è necessario.

    RispondiElimina
  12. Intanto ringrazio tutti e due per il tempo che mi dedicate.

    Poi, ho provato a creare il file ma non mi pare di aver ottenuto grandi risultati, però di certo non mi metto a giocare con i repo :), dovro studiarmi la faccenda del pinning da quello che ho capito e una cosa importante.
    Sperando in una guida specifica per LMDE vi saluto e vi ringrazio.

    Ciao alla Prossima

    RispondiElimina
  13. @Burt
    Dritta semplice semplice:
    1) aggiungi il repo di sid + quello di hadret
    2) aptitude update
    3) aptitude install libcairo2 (come in guida)
    4) COMMENTI I REPOS DI SID E QUELLI DI HADRET
    5) aptitude update e stop

    RispondiElimina
  14. Esattamente Burt, finchè non ti studi per bene il pinning puoi comunque procede nel modo semplice descritto da Doc!
    Riguardo una guida specifica al pinning su LMDE, sarebbe del tutto superflua, in quanto il pinning funziona allo stesso modo su Debian e sulle sue figlie (LMDE, Crunch, Mepis ecc.).
    Per il momento guardati la documentazione ottima di debianizzati (in particolare http://guide.debianizzati.org/index.php/APT_uso_avanzato:_mixare_releases_diverse), per il futuro può essere che qualcosa al riguardo compaia anche in questi lidi!

    RispondiElimina
  15. @Doc e Milozzy
    Quando la situazione su Debian sarà più definita fatemi un fischio ed aggiorno il tip... :)

    RispondiElimina
  16. Senz'altro...probabilmente ci sarà da differenziare anche la situazione tra Squeeze e Wheezy/Sid

    RispondiElimina
  17. Grazie ragazzi , siete gentilissimi, seguirò i vostri consigli, ma sopratutto devo capire bene il pinning.

    Ciao :)

    RispondiElimina
  18. @Burt
    Questa è la documentazione ufficiale: http://www.debian.org/doc/manuals/debian-reference/ch02.it.html#_tips_for_the_package_management

    È buona anche la wiki: http://wiki.debian.org/it/AptPreferences

    RispondiElimina
  19. @herr affe
    @Milozzy
    Grande Millozzy!!! :)
    Quella del .Xresources non la sapevo, funziona!
    Se è indispensabile sarebbe da segnalare in guida.

    RispondiElimina
  20. @ Alf
    Si impongono della modifiche per quanto riguarda la libcairo2 in debian.

    Innanzi tutto, il repo di Hadret NON è consigliabile se si usa la stable e, per ora, wheezy. Per fortuna, a suo tempo scaricai i debs di Hadret: potrei chiedergli se possiamo renderli disponibili ad maioris dei gloriam.

    Poi, la libcairo2 di Sid è più avanzata di quella di hadret e va benissimo. Per ottenere un hinting (quasi) perfetto, basta creare un file ~/.Xresources contenente

    Xft.dpi: 92.0
    Xft.hinting: true
    Xft.hintstyle: hintslight ## ALTERNATIVE: hintsmedium o hintsfull
    Xft.antialias: true
    Xft.rgba: rgb
    Xft.lcdfilter: lcddefault

    e riavviare X. Non escludo che questa soluzione possa essere ottimale anche per le altre distro, che condividono la versione di Debian.

    Può essere utile il link alla libcairo di debian, per conoscere le versioni volta per volta disponibile: http://packages.debian.org/search?suite=all&section=all&arch=any&searchon=names&keywords=libcairo2

    RispondiElimina
  21. @Doc
    Ok, vista la moltitudine di opzioni e combinazioni, direi di dividere in Stable e Testing/Sid ed indicare le soluzioni migliori per ciascuna...

    RispondiElimina
  22. @AlfiereNero
    Non conviene!
    Ricorda che tra un po' il pacchetto di Sid entrerà in Testing. Quindi, a mio avviso, è meglio offrire indicazioni meno specifiche.

    Puoi anche prendere spunto dall'apposita sezione della mia guida.

    RispondiElimina
  23. @Doc
    Ok, darò un'occhiata. Ma i pacchetti di Sid non ci mettono una decina di giorni ad arrivare in Testing?

    Cmq converrebbe spulciare i repo di Statler e confrontarli con Squeeze, visto che in Crunch i fonts sono migliorati parecchio di default.

    RispondiElimina
  24. @AlfiereNero
    Dieci giorni, ma SOLO SE...

    Questa è l'attuale situazione:
    http://packages.debian.org/search?suite=all&section=all&arch=any&searchon=names&keywords=libcairo2

    Ho spiegato tutto nella mia guida.

    RispondiElimina

EDIT 30/12/2017: abbiamo deciso di chiudere i commenti ma lasciare le guide intatte.

Nota. Solo i membri di questo blog possono postare un commento.