XftPattern holds a set of names
with associated value lists; each name refers to a property of a font.
XftPatterns are used as inputs to the matching code as well as holding
information about specific fonts.

XftFont contains general font metrics
and a pointer to either the core XFontStruct data or a structure holding
FreeType and X Render Extension data.

XftFontStruct contains information
about FreeType fonts used with the X Render Extension.

XftFontSet contains
a list of XftPatterns. Internally Xft uses this data structure to hold
sets of fonts. Externally, Xft returns the results of listing fonts in
this format.

XftObjectSet holds a set of names and is used to specify which
fields from fonts are placed in the the list of returned patterns when
listing fonts.

XftDraw is an opaque object which holds information used
to render to an X drawable using either core protocol or the X Rendering
extension.