mercoledì 23 ottobre 2013

font su linux (ripasso)

Oggi mi è capitato un documento ODT di Libre Office che utilizzava font che non avevo.
E' stato per me l'occasione per rifare un piccolo ripasso sull'installazione dei font su linux. Da cui è risultato questo post

LibreOffice mantiene l'informazione di font utilizzati nel documento anche se il font non è presente sul sistema.
Ad esempio se mi passano un documento in cui alcuni testi utilizzano il font "Aller", quando vado su quei testi, LibreOffice mi indicherà correttamente che il font applicato è "Aller" ... ma mi farà il rendering con un altro font.

Non ho indagato le regole che LibreOffice segue per i casi di rimappatura tra font, ma devo dire che a volte ci azzecca pure e il rendering finisce per essere molto simile all'originale (nel caso dell'Aller invece la differenza si nota).

Da Libre Office la prova che Aller non è disponibile la si ha facilmente tentando di applicare il font Aller ad un altro testo del documento: ovviamente non sarà possibile perché Aller non verrà neppure mostrato in lista font.

Fuori dall'ambito Libre Office, per fare una ulteriore controprova, un comando utile è:
fc-list

che mostra la lista di tutti i font presenti su sistema, indicando, per ognuno, anche qual'è il file che contiene le relative definizioni

Anche dall'output di fc-list verifichiamo che effettivamente Aller non è presente.

Ok, ora abbiamo capito che Aller non c'è e vogliamo aggiungerlo per utilizzarlo liberamente. Come fare?

Per prima cosa recupero il file zip con i ttf. I file ttf contengono proprio le definizioni grafiche per il rendering del font (le info per le curve di Bézier coinvolte)

Nel caso dell'Aller, si tratta di un font libero entro un certo range di utilizzi, per cui possiamo tranquillamente scaricarlo (es. da Aller) ed utilizzarlo per fini personali. Scomprimo poi lo zip nella cartella /tmp/aller

Ora individuiamo quali sono le cartelle in cui il nostro linux cerca i file con le definizioni dei font.

A tal fine basta visualizzare il file /etc/fonts/fonts.conf (più eventuali file in /etc/fonts/fonts.d)
Risulta che sul mio sistema ubuntu la cartelle dei font è la seguente:
/usr/share/fonts

Più altre cartelle che però o sono vuote o addirittura non esistono (es. /usr/X11R6/lib/X11/fonts, /usr/local/share/fonts)

Esisterebbe anche la possibilità di installare dei font per-utente utilizzando la cartella ~/.fonts ... ma dato che sono dotato di password amministrativa procedo ad un installazione system-wide!

Ecco i passi di installazione:

cd /usr/share/fonts
sudo mkdir aller
sudo cp /tmp/aller/* aller

Il lancio di fc-list mi mostra ora anche il fatidico Aller

Da notare che linux mantiene una cache della lista dei font disponibili. Per cui qualora fc-list non mostri ancora il beneamato Aller, è possibile forzare un refresh della cache usando il comando:

fc-cache -f

Infine entrando in Libre Office trovo Aller tra i font selezionabili

Nessun commento: