These are grouped by functionality, often using the main data type 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 indicate 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.
An FcLangSet is a set of language names (each of which include language and an optional territory). They are used when selecting fonts to indicate which languages the fonts need to support. Each font is marked, using language orthography information built into fontconfig, with the set of supported languages.
FcMatrix structures hold an affine transformation in matrix form.
An FcRange holds two variables to indicate a range in between.
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 application-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.
Maps weights to and from OpenType weights.
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 configuration files, allowing ongoing reading of the old configuration file while locked for writing and ensuring that a consistent and complete version of the configuration file is always available.
These routines work with font files and directories, including font directory cache files.
These routines work with font directory caches, accessing their contents in limited ways. It is not expected that normal applications will need to use these functions.
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.