FreeType 的缓存
txt 你妈生你的时候是不是把人给扔了把胎盘养大
别把虾米不当海鲜
别把虾米不当海鲜
FreeType 的缓存子系统提供了一个高性能的管理face、 size、 glyph image 和 charmap 的途径
Requirements and Design Goals: When dealing with fonts, caching rapidly becomes a necessity for at least the following reasons: 当处理字体时,高速缓存是必要的,原因如下: l 打开字体文件是相当慢的,因为它需要加载数据到内存中
所以,尽可能地保持FT_Face 对象处于打开状态是一个好主意
l 每一个FT_Face 或 FT_Size 对象会占用几百KB, 假设它总是很大,应该限制打开的 face 的个数到最小
l 每个face 包含成百上千的字形,由于通常只是使用一个face 中的一小部分字形,一次性加载所有的字形是完全没有必要的
应该缓存我们经常使用的字形
l 当属于给定face 的所有字形已经载入内存时,对应的FT_Face 对象可以被关闭已减少内存的占用
FreeType 缓存子系统提供了自动完成上述任务的很好的途径
The Cache Manager: FTC_Manager 用于处理缓存中的各种数据
应首先调用FTC_Manager_New 来创建它
通过FTC_FaceID 鉴别face: FTC_Manager 并不直接知晓哪些字体被安装了或者在运行期是否有效
应用程序有责任定位和鉴别face,并打开相应的字体文件
这意味着应用程序必须使用一个指针(FTC_FaceID)来唯一鉴别一个给定的有效的或已安装的face
虽然这个指针对于FTC_Manager 来说