Я передаю строку PIL
s multiline_text()
, которая по какой-то причине не поддерживает utf-8, а поддерживает только латинские символы.
from PIL import Image, ImageDraw
input_string = "‘Hi’"
img_width = 500
img_height = 500
img = Image.new('RGB', (img_width, img_height), (255, 255, 255))
img_D = ImageDraw.Draw(img)
img_D.multiline_text((0, 0), input_string) # <- bug here
img.save("test_img.jpeg", 'jpeg', optimize=True, quality = 200)
Я получаю это сообщение об ошибке: UnicodeEncodeError: 'latin-1' codec can't encode character '\u2018' in position 0: ordinal not in range(256)
Поэтому мне нужно избавиться от всех нелатинских символов. Как я могу это сделать?
Примечание: я видел этот ответ , а именно input_string = regex.sub(ur'[^\p{Latin}]', u'', t1)
, но я почти уверен, что это для Python2, я получаю следующую ошибку: SyntaxError: invalid syntax
. Если я удалю u
, r
или оба, я получу error: bad escape \p
.