670浏览
查看: 670|回复: 0

[教程] Mind+ python实现田字格汉字和拼音,共计3984个汉字

[复制链接]
《中华字经》是一种超级识字教材,以四字一句、分门别类、韵语连篇的方法编撰而成。全文收录汉字3980个(全文除标题外,共4000个汉字,其中20个相同的字,分别是:长,重,曾,行,传,朝,乐,膀,参,藏,弹,调,核,陆,率,圈,厦,校,畜,咽),涵盖了国家教育部、国家语委联合颁布的常用汉字和HSK考试大纲规定的四级汉字。集识字、组词、习韵、正音、学知于一体,可使普通儿童学习4-6个月掌握一生常用的全部汉字,并经教育部语言文字研究所实验基地、多家幼儿园所验证,经公证处公证,5岁儿童4个月学完《中华字经》,巩固率为74.6%,即2984个字,提高现有识字速度的15-20倍。
  1. def createpng():
  2.     root='background'
  3.     # 加载字体
  4.     pinyinFont = ImageFont.truetype(root+'/msyh.ttc', 16)
  5.     # 文字图片背景图片
  6.     # img_path = root+'/01.png'
  7.     img_path = root+'/02.png'
  8.     reg = "[^0-9A-Za-z\u4e00-\u9fa5]"
  9.     with open("中华字经.txt", "r", encoding='utf-8', newline=None) as f:
  10.         lines=f.readlines()
  11.         # print(lines)
  12.         cishu=0
  13.         for i in range(len(lines)):
  14.             #i=4
  15.             row_pinyins=' '.join(lines[2*i].split()).split()
  16.             #print(lines[2*i+1].replace(' ','').split())
  17.             row_char=re.sub(reg, '', lines[2*i+1].replace(' ',''))
  18.             for c in range(len(row_char)):
  19.                 image = Image.open(img_path)
  20.                 draw_ = ImageDraw.Draw(image)
  21.                
  22.                 text = row_char[c]
  23.                 pinyin=row_pinyins[c]
  24.                 #ImageDraw.Draw.text(xy, text, fill=None, font=None, anchor=None, spacing=0, align=”left”)
  25.                 x_off=28-len(pinyin)*4
  26.                
  27.                 draw_.text((x_off,0.5), pinyin, (0, 0, 0), font=pinyinFont, anchor=None, spacing=0, align='center')
  28.                 font = ImageFont.truetype(root+'/STKAITI.TTF', 60)
  29.                 draw_.text((1, 20), text, (0, 0, 0), font=font, anchor=None, spacing=0, align='center')
  30.                 draw_ = ImageDraw.Draw(image)
  31.                 re_path = root+'/char/'+text+'.png'
  32.                 image.save(re_path)
  33.                 pngtosvg(re_path,root + '/char/'+text+'.svg')
  34.                 cishu=cishu+1
  35.                 print('第%d个字:%s:已经保存' %(cishu,text))
  36.             
  37.             if(2*i+2==502):
  38.                 break
复制代码


MonMarch-202103227754..png


MonMarch-202103222586..png

MonMarch-202103223936..png


鹅群【954092621】

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2021 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail