[Image-SIG] Putting a unicode string on an ImageDraw canvas
Thomas Larsen Wessel
mrvelle at gmail.com
Mon Jan 10 14:06:01 CET 2011
People are telling me that PIL supports unicode strings, does it? And if
yes, why does the following not work:
import ImageFont, Image, ImageDraw
s = u'\u0623\u0636\u0641'
im = Image.new('RGB', (200,200))
draw = ImageDraw.Draw(im)
draw.text((40,40), s) #fails
It results in the following exception:
Traceback (most recent call last):
File "buffer.py", line 9, in <module>
draw.text((40,40), s) #fails
File "/usr/lib/python2.6/dist-packages/PIL/ImageDraw.py", line 267, in
text
mask = font.getmask(text, self.fontmode)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2:
ordinal not in range(128)
So how, do I put this unicode string on the canvas?
Thanks in advance, Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/image-sig/attachments/20110110/85b2cd5b/attachment.html>
More information about the Image-SIG
mailing list