问题描述
- freetype FT_New_Memory_Face 使用问题
-
在《freetype教程》中有这么几句话:
3.装载一个字体face _a.从一个字体文件装载
..........(此处我省略了若干字)
b.从内存装载如果你已经把字体文件装载到内存,你可以简单地使用 FT_NEW_Memory_Face_为它新建一个face对象,如下所示: _
FT_Library library; /* 库的句柄 /
FT_Face face; / face对象的句柄 */error = FT_Init_FreeType( &library );
if ( error ) { ... }error = FT_New_Memory_Face( library,
buffer, /* 缓存的第一个字节 /
size, / 缓存的大小(以字节表示) /
0, / face索引 */
&face );
if ( error ) { ... } _如你所看到的,FT_New_Memory_Face简单地用字体文件缓存的指针和它的大小(以字节计算)代替文件路径。除此之外,它与FT_New_Face的语义一致。
我的问题是:
1、“如果你已经把字体文件装载到内存”,就这句话而言,如何把一个字体文件,如通过什么方法把字库文件 “zang.ttf”加载到内存。
2、通过调用函数 “FT_New_Memory_Face( library,
_buffer, /* 缓存的第一个字节 /
size, / 缓存的大小(以字节表示) /
0, / face索引 */
&face ); ”获取FreeType库实例的句柄时,第二个参数 buffer和第三个参数size 具体传入什么值,是否可以举例说明,谢谢各位!
时间: 2024-12-23 21:18:23