These are grouped by functionality, often using the main datatype being manipulated.
These functions provide some control over how the library is initialized.
An FcPattern is an opaque type that holds both patterns to match against the available fonts, as well as the information about each font.
An FcFontSet simply holds a list of patterns; these are used to return the results of listing available fonts.
An FcObjectSet holds a list of pattern property names; it is used to indiciate which properties are to be returned in the patterns from FcFontList.
While the fontconfig library doesn't insist that FreeType be used as the rasterization mechanism for fonts, it does provide some convenience functions.
FcValue is a structure containing a type tag and a union of all possible datatypes. The tag is an enum of type FcType and is intended to provide a measure of run-time typechecking, although that depends on careful programming.
An FcCharSet is a boolean array indicating a set of unicode chars. Those associated with a font are marked constant and cannot be edited. FcCharSets may be reference counted internally to reduce memory consumption; this may be visible to applications as the result of FcCharSetCopy may return it's argument, and that CharSet may remain unmodifiable.
FcMatrix structures hold an affine transformation in matrix form.
An FcConfig object holds the internal representation of a configuration. There is a default configuration which applications may use by passing 0 to any function using the data within an FcConfig.
Provides for applcation-specified font name object types so that new pattern elements can be generated from font names.
Provides for application-specified symbolic constants for font names.
An FcBlanks object holds a list of Unicode chars which are expected to be blank when drawn. When scanning new fonts, any glyphs which are empty and not in this list will be assumed to be broken and not placed in the FcCharSet associated with the font. This provides a significantly more accurate CharSet for applications.
These functions provide a safe way to update config files, allowing ongoing reading of the old config file while locked for writing and ensuring that a consistent and complete version of the config file is always available.
These routines work with font files and directories, including font directory cache files.
A data structure for enumerating strings, used to list directories while scanning the configuration as directories are added while scanning.
Fontconfig manipulates many UTF-8 strings represented with the FcChar8 type. These functions are exposed to help applications deal with these UTF-8 strings in a locale-insensitive manner.