fonttest.py 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. from PIL import Image,ImageDraw,ImageFont
  2. unicode_text = "這是一段中文測試"
  3. #font = ImageFont.truetype("c:/portable/fonts/華康綜藝體.ttf", 40,encoding='big5')
  4. #font = ImageFont.truetype("c:/portable/fonts/華康綜藝體.ttf", 40,encoding='big5')
  5. #font = ImageFont.truetype("c:/portable/fonts/adv.ttf", 40,encoding='big5')
  6. font = ImageFont.truetype("/var/fonts/adv.ttf", 40,encoding='big5')
  7. text_width, text_height = font.getsize(unicode_text)
  8. canvas = Image.new('RGBA', (500, 500), (255, 0, 0, 0) )
  9. draw = ImageDraw.Draw(canvas)
  10. def myunichchar(unicode_char):
  11. mb_string = unicode_char.encode('big5')
  12. try:
  13. unicode_char = unichr(ord(mb_string[0]) << 8 | ord(mb_string[1]))
  14. except NameError:
  15. unicode_char = chr(mb_string[0] << 8 | mb_string[1])
  16. return unicode_char
  17. text=''
  18. for c in unicode_text:
  19. text+=myunichchar(c)
  20. #text=myunichchar('中')+myunichchar('文')+myunichchar('測')+myunichchar('試')
  21. draw.text((5,5), text, (255, 255, 255), font)
  22. # save the blank canvas to a file
  23. canvas.save("/var/txt/title.png", "PNG")
  24. canvas.show()