PDA

View Full Version : Freetype2 e fontconfig, fatti e misfatti


City_Hunter
21-09-2004, 16:50
Il recente rilascio di X.Org 6.8 (www.x.org), corredato di freetype 2.1.8, ripropone il problema dell'aggiornamento di freetype2.

Giusto ieri Slackware ha rilasciato i propri pacchetti ufficiali di x.org, che adottano l'ultima versione disponibile di freetype (2.1.9) e fontconfig (2.2.3).

Il problema nasce dal fatto che il font caching di freetype ha subito cambiamenti significativi dalla versione 2.1.7 alla 2.1.8 (e superiori), tali da pregiudicare il corretto funzionamento di alcuni programmi basati su freetype 2.1.7 o inferiore.
In particolare, ho riscontrato questo problema nei programmi derivati da Mozilla (Firefox, Thunderbird, lo stesso Mozillone) e anche in alcune parti di KDE (come il font installer).

In teoria la compatibilità binaria fra due versioni di freetype nella serie "stabile" non dovrebbe mai essere messa in discussione.
In realtà sembra che a sbagliare siano stati i programmatori di Mozilla, KDE e soci, avendo sfruttato alcune funzioni interne di freetype (cosa che non andava fatta), per altro dichiaratamente sperimentali e quindi facilmente soggette a cambiamenti.

Per KDE tutto sommato è sufficiente rimediare con la ricompilazione, dato che il configure script di kdebase è in grado di rilevare la versione di freetype installata sul sistema compilando di conseguenza (non credo sia strettamente necessario ricompilare altro, oltre a kdebase).

Per Mozilla e derivati, al momento non c'è una vera e propria soluzione. Il problema è tutt'ora oggetto di discussione su questo thread di bugzilla (https://bugzilla.mozilla.org/show_bug.cgi?id=234035) dove se non altro è possibile reperire una patch che dovrebbe permettere di compilare una versione di mozilla/firefox/ecc. che funzioni con freetype >= 2.1.8.

Un'alternativa comoda a tutto questo risiede sempre nel downgrade di freetype2 alla versione 2.1.7, questa scelta però potrebbe rivelarsi controproducente in prospettiva. Se Slackware Linux (così come altre distribuzioni) decidesse di adottare stabilmente freetype >= 2.1.8, programmi compilati per questa versione di freetype e facenti uso del font caching rischierebbero di non funzionare sui sistemi con freetype <= 2.1.7.