python输出汉字字库及将文字转换为图片

用python输出汉字字库

问题1:假设我们知道汉字编码范围是0x4e00到0x9fa5,怎么从十六进制的编码转成人类可读的字呢?问题2:怎么把unicode编码的字写入文件呢,如果直接用open()的话,会提示unicodeencodeerror: ‘ascii’ codec can’t encode character u’\u4e00′ in position 0: ordinal not in range(128)

问题1的答案是用unichr,问题2的答案是用codecs。下面上代码。

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

打开chinese.txt文件,截图如下

下面上代码。

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

下面是效果截图。

更多python输出汉字字库及将文字转换为图片相关文章请关注php中文网!

Posted in 未分类

发表评论