【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字

【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字_第1张图片

作品展示:【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字_第2张图片

背景需求

使用红豆空心黑体制作幼儿字帖(涂色版)

【教学类-35-22】正式版 20240129名字字卡3.0(15CM正方形手工纸、先男后女,页眉是黑体包含全名,名字是红豆空心黑体)-CSDN博客文章浏览阅读425次,点赞11次,收藏9次。【教学类-35-22】正式版 20240129名字字卡3.0(15CM正方形手工纸、先男后女,页眉是黑体包含全名,名字是红豆空心黑体)https://blog.csdn.net/reasonsummer/article/details/135917732

中4班孩子的83个字中有2个字没有显示为空心字

【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字_第3张图片

【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字_第4张图片

说明:红豆空心黑体不能把所有汉字转为空心字。

有那些汉字不能转成红豆空心黑体?

测试一:学生名单(2022年9月全园名单测试)

【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字_第5张图片

【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字_第6张图片

【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字_第7张图片

'''
查询红豆空心黑体无法识别那些汉字
作者:阿夏
时间:2024年01月30日
'''
from pandas import DataFrame, Series
import pandas as pd
import numpy as np
import xlrd
from xpinyin import Pinyin


print('----------第1步:读取EWXCEL里面的所有名字,变成单字,去除重复字-----------')
 # 读取列
worksheet = xlrd.open_workbook(r'C:\Users\jg2yXRZ\OneDrive\桌面\红豆字体缺失\202309全部幼儿按学号639人.xls')
sheet_names= worksheet.sheet_names()
# print(sheet_names)

for sheet_name in sheet_names:
    sheet = worksheet.sheet_by_name(sheet_name)
    rows = sheet.nrows # 获取行数
    cols = sheet.ncols # 获取列数,尽管没用到
    all_content = []
    cols = sheet.col_values(1) # 获取第二列内容: 姓名。数据格式为此数据的原有格式(原:字符串,读取:字符串;  原:浮点数, 读取:浮点数)

    print(cols[1:])
    print('多少人',len(cols[1:]))
    # 多少人 639
    # ['张三', '李四', '王五刘', '朝气吧'……]
    # print(type(cols[1:]))    #查看数据类型 

# 读取名字里的每一个字,第一行不要
all=[]
for x in cols[1:]:
    for y in x:
        all.append(y)
print('去重前的单字数量',len(all))
# print(all)
# 去重前的单字数量 1872

all=set(list(all))
print('去重后的单字数量',len(all))
# print(len(all))
# 去重后的单字数量 548
# 

print('----------第2步:把汉字写入word,20磅 红豆空心黑体-----------')



from docx import Document  # 导入Document类,用于创建文档
from docx.shared import Pt, RGBColor  # 导入Pt类和RGBColor类,用于设置字体大小和颜色
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT  # 导入WD_PARAGRAPH_ALIGNMENT类,用于设置对齐方式
from docx.oxml.shared import OxmlElement  # 导入OxmlElement类,用于修改文本样式
from docx.oxml.ns import qn  # 导入qn类,用于中文字符集的设置
 
doc = Document()  # 创建一个空白Word文档
 
# 设置默认字体、字号和中文字体
doc.styles['Normal'].font.size = Pt(60)  # 设置默认字号为12号字体
doc.styles['Normal'].font.name = u'红豆空心黑体'  # 设置默认字体为楷体
doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'红豆空心黑体')  # 设置中文字体为宋体
 
# 添加第一个段落
paragraph1 = doc.add_paragraph()  # 创建一个段落对象
paragraph1.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER  # 设置段落文字居中对齐
for k in all:
    run1 = paragraph1.add_run(k)
    # 设置英文字体
    run1.font.name = '红豆空心黑体'
    # 设置中文字体
    run1._element.rPr.rFonts.set(qn('w:eastAsia'), u'红豆空心黑体')
    # 设置字体大小
    run1.font.size = Pt(60)
    # 设置加粗
    run1.font.bold = True

    doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\红豆字体缺失\test.docx') #保存才能看到结果
    
from docx2pdf import convert
# docx 文件另存为PDF文件
inputFile = r'C:\Users\jg2yXRZ\OneDrive\桌面\红豆字体缺失\test.docx'# 要转换的文件:已存在
outputFile = r'C:\Users\jg2yXRZ\OneDrive\桌面\红豆字体缺失\test.pdf'  # 要生成的文件:不存在
# 先创建 不存在的 文件
f1 = open(outputFile,'w')
f1.close()
# 再转换往PDF中写入内容
convert(inputFile, outputFile)

# time.sleep(2)
# https://www.cnblogs.com/fengfenggirl/p/python_worddb.html

结果展示——必须在word里才能看到

【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字_第8张图片

“红豆空心黑体”不能识别的汉字(黑心)很多

【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字_第9张图片

虽然黑心字体不是空心字,但word默认为“红豆空心黑体”,

【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字_第10张图片

所以无法通过识别字体名称来提取这些非空心的字体。只能手动选择这些字

【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字_第11张图片

玥、锜、玗、琇、祎、翾、淏、爀、浵、旸、晞、旻、珵、瑄、璟、晅、橒、喆、珺、珣、妘

548个汉字,一共21个无法空心显示的字  占比3.83%

测试二:常用汉字学生名单(2022年9月全园名单测试)

中学生必须掌握的3500个常用汉字中学生必须掌握的3500个常用汉字icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=MzU5NDc3NDA5Mw==&mid=2247484193&idx=2&sn=4e6003b6ab05b374b76c84d84aaff997&chksm=fe7d5203c90adb1561c3f1dbad8b9c0c3308a69916740c1ea1d42d3f6649c2da37a0382e3c53&scene=27

【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字_第12张图片

【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字_第13张图片

去掉括号里的拼音,去掉空格,去掉回车

【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字_第14张图片

3500常用字

【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字_第15张图片

只有一个字显示显示不出

【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字_第16张图片

【教学类-35-23】20240130“红豆空心黑体”不能显示的汉字_第17张图片

1个字无法显示

玥、锜、玗、琇、祎、翾、淏、爀、浵、旸、晞、旻、珵、瑄、璟、晅、橒、喆、珺、珣、妘、扞

目前搜索得知以上22个字无法用红豆空心黑体显示,需要改成文艺空心黑体。

有机会再扩大搜索量,1万字汉字进行批量

你可能感兴趣的:(Python,python)