错误 "expected string or buffer"
Error "expected string or buffer"
我正在生成 2 个字符排列的图像并使用 arabic_reshaper
连接字符。 2 个字符的 2 排列将生成 4 个图像,但 arabic_reshaper
在 t1 = arabic_reshaper.reshape(word).
处生成错误 "Expected String or buffer"
请询问是否问题不清楚。
from bidi.algorithm import get_display
import PIL.Image, PIL.ImageFont, PIL.ImageDraw
import arabic_reshaper
unicode_text = u"\u06F1"+ u"\u06CC"+ u"\u06A9"
list_of_letters = list (unicode_text)
folder = 1
n=2
for i in range(1,n+1):
for word in itertools.permutations( list_of_letters,i):
print word
t1 = arabic_reshaper.reshape(word)
print t1
img= PIL.Image.new("L", (200, 200))
draw = PIL.ImageDraw.Draw(img)
font = PIL.ImageFont.truetype( r"C:\Users\arabtype.ttf", 40)
t2 = get_display(t1)
print t2# <--- here's the magic <---
draw.text( (10,50), ' ' + t2, fill=220, font=font)
img.show()
问题是 itertools.permutations
产生了一个元组。
您需要将其转换为字符串。像这样:
for word in itertools.permutations( list_of_letters,i):
word = u''.join(word)
print word
我正在生成 2 个字符排列的图像并使用 arabic_reshaper
连接字符。 2 个字符的 2 排列将生成 4 个图像,但 arabic_reshaper
在 t1 = arabic_reshaper.reshape(word).
处生成错误 "Expected String or buffer"
请询问是否问题不清楚。
from bidi.algorithm import get_display
import PIL.Image, PIL.ImageFont, PIL.ImageDraw
import arabic_reshaper
unicode_text = u"\u06F1"+ u"\u06CC"+ u"\u06A9"
list_of_letters = list (unicode_text)
folder = 1
n=2
for i in range(1,n+1):
for word in itertools.permutations( list_of_letters,i):
print word
t1 = arabic_reshaper.reshape(word)
print t1
img= PIL.Image.new("L", (200, 200))
draw = PIL.ImageDraw.Draw(img)
font = PIL.ImageFont.truetype( r"C:\Users\arabtype.ttf", 40)
t2 = get_display(t1)
print t2# <--- here's the magic <---
draw.text( (10,50), ' ' + t2, fill=220, font=font)
img.show()
问题是 itertools.permutations
产生了一个元组。
您需要将其转换为字符串。像这样:
for word in itertools.permutations( list_of_letters,i):
word = u''.join(word)
print word