Maison >développement back-end >Tutoriel Python >Python génère des polices de caractères chinois et convertit le texte en images
Utilisez Python pour afficher la bibliothèque de caractères chinois
Question 1 : Supposons que nous sachions que la plage de codage des caractères chinois est de 0x4E00 à 0x9FA5, comment convertir le codage hexadécimal en codage humain lisible Et le mot ?
Question 2 : Comment écrire des caractères codés en Unicode dans un fichier ? Si vous utilisez open() directement, UnicodeEncodeError : le codec 'ascii' ne peut pas encoder le caractère u'u4e00' en position 0 : l'ordinal n'est pas à portée. (128)
La réponse à la question 1 est d'utiliser unichr, et la réponse à la question 2 est d'utiliser des codecs.
Le code est ci-dessous.
import codecs start,end = (0x4E00, 0x9FA5) with codecs.open("chinese.txt", "wb", encoding="utf-8") as f: for codepoint in range(int(start),int(end)): f.write(unichr(codepoint))
Ouvrez le fichier Chinese.txt, la capture d'écran est la suivante
Utilisez Python pour convertir du texte en police d'image
Ce qui précède explique comment obtenir la police de caractères chinois, parlons maintenant de la façon de convertir chaque mot en images, ce qui sera fait en machine learning Utile.
En une phrase, utilisez pygame pour afficher du texte sur des images.
Le code est ci-dessous.
import os import pygame chinese_dir = 'chinese' if not os.path.exists(chinese_dir): os.mkdir(chinese_dir) pygame.init() start,end = (0x4E00, 0x9FA5)#汉字编码范围 for codepoint in range(int(start),int(end)): word = unichr(codepoint) font = pygame.font.Font("msyh.ttc", 22)#当前目录下要有微软雅黑的字体文件msyh.ttc,或者去c:\Windows\Fonts目录下找 rtext = font.render(word, True, (0, 0, 0), (255, 255, 255)) pygame.image.save(rtext, os.path.join(chinese_dir,word+".png"))
Ce qui suit est une capture d'écran de l'effet.
Pour plus d'articles sur la production par Python de polices de caractères chinois et la conversion de texte en images, veuillez faire attention au site Web PHP chinois !