python unicode rendering:如何知道字体中是否缺少unicode字符
在 Python中,当我渲染一个unicode字符时,例如中文字符,具有选定的字体,有时字体对于常见的unicode字符是不完整的,并且不能呈现有问题的unicode字符.在这些情况下,如果我调用“print”函数,输出通常看起来像一个方框,无论底层unicode字符应该是什么样子. 当然,一旦我打印出unicode字符,我就可以查看输出,然后确定所选字体是否错过了特定的unicode字符.但是,在我自动打印之前是否有一种方法可以告诉我,而不必依靠我自己的人眼确定字体中是否包含字符? 我还要澄清我知道的字体比其他字体更完整.我的问题不是我可以使用哪种字体,所以如果我称之为“打印”,我通常会有合理的输出.还请忽略我如何打印角色或我是否真的要打印角色的问题.我的问题很简单,对于任何给定的字体,我如何判断字体中是否缺少unicode字符,而不使用依赖于人类对输出的判断的任何手动过程. 解决方法见 https://unix.stackexchange.com/questions/247108/how-to-find-out-which-unicode-codepoints-are-defined-in-a-ttf-file简而言之,可以安装fonttools包,为其提供任何感兴趣的.ttf字体文件的路径,并检查字体文件的unicode映射表中是否包含长形式的感兴趣的unicode字符. from fontTools.ttLib import TTFont font = TTFont(fontpath) # specify the path to the font in question def char_in_font(unicode_char,font): for cmap in font['cmap'].tables: if cmap.isUnicode(): if ord(unicode_char) in cmap.cmap: return True return False 然后只需调用char_in_font函数来检查字体中是否包含unicode字符. (编辑:4S站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- python – 如何在DataFrame中增加groupby中的行数
- python – ElementTree find()/ findall()找不到带命名空间
- python – 如何编写依赖于子关系中的列的混合属性?
- python – 将密码字段迁移到Django
- 如何使用python查询mongodb中的不同结果?
- python-2.7 – 如何在python中使用webdriver选择下拉列表值
- python – 你如何从雅虎财经中提取每周的历史数据?
- python – 如何找到可能有重复数字的3个列表之间的区别
- python – scikit-learn是否执行“真正的”多元回归(多个因
- python – 使用Flask-WTForms字段描述呈现html标题属性