เขียนข้อความ Unicode บนรูปภาพใน Python Pillow?

ฉันกำลังพยายามเขียนข้อความปัญจาบ/กูร์มูกีบนภาพหมอน มันใช้งานไม่ได้ทั้งหมด นี่คือรหัสของฉัน:

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")

แต่ผลลัพธ์เป็นเช่นนี้: Output Image

นอกจากนี้เมื่อเราใช้ print(u"ਸ੍ਰੀ") ใน Terminal มันจะส่งคืนข้อความเดียวกับที่แสดงในภาพที่ส่งออก แต่เมื่อเราคัดลอกข้อความนั้นจากเทอร์มินัลแล้ววางไปที่อื่น ผลลัพธ์ก็ถูกต้อง ਸ੍ਰੀ


person shivjeet bhullar    schedule 21.07.2020    source แหล่งที่มา
comment
บางทีคุณอาจไม่ได้รับแบบอักษรที่คุณขอ?   -  person Mark Ransom    schedule 21.07.2020


คำตอบ (1)


ฉันพบวิธีแก้ปัญหา นี่เป็นเพราะ Python กำลังเรนเดอร์ ਸ੍ਰੀ เป็นตัวละครสี่ตัว ฉันสร้างแพ็คเกจและไฟล์ TTF สำหรับแสดงคำอย่างถูกต้องบนรูปภาพและ PDF

ชำระเงิน:- pi7gurmukhi

ผลลัพธ์ที่ถูกต้อง

person shivjeet bhullar    schedule 25.07.2020