martedì 8 marzo 2011

Pdf reader in ambiente Linux

Buonasera a tutti!

Questo articolo è dedicato a chi, come me, si è trovato nella condizione di non riuscire a leggere simboli (nel mio caso matematici e credo che siano soprattutto questi ad aver problemi) in un file pdf utilizzando programmi come okular, epdfviewer o evince e così via.

È bene chiarire che il problema non risiede nel programma che legge i pdf! Infatti ognuno di questi usa una libreria di rendering che utilizza un font per renderizzare i simboli. Il problema a quanto pare è proprio sul font utilizzato.
La libreria di cui parlo è Poppler che è basata su xpdf3.0.

Googlando un po' ho trovato una segnalazione relativa al problema. Parlo del Bug 26139. Leggendo un po' questo tread e i treads relativi ho trovato questa soluzione:
è necessario sostituire il font con cui Poppler renderizza;
il font in questione si chiama Symbol.pfb e si trova in /usr/share/fonts/type1/mathml/.
Prima di tutto apriamo il nostro gestore dei programmi e controlliamo se c'è installato il pacchetto che contiene il nuovo font:

ttf-symbol-replacement

Se è installato troveremo il font symbol.ttf in /usr/share/fonts/truetype/ttf-symbol-replacement/symbol-replacement.ttf/  ;
questo opportunamente rinominato diventerà il nuovo font di rendering

Una volta sicuri di di aver a disposizione ciò che ci serve apriamo un terminale e scriviamo le seguenti righe di codice

cd /usr/share/fonts/truetype/ttf-symbol-replacement/symbol-replacement.ttf/
(ci posizioniamo nella cartella che contiene il font-salvezza!)

sudo cp symbol.ttf /usr/share/fonts/type1/mathml/
(copiamo questo font nella cartella utilizzata da poppler)

cd /usr/share/fonts/type1/mathml/
(ci rechiamo nella cartella in cui abbiamo spostato il file)

sudo mv Symbol.pfb Symbol.old.pfb
(rinominiamo il vecchio file Symbol.pfb in qualunque modo...)
sudo mv symbol.ttf Symbol.pfb
(rinominiamo il nuovo font con il nome di quello "ufficiale")

Fatto ciò, proviamo a vedere se il problema si è risolto!
Chiudiamo le istanze eventualmente aperte del lettore pdf che utilizziamo e apriamo un file che in precedenza ci dava problemi.

Funziona?

Speriamo!!

Prima di congedarmi è bene dire che questa è una procedura abbastanza sicura ma da applicare solo se sussiste il problema di rendering. In caso contrario potrebbe... Causare errori di rendering! 
Beh non sempre certe dinamiche risultano essere molto chiare!!
Sperando di essere stata di aiuto vi saluto e vi auguro una buona serata!

Anna.

2 commenti:

Anonimo ha detto...

Complimenti!!

Ho risolto il problema grazie alla tua guida!!!

Unknown ha detto...

Oh bene! Mi fa proprio piacere avere un riscontro! Grazieee :)