电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

FreeType的缓存

FreeType的缓存_第1页
1/8
FreeType的缓存_第2页
2/8
FreeType的缓存_第3页
3/8
FreeType 的缓存.txt 你妈生你的时候是不是把人给扔了把胎盘养大?别把虾米不当海鲜。别把虾米不当海鲜。 FreeType 的缓存子系统提供了一个高性能的管理face、 size、 glyph image 和 charmap 的途径。 I. 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 缓存子系统提供了自动完成上述任务的很好的途径。 II. The Cache Manager: FTC_Manager 用于处理缓存中的各种数据。应首先调用FTC_Manager_New 来创建它。 1. 通过FTC_FaceID 鉴别face: FTC_Manager 并不直接知晓哪些字体被安装了或者在运行期是否有效。应用程序有责任定位和鉴别face,并打开相应的字体文件。这意味着应用程序必须使用一个指针(FTC_FaceID)来唯一鉴别一个给定的有效的或已安装的face。 虽然这个指针对于FTC_Manager 来说并不重要, 但是它们的值在程序运行期必须始终保持不变,用于关联缓存的数据和它们相应的face。 应用程序也必须提供(在FTC_Manager_New 期间)一个专门的回调函数FTC_Face_Requester。这个外观请求器管理从一个给定的FTC_FaceID 转换到一个新FT_Face 对象,这通常暗示着调用 FT_New_Face 或 FT_Open_Face。 大多数情况下,FTC_FaceID 指向一个包含着字体文件名和face index 的结构。 In most cases, a FTC_FaceID is a pointer to a structure that contains a file pathname and a face index, and where the face requester simply calls FT_New_Face, as illustrated by the following code: /* define custom face identification structure */ typedef struct MyFaceRec_ { const char* file_path...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

FreeType的缓存

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部