XListFontsWithInfo()XListFontsWithInfo()NameXListFontsWithInfo – obtain the names and information about available
fonts.
Synopsis
char **XListFontsWithInfo(display, pattern, maxnames,
count_return, info_return)
Display *display;
char *pattern; /* NULL-terminated */
int maxnames;
int *count_return;
XFontStruct **info_return;
Arguments
display Specifies a connection to an X server; returned from
XOpenDisplay().
pattern Specifies the string associated with the font names you want
returned. You can specify any string, including asterisks
(*) and question marks (?). The asterisk indicates a wild‐
card on any number of characters and the question mark indi‐
cates a wildcard on a single character. Uppercase or lower‐
case is not important. If the pattern string is not in the
Host Portable Character Encoding the result is implementa‐
tion-dependent.
maxnames Specifies the maximum number of names that are to be in the
returned list.
count_return
Returns the actual number of matched font names.
info_return
Returns a pointer to a list of font information structures.
XListFontsWithInfo() provides enough space for maxnames
pointers.
Returns
The list of font names.
DescriptionXListFontsWithInfo() returns a list of font names that match the speci‐
fied pattern and a also returns limited information about each font
that matches. The list of names is limited to the size specified by
the maxnames argument. 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 implementa‐
tion-dependent.
XListFontsWithInfo() returns NULL if no matches were found.
To free the allocated name array, the client should call XFreeFont‐
Names(). To free the font information array, the client should call
XFreeFontInfo().
The information returned for each font is identical to what XLoadQuery‐
Font() would return, except that the per-character metrics (lbearing,
rbearing, width, ascent, descent for single characters) are not
returned.
The font search path (the order in which font names in various directo‐
ries are compared to pattern) is set by XSetFontPath().
For more information on fonts, see Volume One, Chapter 6, Drawing
Graphics and Text.
Structures
typedef struct {
XExtData *ext_data; /* hook for extension to hang data */
Font fid; /* Font ID for this font */
unsigned direction; /* hint about direction the font is painted */
unsigned min_char_or_byte2; /* first character */
unsigned max_char_or_byte2; /* last character */
unsigned min_byte1; /* first row that exists */
unsigned max_byte1; /* last row that exists */
Bool all_chars_exist; /* flag if all characters have non-zero size */
unsigned default_char; /* char to print for undefined character */
int n_properties; /* how many properties there are */
XFontProp *properties; /* pointer to array of additional properties */
XCharStruct min_bounds; /* minimum bounds over all existing char */
XCharStruct max_bounds; /* maximum bounds over all existing char */
XCharStruct *per_char; /* first_char to last_char information */
int ascent; /* logical extent above baseline for spacing */
int descent; /* logical descent below baseline for spacing */
} XFontStruct;
See AlsoXCreateFontCursor(), XFreeFont(), XFreeFontInfo(), XFreeFontNames(),
XFreeFontPath(), XGetFontPath(), XGetFontProperty(), XListFonts(),
XLoadFont(), XLoadQueryFont(), XQueryFont(), XSetFont(), XSetFont‐
Path(), XUnloadFont().
Xlib - Fonts XListFontsWithInfo()