aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/extras/fontconfig/doc/fontconfig-devel.txt
diff options
context:
space:
mode:
authorReinhard Tartler <siretart@tauware.de>2011-10-10 17:43:39 +0200
committerReinhard Tartler <siretart@tauware.de>2011-10-10 17:43:39 +0200
commitf4092abdf94af6a99aff944d6264bc1284e8bdd4 (patch)
tree2ac1c9cc16ceb93edb2c4382c088dac5aeafdf0f /nx-X11/extras/fontconfig/doc/fontconfig-devel.txt
parenta840692edc9c6d19cd7c057f68e39c7d95eb767d (diff)
downloadnx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.tar.gz
nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.tar.bz2
nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.zip
Imported nx-X11-3.1.0-1.tar.gznx-X11/3.1.0-1
Summary: Imported nx-X11-3.1.0-1.tar.gz Keywords: Imported nx-X11-3.1.0-1.tar.gz into Git repository
Diffstat (limited to 'nx-X11/extras/fontconfig/doc/fontconfig-devel.txt')
-rw-r--r--nx-X11/extras/fontconfig/doc/fontconfig-devel.txt3792
1 files changed, 3792 insertions, 0 deletions
diff --git a/nx-X11/extras/fontconfig/doc/fontconfig-devel.txt b/nx-X11/extras/fontconfig/doc/fontconfig-devel.txt
new file mode 100644
index 000000000..576ae9197
--- /dev/null
+++ b/nx-X11/extras/fontconfig/doc/fontconfig-devel.txt
@@ -0,0 +1,3792 @@
+
+Fontconfig Developers Reference, Version 2.3.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 font file pattern
+
+ 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.
+ _________________________________________________________
+
+2. FUNCTIONAL OVERVIEW
+
+ Fontconfig contains two essential modules, the configuration
+ module which builds an internal configuration from XML files
+ and the matching module which accepts font patterns and
+ returns the nearest matching font.
+ _________________________________________________________
+
+2.1. FONT CONFIGURATION
+
+ The configuration module consists of the FcConfig datatype,
+ libexpat and FcConfigParse which walks over an XML tree and
+ ammends a configuration with data found within. From an
+ external perspective, configuration of the library consists of
+ generating a valid XML tree and feeding that to FcConfigParse.
+ The only other mechanism provided to applications for changing
+ the running configuration is to add fonts and directories to
+ the list of application-provided font files.
+
+ The intent is to make font configurations relatively static,
+ and shared by as many applications as possible. It is hoped
+ that this will lead to more stable font selection when passing
+ names from one application to another. XML was chosen as a
+ configuration file format because it provides a format which
+ is easy for external agents to edit while retaining the
+ correct structure and syntax.
+
+ Font configuration is separate from font matching;
+ applications needing to do their own matching can access the
+ available fonts from the library and perform private matching.
+ The intent is to permit applications to pick and choose
+ appropriate functionality from the library instead of forcing
+ them to choose between this library and a private
+ configuration mechanism. The hope is that this will ensure
+ that configuration of fonts for all applications can be
+ centralized in one place. Centralizing font configuration will
+ simplify and regularize font installation and customization.
+ _________________________________________________________
+
+2.2. FONT PROPERTIES
+
+ While font patterns may contain essentially any properties,
+ there are some well known properties with associated types.
+ Fontconfig uses some of these properties for font matching and
+ font completion. Others are provided as a convenience for the
+ applications rendering mechanism.
+ Property Definitions
+
+ Property CPP Symbol Type Description
+ ----------------------------------------------------
+ family FC_FAMILY String Font family names
+ familylang FC_FAMILYLANG String Language cooresponding
+to
+ each family name
+ style FC_STYLE String Font style. Overrides w
+eight
+ and slant
+ stylelang FC_STYLELANG String Language cooresponding
+to
+ each style name
+ fullname FC_FULLNAME String Font face full name whe
+re
+ different from family a
+nd
+ family + style
+ fullnamelang FC_FULLNAMELANG String Language cooresponding
+to
+ each fullname
+ slant FC_SLANT Int Italic, oblique or roma
+n
+ weight FC_WEIGHT Int Light, medium, demibold
+,
+ bold or black
+ size FC_SIZE Double Point size
+ width FC_WIDTH Int Condensed, normal or ex
+panded
+ aspect FC_ASPECT Double Stretches glyphs horizo
+ntally
+ before hinting
+ pixelsize FC_PIXEL_SIZE Double Pixel size
+ spacing FC_SPACING Int Proportional, dual-widt
+h,
+ monospace or charcell
+ foundry FC_FOUNDRY String Font foundry name
+ antialias FC_ANTIALIAS Bool Whether glyphs can be
+ antialiased
+ hinting FC_HINTING Bool Whether the rasterizer
+should
+ use hinting
+ hintstyle FC_HINT_STYLE Int Automatic hinting style
+ verticallayout FC_VERTICAL_LAYOUT Bool Use vertical layout
+ autohint FC_AUTOHINT Bool Use autohinter instead
+of
+ normal hinter
+ globaladvance FC_GLOBAL_ADVANCE Bool Use font global advance
+ data
+ file FC_FILE String The filename holding th
+e font
+ index FC_INDEX Int The index of the font w
+ithin
+ the file
+ ftface FC_FT_FACE FT_Face Use the specified FreeT
+ype
+ face object
+ rasterizer FC_RASTERIZER String Which rasterizer is in
+use
+ outline FC_OUTLINE Bool Whether the glyphs are
+outlines
+ scalable FC_SCALABLE Bool Whether glyphs can be s
+caled
+ scale FC_SCALE Double Scale factor for point-
+>pixel
+ conversions
+ dpi FC_DPI Double Target dots per inch
+ rgba FC_RGBA Int unknown, rgb, bgr, vrgb
+,
+ vbgr, none - subpixel g
+eometry
+ minspace FC_MINSPACE Bool Eliminate leading from
+line
+ spacing
+ charset FC_CHARSET CharSet Unicode chars encoded b
+y
+ the font
+ lang FC_LANG String List of RFC-3066-style
+ languages this font sup
+ports
+ fontversion FC_FONTVERSION Int Version number of the f
+ont
+ capability FC_CAPABILITY String List of layout capabili
+ties in
+ the font
+ embolden FC_EMBOLDEN Bool Rasterizer should
+ synthetically embolden
+the font
+
+ _________________________________________________________
+
+3. Datatypes
+
+ Fontconfig uses abstract datatypes to hide internal
+ implementation details for most data structures. A few
+ structures are exposed where appropriate.
+ _________________________________________________________
+
+3.1. FcChar8, FcChar16, FcChar32, FcBool
+
+ These are primitive datatypes; the FcChar* types hold
+ precisely the number of bits stated (if supported by the C
+ implementation). FcBool holds one of two CPP symbols: FcFalse
+ or FcTrue.
+ _________________________________________________________
+
+3.2. FcMatrix
+
+ 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;
+
+ _________________________________________________________
+
+3.3. FcCharSet
+
+ 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.
+ _________________________________________________________
+
+3.4. FcType
+
+ Tags the kind of data stored in an FcValue.
+ _________________________________________________________
+
+3.5. 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;
+ } u;
+ } FcValue;
+
+ FcValue Members
+
+ Type Union member Datatype
+ --------------------------------
+ FcTypeVoid (none) (none)
+ FcTypeInteger i int
+ FcTypeDouble d double
+ FcTypeString s char *
+ FcTypeBool b b
+ FcTypeMatrix m FcMatrix *
+ FcTypeCharSet c FcCharSet *
+
+ _________________________________________________________
+
+3.6. 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.
+ _________________________________________________________
+
+3.7. FcFontSet
+
+ typedef struct _FcFontSet {
+ int nfont;
+ int sfont;
+ FcPattern **fonts;
+ } FcFontSet;
+
+
+ An FcFontSet contains a list of FcPatterns. Internally
+ fontconfig uses this data structure to hold sets of fonts.
+ Externally, fontconfig returns the results of listing fonts in
+ this format. 'nfont' holds the number of patterns in the
+ 'fonts' array; 'sfont' is used to indicate the size of that
+ array.
+ _________________________________________________________
+
+3.8. FcStrSet, FcStrList
+
+ 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.
+ _________________________________________________________
+
+3.9. FcObjectSet
+
+ typedef struct _FcObjectSet {
+ int nobject;
+ int sobject;
+ const char **objects;
+ } FcObjectSet;
+
+
+ holds a set of names and is used to specify which fields from
+ fonts are placed in the the list of returned patterns when
+ listing fonts.
+ _________________________________________________________
+
+3.10. FcObjectType
+
+ typedef struct _FcObjectType {
+ const char *object;
+ FcType type;
+ } FcObjectType;
+
+
+ marks the type of a pattern element generated when parsing
+ font names. Applications can add new object types so that font
+ names may contain the new elements.
+ _________________________________________________________
+
+3.11. FcConstant
+
+ typedef struct _FcConstant {
+ const FcChar8 *name;
+ const char *object;
+ int value;
+ } FcConstant;
+
+
+ Provides for symbolic constants for new pattern elements. When
+ 'name' is seen in a font name, an 'object' element is created
+ with value 'value'.
+ _________________________________________________________
+
+3.12. FcBlanks
+
+ 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.
+ _________________________________________________________
+
+3.13. FcFileCache
+
+ 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.
+ _________________________________________________________
+
+3.14. FcConfig
+
+ 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
+ particulat set use one of the FcSetName enumerated values.
+ _________________________________________________________
+
+3.15. FcSetName
+
+ 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.
+ _________________________________________________________
+
+3.16. FcResult
+
+ 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 mat
+ch
+ FcResultNoId Object exists, but has fewer values
+ than specified
+ FcResultOutOfMemory Malloc failed
+
+ _________________________________________________________
+
+3.17. FcAtomic
+
+ Used for locking access to config files. Provides a safe way
+ to update configuration files.
+ _________________________________________________________
+
+4. FUNCTIONS
+
+ These are grouped by functionality, often using the main
+ datatype being manipulated.
+ _________________________________________________________
+
+4.1. Initialization
+
+ Table of Contents
+ 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
+
+ These functions provide some control over how the library is
+ initialized.
+
+FcInitLoadConfig
+
+Name
+
+ FcInitLoadConfig -- load configuration
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcConfig * FcInitLoadConfig(void);
+
+Description
+
+ Loads the default configuration file and returns the resulting
+ configuration. Does not load any font information.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcInitLoadConfigAndFonts
+
+Name
+
+ FcInitLoadConfigAndFonts -- load configuration and font data
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcConfig * FcInitLoadConfigAndFonts(void);
+
+Description
+
+ Loads the default configuration file and builds information
+ about the available fonts. Returns the resulting
+ configuration.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcInit
+
+Name
+
+ FcInit -- initialize fontconfig library
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcInit(void);
+
+Description
+
+ Loads the default configuration file and the fonts referenced
+ therein and sets the default configuration to that result.
+ Returns whether this process succeeded or not. If the default
+ configuration has already been loaded, this routine does
+ nothing and returns FcTrue.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcFini
+
+Name
+
+ FcFini -- finalize fonconfig library
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcFini(void);
+
+Description
+
+ Frees all data structures allocated by previous calls to
+ fontconfig functions. Fontconfig returns to an uninitialized
+ state, requiring a new call to one of the FcInit functions
+ before any other fontconfig function may be called.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcGetVersion
+
+Name
+
+ FcGetVersion -- library version number
+
+Synopsis
+
+#include <fontconfig.h>
+
+ int FcGetVersion(void);
+
+Description
+
+ Returns the version number of the library.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcInitReinitialize
+
+Name
+
+ FcInitReinitialize -- re-initialize library
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcInitReinitialize(void);
+
+Description
+
+ Forces the default configuration file to be reloaded and
+ resets the default configuration.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcInitBringUptoDate
+
+Name
+
+ FcInitBringUptoDate -- reload configuration files if needed
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcInitBringUptoDate(void);
+
+Description
+
+ Checks the rescan interval in the default configuration,
+ checking the configuration if the interval has passed and
+ reloading the configuration if when any changes are detected.
+
+Version
+
+ Fontconfig version 2.3.2
+ _________________________________________________________
+
+4.2. FcPattern
+
+ Table of Contents
+ 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
+
+ An FcPattern is an opaque type that holds both patterns to
+ match against the available fonts, as well as the information
+ about each font.
+
+FcPatternCreate
+
+Name
+
+ FcPatternCreate -- Create a pattern
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcPattern * FcPatternCreate(void);
+
+Description
+
+ Creates a pattern with no properties; used to build patterns
+ from scratch.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcPatternDestroy
+
+Name
+
+ FcPatternDestroy -- Destroy a pattern
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcPatternDestroy(FcPattern *p);
+
+Description
+
+ Destroys a pattern, in the process destroying all related
+ values.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcPatternEqual
+
+Name
+
+ FcPatternEqual -- Compare patterns
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcPatternEqual(const FcPattern *pa, const FcPattern
+ *pb);
+
+Description
+
+ Returns whether pa and pb are exactly alike.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcPatternEqualSubset
+
+Name
+
+ FcPatternEqualSubset -- Compare portions of patterns
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcPatternEqualSubset(const FcPattern *pa, const
+ FcPattern *pb, const FcObjectSet *os);
+
+Description
+
+ Returns whether pa and pb have exactly the same values for all
+ of the objects in os.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcPatternHash
+
+Name
+
+ FcPatternHash -- Compute a pattern hash value
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcChar32 FcPatternHash(const FcPattern *p);
+
+Description
+
+ Returns a 32-bit number which is the same for any two patterns
+ which are equal.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcPatternAdd
+
+Name
+
+ FcPatternAdd -- Add a value to a pattern
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcPatternAdd(FcPattern *p, const char *object,
+ FcValuevalue, FcBoolappend);
+
+Description
+
+ Adds a single value to the list of values associated with the
+ property named `object. If `append is FcTrue, the value is
+ added at the end of any existing list, otherwise it is
+ inserted at the begining. `value' is saved (with FcValueSave)
+ when inserted into the pattern so that the library retains no
+ reference to any application-supplied data structure.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcPatternAddWeak
+
+Name
+
+ FcPatternAddWeak -- Add a value to a pattern with weak binding
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcPatternAddWeak(FcPattern *p, const char *object,
+ FcValuevalue, FcBoolappend);
+
+Description
+
+ FcPatternAddWeak is essentially the same as FcPatternAdd
+ except that any values added to the list have binding weak
+ instead of strong.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcPatternAdd-Type
+
+Name
+
+ FcPatternAddInteger, FcPatternAddDouble, FcPatternAddString,
+ FcPatternAddMatrix, FcPatternAddCharSet,
+ FcPatternAddBool -- Add a typed value to a pattern
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcPatternAddInteger(FcPattern *p, const char *object,
+ inti);
+
+ FcBool FcPatternAddDouble(FcPattern *p, const char *object,
+ doubled);
+
+ FcBool FcPatternAddString(FcPattern *p, const char *object,
+ const char *s);
+
+ FcBool FcPatternAddMatrix(FcPattern *p, const char *object,
+ const FcMatrix *m);
+
+ FcBool FcPatternAddCharSet(FcPattern *p, const char *object,
+ const FcCharSet *c);
+
+ FcBool FcPatternAddBool(FcPattern *p, const char *object,
+ FcBoolb);
+
+Description
+
+ These are all convenience functions that insert objects of the
+ specified type into the pattern. Use these in preference to
+ FcPatternAdd as they will provide compile-time typechecking.
+ These all append values to any existing list of values.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcPatternGet
+
+Name
+
+ FcPatternGet -- Return a value from a pattern
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcResult FcPatternGet(FcPattern *p, const char *object, intid,
+ FcValue *v);
+
+Description
+
+ Returns in v the id'th value associated with the property
+ object. The value returned is not a copy, but rather refers to
+ the data stored within the pattern directly. Applications must
+ not free this value.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcPatternGet-Type
+
+Name
+
+ FcPatternGetInteger, FcPatternGetDouble, FcPatternGetString,
+ FcPatternGetMatrix, FcPatternGetCharSet,
+ FcPatternGetBool -- Return a typed value from a pattern
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcResult FcPatternGetInteger(FcPattern *p, const char *object,
+ intn, int *i);
+
+ FcResult FcPatternGetDouble(FcPattern *p, const char *object,
+ intn, double *d);
+
+ FcResult FcPatternGetString(FcPattern *p, const char *object,
+ intn, char **consts);
+
+ FcResult FcPatternGetMatrix(FcPattern *p, const char *object,
+ intn, FcMatrix **s);
+
+ FcResult FcPatternGetCharSet(FcPattern *p, const char *object,
+ intn, FcCharSet **c);
+
+ FcResult FcPatternGetBool(FcPattern *p, const char *object,
+ intn, FcBool *b);
+
+Description
+
+ These are convenience functions that call FcPatternGet and
+ verify that the returned data is of the expected type. They
+ return FcResultTypeMismatch if this is not the case. Note that
+ these (like FcPatternGet) do not make a copy of any data
+ structure referenced by the return value. Use these in
+ preference to FcPatternGet to provide compile-time
+ typechecking.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcPatternBuild
+
+Name
+
+ FcPatternBuild, FcPatternVaBuild -- Create patterns from
+ arguments
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcPattern * FcPatternBuild(FcPattern *orig, ...);
+
+ FcPattern * FcPatternVaBuild(FcPattern *orig, va_listva);
+
+Description
+
+ Builds a pattern using a list of objects, types and values.
+ Each value to be entered in the pattern is specified with
+ three arguments:
+
+ 1. Object name, a string describing the property to be added.
+ 2. Object type, one of the FcType enumerated values
+ 3. Value, not an FcValue, but the raw type as passed to any
+ of the FcPatternAdd<type> functions. Must match the type
+ of the second argument.
+
+ The argument list is terminated by a null object name, no
+ object type nor value need be passed for this. The values are
+ added to `pattern', if `pattern' is null, a new pattern is
+ created. In either case, the pattern is returned. Example
+pattern = FcPatternBuild (0, FC_FAMILY, FtTypeString, "Times", (char *)
+ 0);
+
+ FcPatternVaBuild is used when the arguments are already in the
+ form of a varargs value.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcPatternDel
+
+Name
+
+ FcPatternDel -- Delete a property from a pattern
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcPatternDel(FcPattern *p, const char *object);
+
+Description
+
+ Deletes all values associated with the property `object',
+ returning whether the property existed or not.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcPatternRemove
+
+Name
+
+ FcPatternRemove -- Remove one object of the specified type
+ from the pattern
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcPatternRemove(FcPattern *p, const char *object,
+ intid);
+
+Description
+
+ Removes the value associated with the property `object' at
+ position `id', returning whether the property existed and had
+ a value at that position or not.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcPatternPrint
+
+Name
+
+ FcPatternPrint -- Print a pattern for debugging
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcPatternPrint(const FcPattern *p);
+
+Description
+
+ Prints an easily readable version of the pattern to stdout.
+ There is no provision for reparsing data in this format, it's
+ just for diagnostics and debugging.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcDefaultSubstitute
+
+Name
+
+ FcDefaultSubstitute -- Perform default substitutions in a
+ pattern
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcDefaultSubstitute(FcPattern *pattern);
+
+Description
+
+ Supplies default values for underspecified font patterns:
+
+ * Patterns without a specified style or weight are set to
+ Medium
+ * Patterns without a specified style or slant are set to
+ Roman
+ * Patterns without a specified pixel size are given one
+ computed from any specified point size (default 12), dpi
+ (default 75) and scale (default 1).
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcNameParse
+
+Name
+
+ FcNameParse -- Parse a pattern string
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcPattern * FcNameParse(const char *name);
+
+Description
+
+ Converts name from the standard text format described above
+ into a pattern.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcNameUnparse
+
+Name
+
+ FcNameUnparse -- Convert a pattern back into a string that can
+ be parsed
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcChar8 * FcNameUnparse(FcPattern *pat);
+
+Description
+
+ Converts the given pattern into the standard text format
+ described above. The return value is not static, but instead
+ refers to newly allocated memory which should be freed by the
+ caller.
+
+Version
+
+ Fontconfig version 2.3.2
+ _________________________________________________________
+
+4.3. FcFontSet
+
+ Table of Contents
+ FcFontSetCreate -- Create a font set
+ FcFontSetDestroy -- Destroy a font set
+ FcFontSetAdd -- Add to a font set
+
+ An FcFontSet simply holds a list of patterns; these are used
+ to return the results of listing available fonts.
+
+FcFontSetCreate
+
+Name
+
+ FcFontSetCreate -- Create a font set
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcFontSet * FcFontSetCreate(void);
+
+Description
+
+ Creates an empty font set.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcFontSetDestroy
+
+Name
+
+ FcFontSetDestroy -- Destroy a font set
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcFontSetDestroy(FcFontSet *s);
+
+Description
+
+ Destroys a font set. Note that this destroys any referenced
+ patterns as well.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcFontSetAdd
+
+Name
+
+ FcFontSetAdd -- Add to a font set
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcFontSetAdd(FcFontSet *s, FcPattern *font);
+
+Description
+
+ Adds a pattern to a font set. Note that the pattern is not
+ copied before being inserted into the set.
+
+Version
+
+ Fontconfig version 2.3.2
+ _________________________________________________________
+
+4.4. FcObjectSet
+
+ Table of Contents
+ FcObjectSetCreate -- Create an object set
+ FcObjectSetAdd -- Add to an object set
+ FcObjectSetDestroy -- Destroy an object set
+ FcObjectSetBuild -- Build object set from args
+
+ 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.
+
+FcObjectSetCreate
+
+Name
+
+ FcObjectSetCreate -- Create an object set
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcObjectSet * FcObjectSetCreate(void);
+
+Description
+
+ Creates an empty set.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcObjectSetAdd
+
+Name
+
+ FcObjectSetAdd -- Add to an object set
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcObjectSetAdd(FcObjectSet *os, const char *object);
+
+Description
+
+ Adds a proprety name to the set.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcObjectSetDestroy
+
+Name
+
+ FcObjectSetDestroy -- Destroy an object set
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcObjectSetDestroy(FcObjectSet *os);
+
+Description
+
+ Destroys an object set.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcObjectSetBuild
+
+Name
+
+ FcObjectSetBuild, FcObjectSetVaBuild -- Build object set from
+ args
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcObjectSet * FcObjectSetBuild(const char *first, ...);
+
+ FcObjectSet * FcObjectSetVaBuild(const char *first,
+ va_listva);
+
+Description
+
+ These build an object set from a null-terminated list of
+ property names.
+
+Version
+
+ Fontconfig version 2.3.2
+ _________________________________________________________
+
+4.5. FreeType specific functions
+
+ Table of Contents
+ FcFreeTypeCharIndex -- map Unicode to glyph id
+ FcFreeTypeCharSet -- compute unicode coverage
+ FcFreeTypeQuery -- compute font file pattern
+
+ While the fontconfig library doesn't insist that FreeType be
+ used as the rasterization mechanism for fonts, it does provide
+ some convenience functions.
+
+FcFreeTypeCharIndex
+
+Name
+
+ FcFreeTypeCharIndex -- map Unicode to glyph id
+
+Synopsis
+
+#include <fontconfig.h>
+#include <fcfreetype.h>
+
+ FT_UInt FcFreeTypeCharIndex(FT_Faceface, FcChar32ucs4);
+
+Description
+
+ Maps a Unicode char to a glyph index. This function uses
+ information from several possible underlying encoding tables
+ to work around broken fonts. As a result, this function isn't
+ designed to be used in performance sensitive areas; results
+ from this function are intended to be cached by higher level
+ functions.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcFreeTypeCharSet
+
+Name
+
+ FcFreeTypeCharSet -- compute unicode coverage
+
+Synopsis
+
+#include <fontconfig.h>
+#include <fcfreetype.h>
+
+ FcCharSet * FcFreeTypeCharSet(FT_Faceface, FcBlanks *blanks);
+
+Description
+
+ Scans a FreeType face and returns the set of encoded Unicode
+ chars. This scans several encoding tables to build as complete
+ a list as possible. If 'blanks' is not 0, the glyphs in the
+ font are examined and any blank glyphs not in 'blanks' are not
+ placed in the returned FcCharSet.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcFreeTypeQuery
+
+Name
+
+ FcFreeTypeQuery -- compute font file pattern
+
+Synopsis
+
+#include <fontconfig.h>
+#include <fcfreetype.h>
+
+ FcPattern * FcFreeTypeQuery(const char *file, intid, FcBlanks
+ *blanks, int *count);
+
+Description
+
+ Constructs a pattern representing the 'id'th font in 'file'.
+ The number of fonts in 'file' is returned in 'count'.
+
+Version
+
+ Fontconfig version 2.3.2
+ _________________________________________________________
+
+4.6. FcValue
+
+ Table of Contents
+ FcValueDestroy -- Free a value
+ FcValueSave -- Copy a value
+
+ 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.
+
+FcValueDestroy
+
+Name
+
+ FcValueDestroy -- Free a value
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcValueDestroy(FcValuev);
+
+Description
+
+ Frees any memory referenced by v. Values of type FcTypeString,
+ FcTypeMatrix and FcTypeCharSet reference memory, the other
+ types do not.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcValueSave
+
+Name
+
+ FcValueSave -- Copy a value
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcValue FcValueSave(FcValuev);
+
+Description
+
+ Returns a copy of v duplicating any object referenced by it so
+ that v may be safely destroyed without harming the new value.
+
+Version
+
+ Fontconfig version 2.3.2
+ _________________________________________________________
+
+4.7. FcCharSet
+
+ Table of Contents
+ 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
+
+ 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.
+
+FcCharSetCreate
+
+Name
+
+ FcCharSetCreate -- Create an empty character set
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcCharSet * FcCharSetCreate(void);
+
+Description
+
+ FcCharSetCreate allocates and initializes a new empty
+ character set object.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcCharSetDestroy
+
+Name
+
+ FcCharSetDestroy -- Destroy a character set
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcCharSetDestroy(FcCharSet *fcs);
+
+Description
+
+ FcCharSetDestroy decrements the reference count fcs. If the
+ reference count becomes zero, all memory referenced is freed.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcCharSetAddChar
+
+Name
+
+ FcCharSetAddChar -- Add a character to a charset
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcCharSetAddChar(FcCharSet *fcs, FcChar32ucs4);
+
+Description
+
+ FcCharSetAddChar adds a single unicode char to the set,
+ returning FcFalse on failure, either as a result of a constant
+ set or from running out of memory.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcCharSetCopy
+
+Name
+
+ FcCharSetCopy -- Copy a charset
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcCharSet * FcCharSetCopy(FcCharSet *src);
+
+Description
+
+ Makes a copy of src; note that this may not actually do
+ anything more than increment the reference count on src.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcCharSetEqual
+
+Name
+
+ FcCharSetEqual -- Compare two charsets
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcCharSetEqual(const FcCharSet *a, const FcCharSet *b);
+
+Description
+
+ Returns whether a and b contain the same set of unicode chars.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcCharSetIntersect
+
+Name
+
+ FcCharSetIntersect -- Intersect charsets
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcCharSet * FcCharSetIntersect(const FcCharSet *a, const
+ FcCharSet *b);
+
+Description
+
+ Returns a set including only those chars found in both a and
+ b.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcCharSetUnion
+
+Name
+
+ FcCharSetUnion -- Add charsets
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcCharSet * FcCharSetUnion(const FcCharSet *a, const FcCharSet
+ *b);
+
+Description
+
+ Returns a set including only those chars found in either a or
+ b.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcCharSetSubtract
+
+Name
+
+ FcCharSetSubtract -- Subtract charsets
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcCharSet * FcCharSetSubtract(const FcCharSet *a, const
+ FcCharSet *b);
+
+Description
+
+ Returns a set including only those chars found in a but not b.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcCharSetHasChar
+
+Name
+
+ FcCharSetHasChar -- Check a charset for a char
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcCharSetHasChar(const FcCharSet *fcs, FcChar32ucs4);
+
+Description
+
+ Returns whether fcs contains the char ucs4.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcCharSetCount
+
+Name
+
+ FcCharSetCount -- Count entries in a charset
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcChar32 FcCharSetCount(const FcCharSet *a);
+
+Description
+
+ Returns the total number of unicode chars in a.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcCharSetIntersectCount
+
+Name
+
+ FcCharSetIntersectCount -- Intersect and count charsets
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcChar32 FcCharSetIntersectCount(const FcCharSet *a, const
+ FcCharSet *b);
+
+Description
+
+ Returns the number of chars that are in both a and b.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcCharSetSubtractCount
+
+Name
+
+ FcCharSetSubtractCount -- Subtract and count charsets
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcChar32 FcCharSetSubtractCount(const FcCharSet *a, const
+ FcCharSet *b);
+
+Description
+
+ Returns the number of chars that are in a but not in b.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcCharSetIsSubset
+
+Name
+
+ FcCharSetIsSubset -- Test for charset inclusion
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcCharSetIsSubset(const FcCharSet *a, const FcCharSet
+ *b);
+
+Description
+
+ Returns whether a is a subset of b.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcCharSetFirstPage
+
+Name
+
+ FcCharSetFirstPage -- Start enumerating charset contents
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcChar32 FcCharSetFirstPage(const FcCharSet *a,
+ FcChar32[FC_CHARSET_MAP_SIZE]map, FcChar32 *next);
+
+Description
+
+ Builds an array of bits marking the first page of Unicode
+ coverage of a. Returns the base of the array. next contains
+ the next page in the font.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcCharSetNextPage
+
+Name
+
+ FcCharSetNextPage -- Continue enumerating charset contents
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcChar32 FcCharSetNextPage(const FcCharSet *a,
+ FcChar32[FC_CHARSET_MAP_SIZE]map, FcChar32 *next);
+
+Description
+
+ Builds an array of bits marking the Unicode coverage of a for
+ page *next. Returns the base of the array. next contains the
+ next page in the font.
+
+Version
+
+ Fontconfig version 2.3.2
+ _________________________________________________________
+
+4.8. FcMatrix
+
+ Table of Contents
+ 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
+
+ FcMatrix structures hold an affine transformation in matrix
+ form.
+
+FcMatrixInit
+
+Name
+
+ FcMatrixInit -- initialize an FcMatrix structure
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcMatrixInit(FcMatrix *matrix);
+
+Description
+
+ FcMatrixInit initializes matrix to the identity matrix.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcMatrixCopy
+
+Name
+
+ FcMatrixCopy -- Copy a matrix
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcMatrixCopy(const FcMatrix *matrix);
+
+Description
+
+ FcMatrixCopy allocates a new FcMatrix and copies mat into it.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcMatrixEqual
+
+Name
+
+ FcMatrixEqual -- Compare two matrices
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcMatrixEqual(const FcMatrix *matrix1, const FcMatrix
+ *matrix2);
+
+Description
+
+ FcMatrixEqual compares matrix1 and matrix2 returning FcTrue
+ when they are equal and FcFalse when they are not.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcMatrixMultiply
+
+Name
+
+ FcMatrixMultiply -- Multiply matrices
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcMatrixMultiply(FcMatrix *result, const FcMatrix
+ *matrix1, const FcMatrix *matrix2);
+
+Description
+
+ FcMatrixMultiply multiplies matrix1 and matrix2 storing the
+ result in result.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcMatrixRotate
+
+Name
+
+ FcMatrixRotate -- Rotate a matrix
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcMatrixRotate(FcMatrix *matrix, doublecos, doublesin);
+
+Description
+
+ FcMatrixRotate rotates matrix by the angle who's sine is sin
+ and cosine is cos. This is done by multiplying by the matrix:
+ cos -sin
+ sin cos
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcMatrixScale
+
+Name
+
+ FcMatrixScale -- Scale a matrix
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcMatrixScale(FcMatrix *matrix, doublesx, doubledy);
+
+Description
+
+ FcMatrixScale multiplies matrix x values by sx and y values by
+ sy. This is done by multiplying by the matrix:
+ sx 0
+ 0 sy
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcMatrixShear
+
+Name
+
+ FcMatrixShear -- Shear a matrix
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcMatrixShear(FcMatrix *matrix, doublesh, doublesv);
+
+Description
+
+ FcMatrixShare shears matrix horizontally by sh and vertically
+ by sv. This is done by multiplying by the matrix:
+ 1 sh
+ sv 1
+
+Version
+
+ Fontconfig version 2.3.2
+ _________________________________________________________
+
+4.9. FcConfig
+
+ Table of Contents
+ 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
+
+ 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.
+
+FcConfigCreate
+
+Name
+
+ FcConfigCreate -- Create a configuration
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcConfig * FcConfigCreate(void);
+
+Description
+
+ Creates an empty configuration.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigDestroy
+
+Name
+
+ FcConfigDestroy -- Destroy a configuration
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcConfigDestroy(FcConfig *config);
+
+Description
+
+ Destroys a configuration and any data associated with it. Note
+ that calling this function with the return from
+ FcConfigGetCurrent will place the library in an indeterminate
+ state.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigSetCurrent
+
+Name
+
+ FcConfigSetCurrent -- Set configuration as default
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcConfigSetCurrent(FcConfig *config);
+
+Description
+
+ Sets the current default configuration to config. Implicitly
+ calls FcConfigBuildFonts if necessary, returning FcFalse if
+ that call fails.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigGetCurrent
+
+Name
+
+ FcConfigGetCurrent -- Return current configuration
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcConfig * FcConfigGetCurrent(void);
+
+Description
+
+ Returns the current default configuration.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigUptoDate
+
+Name
+
+ FcConfigUptoDate -- Check timestamps on config files
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcConfigUptoDate(FcConfig *config);
+
+Description
+
+ Checks all of the files related to config and returns whether
+ the in-memory version is in sync with the disk version.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigBuildFonts
+
+Name
+
+ FcConfigBuildFonts -- Build font database
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcConfigBuildFonts(FcConfig *config);
+
+Description
+
+ Builds the set of available fonts for the given configuration.
+ Note that any changes to the configuration after this call
+ have indeterminate effects. Returns FcFalse if this operation
+ runs out of memory.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigGetConfigDirs
+
+Name
+
+ FcConfigGetConfigDirs -- Get config directories
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcStrList * FcConfigGetConfigDirs(FcConfig *config);
+
+Description
+
+ Returns the list of font directories specified in the
+ configuration files for config. Does not include any
+ subdirectories.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigGetFontDirs
+
+Name
+
+ FcConfigGetFontDirs -- Get font directories
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcStrList * FcConfigGetFontDirs(FcConfig *config);
+
+Description
+
+ Returns the list of font directories in config. This includes
+ the configured font directories along with any directories
+ below those in the filesystem.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigGetConfigFiles
+
+Name
+
+ FcConfigGetConfigFiles -- Get config files
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcStrList * FcConfigGetConfigFiles(FcConfig *config);
+
+Description
+
+ Returns the list of known configuration files used to generate
+ config. Note that this will not include any configuration done
+ with FcConfigParse.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigGetCache
+
+Name
+
+ FcConfigGetCache -- Get cache filename
+
+Synopsis
+
+#include <fontconfig.h>
+
+ char * FcConfigGetCache(FcConfig *config);
+
+Description
+
+ Returns the name of the file used to store per-user font
+ information.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigGetFonts
+
+Name
+
+ FcConfigGetFonts -- Get config font set
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcFontSet * FcConfigGetFonts(FcConfig *config, FcSetNameset);
+
+Description
+
+ Returns one of the two sets of fonts from the configuration as
+ specified by set.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigGetBlanks
+
+Name
+
+ FcConfigGetBlanks -- Get config blanks
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBlanks * FcConfigGetBlanks(FcConfig *config);
+
+Description
+
+ Returns the FcBlanks object associated with the given
+ configuration, if no blanks were present in the configuration,
+ this function will return 0.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigGetRescanInverval
+
+Name
+
+ FcConfigGetRescanInverval -- Get config rescan interval
+
+Synopsis
+
+#include <fontconfig.h>
+
+ int FcConfigGetRescanInverval(FcConfig *config);
+
+Description
+
+ Returns the interval between automatic checks of the
+ configuration (in seconds) specified in config. The
+ configuration is checked during a call to FcFontList when this
+ interval has passed since the last check.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigSetRescanInverval
+
+Name
+
+ FcConfigSetRescanInverval -- Set config rescan interval
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcConfigSetRescanInverval(FcConfig *config,
+ intrescanInterval);
+
+Description
+
+ Sets the rescan interval; returns FcFalse if an error
+ occurred.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigAppFontAddFile
+
+Name
+
+ FcConfigAppFontAddFile -- Add font file to font database
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcConfigAppFontAddFile(FcConfig *config, const char
+ *file);
+
+Description
+
+ Adds an application-specific font to the configuration.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigAppFontAddDir
+
+Name
+
+ FcConfigAppFontAddDir -- Add fonts from directory to font
+ database
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcConfigAppFontAddDir(FcConfig *config, const char *);
+
+Description
+
+ Scans the specified directory for fonts, adding each one found
+ to the application-specific set of fonts.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigAppFontClear
+
+Name
+
+ FcConfigAppFontClear -- Remove all app fonts from font
+ database
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcConfigAppFontClear(FcConfig *config);
+
+Description
+
+ Clears the set of application-specific fonts.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigSubstituteWithPat
+
+Name
+
+ FcConfigSubstituteWithPat -- Execute substitutions
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcConfigSubstituteWithPat(FcConfig *config, FcPattern
+ *p, FcPattern *p_pat, FcMatchKindkind);
+
+Description
+
+ Performs the sequence of pattern modification operations, if
+ kind is FcMatchPattern, then those tagged as pattern
+ operations are applied, else if kind is FcMatchFont, those
+ tagged as font operations are applied and p_pat is used for
+ <test> elements with target=pattern.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigSubstitute
+
+Name
+
+ FcConfigSubstitute -- Execute substitutions
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcConfigSubstitute(FcConfig *config, FcPattern *p,
+ FcMatchKindkind);
+
+Description
+
+ Calls FcConfigSubstituteWithPat setting p_pat to NULL.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcFontMatch
+
+Name
+
+ FcFontMatch -- Return best font
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcPattern * FcFontMatch(FcConfig *config, FcPattern *p,
+ FcResult *result);
+
+Description
+
+ Returns the font in config most close matching p. This
+ function should be called only after FcConfigSubstitute and
+ FcDefaultSubstitute have been called for p; otherwise the
+ results will not be correct.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcFontSort
+
+Name
+
+ FcFontSort -- Return list of matching fonts
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcFontSet * FcFontSort(FcConfig *config, FcPattern *p,
+ FcBooltrim, FcCharSet **csp, FcResult *result);
+
+Description
+
+ Returns the list of fonts sorted by closeness to p. If trim is
+ FcTrue, elements in the list which don't include Unicode
+ coverage not provided by earlier elements in the list are
+ elided. The union of Unicode coverage of all of the fonts is
+ returned in csp, if csp is not NULL. This function should be
+ called only after FcConfigSubstitute and FcDefaultSubstitute
+ have been called for p; otherwise the results will not be
+ correct.
+
+ The returned FcFontSet references FcPattern structures which
+ may be shared by the return value from multiple FcFontSort
+ calls, applications must not modify these patterns. Instead,
+ they should be passed, along with p to FcFontRenderPrepare
+ which combines them into a complete pattern.
+
+ The FcFontSet returned by FcFontSort is destroyed by caling
+ FcFontSetDestroy.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcFontRenderPrepare
+
+Name
+
+ FcFontRenderPrepare -- Prepare pattern for loading font file
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcPattern * FcFontRenderPrepare(FcConfig *config, FcPattern
+ *pat, FcPattern *font);
+
+Description
+
+ Creates a new pattern consisting of elements of font not
+ appearing in pat, elements of pat not appearing in font and
+ the best matching value from pat for elements appearing in
+ both. The result is passed to FcConfigSubstitute with kind
+ FcMatchFont and then returned.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcFontList
+
+Name
+
+ FcFontList -- List fonts
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcFontSet * FcFontList(FcConfig *config, FcPattern *p,
+ FcObjectSet *os);
+
+Description
+
+ Selects fonts matching p, creates patterns from those fonts
+ containing only the objects in os and returns the set of
+ unique such patterns.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigFilename
+
+Name
+
+ FcConfigFilename -- Find a config file
+
+Synopsis
+
+#include <fontconfig.h>
+
+ char * FcConfigFilename(const char *name);
+
+Description
+
+ Given the specified external entity name, return the
+ associated filename. This provides applications a way to
+ convert various configuration file references into filename
+ form.
+
+ A null or empty name indicates that the default configuration
+ file should be used; which file this references can be
+ overridden with the FC_CONFIG_FILE environment variable. Next,
+ if the name starts with ~, it refers to a file in the current
+ users home directory. Otherwise if the name doesn't start with
+ '/', it refers to a file in the default configuration
+ directory; the built-in default directory can be overridden
+ with the FC_CONFIG_DIR environment variable.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcConfigParseAndLoad
+
+Name
+
+ FcConfigParseAndLoad -- load a configuration file
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcConfigParseAndLoad(FcConfig *config, const FcChar8
+ *file);
+
+Description
+
+ Walks the configuration in 'file' and constructs the internal
+ representation in 'config'. Any include files referenced from
+ within 'file' will be loaded with FcConfigLoad and also
+ parsed. If 'complain' is FcFalse, no warning will be displayed
+ if 'file' does not exist.
+
+Version
+
+ Fontconfig version 2.3.2
+ _________________________________________________________
+
+4.10. FcObjectType
+
+ Table of Contents
+ FcNameRegisterObjectTypes -- Register object types
+ FcNameUnregisterObjectTypes -- Unregister object types
+ FcNameGetObjectType -- Lookup an object type
+
+ Provides for applcation-specified font name object types so
+ that new pattern elements can be generated from font names.
+
+FcNameRegisterObjectTypes
+
+Name
+
+ FcNameRegisterObjectTypes -- Register object types
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcNameRegisterObjectTypes(const FcObjectType *types,
+ intntype);
+
+Description
+
+ Register ntype new object types.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcNameUnregisterObjectTypes
+
+Name
+
+ FcNameUnregisterObjectTypes -- Unregister object types
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcNameUnregisterObjectTypes(const FcObjectType *types,
+ intntype);
+
+Description
+
+ Unregister ntype object types.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcNameGetObjectType
+
+Name
+
+ FcNameGetObjectType -- Lookup an object type
+
+Synopsis
+
+#include <fontconfig.h>
+
+ const FcObjectType * FcNameGetObjectType(const char *object);
+
+Description
+
+ Return the object type for the pattern element named object.
+
+Version
+
+ Fontconfig version 2.3.2
+ _________________________________________________________
+
+4.11. FcConstant
+
+ Table of Contents
+ FcNameRegisterConstants -- Register symbolic constants
+ FcNameUnregisterConstants -- Unregister symbolic constants
+ FcNameGetConstant -- Lookup symbolic constant
+ FcNameConstant -- Get the value for a symbolic constant
+
+ Provides for application-specified symbolic constants for font
+ names.
+
+FcNameRegisterConstants
+
+Name
+
+ FcNameRegisterConstants -- Register symbolic constants
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcNameRegisterConstants(const FcConstant *consts,
+ intnconsts);
+
+Description
+
+ Register nconsts new symbolic constants.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcNameUnregisterConstants
+
+Name
+
+ FcNameUnregisterConstants -- Unregister symbolic constants
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcNameUnregisterConstants(const FcConstant *consts,
+ intnconsts);
+
+Description
+
+ Unregister nconsts symbolic constants.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcNameGetConstant
+
+Name
+
+ FcNameGetConstant -- Lookup symbolic constant
+
+Synopsis
+
+#include <fontconfig.h>
+
+ const FcConstant * FcNameGetConstant(FcChar8 *string);
+
+Description
+
+ Return the FcConstant structure related to symbolic constant
+ string.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcNameConstant
+
+Name
+
+ FcNameConstant -- Get the value for a symbolic constant
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcNameConstant(FcChar8 *string, int *result);
+
+Description
+
+ Returns whether a symbolic constant with name string is
+ registered, placing the value of the constant in result if
+ present.
+
+Version
+
+ Fontconfig version 2.3.2
+ _________________________________________________________
+
+4.12. FcBlanks
+
+ Table of Contents
+ FcBlanksCreate -- Create an FcBlanks
+ FcBlanksDestroy -- Destroy and FcBlanks
+ FcBlanksAdd -- Add a character to an FcBlanks
+ FcBlanksIsMember -- Query membership in an FcBlanks
+
+ 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.
+
+FcBlanksCreate
+
+Name
+
+ FcBlanksCreate -- Create an FcBlanks
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBlanks * FcBlanksCreate(void);
+
+Description
+
+ Creates an empty FcBlanks object.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcBlanksDestroy
+
+Name
+
+ FcBlanksDestroy -- Destroy and FcBlanks
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcBlanksDestroy(FcBlanks *b);
+
+Description
+
+ Destroys an FcBlanks object, freeing any associated memory.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcBlanksAdd
+
+Name
+
+ FcBlanksAdd -- Add a character to an FcBlanks
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcBlanksAdd(FcBlanks *b, FcChar32ucs4);
+
+Description
+
+ Adds a single character to an FcBlanks object, returning
+ FcFalse if this process ran out of memory.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcBlanksIsMember
+
+Name
+
+ FcBlanksIsMember -- Query membership in an FcBlanks
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcBlanksIsMember(FcBlanks *b, FcChar32ucs4);
+
+Description
+
+ Returns whether the specified FcBlanks object contains the
+ indicated Unicode value.
+
+Version
+
+ Fontconfig version 2.3.2
+ _________________________________________________________
+
+4.13. FcAtomic
+
+ Table of Contents
+ 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
+
+ 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.
+
+FcAtomicCreate
+
+Name
+
+ FcAtomicCreate -- create an FcAtomic object
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcAtomic * FcAtomicCreate(const FcChar8 *file);
+
+Description
+
+ Creates a data structure containing data needed to control
+ access to file. Writing is done to a separate file. Once that
+ file is complete, the original configuration file is
+ atomically replaced so that reading process always see a
+ consistent and complete file without the need to lock for
+ reading.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcAtomicLock
+
+Name
+
+ FcAtomicLock -- lock a file
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcAtomicLock(FcAtomic *atomic);
+
+Description
+
+ Attempts to lock the file referenced by atomic. Returns
+ FcFalse if the file is locked by another process, else returns
+ FcTrue and leaves the file locked.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcAtomicNewFile
+
+Name
+
+ FcAtomicNewFile -- return new temporary file name
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcChar8 * FcAtomicNewFile(FcAtomic *atomic);
+
+Description
+
+ Returns the filename for writing a new version of the file
+ referenced by atomic.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcAtomicOrigFile
+
+Name
+
+ FcAtomicOrigFile -- return original file name
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcChar8 * FcAtomicOrigFile(FcAtomic *atomic);
+
+Description
+
+ Returns the file refernced by atomic.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcAtomicReplaceOrig
+
+Name
+
+ FcAtomicReplaceOrig -- replace original with new
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcAtomicReplaceOrig(FcAtomic *atomic);
+
+Description
+
+ Replaces the original file referenced by atomic with the new
+ file.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcAtomicDeleteNew
+
+Name
+
+ FcAtomicDeleteNew -- delete new file
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcAtomicDeleteNew(FcAtomic *atomic);
+
+Description
+
+ Deletes the new file. Used in error recovery to back out
+ changes.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcAtomicUnlock
+
+Name
+
+ FcAtomicUnlock -- unlock a file
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcAtomicUnlock(FcAtomic *atomic);
+
+Description
+
+ Unlocks the file.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcAtomicDestroy
+
+Name
+
+ FcAtomicDestroy -- destroy an FcAtomic object
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcAtomicDestroy(FcAtomic *atomic);
+
+Description
+
+ Destroys atomic.
+
+Version
+
+ Fontconfig version 2.3.2
+ _________________________________________________________
+
+4.14. File and Directory routines
+
+ Table of Contents
+ FcFileScan -- scan a font file
+ FcDirScan -- scan a font directory
+ FcDirSave -- save a directory cache
+ FcDirCacheValid -- check directory cache timestamp
+
+ These routines work with font files and directories, including
+ font directory cache files.
+
+FcFileScan
+
+Name
+
+ FcFileScan -- scan a font file
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcFileScan(FcFontSet *set, FcStrSet *dirs, FcFileCache
+ *cache, FcBlanks *blanks, const char *file, FcBoolforce);
+
+Description
+
+ Scans a single file and adds all fonts found to set. If force
+ is FcTrue, then the file is scanned even if associated
+ information is found in cache. If file is a directory, it is
+ added to dirs.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcDirScan
+
+Name
+
+ FcDirScan -- scan a font directory
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcDirScan(FcFontSet *set, FcStrSet *dirs, FcFileCache
+ *cache, FcBlanks *blanks, const char *dir, FcBoolforce);
+
+Description
+
+ Scans an entire directory and adds all fonts found to set. If
+ force is FcTrue, then the directory and all files within it
+ are scanned even if information is present in the
+ per-directory cache file or cache. Any subdirectories found
+ are added to dirs.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcDirSave
+
+Name
+
+ FcDirSave -- save a directory cache
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcDirSave(FcFontSet *set, FcStrSet *dirs, const char
+ *dir);
+
+Description
+
+ Creates the per-directory cache file for dir and populates it
+ with the fonts in set and subdirectories in dirs.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcDirCacheValid
+
+Name
+
+ FcDirCacheValid -- check directory cache timestamp
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcDirCacheValid(const FcChar8 *cache_file);
+
+Description
+
+ Returns FcTrue if cache_file is no older than the directory
+ containing it, else FcFalse.
+
+Version
+
+ Fontconfig version 2.3.2
+ _________________________________________________________
+
+4.15. FcStrSet and FcStrList
+
+ Table of Contents
+ 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
+
+ A data structure for enumerating strings, used to list
+ directories while scanning the configuration as directories
+ are added while scanning.
+
+FcStrSetCreate
+
+Name
+
+ FcStrSetCreate -- create a string set
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcStrSet * FcStrSetCreate(void);
+
+Description
+
+ Create an empty set.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcStrSetMember
+
+Name
+
+ FcStrSetMember -- check set for membership
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcStrSetMember(FcStrSet *set, const FcChar8 *s);
+
+Description
+
+ Returns whether s is a member of set.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcStrSetAdd
+
+Name
+
+ FcStrSetAdd -- add to a string set
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcStrSetAdd(FcStrSet *set, const FcChar8 *s);
+
+Description
+
+ Adds a copy of s to set.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcStrSetAddFilename
+
+Name
+
+ FcStrSetAddFilename -- add a filename to a string set
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcStrSetAddFilename(FcStrSet *set, const FcChar8 *s);
+
+Description
+
+ Adds a copy s to set, The copy is created with
+ FcStrCopyFilename so that leading '~' values are replaced with
+ the value of the HOME environment variable.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcStrSetDel
+
+Name
+
+ FcStrSetDel -- delete from a string set
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcStrSetDel(FcStrSet *set, const FcChar8 *s);
+
+Description
+
+ Removes s from set, returning FcTrue if s was a member else
+ FcFalse.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcStrSetDestroy
+
+Name
+
+ FcStrSetDestroy -- destroy a string set
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcStrSetDestroy(FcStrSet *set);
+
+Description
+
+ Destroys set.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcStrListCreate
+
+Name
+
+ FcStrListCreate -- create a string iterator
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcStrList * FcStrListCreate(FcStrSet *set);
+
+Description
+
+ Creates an iterator to list the strings in set.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcStrListNext
+
+Name
+
+ FcStrListNext -- get next string in iteration
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcChar8 * FcStrListNext(FcStrList *list);
+
+Description
+
+ Returns the next string in set.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcStrListDone
+
+Name
+
+ FcStrListDone -- destroy a string iterator
+
+Synopsis
+
+#include <fontconfig.h>
+
+ void FcStrListDone(FcStrList *list);
+
+Description
+
+ Destroys the enumerator list.
+
+Version
+
+ Fontconfig version 2.3.2
+ _________________________________________________________
+
+4.16. String utilities
+
+ Table of Contents
+ 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
+
+ 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.
+
+FcUtf8ToUcs4
+
+Name
+
+ FcUtf8ToUcs4 -- convert UTF-8 to UCS4
+
+Synopsis
+
+#include <fontconfig.h>
+
+ int FcUtf8ToUcs4(FcChar8 *src, FcChar32 *dst, intlen);
+
+Description
+
+ Converts the next Unicode char from src into dst and returns
+ the number of bytes containing the char. src nust be at least
+ len bytes long.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcUcs4ToUtf8
+
+Name
+
+ FcUcs4ToUtf8 -- convert UCS4 to UTF-8
+
+Synopsis
+
+#include <fontconfig.h>
+
+ int FcUcs4ToUtf8(FcChar32src, FcChar8dst[FC_UTF8_MAX_LEN]);
+
+Description
+
+ Converts the Unicode char from src into dst and returns the
+ number of bytes needed to encode the char.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcUtf8Len
+
+Name
+
+ FcUtf8Len -- count UTF-8 encoded chars
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcUtf8Len(FcChar8 *src, intlen, int *nchar, int
+ *wchar);
+
+Description
+
+ Counts the number of Unicode chars in len bytes of src. Places
+ that count in nchar. wchar contains 1, 2 or 4 depending on the
+ number of bytes needed to hold the largest unicode char
+ counted. The return value indicates whether src is a
+ well-formed UTF8 string.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcUtf16ToUcs4
+
+Name
+
+ FcUtf16ToUcs4 -- convert UTF-16 to UCS4
+
+Synopsis
+
+#include <fontconfig.h>
+
+ int FcUtf16ToUcs4(FcChar8 *src, FcEndianendian, FcChar32 *dst,
+ intlen);
+
+Description
+
+ Converts the next Unicode char from src into dst and returns
+ the number of bytes containing the char. src must be at least
+ len bytes long. Bytes of src are combined into 16-bit units
+ according to endian.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcUtf16Len
+
+Name
+
+ FcUtf16Len -- count UTF-16 encoded chars
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcBool FcUtf16Len(FcChar8 *src, FcEndianendian, intlen, int
+ *nchar, int *wchar);
+
+Description
+
+ Counts the number of Unicode chars in len bytes of src. Bytes
+ of src are combined into 16-bit units according to endian.
+ Places that count in nchar. wchar contains 1, 2 or 4 depending
+ on the number of bytes needed to hold the largest unicode char
+ counted. The return value indicates whether string is a
+ well-formed UTF16 string.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcStrCopy
+
+Name
+
+ FcStrCopy -- duplicate a string
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcChar8 * FcStrCopy(const FcChar8 *s);
+
+Description
+
+ Allocates memory, copies s and returns the resulting buffer.
+ Yes, this is strdup, but that function isn't available on
+ every platform.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcStrDowncase
+
+Name
+
+ FcStrDowncase -- create a lower case translation of a string
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcChar8 * FcStrDowncase(const FcChar8 *s);
+
+Description
+
+ Allocates memory, copies s, converting upper case letters to
+ lower case and returns the allocated buffer.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcStrCopyFilename
+
+Name
+
+ FcStrCopyFilename -- copy a string, expanding '~'
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcChar8 * FcStrCopyFilename(const FcChar8 *s);
+
+Description
+
+ Just like FcStrCopy except that it converts any leading '~'
+ characters in s to the value of the HOME environment variable.
+ Returns NULL if '~' is present in s and HOME is unset.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcStrCmpIgnoreCase
+
+Name
+
+ FcStrCmpIgnoreCase -- compare UTF-8 strings ignoring ASCII
+ case
+
+Synopsis
+
+#include <fontconfig.h>
+
+ int FcStrCmpIgnoreCase(const FcChar8 *s1, const FcChar8 *s2);
+
+Description
+
+ Returns the usual <0, 0, >0 result of comparing s1 and s2.
+ This test is case-insensitive in the ASCII range and will
+ operate properly with UTF8 encoded strings, although it does
+ not check for well formed strings.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcStrStr
+
+Name
+
+ FcStrStr -- locate UTF-8 substring
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcChar8 * FcStrStr(const char *s1, const char *s2);
+
+Description
+
+ Returns the location of s2 in s1. Returns NULL if s2 is not
+ present in s1. This test will operate properly with UTF8
+ encoded strings, although it does not check for well formed
+ strings.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcStrStrIgnoreCase
+
+Name
+
+ FcStrStrIgnoreCase -- locate UTF-8 substring ignoring ASCII
+ case
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcChar8 * FcStrStrIgnoreCase(const char *s1, const char *s2);
+
+Description
+
+ Returns the location of s2 in s1, ignoring ASCII case. Returns
+ NULL if s2 is not present in s1. This test is case-insensitive
+ in the ASCII range and will operate properly with UTF8 encoded
+ strings, although it does not check for well formed strings.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcStrDirname
+
+Name
+
+ FcStrDirname -- directory part of filename
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcChar8 * FcStrDirname(const FcChar8 *file);
+
+Description
+
+ Returns the directory containing file. This is returned in
+ newly allocated storage which should be freed when no longer
+ needed.
+
+Version
+
+ Fontconfig version 2.3.2
+
+FcStrBasename
+
+Name
+
+ FcStrBasename -- last component of filename
+
+Synopsis
+
+#include <fontconfig.h>
+
+ FcChar8 * FcStrBasename(const FcChar8 *file);
+
+Description
+
+ Returns the filename of file stripped of any leading directory
+ names. This is returned in newly allocated storage which
+ should be freed when no longer needed.
+
+Version
+
+ Fontconfig version 2.3.2