En ImageMagick tenemos el parámetro -list que lista los valores que pueden recibir algunos parámetros.
Uno de los parámetros del que se puede listar los valores que puede recibir es font, que es el parámetro que permite seleccionar la tipografía con la que escribir un texto con annotate o label, así pues, si escribimos:
convert -list font
convert nos mostará las tipografías de nuestro sistema con una serie de datos más, como la familia, la dirección...
Font: Zoidal-BRK
    family: Zoidal BRK
    style: Normal
    stretch: Normal
    weight: 400
    glyphs: /usr/share/fonts/truetype/aenigma/zoidal.ttf
  Font: Zrnic
    family: Zrnic
    style: Normal
    stretch: Normal
    weight: 400
    glyphs: /usr/share/fonts/truetype/larabie/zrnic___.ttf
  Font: Zurklez-Outline-BRK
    family: Zurklez Outline BRK
    style: Normal
    stretch: Normal
    weight: 400
    glyphs: /usr/share/fonts/truetype/aenigma/zurklezo.ttf
  Font: Zurklez-Solid-BRK
    family: Zurklez Solid BRK
    style: Normal
    stretch: Normal
    weight: 400
    glyphs: /usr/share/fonts/truetype/aenigma/zurklezs.ttf
  Font: Æ-Systematic-TT-BRK
    family: Æ Systematic TT BRK
    style: Normal
    stretch: Normal
    weight: 400
    glyphs: /usr/share/fonts/truetype/aenigma/aesymatt.ttf
  Font: Ænigma-Scrawl-4-BRK
    family: Ænigma Scrawl 4 BRK
    style: Normal
    stretch: Normal
    weight: 400
    glyphs: /usr/share/fonts/truetype/aenigma/aescrawl.ttf
Sin embargo, pese a que convert muestra toda esa información el nombre de la tipografía que vamos a usar a la hora de generar un texto con ImageMagick es el que sucede a "Font:". Así pues, si lo que queremos es saber el nombre con el que podremos invocar a las tipografías desde convert para añadir textos en nuestras imágenes o generar imágenes con texto, podremos listar únicamente esas líneas. Y aquí es donde llamamos a nuestro amigo grep: 
convert -list font | grep Font  
Font: Zakenstein-Rotalic
 Font: Zekton
 Font: Zekton-Bold
 Font: Zekton-Bold-Italic
 Font: Zekton-Dots
 Font: Zekton-Italic
 Font: Zelda-DX-TT-BRK
 Font: Zenith-BRK
 Font: Zephyrean-BRK
 Font: Zephyrean-Gust-BRK
 Font: Zero-Threes
 Font: Zero-Twos
 Font: Zero-Velocity-BRK
 Font: ZeroHour
 Font: Zirconia-BRK
 Font: Zirconia-Cubic-BRK
 Font: Zodillinstrisstirust
 Font: Zoetrope-BRK
 Font: Zoidal-BRK
 Font: Zrnic
 Font: Zurklez-Outline-BRK
 Font: Zurklez-Solid-BRK
 Font: Æ-Systematic-TT-BRK
 Font: Ænigma-Scrawl-4-BRK
  Otra fórmula sería extraer la columna donde están las cadenas de texto que contienen los nombres de las tipografías, el comando cut ayuda mucho en esta tarea:
convert -list font | grep Font | cut -d " " -f 4
Con estos parámetros le decimos a cut, que es un comando que "corta" cadenas, que el separador es un espacio en blanco con -d " ".
Del mismo modo, le podríamos indicar que el separador de columnas es cualqueir otro caracter o cadena de caracteres. El parámetro -f lo que indica es el número de la columna que ha de mostar, en este caso, la cuarta. Veamos:
Zekton 
Zekton-Bold 
Zekton-Bold-Italic 
Zekton-Dots 
Zekton-Italic 
Zelda-DX-TT-BRK 
Zenith-BRK Zephyrean-BRK 
Zephyrean-Gust-BRK 
Zero-Threes Zero-Twos 
Zero-Velocity-BRK 
ZeroHour Zirconia-BRK 
Zirconia-Cubic-BRK 
Zodillinstrisstirust 
Zoetrope-BRK 
Zoidal-BRK 
Zrnic 
Zurklez-Outline-BRK 
Zurklez-Solid-BRK 
Æ-Systematic-TT-BRK 
Ænigma-Scrawl-4-BRK 
Y ahora que ya tenemos el listado limpio, únicamente tenemos que elegir una cadena al azar. Lo podemos hacer con shuf: convert -list font | grep Font | cut -d " " -f 4 | shuf -n 1 
Intersect-O-BRK 
Y si lo probamos muchas veces, veremos que el resultado es aleatorio, por lo que cada vez que ejecutemos esa instrucción será distinta:

Y dentro de un script, el uso sería igual:
#!/bin/bashtipografia=$(convert -list font | grep Font | cut -d " " -f 4 | shuf -n 1)echo "La tipografía seleccionada de forma aleatoria ha salido: "$tipografia
Veamos si así funciona:

Como vemos, cada vez que ejecutamos el script nos muestra una tipografía distinta.
Y ahora, vamos a usarlo con ImageMagick para generar una imagen con una tipografía aleatoria:
#!/bin/bashtipografia=$(convert -list font | grep Font | cut -d " " -f 4 | shuf -n 1)convert -pointsize 100 -font $tipografia label:"Disfruten del\nSoftware Libre" disfruten.png

Y vamos a hacer un for para comprobar que realmente genera imágenes con distintas tipografías:
#!/bin/bashfor i in $(seq 1 3)do    tipografia=$(convert -list font | grep Font | cut -d " " -f 4 | shuf -n 1)    convert -pointsize 100 -font $tipografia label:"Disfruten del\nSoftware Libre" disfruten$i.pngdone



Vista la forma básica de generar textos con tipografías aleatorias, veremos también cómo hacer una selección previa de las tipografías para usar aquellas tipografías que se ajusten a nuestras necesidades.
 
				 
			
			




 
				
				
Thanks for sharing sᥙch ɑ fasttidiοus th᧐ught, piece of ѡriting is nice, thats why i have
read it fully