0

FreeType 库定义了相当多的基本数据类型,但我不太清楚如何使用它们。我正在尝试使用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一个字符串?

4

1 回答 1

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 *)。

于 2012-09-07T20:55:10.013 回答