Creare l'anteprima dei font

Autore dello script: Fabrizio | Sito Web: http://bash-script.b2com.org

Scarica lo script

Condividi:
Bookmark and Share

Tutti noi abbiamo decine e decine di font magari sparsi nel sistema e non sempre è agevole decidere quale font usare per il nostro documento stampato o per il logo del nostro sito web.

Sicuramente è una grande perdita di tempo posizionarsi nella cartella dove sono presenti i font, visualizzarli uno ad uno e infine decidere quale utilizzare; sarebbe decisamente più comodo e veloce poterli visualizzare tutti insieme e decidere quale font installare.

Lo script che propongo vi permette di creare un'immagine in formato jpg o png contenente l'anteprima di tutti i font presenti in una directory. Per la realizzazione di questo script mi sono ispirato ad uno analogo apparso su Linux Magazine; tale script, però crea un'immagine per ogni font, pertanto viene a mancare una visione d'insieme.

Nel file da scaricare sono presenti due versioni dello script, una crea un file in formato jpg e l'altra in formato png.

Ecco il codice sorgente:

#!/bin/bash
cartella="$PWD"
estensione="$*"
if [ ! "$*" ]
then
echo ""
echo "ERRORE"
echo "======"
echo ""
echo "Devi specificare l'estensione dei font da elaborare"
echo "in questo modo: ./esempio_font.sh .ttf"
echo ""
echo ""
exit 0
fi
extension="${estensione#*.}"
std_lo_text="abcdefghijklmnopqrstuvwxyz"
std_up_text="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
std_altro="1234567890!£$%&/()=?^*èéùòà-.,!"
std_font="/usr/share/fonts/truetype/freefont/FreeSansBold.ttf"
std_points="15"
std_dimension="30"
std_width="600"
std_height="200"
std_background="rgb(255,255,255)"
std_text="rgb(0,0,0)"
std_title="red"
if [ -e elenco_fonts_${extension}.png ]
then
rm elenco_fonts_${extension}.png
fi
echo ""
echo "Sto elaborando i fonts..."
echo ""
for elemento in $(ls ${cartella} | grep ${estensione} | sed s/"${estensione}"//g)
do
convert -size ${std_width}x${std_height} xc:${std_background} -font ${std_font} -pointsize ${std_points} -fill ${std_title} -annotate +20+40 Font\:\ ${elemento}${estensione} -font ${elemento}${estensione} -pointsize ${std_dimension} -fill ${std_text} -annotate +20+90 ${std_lo_text} -annotate +20+140 ${std_up_text} -annotate +20+190 ${std_altro} ${elemento}${estensione}.png
done
output_file="elenco_fonts_${extension}.png"
montage *${estensione}.png -resize 600x -tile 2x -geometry +0+0 ${output_file}
rm *${estensione}.png
sleep 1
echo "Finito!"
echo ""

Utilizzo

Per utilizzare lo script è sufficiente renderlo eseguibile.
Per maggiore comodità consiglio di installarlo nella directory /usr/local/bin, in questo modo l'esecuzione avviene semplicemente digitando in un terminale:

esempio_font_png.sh .ttf

in qualsiasi directory vi trovate. Potete creare anteprime di font in formato .ttf (True Type), .otf (Open Type) e .pfb (PostScript), basta invocare lo script con l'estensione (preceduta dal punto) desiderata.

Se non volete installare lo script nel sistema basta posizionarlo nella cartelle che contiene i font da elaborare e digitare:

./esempio_font_png.sh .ttf

per ottenere l'output desiderato.

Verifiche Preliminari

Per utilizzare correttamente lo script è necessario che i nomi dei file non contengano spazi ed è opportuno che le estensioni dei font siano in minuscolo. Per ottenere questo risultato, potete scaricare altri due script, uno che elimina gli spazi nei nomi dei file e directory, l'altro che converte automaticamente in minuscolo i nomi dei file e delle cartelle.

Importante

Lo script utilizza ImageMagick per creare le anteprime, assicuratevi quindi di averlo installato nel vostro sistema. Fate riferimento al vostro gestore di pacchetti per il controllo o per l'installazione.

I due script sono presenti nelle pagine seguenti: eliminare-spazi-dai-nomi-dei-file.php e convertire-in-minuscolo-i-nomi-dei-file.php.

Screenshot

screenshot del risultato dello script

Scarica lo script

Ti è piaciuto l'articolo? Se vuoi, scrivi un commento.

Condividi:
Bookmark and Share

Inizio Pagina