您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python unicode rendering:如何知道字体中是否缺少unicode字符

5b51 2022/1/14 8:22:40 python 字数 1895 阅读 570 来源 www.jb51.cc/python

在 Python中,当我渲染一个unicode字符时,例如中文字符,具有选定的字体,有时字体对于常见的unicode字符是不完整的,并且不能呈现有问题的unicode字符.在这些情况下,如果我调用“print”函数,输出通常看起来像一个方框,无论底层unicode字符应该是什么样子. 当然,一旦我打印出unicode字符,我就可以查看输出,然后确定所选字体是否错过了特定的unicode字符.但是,

概述

当然,一旦我打印出unicode字符,我就可以查看输出,然后确定所选字体是否错过了特定的unicode字符.但是,在我自动打印之前是否有一种方法可以告诉我,而不必依靠我自己的人眼确定字体中是否包含字符?

我还要澄清我知道的字体比其他字体更完整.我的问题不是我可以使用哪种字体,所以如果我称之为“打印”,我通常会有合理的输出.还请忽略我如何打印角色或我是否真的要打印角色的问题.我的问题很简单,对于任何给定的字体,我如何判断字体中是否缺少unicode字符,而不使用依赖于人类对输出的判断的任何手动过程.

简而言之,可以安装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字符.

总结

以上是编程之家为你收集整理的python unicode rendering:如何知道字体中是否缺少unicode字符全部内容,希望文章能够帮你解决python unicode rendering:如何知道字体中是否缺少unicode字符所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶