4

ペルシア語 (ファルシ語) のテキストに基づいて画像を作成しようとしています。私はPython3にPILを使用しています。これが私のコードです:

from PIL import Image, ImageFont, ImageDraw
text = "خطاب"
image = Image.new("RGBA", (100,100), (255,255,255))
font = ImageFont.truetype("FreeFarsiMono.ttf", 60, encoding='unic')
draw = ImageDraw.Draw(image)
draw.text((0,0), text, (0,0,0), font=font)
image.save("Test.png")
image.show() 

ただし、コードを実行すると、テキストの画像ではなく、疑問符の付いた長方形のボックスが表示されます! これについて何か助けていただければ幸いです。

4

1 に答える 1

0

まず、ソースのコーディングを設定する必要があります。

# -*- coding: utf-8 -*-

次に、テキストをデコードする必要があります。

text = text.decode('utf-8')

最終的なコードは次のようになります。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from PIL import Image, ImageFont, ImageDraw

text = "ﻡﻼﺳ"
text = text.decode('utf-8')
image = Image.new("RGBA", (100,100), (255,255,255))
font = ImageFont.truetype("yekan.ttf", 45, encoding='unic')
draw = ImageDraw.Draw(image)
draw.text((0,0), text, (0,0,0), font=font)
image.save("Test.png")
image.show()

注:文字を分割していた場合は、文字を変換します。たとえば、webfontを使用してその問題を解決できます。

出力:

Test.png

于 2014-02-22T06:39:22.563 に答える