Fontconfig uses abstract data types to hide internal implementation details for most data structures. A few structures are exposed where appropriate.
These are primitive data types; the FcChar* types hold precisely the number of bits stated (if supported by the C implementation). FcBool holds one of two C preprocessor symbols: FcFalse or FcTrue.
An FcMatrix holds an affine transformation, usually used to reshape glyphs. A small set of matrix operations are provided to manipulate these.
typedef struct _FcMatrix { double xx, xy, yx, yy; } FcMatrix; |
An FcCharSet is an abstract type that holds the set of encoded Unicode chars in a font. Operations to build and compare these sets are provided.
An FcLangSet is an abstract type that holds the set of languages supported by a font. Operations to build and compare these sets are provided. These are computed for a font based on orthographic information built into the fontconfig library. Fontconfig has orthographies for all of the ISO 639-1 languages except for MS, NA, PA, PS, QU, RN, RW, SD, SG, SN, SU and ZA. If you have orthographic information for any of these languages, please submit them.
An FcLangResult is an enumeration used to return the results of comparing two language strings or FcLangSet objects. FcLangEqual means the objects match language and territory. FcLangDifferentTerritory means the objects match in language but differ in territory. FcLangDifferentLang means the objects differ in language.
Tags the kind of data stored in an FcValue.
An FcValue object holds a single value with one of a number of different types. The 'type' tag indicates which member is valid.
typedef struct _FcValue { FcType type; union { const FcChar8 *s; int i; FcBool b; double d; const FcMatrix *m; const FcCharSet *c; void *f; const FcLangSet *l; const FcRange *r; } u; } FcValue; |
FcValue Members Type Union member Datatype -------------------------------- FcTypeVoid (none) (none) FcTypeInteger i int FcTypeDouble d double FcTypeString s FcChar8 * FcTypeBool b b FcTypeMatrix m FcMatrix * FcTypeCharSet c FcCharSet * FcTypeFTFace f void * (FT_Face) FcTypeLangSet l FcLangSet * FcTypeRange r FcRange * |
An FcPattern holds a set of names with associated value lists; each name refers to a property of a font. FcPatterns are used as inputs to the matching code as well as holding information about specific fonts. Each property can hold one or more values; conventionally all of the same type, although the interface doesn't demand that. An FcPatternIter is used during iteration to access properties in FcPattern.
typedef struct _FcFontSet { int nfont; int sfont; FcPattern **fonts; } FcFontSet; |
FcStrSet holds a list of strings that can be appended to and enumerated. Its unique characteristic is that the enumeration works even while strings are appended during enumeration. FcStrList is used during enumeration to safely and correctly walk the list of strings even while that list is edited in the middle of enumeration.
typedef struct _FcObjectSet { int nobject; int sobject; const char **objects; } FcObjectSet; |
typedef struct _FcObjectType { const char *object; FcType type; } FcObjectType; |
typedef struct _FcConstant { const FcChar8 *name; const char *object; int value; } FcConstant; |
holds a list of Unicode chars which are expected to be blank; unexpectedly blank chars are assumed to be invalid and are elided from the charset associated with the font.
FcBlanks is deprecated and should not be used in newly written code. It is still accepted by some functions for compatibility with older code but will be removed in the future.
holds the per-user cache information for use while loading the font database. This is built automatically for the current configuration when that is loaded. Applications must always pass '0' when one is requested.
holds a complete configuration of the library; there is one default configuration, other can be constructed from XML data structures. All public entry points that need global data can take an optional FcConfig* argument; passing 0 uses the default configuration. FcConfig objects hold two sets of fonts, the first contains those specified by the configuration, the second set holds those added by the application at run-time. Interfaces that need to reference a particular set use one of the FcSetName enumerated values.
Specifies one of the two sets of fonts available in a configuration; FcSetSystem for those fonts specified in the configuration and FcSetApplication which holds fonts provided by the application.
Used as a return type for functions manipulating FcPattern objects.
FcResult Values Result Code Meaning ----------------------------------------------------------- FcResultMatch Object exists with the specified ID FcResultNoMatch Object doesn't exist at all FcResultTypeMismatch Object exists, but the type doesn't match FcResultNoId Object exists, but has fewer values than specified FcResultOutOfMemory malloc failed |
Used for locking access to configuration files. Provides a safe way to update configuration files.
Holds information about the fonts contained in a single directory. Normal applications need not worry about this as caches for font access are automatically managed by the library. Applications dealing with cache management may want to use some of these objects in their work, however the included 'fc-cache' program generally suffices for all of that.
<<< Previous | Home | Next >>> |
FUNCTIONAL OVERVIEW | FUNCTIONS |