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_Pointervoid*の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 に答える