XFreeFontNames(list)
char *list[];
char **XListFontsWithInfo(display, pattern, maxnames, count_return, info_return)
Display *display;
char *pattern;
int maxnames;
int *count_return;
XFontStruct **info_return;
XFreeFontInfo(names, free_info, actual_count)
char **names;
XFontStruct *free_info;
int actual_count;
関数 XFreeFontNames は、 XListFonts や XListFontsWithInfo が返した文字列配列を解放する。
関数 XListFontsWithInfo は指定したパターンにマッチするフォント名とそのフォントについての情報の リストを返す。 名前のリストの大きさは指定した maxnames の大きさを越えることはできない。 各フォントに対して返される情報は、文字ごとの寸法が返されない点を除いて XLoadQueryFont が返すものと同じである。 パターン文字列は任意の文字を含むことができるが、アスタリスク(*)は任意 の数の文字のワイルドカード、疑問符(?)は1つの文字のワイルドカードである。 パターン文字列のエンコーディングがホストポータブル文字エンコーディング でない場合、結果は実装依存である。 英字は大文字でも小文字でも結果は同じになる。 返される文字列はそれぞれ NULL で終わる。 サーバが返すデータのエンコーディングが Latin ポータブル文字エンコーディ ングであれば、関数が返す文字列のエンコーディングはホストポータブル文字 エンコーディングとなる。 そうでない場合、結果は実装依存である。 フォント名にマッチするフォントが無い場合、 XListFontsWithInfo は NULL を返す。
フォント名の配列だけを解放する場合には、クライアントは XFreeFontNames を呼び出すべきである。 フォント名の配列とフォント情報の配列の両方を解放する場合と、フォント情 報の配列のみを解放する場合には、クライアントは XFreeFontInfo を呼び出すべきである。
関数 XFreeFontInfo はフォント構造体やフォント構造体の配列を解放する。同時にフォント名の配 列を解放することもできる。 names に NULL が渡された場合、フォント名は解放されない。 現在開いているフォント構造体( XLoadQueryFont が返したもの)を渡した場合、構造体は解放されるがフォントは閉じられない。 このような場合には XUnloadFont を使用してフォントを閉じること。