为什么num_glyphs与FT_Get_First_Char / FT_Get_Next_Char枚举的字形数量不匹配

时间:2019-06-22 11:40:10

标签: python freetype freetype2 freetype-py

请考虑以下示例。它使用/Library/Frameworks/Python.framework/Versions/3.7/bin/python3(通过python wrapper)加载字体,然后计算freetype

glyphs

如您所见,通过计数获得的数字与直接询问时库报告的数字不匹配。

为什么?

注意:不需要了解python包装器即可解决此问题。此处使用的python函数是C-API函数的薄包装。相关位是

import freetype as FT f = FT.Face('/usr/share/fonts/truetype/Hack-Regular.ttf') f.num_glyphs # 1573 len([*f.get_chars()]) # 1549 使用get_charsFT_Get_First_Char遍历提供的所有(?)字符

FT_Get_Next_Char

charcode, agindex = self.get_first_char() yield charcode, agindex while agindex != 0: charcode, agindex = self.get_next_char(charcode, 0) yield charcode, agindex 只是拉起了自己的名字

num_glyphs

0 个答案:

没有答案