XListFonts(3) フォント名とフォント情報の取得と解放を行なう

Other Alias

XFreeFontNames, XListFontsWithInfo, XFreeFontInfo

書式

char **XListFonts(display, pattern, maxnames, actual_count_return)

      Display *display;

      char *pattern;

      int maxnames;

      int *actual_count_return;

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;

引き数

actual_count
フォント名の実際の数を指定する。
actual_count_return
フォント名の実際の数が返される。
count_return
マッチしたフォント名の実際の数が返される。
display
X サーバへの接続を指定する。
info_return
フォント情報が返される。
free_info
フォント情報を指定する。
list
解放する文字列の配列を指定する。
maxnames
返される名前の最大数を指定する。
names
フォント名のリストを指定する。
pattern
NULL で終わるパターン文字列を指定する。 これはワイルドカード文字を含んでいてもよい。

説明

関数 XListFonts は引き数 pattern で渡した文字列にマッチする利用可能なフォント名のリスト を返す(これはフォントのサーチパスによって制御できる。 XSetFontPath を参照のこと)。 パターン文字列は任意の文字を含むことができるが、アスタリスク(*)は任意 の数の文字に対するワイルドカード、疑問符(?)は1つの文字にマッチする ワイルドカードである。 パターン文字列のエンコーディングがホストポータブル文字エンコーディング でない場合、実行結果は実装依存である。 英字は大文字でも小文字でも結果は同じになる。 返される文字列はそれぞれ NULL で終わる。 サーバが返すデータのエンコーディングが Latin ポータブル文字集合である 場合、関数が返す文字列のエンコーディングは ホストポータブル文字エンコーディングとなる。 そうでない場合、結果は実装依存である。 マッチするフォント名がない場合、 XListFonts は NULL を返す。 クライアントは結果を使い終った後に XFreeFontNames を呼び出してメモリを解放すべきである。

関数 XFreeFontNames は、 XListFontsXListFontsWithInfo が返した文字列配列を解放する。

関数 XListFontsWithInfo は指定したパターンにマッチするフォント名とそのフォントについての情報の リストを返す。 名前のリストの大きさは指定した maxnames の大きさを越えることはできない。 各フォントに対して返される情報は、文字ごとの寸法が返されない点を除いて XLoadQueryFont が返すものと同じである。 パターン文字列は任意の文字を含むことができるが、アスタリスク(*)は任意 の数の文字のワイルドカード、疑問符(?)は1つの文字のワイルドカードである。 パターン文字列のエンコーディングがホストポータブル文字エンコーディング でない場合、結果は実装依存である。 英字は大文字でも小文字でも結果は同じになる。 返される文字列はそれぞれ NULL で終わる。 サーバが返すデータのエンコーディングが Latin ポータブル文字エンコーディング であれば、関数が返す文字列のエンコーディングはホストポータブル文字 エンコーディングとなる。 そうでない場合、結果は実装依存である。 フォント名にマッチするフォントがない場合、 XListFontsWithInfo は NULL を返す。

フォント名の配列だけを解放する場合には、クライアントは XFreeFontNames を呼び出すべきである。 フォント名の配列とフォント情報の配列の両方を解放する場合と、 フォント情報の配列のみを解放する場合には、クライアントは XFreeFontInfo を呼び出すべきである。

関数 XFreeFontInfo はフォント構造体やフォント構造体の配列を解放する。同時にフォント名の 配列を解放することもできる。 names に NULL が渡された場合、フォント名は解放されない。 現在開いているフォント構造体( XLoadQueryFont が返したもの)を渡した場合、構造体は解放されるがフォントは閉じられない。 このような場合には XUnloadFont を使用してフォントを閉じること。