我目前正在使用 Harfbuzz 和 Freetype cache,使用 FTC_ImageCache_Lookup 来获取我的字形。根据 FreeTypes 文档,我们在使用其缓存时不应调用FT_Set_Char_Size(请参阅此处(。而是接收FTC_ImageCache_Lookup请求的字形高度。
问题是,如果不设置字体大小,Harfbuzz 将无法计算某些字形(例如,"SARA U"字形(的正确位置。
有什么办法吗?
我还没有 FTC 的经验,但我想您可以通过遵循这个轻松地在 HarfBuzz 上设置字体大小,基本上通过hb_ot_font_set_funcs
(甚至可能不需要(和hb_font_set_scale
来设置字体大小来设置 HarfBuzz 的 ot-func 而不是 Freetype。