| 4 commenti ]

Riuscire a visualizzare decentemente i caratteri su Linux continua a essere una fottuta impresa. Forse sono il solo a sentire così pesantemente la questione, ma per quanto mi riguarda questo potrebbe essere uno dei pochissimi motivi per tornare a Windows sul desktop. Il problema della resa dei caratteri è poi comune a tutte le distro, e questo aggiunge tristezza a tristezza. I motivi sono diversi e stratificati: uno riguarda Xorg, un'altro riguarda una tecnologia proprietaria licenziata da Microsoft e un terzo riguarda la qualità dei font disponibili e liberamente utilizzabili, mi fermo ma si potrebbe continuare.
Proviamo ad affrontarli, uno alla volta. Vista la quantità di materiale, preferito dividere il post in tre parti.

Tuning di Xorg per il nostro Display LCD

Ogni monitor ha dimensioni diverse che Xorg non conosce con precisione ma stima approssimativamente. Provate a verificare questa affermazione con questo comando $ xdpyinfo | grep resolution
resolution: 94x96 dots per inch
Ciò significa che il pixel non è quadrato, questo non è bene.
Ora, sempre con xdpyinfo vediamo quali sono le dimesioni rilevate del monitor $ xdpyinfo | grep dimensions
dimensions: 1280x1024 pixels (328x271 millimeters)
Possiamo indicare a Xorg le dimensioni corrette, per il DPI che vogliamo, con il parametro DisplaySize nella sezione relativa al monitor. Il file da modificare è /etc/X11/xorg.conf ecco com'è il mio, così vi fate un'idea...

Per calcolare il valore di DisplaySize la formula da usare è questa (25.4 è l'equivalente in millimetri del pollice)
DisplaySize = Pixel * 25.4 / DPI
Ripetuta sia per l'altezza sia per la larghezza. In pratica per una risoluzione di 1280x1024 con DPI a 96 il calcolo da fare sarà così:
1280 * 25.4 / 96 = 338 per la larghezza
1024 * 25.4 / 96 = 270 per l'altezza
DisplaySize 338 270
Nota: nel caso Xorg, dopo averlo riavviato, ignorasse completamente le modifiche, aggiungere al file di configurazione la riga seguente, nella sezione Device
Option "NoDDC"
A questo punto se ripetiamo il comando xdpyinfo dovremmo avere risultati più confortanti. I pixel ora sono quadrati.$ xdpyinfo | grep resolution
resolution: 96x96 dots per inch

Per ora è tutto, alla prossima.

4 commenti

Anonimo ha detto... @ maggio 27, 2009 2:17 PM

Scusami per la domanda, ma displaysize non è la dimensione fisica del monitor?
Muovo questo appunto perchè la formula che hai scritto dovrebbe servire a ricavare il valore di dpi corretto, perchè quello è variabile, piuttosto che la dimensione del monitor, che è fissa e che dev'essere *misurata* con un righello per *calcolare* il valore dei dpi.
Sbaglio?

hipst3r ha detto... @ maggio 27, 2009 6:02 PM

Hai ragione, correggo.

Ralph ha detto... @ maggio 28, 2009 1:53 AM

In realtà, su Linux i font (compresi i True Type) si possono renderizzare anche meglio di Windows. Il problema è che tutte le distribuzioni disattivano per default alcune caratteristiche coperte da copyright; in particolare, il bytecode è copyright Apple, mentre il subpixel-hinting è copyright Microsoft.
Riattivando queste caratteristiche si risolve tutto; l'unico fastidio è che ci sono alcuni package da ricompilare con le apposite patches (inoltre, Firefox deve essere ricompilato da sorgente in modo che vada a linkarsi dinamicamente alla libreria Cairo patchata).

I package già patchati esistono per la Slackware e anche per Ubuntu/Debian; non so se ci siano anche per CentOS.

Ne avevamo parlato su Slacky.eu in questa discussione:

http://www.slacky.eu/forum/viewtopic.php?f=1&t=27444&start=0&hilit=daedra

Notare gli screenshot presenti nella discussione.

hipst3r ha detto... @ maggio 28, 2009 9:05 AM

Hai anticipato i contenuti della seconda parte... :-)

Posta un commento