FreeType库定义了不少basic data types,但我不太清楚如何使用它们。我正在尝试使用FT_Get_Glyph_Name方法,它采用以下形式:
FT_Get_Glyph_Name(FT_Face face, FT_UInt glyph_index, FT_Pointer buffer, FT_UInt buffer_max );
所以我有这段代码:
FT_Face = face;
FT_Pointer = name;
FT_Get_Glyph_Name(face, 0, name, 45);
这很好用,但我不确定如何实际获取名称的字符串表示(例如与printf
一起使用)。如何从FT_Pointer
获取字符串?
答案 0 :(得分:1)
从文档链接:
字形名称被截断以适应缓冲区(如果它也是如此) 长。返回的字符串始终为零终止。
FT_Pointer
是void *上的typedef。
简单的演员就足够了:
char name[100];
FT_Get_Glyph_Name(face, 0, (FT_Pointer) name, 100);
printf("Name : '%s'\n", name);
您还可以使用FT_Pointer类型变量并将它们转换为(char *)。