red*_*ism 13 unicode fonts imaging cjk python-imaging-library
我在使用PIL绘制多语言文本时遇到问题.让我们说我想画文字 - "ひらがな - 平假名,히라가나".但是PIL的ImageDraw.text()函数一次只能使用一种字体,因此我无法正确绘制该文本,因为它需要英文,日文和韩文字体.
到目前为止,我没有找到一个简单的解决方案,比如将多个字体传递给PIL,这样它就可以为每个Unicode字符选择合适的字体(就像现代SDK或Web浏览器一样).
我在想的是,我应该遍历每个角色,并确定自己为每个角色使用哪种字体.但我不禁想到必须有一个更简单的方法来做到这一点.
我正朝着正确的方向前进吗?是不是有更简单的方法?
PS)如果有更好的解决方案,可以使用其他语言或其他成像库.
dda*_*dda 16
您只需要选择Unicode字体.例:
import Image
import ImageFont, ImageDraw
image=Image.new("RGB",[320,320])
draw = ImageDraw.Draw(image)
a=u"???? - Hiragana, ????"
font=ImageFont.truetype("/Library/Fonts/Arial Unicode.ttf",14)
draw.text((50, 50), a, font=font)
image.save("a.png")
Run Code Online (Sandbox Code Playgroud)
