2010-04-16 1 views
14

Ho riprodotto la generazione di immagini su ImageMagick su Ubuntu 9.10. Voglio essere in grado di farlo riconoscere un font in modo che possa chiamarlo con il suo "nickname".Make ImageMagick riconosce un carattere

posso trovare l'elenco dei caratteri ImageMagick riconosce digitando

identify -list font

In tale elenco vedo Times-Bold. Pertanto

convert -font Times-Bold label:abcdef times.gif

genererà un file gif con il carattere Times New Roman Bold.

So che posso passare il percorso al font invece del suo soprannome, ma devo essere in grado di usare il suo nickname in modo da avere meno errori quando si passa da un sistema all'altro. Il carattere che sto cercando di ottenere in particolare è un font di tipo true chiamato Segoe UI.

Ho già installato Segoe UI nel mio sistema. Se passo il percorso del font funziona. Ma voglio essere in grado di utilizzare qualcosa come

convert -font Segoe-UI label:abcdef segoe.gif

Grazie!

risposta

17

Da quello che ricordo, identify utilizza un file di configurazione, chiamato type.xml, per individuare i caratteri in base al nome. È possibile modificare la copia di questo file di imagemagick a livello di sistema o aggiungere caratteri aggiuntivi a livello di utente.

C'è uno script chiamato imagick_type_gen che utilizzerà il database "locate" per trovare i caratteri sul sistema e generare uno di questi file di configurazione, che è possibile utilizzare per configurare imagemagick; per un utente ordinario penso che questo vada in ~/.magick/type.xml, sebbene tu possa metterlo a livello di sistema da qualche parte. Questo è generalmente what I've used in the past.

Quindi, in pratica, penso che sia necessario configurare il file type.xml di sistema o aggiungere uno di livello utente. Finché puoi farlo quando ti sposti su un nuovo sistema, per qualsiasi utente esegua imagemagick, dovresti almeno essere in grado di cavartela senza cambiare il codice se il percorso del font è diverso.

+2

Eccellente. Grazie Matt! Per quelli semi-nuovi sulla riga di comando, ho eseguito lo script digitando "./path/to/imagick_type_gen". Ho fatto in modo che fosse eseguibile prima da "sudo chmod + x/path/to/imagick_type_gen". –

+0

Ho anche 2 tipi di carattere: Segoe UI Bold e Segoe UI. Stavo passando un parametro "grassetto" nel programma che stavo usando, RMagick ma non stava diventando audace. Quello che ho fatto è stato modificare il file e tutte le cose che puntavano al file seguibd.ttf (che è la versione in grassetto dell'interfaccia utente di Segoe), ho cambiato la famiglia di font con un nickname che voglio. Non sono sicuro che questo sia il modo migliore, ma ha funzionato. –

+1

Utilizzando cli in debian (nel 2014), invece di 'identify -list Type', ho usato' convert -list font' per ottenere un elenco di caratteri disponibili. Fantastico, grazie per la risposta e il tuo post sul blog. –