# Fontconfig Developers Reference, Version 2.6.0

### 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. FcLangSet
  3.5. FcLangResult
  3.6. FcType
  3.7. FcValue
  3.8. FcPattern
  3.9. FcFontSet
  3.10. FcStrSet, FcStrList
  3.11. FcObjectSet
  3.12. FcObjectType
  3.13. FcConstant
  3.14. FcBlanks
  3.15. FcFileCache
  3.16. FcConfig
  3.17. FcSetName
  3.18. FcResult
  3.19. FcAtomic
  3.20. FcCache
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
    FcPatternDuplicate -- Copy a pattern
    FcPatternReference -- Increment pattern reference count
    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
    FcFontSetList -- List fonts from a set of font sets
    FcFontSetMatch -- Return the best font from a set of font sets
    FcFontSetPrint -- Print a set of patterns to stdout
    FcFontSetSort -- Add to a font set
    FcFontSetSortDestroy -- DEPRECATED destroy 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
    FcFreeTypeCharSetAndSpacing -- compute unicode coverage and spacing type
    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
    FcValuePrint -- Print a value to stdout
    FcValueEqual -- Test two values for equality
  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
    FcCharSetCoverage -- DEPRECATED return coverage for a Unicode page
    FcCharSetNew -- DEPRECATED alias for FcCharSetCreate
  4.8. FcLangSet
    FcLangSetCreate -- create a langset object
    FcLangSetDestroy -- destroy a langset object
    FcLangSetCopy -- copy a langset object
    FcLangSetAdd -- add a language to a langset
    FcLangSetCompare -- compare language sets
    FcLangSetContains -- check langset subset relation
    FcLangSetEqual -- test for matching langsets
    FcLangSetHash -- return a hash value for a langset
    FcLangSetHasLang -- test langset for language support
    FcGetLangs -- Get list of languages
    FcLangGetCharSet -- Get character map for a language
  4.9. 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.10. FcConfig
    FcConfigCreate -- Create a configuration
    FcConfigDestroy -- Destroy a configuration
    FcConfigSetCurrent -- Set configuration as default
    FcConfigGetCurrent -- Return current configuration
    FcConfigUptoDate -- Check timestamps on config files
    FcConfigHome -- return the current home directory.
    FcConfigEnableHome -- controls use of the home directory.
    FcConfigBuildFonts -- Build font database
    FcConfigGetConfigDirs -- Get config directories
    FcConfigGetFontDirs -- Get font directories
    FcConfigGetConfigFiles -- Get config files
    FcConfigGetCache -- DEPRECATED used to return per-user cache filename
    FcConfigGetCacheDirs -- return the list of directories searched for cache files
    FcConfigGetFonts -- Get config font set
    FcConfigGetBlanks -- Get config blanks
    FcConfigGetRescanInterval -- Get config rescan interval
    FcConfigSetRescanInterval -- 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.11. FcObjectType
    FcNameRegisterObjectTypes -- Register object types
    FcNameUnregisterObjectTypes -- Unregister object types
    FcNameGetObjectType -- Lookup an object type
  4.12. FcConstant
    FcNameRegisterConstants -- Register symbolic constants
    FcNameUnregisterConstants -- Unregister symbolic constants
    FcNameGetConstant -- Lookup symbolic constant
    FcNameConstant -- Get the value for a symbolic constant
  4.13. FcBlanks
    FcBlanksCreate -- Create an FcBlanks
    FcBlanksDestroy -- Destroy and FcBlanks
    FcBlanksAdd -- Add a character to an FcBlanks
    FcBlanksIsMember -- Query membership in an FcBlanks
  4.14. 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.15. File and Directory routines
    FcFileScan -- scan a font file
    FcFileIsDir -- check whether a file is a directory
    FcDirScan -- DEPRECATED: formerly used to scan a font directory
    FcDirSave -- DEPRECATED: formerly used to save a directory cache
    FcDirCacheUnlink -- Remove all caches related to `dir`
    FcDirCacheValid -- check directory cache
    FcDirCacheLoad -- load a directory cache
    FcDirCacheRead -- read or construct a directory cache
    FcDirCacheLoadFile -- load a cache file
    FcDirCacheUnload -- unload a cache file
  4.16. FcCache routines
    FcCacheDir -- Return directory of `cache`
    FcCacheCopySet -- Returns a copy of the fontset from `cache`
    FcCacheSubdir -- Return the `i`'th subdirectory.
    FcCacheNumSubdir -- Return the number of subdirectories in `cache`.
    FcCacheNumFont -- Returns the number of fonts in `cache`.
  4.17. FcStrSet and FcStrList
    FcStrSetCreate -- create a string set
    FcStrSetMember -- check set for membership
    FcStrSetEqual -- check sets for equality
    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.18. 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
    FcIsLower -- check for lower case ASCII character
    FcIsUpper -- check for upper case ASCII character
    FcToLower -- convert upper case ASCII to lower case
    FcStrCopy -- duplicate a string
    FcStrDowncase -- create a lower case translation of a string
    FcStrCopyFilename -- create a complete path from a filename
    FcStrCmp -- compare UTF-8 strings
    FcStrCmpIgnoreCase -- compare UTF-8 strings ignoring case
    FcStrStr -- locate UTF-8 substring
    FcStrStrIgnoreCase -- locate UTF-8 substring ignoring ASCII case
    FcStrPlus -- concatenate two strings
    FcStrFree -- free a string
    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