Newsgroup: it.comp.os.linux.iniziare
Titolo: Domanda da niubbo sui font

Usando KDE 3.5 su una CentOS5, ho installato come amministratore alcuni 
font (centro di controllo di KDE). Però le applicazioni non se ne 
accorgevano dei nuovi font, e neanche il Centro di Controllo di KDE. 
Facendo una ricerca, ho visto che i font di sistema sono in 
/usr/share/fonts, mentre quelli che ho installato come amministratore 
sono in /usr/local/share/fonts, che per altro il Centro di Controllo non 
vede (ci sono tutti i font che ho installato, ma se apro il centro di 
controllo non li elenca: se provo a reinstallare i font, mi dice che ci 
sono già...)
Come si aggiusta la cosa (ammesso che abbia senso aggiustarla: ho creato 
una dir in /usr/share/fonts e ci ho messo dentro i font che mi servono)?


  Devi dire a Xorg di usare la directory usr/local/share/fonts.  Per
farlo devi aggiungere questa directory (con le sue sottodirectory dei
font che contiene) in /etc/X11/xorg.conf nella sezione "Files".  Un
esempio di com'è fatta questa sezione:
Section "Files"
#       ModulePath   "/usr/lib/xorg/modules"
        FontPath     "/usr/share/fonts/misc/"
#       FontPath     "/usr/share/fonts/TTF/"
#       FontPath     "/usr/share/fonts/OTF"
        FontPath     "/usr/share/fonts/Type1/"
        FontPath     "/usr/share/fonts/100dpi/:unscaled"
        FontPath     "/usr/share/fonts/75dpi/:unscaled"
        FontPath     "/usr/share/fonts/100dpi/"
        FontPath     "/usr/share/fonts/75dpi/"
#       FontPath     "/usr/share/fonts/Speedo/"
        FontPath     "/usr/share/fonts/unifont/"
        FontPath     "/usr/share/fonts/freefonts/"
        FontPath     "/usr/share/fonts/fs-fonts/"
        FontPath     "/usr/share/fonts/indic/"
        FontPath     "/usr/share/fonts/liberation-fonts/"
        FontPath     "/usr/share/fonts/thaifonts-scalable/"
        FontPath     "/usr/share/fonts/ttf-bitstream-vera/"
EndSection
  Poi dai un HUP a Xorg oppure lo riavvii.
  Ciao,
-- 
Alessandro Selli 
http://alessandro.route-add.net
AVVERTENZA: i messaggi inviati a "trappola" non mi arriveranno.
WARNING: messages sent to "trappola" will never reach me.

 font che contiene) in /etc/X11/xorg.conf nella sezione "Files". 
Sara' un 10 anni che questo modo e' divenuto obsoleto.
Per aggiungere fonts non localmente, cioe' non per utente, usa le 
istruzioni per la tua distribuzione. Di solito devi creare un link in 
fontpath.d presente sotto /etc/X11.
Se lo vuoi fare solo per utente copiale in ~/.fonts .

 fontpath.d presente sotto /etc/X11.
root@krakatoa ~# find /etc -name fontpath\*
root@krakatoa ~# locate fontpath
root@krakatoa ~#


 X.Org X Server 1.7.6
Capito il perche' della differenza:
 Fontconfig is a library designed to provide a list of available fonts to 
applications, and also for configuration for how fonts get rendered. 
Though fontconfig is the standard in today's Linux, some applications 
still rely on the original method of font categorization: the Xorg server 
configuration file (/etc/X11/xorg.conf).
La roba molto vecchia cerca ancora xorg.conf che non e' piu' usata per 
questo, ad esempio da kde.
La cosa migliore e' usare le istruzioni specifiche della distribuzione per 
aggiungere fonts.

 questo, ad esempio da kde.
  No, non è questione di vecchiaia, Xorg e KDE non devono essere confusi tra
di loro, sono due cose diverse e stanno a due livelli separati di gestione
della grafica: Xorg è un servizio di rete di sistema, KDE, come tutti i
window manager e i desktop, è un applicativo utente.  xorg.conf è il file di
configurazione di Xorg, KDE non c'entra.  Come il server X reperisce e
gestisce i font non dipende da quale window manager si usa, anche se questo
può usare i suoi indipendentemente da X.  Le librerie che installa
fontconfig infatti non sono usate da Xorg, ma dagli applicativi che ci
girano sotto(1).  Xorg può, a discrezione dell'amministratore di sistema,
essere configurato per usare gli stessi font che vede fontconfig, basta
usare una sezione "Files" in xorg.conf come questa:
Section "Files"
        ModulePath   "/usr/lib/xorg/modules"
        FontPath     "catalogue:/etc/X11/fontpath.d"
        FontPath     "built-ins"
EndSection
Ma questo, di nuovo, non dipende dalla presenza delle librerire di fontconfig.
1) infatti, su una Fedora13:
root@krakatoa ~# rpm -ql fontconfig | grep libfont
/usr/lib/libfontconfig.so.1
/usr/lib/libfontconfig.so.1.4.4
root@krakatoa ~# ldd /usr/bin/Xorg | grep libfontconfig
root@krakatoa ~#
ossia, Xorg non usa fontconfig.  Gnome e firefox invece lo usano:
root@krakatoa ~# ldd /usr/bin/gnome-session | grep libfontconfig
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x41c36000)
root@krakatoa ~# ldd /usr/lib/firefox-3.6/components/*.so | grep libfontconfig
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb5be1000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb58f8000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb52a5000)
root@krakatoa ~#
  Ciao,
-- 
Alessandro Selli, 
http://alessandro.route-add.net
AVVERTENZA: i messaggi inviati a "trappola" non mi arriveranno.
WARNING: messages sent to "trappola" will never reach me.
Chiave PGP/GPG: EC885A8B

Gnome e firefox invece lo usano:
Come kde. E' quello che dico da un po'.
Tornando alla domanda originale, aggiungere dei fonts in xorg.conf nelle 
distribuzioni moderne e' un modo antico di fare le cose, specie per quelle 
che xorg.conf non lo richiedono proprio. Prima c'era xfs, poi fontconfig. 
Si usano questi, non xorg.conf.

 Si usano questi, non xorg.conf.
  No, non è per niente un metodo antico.  È *il* metodo di configurare i
font per fare in modo che *tutti* gli applicativi che girano sotto X,
inclusi Gnome, KDE, XFCE, Firefox, Thunderbird, XEMACS ecc., li abbiano
disponibili.  Se si installano dei font solo per certi applicativi utente
allora solo questi applicativi li avranno disponibili, gli altri no.  E non
mi viene in mente una buona ragione perché ciò sia considerabile un
vantaggio oltre al caso di font in un formato che Xorg non riconosce e non
sa usare mentre qualche applicativo si (e non so di nessun applicativo
installabile dai repositoy ufficiali delle principali distribuzioni che
abbia questa particolarità).




Ringrazio Alessandro Selli e Platonis che mi hanno illuminato su alcuni 
aspetti che non conoscevo, però la domanda si riferiva ad un presunto baco 
di KDE in CentOS. Ad esempio sul pc di casa, che ha Debian Lenny, i font 
installati tramite il centro di controllo vengono messi in /usr/local/
share/fonts, e l'applicazione "Installatore dei tipi di carattere" li 
elenca, ed anche OpenOffice li può usare. In CentOS, per qualche motivo 
ancora oscuro, i font installati finiscono in /usr/local/share/fonts ma 
"Installatore dei tipi di carattere" non li vede (a meno di tentare di 
installarli di nuovo, nel qual caso dice "il file c'è già con size 0 
byte").