在 Python 枕头的图像上写 Unicode 文本?

Write Unicode Text On Image In Python Pillow?

我正在尝试在枕头图片上写 Punjabi/Gurmukhi 文字它没有完全起作用。 这是我的代码:

from PIL import Image, ImageDraw, ImageFont

#configuration
font_size=36
width=500
height=100
back_ground_color=(255,255,255)
font_size=36
font_color=(0,0,0)

# Unicode For "ਸ੍ਰੀ" is "\u0a38\u0a4d\u0a30\u0a40"
unicode_text = u"ਸ੍ਰੀ"

im  =  Image.new ( "RGB", (width,height), back_ground_color )
draw  =  ImageDraw.Draw ( im )
unicode_font = ImageFont.truetype("raavi.ttf", font_size)
draw.text ( (10,10), unicode_text, font=unicode_font, fill=font_color )

im.save("text.jpg")

但输出是这样的:

此外,当我们在终端中使用 print(u"ਸ੍ਰੀ") 时,它会 Return 与输出图像中显示的文本相同。但是当我们从终端复制该文本并将其粘贴到其他地方时,输出是正确的 ਸ੍ਰੀ.

我找到了解决方案。 这是因为 Python 将 ਸ੍ਰੀ 渲染为四个字符。 我创建了一个包和 TTF 文件,用于在图像和 Pdf 上正确显示文字。

退房:- pi7gurmukhi

Correct Output