3

ヘブライ文字を含むビットマップを作成するために、Imageモジュールを使用しようとしています。シェル(アイドル)から印刷するときはヘブライ語を印刷できましたが、テキストをビットマップに描画しようとすると、ASCII文字が描画されます。

これはコードです:

import Image

import ImageDraw

a = "אריאל" #or any other hebrew string

im=Image.new('RGB',(200,200),(100,100,100)) #type file,size,Background color

d=ImageDraw.Draw(im)

d.text((0,0),a) #should draw the string

im.show()

どんな助けでも大歓迎です。

4

2 に答える 2

1

このサイトでは、中国語のテキストを描画するには、文字列がUnicodeであることを指定する必要があるため、同じことを行う必要があると述べています。

a = u"אריאל" #like this
a = unicode("אריאל", "UTF-8") #or like this

彼らはまた、フォントを指定しました。ヘブライ語に適したものはありますか?例えば:

font = ImageFont.truetype('simsun.ttc',24)

次に、テキストを描画するときにそのフォントを指定します。例:

d.text( (0,0), a, font=font)

あなたのコードは間違ったフォントでASCII文字列を描いていると思います(そしてヘブライ語はASCIIから離れています)。

于 2010-01-31T14:54:20.850 に答える
1

試してみてくださいa = u"אריאל"

それができない場合は、 PyCairoを試してください。より適切に機能する高度なタイポグラフィ処理を備えています。

于 2010-01-31T14:42:19.100 に答える