Representación de Emoji con PIL

Estoy tratando de hacer imágenes a partir de tweets, sin embargo, algunos de ellos contienen Emojis . Estoy usando PIL para renderizar mis imágenes y la fuente Symbola .

El texto está en encoding unicode utf-8 y la fuente Symbola incluye los emojis. Aquí hay una versión abreviada del código:

from PIL import Image, ImageFont, ImageDraw text = u"\U0001f300" #CYCLONE emoji image = Image.new("RGBA", (100,100), (255,255,255)) font = ImageFont.truetype("Symbola.ttf", 60, encoding='unic') draw = ImageDraw.Draw(image) draw.text((0,0), text, (0,0,0), font=font) image.save("Test.png") image.show() 

Esto solo representa una imagen con dos rectangularjs en lugar del emoji.

Agradecería cualquier ayuda o ideas.

¡Gracias!

EDITAR: Como señaló falsetru, este código se ejecuta en Ubuntu, sin embargo, no se ejecuta en Windows o en Mac. ¿Algunas ideas?

Si el símbolo CYCLONE u “\ U0001f300” (descargo un Symbola.tff de la web) es muy fácil de usar con PIL:

 from PIL import Image, ImageDraw, ImageFont, ImageFilter #configuration font_size=36 width=500 height=100 back_ground_color=(255,255,255) font_size=36 font_color=(0,0,0) unicode_text =u"\U0001f300" im = Image.new ( "RGB", (width,height), back_ground_color ) draw = ImageDraw.Draw ( im ) unicode_font = ImageFont.truetype("Symbola.ttf", font_size) draw.text ( (10,10), unicode_text, font=unicode_font, fill=font_color ) im.show() 

Echa un vistazo a esto