NAME
XListFonts, XFreeFontNames, XListFontsWithInfo, XFreeFontInfo - obtain
or free font names and information
SYNTAX
char **XListFonts(Display *display, char *pattern, int maxnames, int
*actual_count_return);
int XFreeFontNames(char *list[]);
char **XListFontsWithInfo(Display *display, char *pattern, int
maxnames, int *count_return, XFontStruct **info_return);
int XFreeFontInfo(char **names, XFontStruct *free_info, int
actual_count);
ARGUMENTS
actual_count
Specifies the actual number of font names.
actual_count_return
Returns the actual number of font names.
count_return
Returns the actual number of matched font names.
display Specifies the connection to the X server.
info_return
Returns the font information.
free_info Specifies the font information.
list Specifies the array of strings you want to free.
maxnames Specifies the maximum number of names to be returned.
names Specifies the list of font names.
pattern Specifies the null-terminated pattern string that can contain
wildcard characters.
DESCRIPTION
The XListFonts function returns an array of available font names (as
controlled by the font search path; see XSetFontPath) that match the
string you passed to the pattern argument. The pattern string can
contain any characters, but each asterisk (*) is a wildcard for any
number of characters, and each question mark (?) is a wildcard for a
single character. If the pattern string is not in the Host Portable
Character Encoding, the result is implementation-dependent. Use of
uppercase or lowercase does not matter. Each returned string is null-
terminated. If the data returned by the server is in the Latin
Portable Character Encoding, then the returned strings are in the Host
Portable Character Encoding. Otherwise, the result is implementation-
dependent. If there are no matching font names, XListFonts returns
NULL. The client should call XFreeFontNames when finished with the
result to free the memory.
The XFreeFontNames function frees the array and strings returned by
XListFonts or XListFontsWithInfo.
The XListFontsWithInfo function returns a list of font names that match
the specified pattern and their associated font information. The list
of names is limited to size specified by maxnames. The information
returned for each font is identical to what XLoadQueryFont would return
except that the per-character metrics are not returned. The pattern
string can contain any characters, but each asterisk (*) is a wildcard
for any number of characters, and each question mark (?) is a wildcard
for a single character. If the pattern string is not in the Host
Portable Character Encoding, the result is implementation-dependent.
Use of uppercase or lowercase does not matter. Each returned string is
null-terminated. If the data returned by the server is in the Latin
Portable Character Encoding, then the returned strings are in the Host
Portable Character Encoding. Otherwise, the result is implementation-
dependent. If there are no matching font names, XListFontsWithInfo
returns NULL.
To free only the allocated name array, the client should call
XFreeFontNames. To free both the name array and the font information
array or to free just the font information array, the client should
call XFreeFontInfo.
The XFreeFontInfo function frees a font structure or an array of font
structures and optionally an array of font names. If NULL is passed
for names, no font names are freed. If a font structure for an open
font (returned by XLoadQueryFont) is passed, the structure is freed,
but the font is not closed; use XUnloadFont to close the font.
Note that XListFontsWithInfo is not thread-safe. If other threads make
X requests on the same Display, then this function’s behavior is
undefined.
SEE ALSO
XLoadFont(3), XSetFontPath(3)
Xlib - C Language X Interface