martedì 1 gennaio 2008

UBUNTU 6.06 e XPDF non visualizza alcuni documenti

Il problema che mi si e' presentato e' che Xpdf non mi visualizza alcuni documenti .pdf mentre altri si. Ci son diventato matto un bel po'.
Da man pages del programma si dice che xpdf legge un file di configurazione, precisamente xpdfrc, in ubuntu questo file e' situato nel percorso:
/etc/xpdf/xpdfrc
( per trovarlo eventualmente, da terminale dare il comando: locate xpdfrc)
Questo e' il file di sistema, viene letto da xpdf se non trova nella directory home dell'utente il file nascosto ~$/.xpdfrc
Se esiste il file locale nella propria directory home avra' la precedenza.
Nella mia installazione tale file nella dir home non c'e' quindi
passo 1)
aprire il file di sistema con un editor di testo (gedit x ambiente gnome), salvarlo nella propria directory home con il nome .xpdfrc (scegliere quindi salva con nome, selezionare la propria home e salvare col nome indicato, compreso il punto prima del nome).
In questo modo non si alterano i file di sistema.
Dopo un bel po' di ricerche e controlli ho notato che queste direttive contenute nel file di configurazione in effetti puntano...... al nulla :) 
# These map the Base-14 fonts to the Type 1 fonts that ship with
# ghostscript (gsfonts package).
displayFontT1 Times-Roman        /usr/share/fonts/type1/gsfonts/n021003l.pfb
displayFontT1 Times-Italic        /usr/share/fonts/type1/gsfonts/n021023l.pfb
displayFontT1 Times-Bold        /usr/share/fonts/type1/gsfonts/n021004l.pfb
displayFontT1 Times-BoldItalic        /usr/share/fonts/type1/gsfonts/n021024l.pfb
displayFontT1 Helvetica            /usr/share/fonts/type1/gsfonts/n019003l.pfb
displayFontT1 Helvetica-Oblique        /usr/share/fonts/type1/gsfonts/n019023l.pfb
displayFontT1 Helvetica-Bold        /usr/share/fonts/type1/gsfonts/n019004l.pfb
displayFontT1 Helvetica-BoldOblique    /usr/share/fonts/type1/gsfonts/n019024l.pfb
displayFontT1 Courier            /usr/share/fonts/type1/gsfonts/n022003l.pfb
displayFontT1 Courier-Oblique        /usr/share/fonts/type1/gsfonts/n022023l.pfb
displayFontT1 Courier-Bold        /usr/share/fonts/type1/gsfonts/n022004l.pfb
displayFontT1 Courier-BoldOblique    /usr/share/fonts/type1/gsfonts/n022024l.pfb
displayFontT1 Symbol            /usr/share/fonts/type1/gsfonts/s050000l.pfb
displayFontT1 ZapfDingbats        /usr/share/fonts/type1/gsfonts/d050000l.pfb

In effetti nella dir indicata molti dei file font non ci sono, sono i font base di ghostscript
passo 2)
scaricare il pacchetto dei font http://sourceforge.net/projects/gs-fonts/ aprire il file compresso e scompattarlo nella directory nascosta della propria home ~$/.fonts
Nel caso la dir .fonts non esistesse crearla prima di scompattare, ricordo che e' nascosta quindi bisogna abilitare visualizza file nascosti per vederla.
Si avra' una nuova cartella, io l'ho rinominata ghost, controllare che ci siano dentro i file .pfb
Passo 3)
modificare il file .xpdfrc contenuto nella propria cartella home facendo puntare i link ai
file delle font come indicati sopra alla nuova locazione creata, nel mio caso si avra' quindi:
displayFontT1 Times-Roman        /home/medal/.fonts/ghost/n021003l.pfb
displayFontT1 Times-Italic        /home/medal/.fonts/ghost/n021023l.pfb
displayFontT1 Times-Bold        /home/medal/.fonts/ghost/n021004l.pfb
displayFontT1 Times-BoldItalic        /home/medal/.fonts/ghost/n021024l.pfb
displayFontT1 Helvetica            /home/medal/.fonts/ghost/n019003l.pfb #
displayFontT1 Helvetica-Oblique        /home/medal/.fonts/ghost/n019023l.pfb
displayFontT1 Helvetica-Bold        /home/medal/.fonts/ghost/n019004l.pfb
displayFontT1 Helvetica-BoldOblique    /home/medal/.fonts/ghost/n019024l.pfb
displayFontT1 Courier            /home/medal/.fonts/ghost/n022003l.pfb
displayFontT1 Courier-Oblique        /home/medal/.fonts/ghost/n022023l.pfb
displayFontT1 Courier-Bold        /home/medal/.fonts/ghost/n022004l.pfb
displayFontT1 Courier-BoldOblique    /home/medal/.fonts/ghost/n022024l.pfb
displayFontT1 Symbol            /home/medal/.fonts/ghost/s050000l.pfb
displayFontT1 ZapfDingbats        /home/medal/.fonts/ghost/d050000l.pfb

Questa soluzione non modifica file o directory di sistema, e risultera' valida solo per l'utente nella cui home sara' stata fatta la modifica (piu' utenti dello stesso pc quindi dovranno fare la stessa cosa per rendere attiva la visualizzazione).

E' possibile correggere la cosa a livello di sistema invece utilizzando i poteri di root e copiando
nella directory /usr/share/fonts/type1/gsfonts/ i file delle font mancanti, prelevandoli dal pacchetto scaricato in precedenza, facendo attenzione a non combinar macelli :)

Nel caso poi dare un comando sudo fc-cache -fv per aggiornare la cache delle font installate.

Nessun commento:

Posta un commento

I messaggi sono moderati prima della pubblicazione, non appariranno subito