image processing - convert - ¿por qué la lista de fuentes está vacía para imagemagick?
imagemagick to png (1)
Estoy tratando de usar ImageMagick para agregar texto a una imagen. Pero encontré que siempre decía que mi fuente especificada no existe. Después de leer el manual cuidadosamente, noté que puedo usar la convert -list font
para generar todas las fuentes disponibles, pero después de intentarlo, descubrí que la lista de fuentes disponibles está vacía.
Esto es lo que obtengo:
shell$ convert -list font
shell$
Gracias por cualquier tipo de consejos.
Me las arreglé para decirle a ImageMagick sobre las fuentes en mi sistema OSX de esta manera:
# Make a new directory for ImageMagick local settings and cd into it
mkdir ~/.magick
cd ~/.magick
# Grab script to find all fonts on system and store them in a config file
curl http://www.imagemagick.org/Usage/scripts/imagick_type_gen > type_gen
# Run script, telling it where my fonts are and create "type.xml" file with list
find /System/Library/Fonts /Library/Fonts ~/Library/Fonts -name "*.[to]tf" | perl type_gen -f - > type.xml
# Go to ImageMagick config folder - see note at end to find correct folder
cd /usr/local/Cellar/imagemagick/6.8.9-1/etc/ImageMagick-6
# Edit system config file called "type.xml" and add line near end to tell IM to look at local file we made in earlier step
<typemap>
<include file="type-ghostscript.xml" />
<include file="~/.magick/type.xml" /> ### THIS LINE ADDED ###
</typemap>
Cómo encontrar la carpeta correcta para su archivo type.xml
La carpeta donde se almacena type.xml
puede variar enormemente entre sistemas y versiones. La mejor forma que conozco de encontrarlo es ejecutar el siguiente comando para ver dónde está buscando ImageMagick :
convert -debug configure -list font 2>&1 | grep -E "Searching|Loading"
Searching for configure file: "/usr/local/Cellar/imagemagick/6.9.5-0/share/ImageMagick-6/type.xml"
Searching for configure file: "/usr/local/Cellar/imagemagick/6.9.5-0/lib/ImageMagick//config-Q16/type.xml"
Searching for configure file: "/usr/local/Cellar/imagemagick/6.9.5-0/etc/ImageMagick-6/type.xml"
Searching for configure file: "/usr/local/Cellar/imagemagick/6.9.5-0/share/doc/ImageMagick-6/type.xml"
Searching for configure file: "/Users/mark/.config/ImageMagick/type.xml"
Searching for configure file: "/Users/mark/.magick/type.xml"
Loading type configure file "/usr/local/Cellar/imagemagick/6.9.5-0/etc/ImageMagick-6/type.xml" ...
Loading type configure file "/usr/local/Cellar/imagemagick/6.9.5-0/etc/ImageMagick-6/type-apple.xml" ...
Loading type configure file "/usr/local/Cellar/imagemagick/6.9.5-0/etc/ImageMagick-6/type-ghostscript.xml" ...
Loading type configure file "/Users/mark/.magick/type.xml" ...
Entonces, hay muchos lugares donde puedes insertar las fuentes. En general, si elige una carpeta que comience con /etc
o /usr/local
las fuentes estarán disponibles para todos los usuarios y las secuencias de comandos en su servidor web para usar, si así lo desea. Por otro lado, si solo es un usuario único, puede preferir mantener el archivo de configuración de fuente en su directorio de inicio de sesión, por ejemplo, $HOME/.magick/type.xml
.