问题描述
在 windows 10 上使用 freetype2 加载字符“C”,如下所示:
FT_Set_Char_Size(face,(int) (16*64),300,300);
error = FT_Load_Glyph(face,glyph_index,FT_LOAD_NO_SCALE);
gm = face->glyph->metrics;
我检查了 gm->horiAdvance
和 face->glyph->linearHoriAdvance
,如下所示:
horiAdvance is 667
,
linearHoriAdvance is 2914394.
因为我使用 FT_LOAD_NO_SCALE
加载字形,所以值是字体单位。所以 linearHoriAdvance
应该等于 horiAdvance * 65536
(因为 linearHoriAdvance
是 16.16 格式)。
然而它们实际上并不相等(2914394 / 65536 约为 44.47),为什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)