# Fontconfig Developers Reference, Version 2.4.2

### Keith Packard

HP Cambridge Research Lab

Table of Contents
1. DESCRIPTION
2. FUNCTIONAL OVERVIEW
  2.1. FONT CONFIGURATION
  2.2. FONT PROPERTIES
3. Datatypes
  3.1. FcChar8, FcChar16, FcChar32, FcBool
  3.2. FcMatrix
  3.3. FcCharSet
  3.4. FcType
  3.5. FcValue
  3.6. FcPattern
  3.7. FcFontSet
  3.8. FcStrSet, FcStrList
  3.9. FcObjectSet
  3.10. FcObjectType
  3.11. FcConstant
  3.12. FcBlanks
  3.13. FcFileCache
  3.14. FcConfig
  3.15. FcSetName
  3.16. FcResult
  3.17. FcAtomic
4. FUNCTIONS
  4.1. Initialization
    FcInitLoadConfig -- load configuration
    FcInitLoadConfigAndFonts -- load configuration and font data
    FcInit -- initialize fontconfig library
    FcFini -- finalize fonconfig library
    FcGetVersion -- library version number
    FcInitReinitialize -- re-initialize library
    FcInitBringUptoDate -- reload configuration files if needed
  4.2. FcPattern
    FcPatternCreate -- Create a pattern
    FcPatternDestroy -- Destroy a pattern
    FcPatternEqual -- Compare patterns
    FcPatternEqualSubset -- Compare portions of patterns
    FcPatternHash -- Compute a pattern hash value
    FcPatternAdd -- Add a value to a pattern
    FcPatternAddWeak -- Add a value to a pattern with weak binding
    FcPatternAdd-Type -- Add a typed value to a pattern
    FcPatternGet -- Return a value from a pattern
    FcPatternGet-Type -- Return a typed value from a pattern
    FcPatternBuild -- Create patterns from arguments
    FcPatternDel -- Delete a property from a pattern
    FcPatternRemove -- Remove one object of the specified type from the pattern
    FcPatternPrint -- Print a pattern for debugging
    FcDefaultSubstitute -- Perform default substitutions in a pattern
    FcNameParse -- Parse a pattern string
    FcNameUnparse -- Convert a pattern back into a string that can be parsed
  4.3. FcFontSet
    FcFontSetCreate -- Create a font set
    FcFontSetDestroy -- Destroy a font set
    FcFontSetAdd -- Add to a font set
  4.4. FcObjectSet
    FcObjectSetCreate -- Create an object set
    FcObjectSetAdd -- Add to an object set
    FcObjectSetDestroy -- Destroy an object set
    FcObjectSetBuild -- Build object set from args
  4.5. FreeType specific functions
    FcFreeTypeCharIndex -- map Unicode to glyph id
    FcFreeTypeCharSet -- compute unicode coverage
    FcFreeTypeQuery -- compute pattern from font file (and index)
    FcFreeTypeQueryFace -- compute pattern from FT_Face
  4.6. FcValue
    FcValueDestroy -- Free a value
    FcValueSave -- Copy a value
  4.7. FcCharSet
    FcCharSetCreate -- Create an empty character set
    FcCharSetDestroy -- Destroy a character set
    FcCharSetAddChar -- Add a character to a charset
    FcCharSetCopy -- Copy a charset
    FcCharSetEqual -- Compare two charsets
    FcCharSetIntersect -- Intersect charsets
    FcCharSetUnion -- Add charsets
    FcCharSetSubtract -- Subtract charsets
    FcCharSetHasChar -- Check a charset for a char
    FcCharSetCount -- Count entries in a charset
    FcCharSetIntersectCount -- Intersect and count charsets
    FcCharSetSubtractCount -- Subtract and count charsets
    FcCharSetIsSubset -- Test for charset inclusion
    FcCharSetFirstPage -- Start enumerating charset contents
    FcCharSetNextPage -- Continue enumerating charset contents
  4.8. FcMatrix
    FcMatrixInit -- initialize an FcMatrix structure
    FcMatrixCopy -- Copy a matrix
    FcMatrixEqual -- Compare two matrices
    FcMatrixMultiply -- Multiply matrices
    FcMatrixRotate -- Rotate a matrix
    FcMatrixScale -- Scale a matrix
    FcMatrixShear -- Shear a matrix
  4.9. FcConfig
    FcConfigCreate -- Create a configuration
    FcConfigDestroy -- Destroy a configuration
    FcConfigSetCurrent -- Set configuration as default
    FcConfigGetCurrent -- Return current configuration
    FcConfigUptoDate -- Check timestamps on config files
    FcConfigBuildFonts -- Build font database
    FcConfigGetConfigDirs -- Get config directories
    FcConfigGetFontDirs -- Get font directories
    FcConfigGetConfigFiles -- Get config files
    FcConfigGetCache -- Get cache filename
    FcConfigGetFonts -- Get config font set
    FcConfigGetBlanks -- Get config blanks
    FcConfigGetRescanInverval -- Get config rescan interval
    FcConfigSetRescanInverval -- Set config rescan interval
    FcConfigAppFontAddFile -- Add font file to font database
    FcConfigAppFontAddDir -- Add fonts from directory to font database
    FcConfigAppFontClear -- Remove all app fonts from font database
    FcConfigSubstituteWithPat -- Execute substitutions
    FcConfigSubstitute -- Execute substitutions
    FcFontMatch -- Return best font
    FcFontSort -- Return list of matching fonts
    FcFontRenderPrepare -- Prepare pattern for loading font file
    FcFontList -- List fonts
    FcConfigFilename -- Find a config file
    FcConfigParseAndLoad -- load a configuration file
  4.10. FcObjectType
    FcNameRegisterObjectTypes -- Register object types
    FcNameUnregisterObjectTypes -- Unregister object types
    FcNameGetObjectType -- Lookup an object type
  4.11. FcConstant
    FcNameRegisterConstants -- Register symbolic constants
    FcNameUnregisterConstants -- Unregister symbolic constants
    FcNameGetConstant -- Lookup symbolic constant
    FcNameConstant -- Get the value for a symbolic constant
  4.12. FcBlanks
    FcBlanksCreate -- Create an FcBlanks
    FcBlanksDestroy -- Destroy and FcBlanks
    FcBlanksAdd -- Add a character to an FcBlanks
    FcBlanksIsMember -- Query membership in an FcBlanks
  4.13. FcAtomic
    FcAtomicCreate -- create an FcAtomic object
    FcAtomicLock -- lock a file
    FcAtomicNewFile -- return new temporary file name
    FcAtomicOrigFile -- return original file name
    FcAtomicReplaceOrig -- replace original with new
    FcAtomicDeleteNew -- delete new file
    FcAtomicUnlock -- unlock a file
    FcAtomicDestroy -- destroy an FcAtomic object
  4.14. File and Directory routines
    FcFileScan -- scan a font file
    FcDirScan -- scan a font directory
    FcDirSave -- save a directory cache
    FcDirCacheValid -- check directory cache timestamp
  4.15. FcStrSet and FcStrList
    FcStrSetCreate -- create a string set
    FcStrSetMember -- check set for membership
    FcStrSetAdd -- add to a string set
    FcStrSetAddFilename -- add a filename to a string set
    FcStrSetDel -- delete from a string set
    FcStrSetDestroy -- destroy a string set
    FcStrListCreate -- create a string iterator
    FcStrListNext -- get next string in iteration
    FcStrListDone -- destroy a string iterator
  4.16. String utilities
    FcUtf8ToUcs4 -- convert UTF-8 to UCS4
    FcUcs4ToUtf8 -- convert UCS4 to UTF-8
    FcUtf8Len -- count UTF-8 encoded chars
    FcUtf16ToUcs4 -- convert UTF-16 to UCS4
    FcUtf16Len -- count UTF-16 encoded chars
    FcStrCopy -- duplicate a string
    FcStrDowncase -- create a lower case translation of a string
    FcStrCopyFilename -- copy a string, expanding '~'
    FcStrCmpIgnoreCase -- compare UTF-8 strings ignoring ASCII case
    FcStrStr -- locate UTF-8 substring
    FcStrStrIgnoreCase -- locate UTF-8 substring ignoring ASCII case
    FcStrDirname -- directory part of filename
    FcStrBasename -- last component of filename

# 1. DESCRIPTION

Fontconfig is a library designed to provide system-wide font configuration, customization and application access.

|  | Next
|  | FUNCTIONAL OVERVIEW