<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Fontconfig Developers Reference, Version 2.3.2
 </TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
><BODY
CLASS="ARTICLE"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="ARTICLE"
><DIV
CLASS="TITLEPAGE"
><H1
CLASS="TITLE"
><A
NAME="AEN1"
>Fontconfig Developers Reference, Version 2.3.2</A
></H1
><DIV
CLASS="LEGALNOTICE"
><P
></P
><A
NAME="AEN12"
></A
><P
>		
Copyright © 2002 Keith Packard
			</P
><P
>Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of Keith Packard not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission.  Keith Packard makes no
representations about the suitability of this software for any purpose.  It
is provided "as is" without express or implied warranty.
			</P
><P
>KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
			</P
><P
></P
></DIV
><HR
WIDTH="75%"
ALIGN="CENTER"
COLOR="#000000"
SIZE="1"></DIV
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#AEN16"
>DESCRIPTION</A
></DT
><DT
><A
HREF="#AEN19"
>FUNCTIONAL OVERVIEW</A
></DT
><DT
><A
HREF="#AEN31"
>Datatypes</A
></DT
><DT
><A
HREF="#AEN93"
>FUNCTIONS</A
></DT
></DL
></DIV
><DIV
CLASS="SECT1"
><H2
CLASS="SECT1"
><A
NAME="AEN16"
>DESCRIPTION</A
></H2
><P
>Fontconfig is a library designed to provide system-wide font configuration,
customization and application access.
  </P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN19"
>FUNCTIONAL OVERVIEW</A
></H2
><P
>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.
  </P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN22"
>FONT CONFIGURATION</A
></H3
><P
>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.  
    </P
><P
>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.
    </P
><P
>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.
    </P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN27"
>FONT PROPERTIES</A
></H3
><P
>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.
    </P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>                 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 weight
                                                and slant
    stylelang      FC_STYLELANG         String  Language cooresponding to
                                                each style name
    fullname       FC_FULLNAME          String  Font face full name where
                                                different from family and
                                                family + style
    fullnamelang   FC_FULLNAMELANG      String  Language cooresponding to
                                                each fullname
    slant          FC_SLANT             Int     Italic, oblique or roman
    weight         FC_WEIGHT            Int     Light, medium, demibold,
                                                bold or black
    size           FC_SIZE              Double  Point size
    width          FC_WIDTH             Int     Condensed, normal or expanded
    aspect         FC_ASPECT            Double  Stretches glyphs horizontally
                                                before hinting
    pixelsize      FC_PIXEL_SIZE        Double  Pixel size
    spacing        FC_SPACING           Int     Proportional, dual-width,
                                                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 the font
    index          FC_INDEX             Int     The index of the font within
                                                the file
    ftface         FC_FT_FACE           FT_Face Use the specified FreeType
                                                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 scaled
    scale          FC_SCALE             Double  Scale factor for point-&#62;pixel
                                                conversions
    dpi            FC_DPI               Double  Target dots per inch
    rgba           FC_RGBA              Int     unknown, rgb, bgr, vrgb,
                                                vbgr, none - subpixel geometry
    minspace       FC_MINSPACE          Bool    Eliminate leading from line
                                                spacing
    charset        FC_CHARSET           CharSet Unicode chars encoded by
                                                the font
    lang           FC_LANG              String  List of RFC-3066-style
                                                languages this font supports
    fontversion    FC_FONTVERSION       Int     Version number of the font
    capability     FC_CAPABILITY        String  List of layout capabilities in
                                                the font
    embolden       FC_EMBOLDEN          Bool    Rasterizer should
                                                synthetically embolden the font
    </PRE
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN31"
>Datatypes</A
></H2
><P
>Fontconfig uses abstract datatypes to hide internal implementation details
for most data structures.  A few structures are exposed where appropriate.
  </P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN34"
>FcChar8, FcChar16, FcChar32, FcBool</A
></H3
><P
>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.
    </P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN37"
>FcMatrix</A
></H3
><P
>An FcMatrix holds an affine transformation, usually used to reshape glyphs.
A small set of matrix operations are provided to manipulate these.
    <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>        typedef struct _FcMatrix {
                double xx, xy, yx, yy;
        } FcMatrix;
    </PRE
></TD
></TR
></TABLE
>
    </P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN41"
>FcCharSet</A
></H3
><P
>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.
    </P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN44"
>FcType</A
></H3
><P
>Tags the kind of data stored in an FcValue.
    </P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN47"
>FcValue</A
></H3
><P
>An FcValue object holds a single value with one of a number of different
types.  The 'type' tag indicates which member is valid.
    <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>        typedef struct _FcValue {
                FcType type;
                union {
                        const FcChar8 *s;
                        int i;
                        FcBool b;
                        double d;
                        const FcMatrix *m;
                        const FcCharSet *c;
                } u;
        } FcValue;
    </PRE
></TD
></TR
></TABLE
>
    <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>                  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 *
    </PRE
></TD
></TR
></TABLE
>
    </P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN52"
>FcPattern</A
></H3
><P
>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.
    </P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN55"
>FcFontSet</A
></H3
><P
>    <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>        typedef struct _FcFontSet {
                int nfont;
                int sfont;
                FcPattern **fonts;
        } FcFontSet;
    </PRE
></TD
></TR
></TABLE
>
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.
    </P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN59"
>FcStrSet, FcStrList</A
></H3
><P
>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.
    </P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN62"
>FcObjectSet</A
></H3
><P
>      <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>        typedef struct _FcObjectSet {
                int nobject;
                int sobject;
                const char **objects;
        } FcObjectSet;
      </PRE
></TD
></TR
></TABLE
>
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.
    </P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN66"
>FcObjectType</A
></H3
><P
>      <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>        typedef struct _FcObjectType {
                const char *object;
                FcType type;
        } FcObjectType;
      </PRE
></TD
></TR
></TABLE
>
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.
    </P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN70"
>FcConstant</A
></H3
><P
>      <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>        typedef struct _FcConstant {
            const FcChar8 *name;
            const char *object;
            int value;
        } FcConstant;
      </PRE
></TD
></TR
></TABLE
>
Provides for symbolic constants for new pattern elements.  When 'name' is
seen in a font name, an 'object' element is created with value 'value'.
    </P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN74"
>FcBlanks</A
></H3
><P
>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.
    </P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN77"
>FcFileCache</A
></H3
><P
>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.
    </P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN80"
>FcConfig</A
></H3
><P
>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.
    </P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN83"
>FcSetName</A
></H3
><P
>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.
    </P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN86"
>FcResult</A
></H3
><P
>Used as a return type for functions manipulating FcPattern objects.
    <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>      FcResult Values
        Result Code             Meaning
        -----------------------------------------------------------
        FcResultMatch           Object exists with the specified ID
        FcResultNoMatch         Object doesn't exist at all
        FcResultTypeMismatch    Object exists, but the type doesn't match
        FcResultNoId            Object exists, but has fewer values
                                than specified
        FcResultOutOfMemory     Malloc failed
    </PRE
></TD
></TR
></TABLE
>
    </P
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN90"
>FcAtomic</A
></H3
><P
>Used for locking access to config files.  Provides a safe way to update
configuration files.
    </P
></DIV
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN93"
>FUNCTIONS</A
></H2
><P
>These are grouped by functionality, often using the main datatype being
manipulated.
  </P
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN96"
>Initialization</A
></H3
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#FCINITLOADCONFIG"
>FcInitLoadConfig</A
>&nbsp;--&nbsp;load configuration</DT
><DT
><A
HREF="#FCINITLOADCONFIGANDFONTS"
>FcInitLoadConfigAndFonts</A
>&nbsp;--&nbsp;load configuration and font data</DT
><DT
><A
HREF="#FCINIT"
>FcInit</A
>&nbsp;--&nbsp;initialize fontconfig library</DT
><DT
><A
HREF="#FCFINI"
>FcFini</A
>&nbsp;--&nbsp;finalize fonconfig library</DT
><DT
><A
HREF="#FCGETVERSION"
>FcGetVersion</A
>&nbsp;--&nbsp;library version number</DT
><DT
><A
HREF="#FCINITREINITIALIZE"
>FcInitReinitialize</A
>&nbsp;--&nbsp;re-initialize library</DT
><DT
><A
HREF="#FCINITBRINGUPTODATE"
>FcInitBringUptoDate</A
>&nbsp;--&nbsp;reload configuration files if needed</DT
></DL
></DIV
><P
>These functions provide some control over how the library is initialized.
    </P
><H1
><A
NAME="FCINITLOADCONFIG"
></A
>FcInitLoadConfig</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN103"
></A
><H2
>Name</H2
>FcInitLoadConfig&nbsp;--&nbsp;load configuration</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN106"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN107"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcConfig * <TT
CLASS="FUNCTION"
>FcInitLoadConfig</TT
></CODE
>(void<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN114"
></A
><H2
>Description</H2
><P
>Loads the default configuration file and returns the resulting configuration.
Does not load any font information.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN117"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCINITLOADCONFIGANDFONTS"
></A
>FcInitLoadConfigAndFonts</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN124"
></A
><H2
>Name</H2
>FcInitLoadConfigAndFonts&nbsp;--&nbsp;load configuration and font data</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN127"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN128"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcConfig * <TT
CLASS="FUNCTION"
>FcInitLoadConfigAndFonts</TT
></CODE
>(void<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN135"
></A
><H2
>Description</H2
><P
>Loads the default configuration file and builds information about the
available fonts.  Returns the resulting configuration.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN138"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCINIT"
></A
>FcInit</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN145"
></A
><H2
>Name</H2
>FcInit&nbsp;--&nbsp;initialize fontconfig library</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN148"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN149"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcInit</TT
></CODE
>(void<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN156"
></A
><H2
>Description</H2
><P
>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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN159"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCFINI"
></A
>FcFini</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN166"
></A
><H2
>Name</H2
>FcFini&nbsp;--&nbsp;finalize fonconfig library</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN169"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN170"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcFini</TT
></CODE
>(void<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN177"
></A
><H2
>Description</H2
><P
>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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN180"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCGETVERSION"
></A
>FcGetVersion</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN187"
></A
><H2
>Name</H2
>FcGetVersion&nbsp;--&nbsp;library version number</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN190"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN191"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>int <TT
CLASS="FUNCTION"
>FcGetVersion</TT
></CODE
>(void<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN198"
></A
><H2
>Description</H2
><P
>Returns the version number of the library.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN201"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCINITREINITIALIZE"
></A
>FcInitReinitialize</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN208"
></A
><H2
>Name</H2
>FcInitReinitialize&nbsp;--&nbsp;re-initialize library</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN211"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN212"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcInitReinitialize</TT
></CODE
>(void<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN219"
></A
><H2
>Description</H2
><P
>Forces the default configuration file to be reloaded and resets the default
configuration.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN222"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCINITBRINGUPTODATE"
></A
>FcInitBringUptoDate</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN229"
></A
><H2
>Name</H2
>FcInitBringUptoDate&nbsp;--&nbsp;reload configuration files if needed</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN232"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN233"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcInitBringUptoDate</TT
></CODE
>(void<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN240"
></A
><H2
>Description</H2
><P
>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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN243"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN246"
>FcPattern</A
></H3
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#FCPATTERNCREATE"
>FcPatternCreate</A
>&nbsp;--&nbsp;Create a pattern</DT
><DT
><A
HREF="#FCPATTERNDESTROY"
>FcPatternDestroy</A
>&nbsp;--&nbsp;Destroy a pattern</DT
><DT
><A
HREF="#FCPATTERNEQUAL"
>FcPatternEqual</A
>&nbsp;--&nbsp;Compare patterns</DT
><DT
><A
HREF="#FCPATTERNEQUALSUBSET"
>FcPatternEqualSubset</A
>&nbsp;--&nbsp;Compare portions of patterns</DT
><DT
><A
HREF="#FCPATTERNHASH"
>FcPatternHash</A
>&nbsp;--&nbsp;Compute a pattern hash value</DT
><DT
><A
HREF="#FCPATTERNADD"
>FcPatternAdd</A
>&nbsp;--&nbsp;Add a value to a pattern</DT
><DT
><A
HREF="#FCPATTERNADDWEAK"
>FcPatternAddWeak</A
>&nbsp;--&nbsp;Add a value to a pattern with weak binding</DT
><DT
><A
HREF="#FCPATTERNADD-TYPE"
>FcPatternAdd-Type</A
>&nbsp;--&nbsp;Add a typed value to a pattern</DT
><DT
><A
HREF="#FCPATTERNGET"
>FcPatternGet</A
>&nbsp;--&nbsp;Return a value from a pattern</DT
><DT
><A
HREF="#FCPATTERNGET-TYPE"
>FcPatternGet-Type</A
>&nbsp;--&nbsp;Return a typed value from a pattern</DT
><DT
><A
HREF="#FCPATTERNBUILD"
>FcPatternBuild</A
>&nbsp;--&nbsp;Create patterns from arguments</DT
><DT
><A
HREF="#FCPATTERNDEL"
>FcPatternDel</A
>&nbsp;--&nbsp;Delete a property from a pattern</DT
><DT
><A
HREF="#FCPATTERNREMOVE"
>FcPatternRemove</A
>&nbsp;--&nbsp;Remove one object of the specified type from the pattern</DT
><DT
><A
HREF="#FCPATTERNPRINT"
>FcPatternPrint</A
>&nbsp;--&nbsp;Print a pattern for debugging</DT
><DT
><A
HREF="#FCDEFAULTSUBSTITUTE"
>FcDefaultSubstitute</A
>&nbsp;--&nbsp;Perform default substitutions in a pattern</DT
><DT
><A
HREF="#FCNAMEPARSE"
>FcNameParse</A
>&nbsp;--&nbsp;Parse a pattern string</DT
><DT
><A
HREF="#FCNAMEUNPARSE"
>FcNameUnparse</A
>&nbsp;--&nbsp;Convert a pattern back into a string that can be parsed</DT
></DL
></DIV
><P
>An FcPattern is an opaque type that holds both patterns to match against the
available fonts, as well as the information about each font.
    </P
><H1
><A
NAME="FCPATTERNCREATE"
></A
>FcPatternCreate</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN253"
></A
><H2
>Name</H2
>FcPatternCreate&nbsp;--&nbsp;Create a pattern</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN256"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN257"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcPattern * <TT
CLASS="FUNCTION"
>FcPatternCreate</TT
></CODE
>(void<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN264"
></A
><H2
>Description</H2
><P
>Creates a pattern with no properties; used to build patterns from scratch.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN267"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCPATTERNDESTROY"
></A
>FcPatternDestroy</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN274"
></A
><H2
>Name</H2
>FcPatternDestroy&nbsp;--&nbsp;Destroy a pattern</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN277"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN278"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcPatternDestroy</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN285"
></A
><H2
>Description</H2
><P
>Destroys a pattern, in the process destroying all related values.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN288"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCPATTERNEQUAL"
></A
>FcPatternEqual</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN295"
></A
><H2
>Name</H2
>FcPatternEqual&nbsp;--&nbsp;Compare patterns</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN298"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN299"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcPatternEqual</TT
></CODE
>(const FcPattern *<TT
CLASS="PARAMETER"
><I
>pa</I
></TT
>, const FcPattern *<TT
CLASS="PARAMETER"
><I
>pb</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN308"
></A
><H2
>Description</H2
><P
>Returns whether <TT
CLASS="PARAMETER"
><I
>pa</I
></TT
> and <TT
CLASS="PARAMETER"
><I
>pb</I
></TT
> are exactly alike.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN313"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCPATTERNEQUALSUBSET"
></A
>FcPatternEqualSubset</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN320"
></A
><H2
>Name</H2
>FcPatternEqualSubset&nbsp;--&nbsp;Compare portions of patterns</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN323"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN324"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcPatternEqualSubset</TT
></CODE
>(const FcPattern *<TT
CLASS="PARAMETER"
><I
>pa</I
></TT
>, const FcPattern *<TT
CLASS="PARAMETER"
><I
>pb</I
></TT
>, const FcObjectSet *<TT
CLASS="PARAMETER"
><I
>os</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN335"
></A
><H2
>Description</H2
><P
>Returns whether <TT
CLASS="PARAMETER"
><I
>pa</I
></TT
> and <TT
CLASS="PARAMETER"
><I
>pb</I
></TT
> have exactly the same values for all of the
objects in <TT
CLASS="PARAMETER"
><I
>os</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN341"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCPATTERNHASH"
></A
>FcPatternHash</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN348"
></A
><H2
>Name</H2
>FcPatternHash&nbsp;--&nbsp;Compute a pattern hash value</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN351"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN352"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcChar32 <TT
CLASS="FUNCTION"
>FcPatternHash</TT
></CODE
>(const FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN359"
></A
><H2
>Description</H2
><P
>Returns a 32-bit number which is the same for any two patterns which are
equal.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN362"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCPATTERNADD"
></A
>FcPatternAdd</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN369"
></A
><H2
>Name</H2
>FcPatternAdd&nbsp;--&nbsp;Add a value to a pattern</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN372"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN373"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcPatternAdd</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>, FcValue<TT
CLASS="PARAMETER"
><I
>value</I
></TT
>, FcBool<TT
CLASS="PARAMETER"
><I
>append</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN386"
></A
><H2
>Description</H2
><P
>Adds a single value to the list of values associated with the property named
`object<TT
CLASS="PARAMETER"
><I
>.  If `append</I
></TT
> 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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN390"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCPATTERNADDWEAK"
></A
>FcPatternAddWeak</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN397"
></A
><H2
>Name</H2
>FcPatternAddWeak&nbsp;--&nbsp;Add a value to a pattern with weak binding</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN400"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN401"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcPatternAddWeak</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>, FcValue<TT
CLASS="PARAMETER"
><I
>value</I
></TT
>, FcBool<TT
CLASS="PARAMETER"
><I
>append</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN414"
></A
><H2
>Description</H2
><P
>FcPatternAddWeak is essentially the same as FcPatternAdd except that any
values added to the list have binding <TT
CLASS="PARAMETER"
><I
>weak</I
></TT
> instead of <TT
CLASS="PARAMETER"
><I
>strong</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN419"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCPATTERNADD-TYPE"
></A
>FcPatternAdd-Type</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN426"
></A
><H2
>Name</H2
>FcPatternAddInteger, FcPatternAddDouble, FcPatternAddString, FcPatternAddMatrix, FcPatternAddCharSet, FcPatternAddBool&nbsp;--&nbsp;Add a typed value to a pattern</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN434"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN435"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcPatternAddInteger</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>i</I
></TT
>);</CODE
></P
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcPatternAddDouble</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>, double<TT
CLASS="PARAMETER"
><I
>d</I
></TT
>);</CODE
></P
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcPatternAddString</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>s</I
></TT
>);</CODE
></P
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcPatternAddMatrix</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>, const FcMatrix *<TT
CLASS="PARAMETER"
><I
>m</I
></TT
>);</CODE
></P
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcPatternAddCharSet</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>, const FcCharSet *<TT
CLASS="PARAMETER"
><I
>c</I
></TT
>);</CODE
></P
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcPatternAddBool</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>, FcBool<TT
CLASS="PARAMETER"
><I
>b</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN491"
></A
><H2
>Description</H2
><P
>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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN494"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCPATTERNGET"
></A
>FcPatternGet</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN501"
></A
><H2
>Name</H2
>FcPatternGet&nbsp;--&nbsp;Return a value from a pattern</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN504"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN505"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcResult <TT
CLASS="FUNCTION"
>FcPatternGet</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>id</I
></TT
>, FcValue *<TT
CLASS="PARAMETER"
><I
>v</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN518"
></A
><H2
>Description</H2
><P
>Returns in <TT
CLASS="PARAMETER"
><I
>v</I
></TT
> the <TT
CLASS="PARAMETER"
><I
>id</I
></TT
>'th value
associated with the property <TT
CLASS="PARAMETER"
><I
>object</I
></TT
>.
The value returned is not a copy, but rather refers to the data stored
within the pattern directly.  Applications must not free this value.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN524"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCPATTERNGET-TYPE"
></A
>FcPatternGet-Type</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN531"
></A
><H2
>Name</H2
>FcPatternGetInteger, FcPatternGetDouble, FcPatternGetString, FcPatternGetMatrix, FcPatternGetCharSet, FcPatternGetBool&nbsp;--&nbsp;Return a typed value from a pattern</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN539"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN540"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcResult <TT
CLASS="FUNCTION"
>FcPatternGetInteger</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>n</I
></TT
>, int *<TT
CLASS="PARAMETER"
><I
>i</I
></TT
>);</CODE
></P
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcResult <TT
CLASS="FUNCTION"
>FcPatternGetDouble</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>n</I
></TT
>, double *<TT
CLASS="PARAMETER"
><I
>d</I
></TT
>);</CODE
></P
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcResult <TT
CLASS="FUNCTION"
>FcPatternGetString</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>n</I
></TT
>, char **const<TT
CLASS="PARAMETER"
><I
>s</I
></TT
>);</CODE
></P
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcResult <TT
CLASS="FUNCTION"
>FcPatternGetMatrix</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>n</I
></TT
>, FcMatrix **<TT
CLASS="PARAMETER"
><I
>s</I
></TT
>);</CODE
></P
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcResult <TT
CLASS="FUNCTION"
>FcPatternGetCharSet</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>n</I
></TT
>, FcCharSet **<TT
CLASS="PARAMETER"
><I
>c</I
></TT
>);</CODE
></P
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcResult <TT
CLASS="FUNCTION"
>FcPatternGetBool</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>n</I
></TT
>, FcBool *<TT
CLASS="PARAMETER"
><I
>b</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN608"
></A
><H2
>Description</H2
><P
>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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN611"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCPATTERNBUILD"
></A
>FcPatternBuild</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN618"
></A
><H2
>Name</H2
>FcPatternBuild, FcPatternVaBuild&nbsp;--&nbsp;Create patterns from arguments</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN622"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN623"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcPattern * <TT
CLASS="FUNCTION"
>FcPatternBuild</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>orig</I
></TT
>, ...<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcPattern * <TT
CLASS="FUNCTION"
>FcPatternVaBuild</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>orig</I
></TT
>, va_list<TT
CLASS="PARAMETER"
><I
>va</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN639"
></A
><H2
>Description</H2
><P
>Builds a pattern using a list of objects, types and values.  Each
value to be entered in the pattern is specified with three arguments:</P
><P
></P
><OL
TYPE="1"
><LI
><P
>Object name, a string describing the property to be added.</P
></LI
><LI
><P
>Object type, one of the FcType enumerated values</P
></LI
><LI
><P
>Value, not an FcValue, but the raw type as passed to any of the
FcPatternAdd&#60;type&#62; functions.  Must match the type of the second
argument.</P
></LI
></OL
><P
>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</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>pattern = FcPatternBuild (0, FC_FAMILY, FtTypeString, "Times", (char *) 0);</PRE
></TD
></TR
></TABLE
><P
>FcPatternVaBuild is used when the arguments are already in the form of a
varargs value.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN652"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCPATTERNDEL"
></A
>FcPatternDel</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN659"
></A
><H2
>Name</H2
>FcPatternDel&nbsp;--&nbsp;Delete a property from a pattern</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN662"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN663"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcPatternDel</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN672"
></A
><H2
>Description</H2
><P
>Deletes all values associated with the property `object', returning 
whether the property existed or not.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN675"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCPATTERNREMOVE"
></A
>FcPatternRemove</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN682"
></A
><H2
>Name</H2
>FcPatternRemove&nbsp;--&nbsp;Remove one object of the specified type from the pattern</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN685"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN686"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcPatternRemove</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>id</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN697"
></A
><H2
>Description</H2
><P
>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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN700"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCPATTERNPRINT"
></A
>FcPatternPrint</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN707"
></A
><H2
>Name</H2
>FcPatternPrint&nbsp;--&nbsp;Print a pattern for debugging</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN710"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN711"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcPatternPrint</TT
></CODE
>(const FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN718"
></A
><H2
>Description</H2
><P
>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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN721"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCDEFAULTSUBSTITUTE"
></A
>FcDefaultSubstitute</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN728"
></A
><H2
>Name</H2
>FcDefaultSubstitute&nbsp;--&nbsp;Perform default substitutions in a pattern</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN731"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN732"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcDefaultSubstitute</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>pattern</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN739"
></A
><H2
>Description</H2
><P
>Supplies default values for underspecified font patterns:
<P
></P
><UL
><LI
><P
>Patterns without a specified style or weight are set to Medium</P
></LI
><LI
><P
>Patterns without a specified style or slant are set to Roman</P
></LI
><LI
><P
>Patterns without a specified pixel size are given one computed from any
specified point size (default 12), dpi (default 75) and scale (default 1).</P
></LI
></UL
>
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN749"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCNAMEPARSE"
></A
>FcNameParse</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN756"
></A
><H2
>Name</H2
>FcNameParse&nbsp;--&nbsp;Parse a pattern string</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN759"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN760"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcPattern * <TT
CLASS="FUNCTION"
>FcNameParse</TT
></CODE
>(const char *<TT
CLASS="PARAMETER"
><I
>name</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN767"
></A
><H2
>Description</H2
><P
>Converts <TT
CLASS="PARAMETER"
><I
>name</I
></TT
> from the standard text format described above into a pattern.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN771"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCNAMEUNPARSE"
></A
>FcNameUnparse</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN778"
></A
><H2
>Name</H2
>FcNameUnparse&nbsp;--&nbsp;Convert a pattern back into a string that can be parsed</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN781"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN782"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcChar8 * <TT
CLASS="FUNCTION"
>FcNameUnparse</TT
></CODE
>(FcPattern *<TT
CLASS="PARAMETER"
><I
>pat</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN789"
></A
><H2
>Description</H2
><P
>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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN792"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN795"
>FcFontSet</A
></H3
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#FCFONTSETCREATE"
>FcFontSetCreate</A
>&nbsp;--&nbsp;Create a font set</DT
><DT
><A
HREF="#FCFONTSETDESTROY"
>FcFontSetDestroy</A
>&nbsp;--&nbsp;Destroy a font set</DT
><DT
><A
HREF="#FCFONTSETADD"
>FcFontSetAdd</A
>&nbsp;--&nbsp;Add to a font set</DT
></DL
></DIV
><P
>An FcFontSet simply holds a list of patterns; these are used to return the
results of listing available fonts.
    </P
><H1
><A
NAME="FCFONTSETCREATE"
></A
>FcFontSetCreate</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN802"
></A
><H2
>Name</H2
>FcFontSetCreate&nbsp;--&nbsp;Create a font set</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN805"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN806"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcFontSet * <TT
CLASS="FUNCTION"
>FcFontSetCreate</TT
></CODE
>(void<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN813"
></A
><H2
>Description</H2
><P
>Creates an empty font set.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN816"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCFONTSETDESTROY"
></A
>FcFontSetDestroy</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN823"
></A
><H2
>Name</H2
>FcFontSetDestroy&nbsp;--&nbsp;Destroy a font set</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN826"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN827"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcFontSetDestroy</TT
></CODE
>(FcFontSet *<TT
CLASS="PARAMETER"
><I
>s</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN834"
></A
><H2
>Description</H2
><P
>Destroys a font set.  Note that this destroys any referenced patterns as
well.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN837"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCFONTSETADD"
></A
>FcFontSetAdd</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN844"
></A
><H2
>Name</H2
>FcFontSetAdd&nbsp;--&nbsp;Add to a font set</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN847"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN848"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcFontSetAdd</TT
></CODE
>(FcFontSet *<TT
CLASS="PARAMETER"
><I
>s</I
></TT
>, FcPattern *<TT
CLASS="PARAMETER"
><I
>font</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN857"
></A
><H2
>Description</H2
><P
>Adds a pattern to a font set.  Note that the pattern is not copied before
being inserted into the set.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN860"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN863"
>FcObjectSet</A
></H3
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#FCOBJECTSETCREATE"
>FcObjectSetCreate</A
>&nbsp;--&nbsp;Create an object set</DT
><DT
><A
HREF="#FCOBJECTSETADD"
>FcObjectSetAdd</A
>&nbsp;--&nbsp;Add to an object set</DT
><DT
><A
HREF="#FCOBJECTSETDESTROY"
>FcObjectSetDestroy</A
>&nbsp;--&nbsp;Destroy an object set</DT
><DT
><A
HREF="#FCOBJECTSETBUILD"
>FcObjectSetBuild</A
>&nbsp;--&nbsp;Build object set from args</DT
></DL
></DIV
><P
>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.
    </P
><H1
><A
NAME="FCOBJECTSETCREATE"
></A
>FcObjectSetCreate</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN870"
></A
><H2
>Name</H2
>FcObjectSetCreate&nbsp;--&nbsp;Create an object set</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN873"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN874"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcObjectSet * <TT
CLASS="FUNCTION"
>FcObjectSetCreate</TT
></CODE
>(void<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN881"
></A
><H2
>Description</H2
><P
>Creates an empty set.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN884"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCOBJECTSETADD"
></A
>FcObjectSetAdd</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN891"
></A
><H2
>Name</H2
>FcObjectSetAdd&nbsp;--&nbsp;Add to an object set</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN894"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN895"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcObjectSetAdd</TT
></CODE
>(FcObjectSet *<TT
CLASS="PARAMETER"
><I
>os</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN904"
></A
><H2
>Description</H2
><P
>Adds a proprety name to the set.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN907"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCOBJECTSETDESTROY"
></A
>FcObjectSetDestroy</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN914"
></A
><H2
>Name</H2
>FcObjectSetDestroy&nbsp;--&nbsp;Destroy an object set</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN917"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN918"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcObjectSetDestroy</TT
></CODE
>(FcObjectSet *<TT
CLASS="PARAMETER"
><I
>os</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN925"
></A
><H2
>Description</H2
><P
>Destroys an object set.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN928"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCOBJECTSETBUILD"
></A
>FcObjectSetBuild</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN935"
></A
><H2
>Name</H2
>FcObjectSetBuild, FcObjectSetVaBuild&nbsp;--&nbsp;Build object set from args</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN939"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN940"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcObjectSet * <TT
CLASS="FUNCTION"
>FcObjectSetBuild</TT
></CODE
>(const char *<TT
CLASS="PARAMETER"
><I
>first</I
></TT
>, ...<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcObjectSet * <TT
CLASS="FUNCTION"
>FcObjectSetVaBuild</TT
></CODE
>(const char *<TT
CLASS="PARAMETER"
><I
>first</I
></TT
>, va_list<TT
CLASS="PARAMETER"
><I
>va</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN956"
></A
><H2
>Description</H2
><P
>These build an object set from a null-terminated list of property names.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN959"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN962"
>FreeType specific functions</A
></H3
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#FCFREETYPECHARINDEX"
>FcFreeTypeCharIndex</A
>&nbsp;--&nbsp;map Unicode to glyph id</DT
><DT
><A
HREF="#FCFREETYPECHARSET"
>FcFreeTypeCharSet</A
>&nbsp;--&nbsp;compute unicode coverage</DT
><DT
><A
HREF="#FCFREETYPEQUERY"
>FcFreeTypeQuery</A
>&nbsp;--&nbsp;compute font file pattern</DT
></DL
></DIV
><P
>While the fontconfig library doesn't insist that FreeType be used as the
rasterization mechanism for fonts, it does provide some convenience
functions.
    </P
><H1
><A
NAME="FCFREETYPECHARINDEX"
></A
>FcFreeTypeCharIndex</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN969"
></A
><H2
>Name</H2
>FcFreeTypeCharIndex&nbsp;--&nbsp;map Unicode to glyph id</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN972"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN973"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
#include &#60;fcfreetype.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FT_UInt <TT
CLASS="FUNCTION"
>FcFreeTypeCharIndex</TT
></CODE
>(FT_Face<TT
CLASS="PARAMETER"
><I
>face</I
></TT
>, FcChar32<TT
CLASS="PARAMETER"
><I
>ucs4</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN982"
></A
><H2
>Description</H2
><P
>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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN985"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCFREETYPECHARSET"
></A
>FcFreeTypeCharSet</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN992"
></A
><H2
>Name</H2
>FcFreeTypeCharSet&nbsp;--&nbsp;compute unicode coverage</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN995"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN996"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
#include &#60;fcfreetype.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcCharSet * <TT
CLASS="FUNCTION"
>FcFreeTypeCharSet</TT
></CODE
>(FT_Face<TT
CLASS="PARAMETER"
><I
>face</I
></TT
>, FcBlanks *<TT
CLASS="PARAMETER"
><I
>blanks</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1005"
></A
><H2
>Description</H2
><P
>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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1008"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCFREETYPEQUERY"
></A
>FcFreeTypeQuery</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1015"
></A
><H2
>Name</H2
>FcFreeTypeQuery&nbsp;--&nbsp;compute font file pattern</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1018"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1019"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
#include &#60;fcfreetype.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcPattern * <TT
CLASS="FUNCTION"
>FcFreeTypeQuery</TT
></CODE
>(const char *<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>id</I
></TT
>, FcBlanks *<TT
CLASS="PARAMETER"
><I
>blanks</I
></TT
>, int *<TT
CLASS="PARAMETER"
><I
>count</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1032"
></A
><H2
>Description</H2
><P
>Constructs a pattern representing the 'id'th font in 'file'.  The number
of fonts in 'file' is returned in 'count'.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1035"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1038"
>FcValue</A
></H3
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#FCVALUEDESTROY"
>FcValueDestroy</A
>&nbsp;--&nbsp;Free a value</DT
><DT
><A
HREF="#FCVALUESAVE"
>FcValueSave</A
>&nbsp;--&nbsp;Copy a value</DT
></DL
></DIV
><P
>FcValue is a structure containing a type tag and a union of all possible
datatypes.  The tag is an enum of type 
<I
CLASS="EMPHASIS"
>FcType</I
>
and is intended to provide a measure of run-time
typechecking, although that depends on careful programming.
    </P
><H1
><A
NAME="FCVALUEDESTROY"
></A
>FcValueDestroy</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1046"
></A
><H2
>Name</H2
>FcValueDestroy&nbsp;--&nbsp;Free a value</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1049"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1050"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcValueDestroy</TT
></CODE
>(FcValue<TT
CLASS="PARAMETER"
><I
>v</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1057"
></A
><H2
>Description</H2
><P
>Frees any memory referenced by <TT
CLASS="PARAMETER"
><I
>v</I
></TT
>.  Values of type FcTypeString,
FcTypeMatrix and FcTypeCharSet reference memory, the other types do not.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1061"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCVALUESAVE"
></A
>FcValueSave</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1068"
></A
><H2
>Name</H2
>FcValueSave&nbsp;--&nbsp;Copy a value</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1071"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1072"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcValue <TT
CLASS="FUNCTION"
>FcValueSave</TT
></CODE
>(FcValue<TT
CLASS="PARAMETER"
><I
>v</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1079"
></A
><H2
>Description</H2
><P
>Returns a copy of <TT
CLASS="PARAMETER"
><I
>v</I
></TT
> duplicating any object referenced by it so that <TT
CLASS="PARAMETER"
><I
>v</I
></TT
>
may be safely destroyed without harming the new value.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1084"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1087"
>FcCharSet</A
></H3
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#FCCHARSETCREATE"
>FcCharSetCreate</A
>&nbsp;--&nbsp;Create an empty character set</DT
><DT
><A
HREF="#FCCHARSETDESTROY"
>FcCharSetDestroy</A
>&nbsp;--&nbsp;Destroy a character set</DT
><DT
><A
HREF="#FCCHARSETADDCHAR"
>FcCharSetAddChar</A
>&nbsp;--&nbsp;Add a character to a charset</DT
><DT
><A
HREF="#FCCHARSETCOPY"
>FcCharSetCopy</A
>&nbsp;--&nbsp;Copy a charset</DT
><DT
><A
HREF="#FCCHARSETEQUAL"
>FcCharSetEqual</A
>&nbsp;--&nbsp;Compare two charsets</DT
><DT
><A
HREF="#FCCHARSETINTERSECT"
>FcCharSetIntersect</A
>&nbsp;--&nbsp;Intersect charsets</DT
><DT
><A
HREF="#FCCHARSETUNION"
>FcCharSetUnion</A
>&nbsp;--&nbsp;Add charsets</DT
><DT
><A
HREF="#FCCHARSETSUBTRACT"
>FcCharSetSubtract</A
>&nbsp;--&nbsp;Subtract charsets</DT
><DT
><A
HREF="#FCCHARSETHASCHAR"
>FcCharSetHasChar</A
>&nbsp;--&nbsp;Check a charset for a char</DT
><DT
><A
HREF="#FCCHARSETCOUNT"
>FcCharSetCount</A
>&nbsp;--&nbsp;Count entries in a charset</DT
><DT
><A
HREF="#FCCHARSETINTERSECTCOUNT"
>FcCharSetIntersectCount</A
>&nbsp;--&nbsp;Intersect and count charsets</DT
><DT
><A
HREF="#FCCHARSETSUBTRACTCOUNT"
>FcCharSetSubtractCount</A
>&nbsp;--&nbsp;Subtract and count charsets</DT
><DT
><A
HREF="#FCCHARSETISSUBSET"
>FcCharSetIsSubset</A
>&nbsp;--&nbsp;Test for charset inclusion</DT
><DT
><A
HREF="#FCCHARSETFIRSTPAGE"
>FcCharSetFirstPage</A
>&nbsp;--&nbsp;Start enumerating charset contents</DT
><DT
><A
HREF="#FCCHARSETNEXTPAGE"
>FcCharSetNextPage</A
>&nbsp;--&nbsp;Continue enumerating charset contents</DT
></DL
></DIV
><P
>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.
    </P
><H1
><A
NAME="FCCHARSETCREATE"
></A
>FcCharSetCreate</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1094"
></A
><H2
>Name</H2
>FcCharSetCreate&nbsp;--&nbsp;Create an empty character set</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1097"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1098"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcCharSet * <TT
CLASS="FUNCTION"
>FcCharSetCreate</TT
></CODE
>(void<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1105"
></A
><H2
>Description</H2
><P
><TT
CLASS="FUNCTION"
>FcCharSetCreate</TT
> allocates and initializes a new empty
character set object.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1109"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCHARSETDESTROY"
></A
>FcCharSetDestroy</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1116"
></A
><H2
>Name</H2
>FcCharSetDestroy&nbsp;--&nbsp;Destroy a character set</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1119"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1120"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcCharSetDestroy</TT
></CODE
>(FcCharSet *<TT
CLASS="PARAMETER"
><I
>fcs</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1127"
></A
><H2
>Description</H2
><P
><TT
CLASS="FUNCTION"
>FcCharSetDestroy</TT
> decrements the reference count 
<TT
CLASS="PARAMETER"
><I
>fcs</I
></TT
>.  If the reference count becomes zero, all
memory referenced is freed.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1132"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCHARSETADDCHAR"
></A
>FcCharSetAddChar</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1139"
></A
><H2
>Name</H2
>FcCharSetAddChar&nbsp;--&nbsp;Add a character to a charset</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1142"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1143"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcCharSetAddChar</TT
></CODE
>(FcCharSet *<TT
CLASS="PARAMETER"
><I
>fcs</I
></TT
>, FcChar32<TT
CLASS="PARAMETER"
><I
>ucs4</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1152"
></A
><H2
>Description</H2
><P
><TT
CLASS="FUNCTION"
>FcCharSetAddChar</TT
> 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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1156"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCHARSETCOPY"
></A
>FcCharSetCopy</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1163"
></A
><H2
>Name</H2
>FcCharSetCopy&nbsp;--&nbsp;Copy a charset</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1166"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1167"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcCharSet * <TT
CLASS="FUNCTION"
>FcCharSetCopy</TT
></CODE
>(FcCharSet *<TT
CLASS="PARAMETER"
><I
>src</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1174"
></A
><H2
>Description</H2
><P
>Makes a copy of <TT
CLASS="PARAMETER"
><I
>src</I
></TT
>; note that this may not actually do anything more
than increment the reference count on <TT
CLASS="PARAMETER"
><I
>src</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1179"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCHARSETEQUAL"
></A
>FcCharSetEqual</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1186"
></A
><H2
>Name</H2
>FcCharSetEqual&nbsp;--&nbsp;Compare two charsets</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1189"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1190"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcCharSetEqual</TT
></CODE
>(const FcCharSet *<TT
CLASS="PARAMETER"
><I
>a</I
></TT
>, const FcCharSet *<TT
CLASS="PARAMETER"
><I
>b</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1199"
></A
><H2
>Description</H2
><P
>Returns whether <TT
CLASS="PARAMETER"
><I
>a</I
></TT
> and <TT
CLASS="PARAMETER"
><I
>b</I
></TT
>
contain the same set of unicode chars.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1204"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCHARSETINTERSECT"
></A
>FcCharSetIntersect</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1211"
></A
><H2
>Name</H2
>FcCharSetIntersect&nbsp;--&nbsp;Intersect charsets</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1214"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1215"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcCharSet * <TT
CLASS="FUNCTION"
>FcCharSetIntersect</TT
></CODE
>(const FcCharSet *<TT
CLASS="PARAMETER"
><I
>a</I
></TT
>, const FcCharSet *<TT
CLASS="PARAMETER"
><I
>b</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1224"
></A
><H2
>Description</H2
><P
>Returns a set including only those chars found in both
<TT
CLASS="PARAMETER"
><I
>a</I
></TT
> and <TT
CLASS="PARAMETER"
><I
>b</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1229"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCHARSETUNION"
></A
>FcCharSetUnion</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1236"
></A
><H2
>Name</H2
>FcCharSetUnion&nbsp;--&nbsp;Add charsets</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1239"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1240"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcCharSet * <TT
CLASS="FUNCTION"
>FcCharSetUnion</TT
></CODE
>(const FcCharSet *<TT
CLASS="PARAMETER"
><I
>a</I
></TT
>, const FcCharSet *<TT
CLASS="PARAMETER"
><I
>b</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1249"
></A
><H2
>Description</H2
><P
>Returns a set including only those chars found in either <TT
CLASS="PARAMETER"
><I
>a</I
></TT
> or <TT
CLASS="PARAMETER"
><I
>b</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1254"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCHARSETSUBTRACT"
></A
>FcCharSetSubtract</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1261"
></A
><H2
>Name</H2
>FcCharSetSubtract&nbsp;--&nbsp;Subtract charsets</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1264"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1265"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcCharSet * <TT
CLASS="FUNCTION"
>FcCharSetSubtract</TT
></CODE
>(const FcCharSet *<TT
CLASS="PARAMETER"
><I
>a</I
></TT
>, const FcCharSet *<TT
CLASS="PARAMETER"
><I
>b</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1274"
></A
><H2
>Description</H2
><P
>Returns a set including only those chars found in <TT
CLASS="PARAMETER"
><I
>a</I
></TT
> but not <TT
CLASS="PARAMETER"
><I
>b</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1279"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCHARSETHASCHAR"
></A
>FcCharSetHasChar</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1286"
></A
><H2
>Name</H2
>FcCharSetHasChar&nbsp;--&nbsp;Check a charset for a char</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1289"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1290"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcCharSetHasChar</TT
></CODE
>(const FcCharSet *<TT
CLASS="PARAMETER"
><I
>fcs</I
></TT
>, FcChar32<TT
CLASS="PARAMETER"
><I
>ucs4</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1299"
></A
><H2
>Description</H2
><P
>Returns whether <TT
CLASS="PARAMETER"
><I
>fcs</I
></TT
> contains the char <TT
CLASS="PARAMETER"
><I
>ucs4</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1304"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCHARSETCOUNT"
></A
>FcCharSetCount</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1311"
></A
><H2
>Name</H2
>FcCharSetCount&nbsp;--&nbsp;Count entries in a charset</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1314"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1315"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcChar32 <TT
CLASS="FUNCTION"
>FcCharSetCount</TT
></CODE
>(const FcCharSet *<TT
CLASS="PARAMETER"
><I
>a</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1322"
></A
><H2
>Description</H2
><P
>Returns the total number of unicode chars in <TT
CLASS="PARAMETER"
><I
>a</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1326"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCHARSETINTERSECTCOUNT"
></A
>FcCharSetIntersectCount</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1333"
></A
><H2
>Name</H2
>FcCharSetIntersectCount&nbsp;--&nbsp;Intersect and count charsets</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1336"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1337"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcChar32 <TT
CLASS="FUNCTION"
>FcCharSetIntersectCount</TT
></CODE
>(const FcCharSet *<TT
CLASS="PARAMETER"
><I
>a</I
></TT
>, const FcCharSet *<TT
CLASS="PARAMETER"
><I
>b</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1346"
></A
><H2
>Description</H2
><P
>Returns the number of chars that are in both <TT
CLASS="PARAMETER"
><I
>a</I
></TT
> and <TT
CLASS="PARAMETER"
><I
>b</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1351"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCHARSETSUBTRACTCOUNT"
></A
>FcCharSetSubtractCount</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1358"
></A
><H2
>Name</H2
>FcCharSetSubtractCount&nbsp;--&nbsp;Subtract and count charsets</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1361"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1362"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcChar32 <TT
CLASS="FUNCTION"
>FcCharSetSubtractCount</TT
></CODE
>(const FcCharSet *<TT
CLASS="PARAMETER"
><I
>a</I
></TT
>, const FcCharSet *<TT
CLASS="PARAMETER"
><I
>b</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1371"
></A
><H2
>Description</H2
><P
>Returns the number of chars that are in <TT
CLASS="PARAMETER"
><I
>a</I
></TT
> but not in <TT
CLASS="PARAMETER"
><I
>b</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1376"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCHARSETISSUBSET"
></A
>FcCharSetIsSubset</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1383"
></A
><H2
>Name</H2
>FcCharSetIsSubset&nbsp;--&nbsp;Test for charset inclusion</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1386"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1387"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcCharSetIsSubset</TT
></CODE
>(const FcCharSet *<TT
CLASS="PARAMETER"
><I
>a</I
></TT
>, const FcCharSet *<TT
CLASS="PARAMETER"
><I
>b</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1396"
></A
><H2
>Description</H2
><P
>Returns whether <TT
CLASS="PARAMETER"
><I
>a</I
></TT
> is a subset of <TT
CLASS="PARAMETER"
><I
>b</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1401"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCHARSETFIRSTPAGE"
></A
>FcCharSetFirstPage</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1408"
></A
><H2
>Name</H2
>FcCharSetFirstPage&nbsp;--&nbsp;Start enumerating charset contents</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1411"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1412"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcChar32 <TT
CLASS="FUNCTION"
>FcCharSetFirstPage</TT
></CODE
>(const FcCharSet *<TT
CLASS="PARAMETER"
><I
>a</I
></TT
>, FcChar32[FC_CHARSET_MAP_SIZE]<TT
CLASS="PARAMETER"
><I
>map</I
></TT
>, FcChar32 *<TT
CLASS="PARAMETER"
><I
>next</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1423"
></A
><H2
>Description</H2
><P
>Builds an array of bits marking the first page of Unicode coverage of
<TT
CLASS="PARAMETER"
><I
>a</I
></TT
>. Returns the base of the array. <TT
CLASS="PARAMETER"
><I
>next</I
></TT
> contains the next page in the
font.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1428"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCHARSETNEXTPAGE"
></A
>FcCharSetNextPage</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1435"
></A
><H2
>Name</H2
>FcCharSetNextPage&nbsp;--&nbsp;Continue enumerating charset contents</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1438"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1439"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcChar32 <TT
CLASS="FUNCTION"
>FcCharSetNextPage</TT
></CODE
>(const FcCharSet *<TT
CLASS="PARAMETER"
><I
>a</I
></TT
>, FcChar32[FC_CHARSET_MAP_SIZE]<TT
CLASS="PARAMETER"
><I
>map</I
></TT
>, FcChar32 *<TT
CLASS="PARAMETER"
><I
>next</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1450"
></A
><H2
>Description</H2
><P
>Builds an array of bits marking the Unicode coverage of <TT
CLASS="PARAMETER"
><I
>a</I
></TT
> for page
<TT
CLASS="PARAMETER"
><I
>*next</I
></TT
>. Returns the base of the array. <TT
CLASS="PARAMETER"
><I
>next</I
></TT
> contains the next page in
the font.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1456"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1459"
>FcMatrix</A
></H3
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#FCMATRIXINIT"
>FcMatrixInit</A
>&nbsp;--&nbsp;initialize an FcMatrix structure</DT
><DT
><A
HREF="#FCMATRIXCOPY"
>FcMatrixCopy</A
>&nbsp;--&nbsp;Copy a matrix</DT
><DT
><A
HREF="#FCMATRIXEQUAL"
>FcMatrixEqual</A
>&nbsp;--&nbsp;Compare two matrices</DT
><DT
><A
HREF="#FCMATRIXMULTIPLY"
>FcMatrixMultiply</A
>&nbsp;--&nbsp;Multiply matrices</DT
><DT
><A
HREF="#FCMATRIXROTATE"
>FcMatrixRotate</A
>&nbsp;--&nbsp;Rotate a matrix</DT
><DT
><A
HREF="#FCMATRIXSCALE"
>FcMatrixScale</A
>&nbsp;--&nbsp;Scale a matrix</DT
><DT
><A
HREF="#FCMATRIXSHEAR"
>FcMatrixShear</A
>&nbsp;--&nbsp;Shear a matrix</DT
></DL
></DIV
><P
>FcMatrix structures hold an affine transformation in matrix form.
    </P
><H1
><A
NAME="FCMATRIXINIT"
></A
>FcMatrixInit</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1466"
></A
><H2
>Name</H2
>FcMatrixInit&nbsp;--&nbsp;initialize an FcMatrix structure</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1469"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1470"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcMatrixInit</TT
></CODE
>(FcMatrix *<TT
CLASS="PARAMETER"
><I
>matrix</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1477"
></A
><H2
>Description</H2
><P
><TT
CLASS="FUNCTION"
>FcMatrixInit</TT
> initializes <TT
CLASS="PARAMETER"
><I
>matrix</I
></TT
>
to the identity matrix.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1482"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCMATRIXCOPY"
></A
>FcMatrixCopy</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1489"
></A
><H2
>Name</H2
>FcMatrixCopy&nbsp;--&nbsp;Copy a matrix</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1492"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1493"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcMatrixCopy</TT
></CODE
>(const FcMatrix *<TT
CLASS="PARAMETER"
><I
>matrix</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1500"
></A
><H2
>Description</H2
><P
><TT
CLASS="FUNCTION"
>FcMatrixCopy</TT
> allocates a new FcMatrix
and copies <TT
CLASS="PARAMETER"
><I
>mat</I
></TT
> into it.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1505"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCMATRIXEQUAL"
></A
>FcMatrixEqual</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1512"
></A
><H2
>Name</H2
>FcMatrixEqual&nbsp;--&nbsp;Compare two matrices</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1515"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1516"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcMatrixEqual</TT
></CODE
>(const FcMatrix *<TT
CLASS="PARAMETER"
><I
>matrix1</I
></TT
>, const FcMatrix *<TT
CLASS="PARAMETER"
><I
>matrix2</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1525"
></A
><H2
>Description</H2
><P
><TT
CLASS="FUNCTION"
>FcMatrixEqual</TT
> compares <TT
CLASS="PARAMETER"
><I
>matrix1</I
></TT
>
and <TT
CLASS="PARAMETER"
><I
>matrix2</I
></TT
> returning FcTrue when they are equal and
FcFalse when they are not.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1531"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCMATRIXMULTIPLY"
></A
>FcMatrixMultiply</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1538"
></A
><H2
>Name</H2
>FcMatrixMultiply&nbsp;--&nbsp;Multiply matrices</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1541"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1542"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcMatrixMultiply</TT
></CODE
>(FcMatrix *<TT
CLASS="PARAMETER"
><I
>result</I
></TT
>, const FcMatrix *<TT
CLASS="PARAMETER"
><I
>matrix1</I
></TT
>, const FcMatrix *<TT
CLASS="PARAMETER"
><I
>matrix2</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1553"
></A
><H2
>Description</H2
><P
><TT
CLASS="FUNCTION"
>FcMatrixMultiply</TT
> multiplies
<TT
CLASS="PARAMETER"
><I
>matrix1</I
></TT
> and <TT
CLASS="PARAMETER"
><I
>matrix2</I
></TT
> storing
the result in <TT
CLASS="PARAMETER"
><I
>result</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1560"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCMATRIXROTATE"
></A
>FcMatrixRotate</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1567"
></A
><H2
>Name</H2
>FcMatrixRotate&nbsp;--&nbsp;Rotate a matrix</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1570"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1571"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcMatrixRotate</TT
></CODE
>(FcMatrix *<TT
CLASS="PARAMETER"
><I
>matrix</I
></TT
>, double<TT
CLASS="PARAMETER"
><I
>cos</I
></TT
>, double<TT
CLASS="PARAMETER"
><I
>sin</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1582"
></A
><H2
>Description</H2
><P
><TT
CLASS="FUNCTION"
>FcMatrixRotate</TT
> rotates <TT
CLASS="PARAMETER"
><I
>matrix</I
></TT
>
by the angle who's sine is <TT
CLASS="PARAMETER"
><I
>sin</I
></TT
> and cosine is
<TT
CLASS="PARAMETER"
><I
>cos</I
></TT
>.  This is done by multiplying by the
matrix:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>  cos -sin
  sin  cos</PRE
></TD
></TR
></TABLE
>
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1590"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCMATRIXSCALE"
></A
>FcMatrixScale</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1597"
></A
><H2
>Name</H2
>FcMatrixScale&nbsp;--&nbsp;Scale a matrix</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1600"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1601"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcMatrixScale</TT
></CODE
>(FcMatrix *<TT
CLASS="PARAMETER"
><I
>matrix</I
></TT
>, double<TT
CLASS="PARAMETER"
><I
>sx</I
></TT
>, double<TT
CLASS="PARAMETER"
><I
>dy</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1612"
></A
><H2
>Description</H2
><P
><TT
CLASS="FUNCTION"
>FcMatrixScale</TT
> multiplies <TT
CLASS="PARAMETER"
><I
>matrix</I
></TT
>
x values by <TT
CLASS="PARAMETER"
><I
>sx</I
></TT
> and y values by
<TT
CLASS="PARAMETER"
><I
>sy</I
></TT
>.  This is done by multiplying by
the matrix:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>   sx  0
   0   sy</PRE
></TD
></TR
></TABLE
>
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1620"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCMATRIXSHEAR"
></A
>FcMatrixShear</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1627"
></A
><H2
>Name</H2
>FcMatrixShear&nbsp;--&nbsp;Shear a matrix</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1630"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1631"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcMatrixShear</TT
></CODE
>(FcMatrix *<TT
CLASS="PARAMETER"
><I
>matrix</I
></TT
>, double<TT
CLASS="PARAMETER"
><I
>sh</I
></TT
>, double<TT
CLASS="PARAMETER"
><I
>sv</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1642"
></A
><H2
>Description</H2
><P
><TT
CLASS="FUNCTION"
>FcMatrixShare</TT
> shears <TT
CLASS="PARAMETER"
><I
>matrix</I
></TT
>
horizontally by <TT
CLASS="PARAMETER"
><I
>sh</I
></TT
> and vertically by
<TT
CLASS="PARAMETER"
><I
>sv</I
></TT
>.  This is done by multiplying by
the matrix:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>  1  sh
  sv  1</PRE
></TD
></TR
></TABLE
>
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1650"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN1653"
>FcConfig</A
></H3
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#FCCONFIGCREATE"
>FcConfigCreate</A
>&nbsp;--&nbsp;Create a configuration</DT
><DT
><A
HREF="#FCCONFIGDESTROY"
>FcConfigDestroy</A
>&nbsp;--&nbsp;Destroy a configuration</DT
><DT
><A
HREF="#FCCONFIGSETCURRENT"
>FcConfigSetCurrent</A
>&nbsp;--&nbsp;Set configuration as default</DT
><DT
><A
HREF="#FCCONFIGGETCURRENT"
>FcConfigGetCurrent</A
>&nbsp;--&nbsp;Return current configuration</DT
><DT
><A
HREF="#FCCONFIGUPTODATE"
>FcConfigUptoDate</A
>&nbsp;--&nbsp;Check timestamps on config files</DT
><DT
><A
HREF="#FCCONFIGBUILDFONTS"
>FcConfigBuildFonts</A
>&nbsp;--&nbsp;Build font database</DT
><DT
><A
HREF="#FCCONFIGGETCONFIGDIRS"
>FcConfigGetConfigDirs</A
>&nbsp;--&nbsp;Get config directories</DT
><DT
><A
HREF="#FCCONFIGGETFONTDIRS"
>FcConfigGetFontDirs</A
>&nbsp;--&nbsp;Get font directories</DT
><DT
><A
HREF="#FCCONFIGGETCONFIGFILES"
>FcConfigGetConfigFiles</A
>&nbsp;--&nbsp;Get config files</DT
><DT
><A
HREF="#FCCONFIGGETCACHE"
>FcConfigGetCache</A
>&nbsp;--&nbsp;Get cache filename</DT
><DT
><A
HREF="#FCCONFIGGETFONTS"
>FcConfigGetFonts</A
>&nbsp;--&nbsp;Get config font set</DT
><DT
><A
HREF="#FCCONFIGGETBLANKS"
>FcConfigGetBlanks</A
>&nbsp;--&nbsp;Get config blanks</DT
><DT
><A
HREF="#FCCONFIGGETRESCANINVERVAL"
>FcConfigGetRescanInverval</A
>&nbsp;--&nbsp;Get config rescan interval</DT
><DT
><A
HREF="#FCCONFIGSETRESCANINVERVAL"
>FcConfigSetRescanInverval</A
>&nbsp;--&nbsp;Set config rescan interval</DT
><DT
><A
HREF="#FCCONFIGAPPFONTADDFILE"
>FcConfigAppFontAddFile</A
>&nbsp;--&nbsp;Add font file to font database</DT
><DT
><A
HREF="#FCCONFIGAPPFONTADDDIR"
>FcConfigAppFontAddDir</A
>&nbsp;--&nbsp;Add fonts from directory to font database</DT
><DT
><A
HREF="#FCCONFIGAPPFONTCLEAR"
>FcConfigAppFontClear</A
>&nbsp;--&nbsp;Remove all app fonts from font database</DT
><DT
><A
HREF="#FCCONFIGSUBSTITUTEWITHPAT"
>FcConfigSubstituteWithPat</A
>&nbsp;--&nbsp;Execute substitutions</DT
><DT
><A
HREF="#FCCONFIGSUBSTITUTE"
>FcConfigSubstitute</A
>&nbsp;--&nbsp;Execute substitutions</DT
><DT
><A
HREF="#FCFONTMATCH"
>FcFontMatch</A
>&nbsp;--&nbsp;Return best font</DT
><DT
><A
HREF="#FCFONTSORT"
>FcFontSort</A
>&nbsp;--&nbsp;Return list of matching fonts</DT
><DT
><A
HREF="#FCFONTRENDERPREPARE"
>FcFontRenderPrepare</A
>&nbsp;--&nbsp;Prepare pattern for loading font file</DT
><DT
><A
HREF="#FCFONTLIST"
>FcFontList</A
>&nbsp;--&nbsp;List fonts</DT
><DT
><A
HREF="#FCCONFIGFILENAME"
>FcConfigFilename</A
>&nbsp;--&nbsp;Find a config file</DT
><DT
><A
HREF="#FCCONFIGPARSEANDLOAD"
>FcConfigParseAndLoad</A
>&nbsp;--&nbsp;load a configuration file</DT
></DL
></DIV
><P
>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.
    </P
><H1
><A
NAME="FCCONFIGCREATE"
></A
>FcConfigCreate</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1660"
></A
><H2
>Name</H2
>FcConfigCreate&nbsp;--&nbsp;Create a configuration</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1663"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1664"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcConfig * <TT
CLASS="FUNCTION"
>FcConfigCreate</TT
></CODE
>(void<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1671"
></A
><H2
>Description</H2
><P
>Creates an empty configuration.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1674"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGDESTROY"
></A
>FcConfigDestroy</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1681"
></A
><H2
>Name</H2
>FcConfigDestroy&nbsp;--&nbsp;Destroy a configuration</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1684"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1685"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcConfigDestroy</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1692"
></A
><H2
>Description</H2
><P
>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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1695"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGSETCURRENT"
></A
>FcConfigSetCurrent</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1702"
></A
><H2
>Name</H2
>FcConfigSetCurrent&nbsp;--&nbsp;Set configuration as default</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1705"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1706"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcConfigSetCurrent</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1713"
></A
><H2
>Description</H2
><P
>Sets the current default configuration to <TT
CLASS="PARAMETER"
><I
>config</I
></TT
>.  Implicitly calls
FcConfigBuildFonts if necessary, returning FcFalse if that call fails.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1717"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGGETCURRENT"
></A
>FcConfigGetCurrent</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1724"
></A
><H2
>Name</H2
>FcConfigGetCurrent&nbsp;--&nbsp;Return current configuration</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1727"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1728"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcConfig * <TT
CLASS="FUNCTION"
>FcConfigGetCurrent</TT
></CODE
>(void<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1735"
></A
><H2
>Description</H2
><P
>Returns the current default configuration.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1738"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGUPTODATE"
></A
>FcConfigUptoDate</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1745"
></A
><H2
>Name</H2
>FcConfigUptoDate&nbsp;--&nbsp;Check timestamps on config files</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1748"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1749"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcConfigUptoDate</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1756"
></A
><H2
>Description</H2
><P
>Checks all of the files related to <TT
CLASS="PARAMETER"
><I
>config</I
></TT
> and returns whether the
in-memory version is in sync with the disk version.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1760"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGBUILDFONTS"
></A
>FcConfigBuildFonts</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1767"
></A
><H2
>Name</H2
>FcConfigBuildFonts&nbsp;--&nbsp;Build font database</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1770"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1771"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcConfigBuildFonts</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1778"
></A
><H2
>Description</H2
><P
>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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1781"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGGETCONFIGDIRS"
></A
>FcConfigGetConfigDirs</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1788"
></A
><H2
>Name</H2
>FcConfigGetConfigDirs&nbsp;--&nbsp;Get config directories</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1791"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1792"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcStrList * <TT
CLASS="FUNCTION"
>FcConfigGetConfigDirs</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1799"
></A
><H2
>Description</H2
><P
>Returns the list of font directories specified in the configuration files
for <TT
CLASS="PARAMETER"
><I
>config</I
></TT
>.  Does not include any subdirectories.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1803"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGGETFONTDIRS"
></A
>FcConfigGetFontDirs</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1810"
></A
><H2
>Name</H2
>FcConfigGetFontDirs&nbsp;--&nbsp;Get font directories</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1813"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1814"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcStrList * <TT
CLASS="FUNCTION"
>FcConfigGetFontDirs</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1821"
></A
><H2
>Description</H2
><P
>Returns the list of font directories in <TT
CLASS="PARAMETER"
><I
>config</I
></TT
>. This includes the
configured font directories along with any directories below those in the
filesystem.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1825"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGGETCONFIGFILES"
></A
>FcConfigGetConfigFiles</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1832"
></A
><H2
>Name</H2
>FcConfigGetConfigFiles&nbsp;--&nbsp;Get config files</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1835"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1836"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcStrList * <TT
CLASS="FUNCTION"
>FcConfigGetConfigFiles</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1843"
></A
><H2
>Description</H2
><P
>Returns the list of known configuration files used to generate <TT
CLASS="PARAMETER"
><I
>config</I
></TT
>.
Note that this will not include any configuration done with FcConfigParse.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1847"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGGETCACHE"
></A
>FcConfigGetCache</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1854"
></A
><H2
>Name</H2
>FcConfigGetCache&nbsp;--&nbsp;Get cache filename</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1857"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1858"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>char * <TT
CLASS="FUNCTION"
>FcConfigGetCache</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1865"
></A
><H2
>Description</H2
><P
>Returns the name of the file used to store per-user font information.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1868"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGGETFONTS"
></A
>FcConfigGetFonts</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1875"
></A
><H2
>Name</H2
>FcConfigGetFonts&nbsp;--&nbsp;Get config font set</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1878"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1879"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcFontSet * <TT
CLASS="FUNCTION"
>FcConfigGetFonts</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>, FcSetName<TT
CLASS="PARAMETER"
><I
>set</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1888"
></A
><H2
>Description</H2
><P
>Returns one of the two sets of fonts from the configuration as specified
by <TT
CLASS="PARAMETER"
><I
>set</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1892"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGGETBLANKS"
></A
>FcConfigGetBlanks</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1899"
></A
><H2
>Name</H2
>FcConfigGetBlanks&nbsp;--&nbsp;Get config blanks</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1902"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1903"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBlanks * <TT
CLASS="FUNCTION"
>FcConfigGetBlanks</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1910"
></A
><H2
>Description</H2
><P
>Returns the FcBlanks object associated with the given configuration, if no
blanks were present in the configuration, this function will return 0.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1913"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGGETRESCANINVERVAL"
></A
>FcConfigGetRescanInverval</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1920"
></A
><H2
>Name</H2
>FcConfigGetRescanInverval&nbsp;--&nbsp;Get config rescan interval</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1923"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1924"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>int <TT
CLASS="FUNCTION"
>FcConfigGetRescanInverval</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1931"
></A
><H2
>Description</H2
><P
>Returns the interval between automatic checks of the configuration (in
seconds) specified in <TT
CLASS="PARAMETER"
><I
>config</I
></TT
>.  The configuration is checked during
a call to FcFontList when this interval has passed since the last check.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1935"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGSETRESCANINVERVAL"
></A
>FcConfigSetRescanInverval</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1942"
></A
><H2
>Name</H2
>FcConfigSetRescanInverval&nbsp;--&nbsp;Set config rescan interval</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1945"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1946"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcConfigSetRescanInverval</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>rescanInterval</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1955"
></A
><H2
>Description</H2
><P
>Sets the rescan interval; returns FcFalse if an error occurred.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1958"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGAPPFONTADDFILE"
></A
>FcConfigAppFontAddFile</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1965"
></A
><H2
>Name</H2
>FcConfigAppFontAddFile&nbsp;--&nbsp;Add font file to font database</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1968"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1969"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcConfigAppFontAddFile</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1978"
></A
><H2
>Description</H2
><P
>Adds an application-specific font to the configuration.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN1981"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGAPPFONTADDDIR"
></A
>FcConfigAppFontAddDir</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN1988"
></A
><H2
>Name</H2
>FcConfigAppFontAddDir&nbsp;--&nbsp;Add fonts from directory to font database</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN1991"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN1992"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcConfigAppFontAddDir</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2001"
></A
><H2
>Description</H2
><P
>Scans the specified directory for fonts, adding each one found to the
application-specific set of fonts.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2004"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGAPPFONTCLEAR"
></A
>FcConfigAppFontClear</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2011"
></A
><H2
>Name</H2
>FcConfigAppFontClear&nbsp;--&nbsp;Remove all app fonts from font database</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2014"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2015"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcConfigAppFontClear</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2022"
></A
><H2
>Description</H2
><P
>Clears the set of application-specific fonts.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2025"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGSUBSTITUTEWITHPAT"
></A
>FcConfigSubstituteWithPat</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2032"
></A
><H2
>Name</H2
>FcConfigSubstituteWithPat&nbsp;--&nbsp;Execute substitutions</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2035"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2036"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcConfigSubstituteWithPat</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>, FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, FcPattern *<TT
CLASS="PARAMETER"
><I
>p_pat</I
></TT
>, FcMatchKind<TT
CLASS="PARAMETER"
><I
>kind</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2049"
></A
><H2
>Description</H2
><P
>Performs the sequence of pattern modification operations, if <TT
CLASS="PARAMETER"
><I
>kind</I
></TT
> is
FcMatchPattern, then those tagged as pattern operations are applied, else
if <TT
CLASS="PARAMETER"
><I
>kind</I
></TT
> is FcMatchFont, those tagged as font operations are applied and
p_pat is used for &#60;test&#62; elements with target=pattern.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2054"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGSUBSTITUTE"
></A
>FcConfigSubstitute</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2061"
></A
><H2
>Name</H2
>FcConfigSubstitute&nbsp;--&nbsp;Execute substitutions</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2064"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2065"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcConfigSubstitute</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>, FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, FcMatchKind<TT
CLASS="PARAMETER"
><I
>kind</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2076"
></A
><H2
>Description</H2
><P
>Calls FcConfigSubstituteWithPat setting p_pat to NULL.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2079"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCFONTMATCH"
></A
>FcFontMatch</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2086"
></A
><H2
>Name</H2
>FcFontMatch&nbsp;--&nbsp;Return best font</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2089"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2090"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcPattern * <TT
CLASS="FUNCTION"
>FcFontMatch</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>, FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, FcResult *<TT
CLASS="PARAMETER"
><I
>result</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2101"
></A
><H2
>Description</H2
><P
>Returns the font in <TT
CLASS="PARAMETER"
><I
>config</I
></TT
> most close matching <TT
CLASS="PARAMETER"
><I
>p</I
></TT
>.  This function
should be called only after FcConfigSubstitute and FcDefaultSubstitute have
been called for <TT
CLASS="PARAMETER"
><I
>p</I
></TT
>; otherwise the results will not be correct.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2107"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCFONTSORT"
></A
>FcFontSort</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2114"
></A
><H2
>Name</H2
>FcFontSort&nbsp;--&nbsp;Return list of matching fonts</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2117"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2118"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcFontSet * <TT
CLASS="FUNCTION"
>FcFontSort</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>, FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, FcBool<TT
CLASS="PARAMETER"
><I
>trim</I
></TT
>, FcCharSet **<TT
CLASS="PARAMETER"
><I
>csp</I
></TT
>, FcResult *<TT
CLASS="PARAMETER"
><I
>result</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2133"
></A
><H2
>Description</H2
><P
>Returns the list of fonts sorted by closeness to <TT
CLASS="PARAMETER"
><I
>p</I
></TT
>.  If <TT
CLASS="PARAMETER"
><I
>trim</I
></TT
> 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 <TT
CLASS="PARAMETER"
><I
>csp</I
></TT
>, if <TT
CLASS="PARAMETER"
><I
>csp</I
></TT
> is not NULL.  This function
should be called only after FcConfigSubstitute and FcDefaultSubstitute have
been called for <TT
CLASS="PARAMETER"
><I
>p</I
></TT
>; otherwise the results will not be correct.
    </P
><P
>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 <TT
CLASS="PARAMETER"
><I
>p</I
></TT
> to
FcFontRenderPrepare which combines them into a complete pattern.
    </P
><P
>The FcFontSet returned by FcFontSort is destroyed by caling FcFontSetDestroy.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2144"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCFONTRENDERPREPARE"
></A
>FcFontRenderPrepare</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2151"
></A
><H2
>Name</H2
>FcFontRenderPrepare&nbsp;--&nbsp;Prepare pattern for loading font file</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2154"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2155"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcPattern * <TT
CLASS="FUNCTION"
>FcFontRenderPrepare</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>, FcPattern *<TT
CLASS="PARAMETER"
><I
>pat</I
></TT
>, FcPattern *<TT
CLASS="PARAMETER"
><I
>font</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2166"
></A
><H2
>Description</H2
><P
>Creates a new pattern consisting of elements of <TT
CLASS="PARAMETER"
><I
>font</I
></TT
> not appearing
in <TT
CLASS="PARAMETER"
><I
>pat</I
></TT
>, elements of <TT
CLASS="PARAMETER"
><I
>pat</I
></TT
> not appearing in <TT
CLASS="PARAMETER"
><I
>font</I
></TT
> and the best matching
value from <TT
CLASS="PARAMETER"
><I
>pat</I
></TT
> for elements appearing in both.  The result is passed to
FcConfigSubstitute with <TT
CLASS="PARAMETER"
><I
>kind</I
></TT
> FcMatchFont and then returned.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2175"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCFONTLIST"
></A
>FcFontList</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2182"
></A
><H2
>Name</H2
>FcFontList&nbsp;--&nbsp;List fonts</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2185"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2186"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcFontSet * <TT
CLASS="FUNCTION"
>FcFontList</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>, FcPattern *<TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, FcObjectSet *<TT
CLASS="PARAMETER"
><I
>os</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2197"
></A
><H2
>Description</H2
><P
>Selects fonts matching <TT
CLASS="PARAMETER"
><I
>p</I
></TT
>, creates patterns from those fonts containing
only the objects in <TT
CLASS="PARAMETER"
><I
>os</I
></TT
> and returns the set of unique such patterns.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2202"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGFILENAME"
></A
>FcConfigFilename</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2209"
></A
><H2
>Name</H2
>FcConfigFilename&nbsp;--&nbsp;Find a config file</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2212"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2213"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>char * <TT
CLASS="FUNCTION"
>FcConfigFilename</TT
></CODE
>(const char *<TT
CLASS="PARAMETER"
><I
>name</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2220"
></A
><H2
>Description</H2
><P
>Given the specified external entity name, return the associated filename.
This provides applications a way to convert various configuration file
references into filename form.
    </P
><P
>A null or empty <TT
CLASS="PARAMETER"
><I
>name</I
></TT
> 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 <TT
CLASS="PARAMETER"
><I
>~</I
></TT
>, 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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2226"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCCONFIGPARSEANDLOAD"
></A
>FcConfigParseAndLoad</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2233"
></A
><H2
>Name</H2
>FcConfigParseAndLoad&nbsp;--&nbsp;load a configuration file</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2236"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2237"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcConfigParseAndLoad</TT
></CODE
>(FcConfig *<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>, const FcChar8 *<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2246"
></A
><H2
>Description</H2
><P
>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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2249"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2252"
>FcObjectType</A
></H3
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#FCNAMEREGISTEROBJECTTYPES"
>FcNameRegisterObjectTypes</A
>&nbsp;--&nbsp;Register object types</DT
><DT
><A
HREF="#FCNAMEUNREGISTEROBJECTTYPES"
>FcNameUnregisterObjectTypes</A
>&nbsp;--&nbsp;Unregister object types</DT
><DT
><A
HREF="#FCNAMEGETOBJECTTYPE"
>FcNameGetObjectType</A
>&nbsp;--&nbsp;Lookup an object type</DT
></DL
></DIV
><P
>Provides for applcation-specified font name object types so that new
pattern elements can be generated from font names.
    </P
><H1
><A
NAME="FCNAMEREGISTEROBJECTTYPES"
></A
>FcNameRegisterObjectTypes</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2259"
></A
><H2
>Name</H2
>FcNameRegisterObjectTypes&nbsp;--&nbsp;Register object types</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2262"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2263"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcNameRegisterObjectTypes</TT
></CODE
>(const FcObjectType *<TT
CLASS="PARAMETER"
><I
>types</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>ntype</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2272"
></A
><H2
>Description</H2
><P
>Register <TT
CLASS="PARAMETER"
><I
>ntype</I
></TT
> new object types.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2276"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCNAMEUNREGISTEROBJECTTYPES"
></A
>FcNameUnregisterObjectTypes</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2283"
></A
><H2
>Name</H2
>FcNameUnregisterObjectTypes&nbsp;--&nbsp;Unregister object types</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2286"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2287"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcNameUnregisterObjectTypes</TT
></CODE
>(const FcObjectType *<TT
CLASS="PARAMETER"
><I
>types</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>ntype</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2296"
></A
><H2
>Description</H2
><P
>Unregister <TT
CLASS="PARAMETER"
><I
>ntype</I
></TT
> object types.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2300"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCNAMEGETOBJECTTYPE"
></A
>FcNameGetObjectType</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2307"
></A
><H2
>Name</H2
>FcNameGetObjectType&nbsp;--&nbsp;Lookup an object type</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2310"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2311"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>const FcObjectType * <TT
CLASS="FUNCTION"
>FcNameGetObjectType</TT
></CODE
>(const char *<TT
CLASS="PARAMETER"
><I
>object</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2318"
></A
><H2
>Description</H2
><P
>Return the object type for the pattern element named <TT
CLASS="PARAMETER"
><I
>object</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2322"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2325"
>FcConstant</A
></H3
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#FCNAMEREGISTERCONSTANTS"
>FcNameRegisterConstants</A
>&nbsp;--&nbsp;Register symbolic constants</DT
><DT
><A
HREF="#FCNAMEUNREGISTERCONSTANTS"
>FcNameUnregisterConstants</A
>&nbsp;--&nbsp;Unregister symbolic constants</DT
><DT
><A
HREF="#FCNAMEGETCONSTANT"
>FcNameGetConstant</A
>&nbsp;--&nbsp;Lookup symbolic constant</DT
><DT
><A
HREF="#FCNAMECONSTANT"
>FcNameConstant</A
>&nbsp;--&nbsp;Get the value for a symbolic constant</DT
></DL
></DIV
><P
>Provides for application-specified symbolic constants for font names.
    </P
><H1
><A
NAME="FCNAMEREGISTERCONSTANTS"
></A
>FcNameRegisterConstants</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2332"
></A
><H2
>Name</H2
>FcNameRegisterConstants&nbsp;--&nbsp;Register symbolic constants</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2335"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2336"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcNameRegisterConstants</TT
></CODE
>(const FcConstant *<TT
CLASS="PARAMETER"
><I
>consts</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>nconsts</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2345"
></A
><H2
>Description</H2
><P
>Register <TT
CLASS="PARAMETER"
><I
>nconsts</I
></TT
> new symbolic constants.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2349"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCNAMEUNREGISTERCONSTANTS"
></A
>FcNameUnregisterConstants</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2356"
></A
><H2
>Name</H2
>FcNameUnregisterConstants&nbsp;--&nbsp;Unregister symbolic constants</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2359"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2360"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcNameUnregisterConstants</TT
></CODE
>(const FcConstant *<TT
CLASS="PARAMETER"
><I
>consts</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>nconsts</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2369"
></A
><H2
>Description</H2
><P
>Unregister <TT
CLASS="PARAMETER"
><I
>nconsts</I
></TT
> symbolic constants.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2373"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCNAMEGETCONSTANT"
></A
>FcNameGetConstant</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2380"
></A
><H2
>Name</H2
>FcNameGetConstant&nbsp;--&nbsp;Lookup symbolic constant</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2383"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2384"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>const FcConstant * <TT
CLASS="FUNCTION"
>FcNameGetConstant</TT
></CODE
>(FcChar8 *<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2391"
></A
><H2
>Description</H2
><P
>Return the FcConstant structure related to symbolic constant <TT
CLASS="PARAMETER"
><I
>string</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2395"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCNAMECONSTANT"
></A
>FcNameConstant</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2402"
></A
><H2
>Name</H2
>FcNameConstant&nbsp;--&nbsp;Get the value for a symbolic constant</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2405"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2406"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcNameConstant</TT
></CODE
>(FcChar8 *<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>, int *<TT
CLASS="PARAMETER"
><I
>result</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2415"
></A
><H2
>Description</H2
><P
>Returns whether a symbolic constant with name <TT
CLASS="PARAMETER"
><I
>string</I
></TT
> is registered,
placing the value of the constant in <TT
CLASS="PARAMETER"
><I
>result</I
></TT
> if present.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2420"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2423"
>FcBlanks</A
></H3
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#FCBLANKSCREATE"
>FcBlanksCreate</A
>&nbsp;--&nbsp;Create an FcBlanks</DT
><DT
><A
HREF="#FCBLANKSDESTROY"
>FcBlanksDestroy</A
>&nbsp;--&nbsp;Destroy and FcBlanks</DT
><DT
><A
HREF="#FCBLANKSADD"
>FcBlanksAdd</A
>&nbsp;--&nbsp;Add a character to an FcBlanks</DT
><DT
><A
HREF="#FCBLANKSISMEMBER"
>FcBlanksIsMember</A
>&nbsp;--&nbsp;Query membership in an FcBlanks</DT
></DL
></DIV
><P
>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.
    </P
><H1
><A
NAME="FCBLANKSCREATE"
></A
>FcBlanksCreate</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2430"
></A
><H2
>Name</H2
>FcBlanksCreate&nbsp;--&nbsp;Create an FcBlanks</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2433"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2434"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBlanks * <TT
CLASS="FUNCTION"
>FcBlanksCreate</TT
></CODE
>(void<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2441"
></A
><H2
>Description</H2
><P
>Creates an empty FcBlanks object.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2444"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCBLANKSDESTROY"
></A
>FcBlanksDestroy</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2451"
></A
><H2
>Name</H2
>FcBlanksDestroy&nbsp;--&nbsp;Destroy and FcBlanks</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2454"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2455"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcBlanksDestroy</TT
></CODE
>(FcBlanks *<TT
CLASS="PARAMETER"
><I
>b</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2462"
></A
><H2
>Description</H2
><P
>Destroys an FcBlanks object, freeing any associated memory.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2465"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCBLANKSADD"
></A
>FcBlanksAdd</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2472"
></A
><H2
>Name</H2
>FcBlanksAdd&nbsp;--&nbsp;Add a character to an FcBlanks</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2475"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2476"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcBlanksAdd</TT
></CODE
>(FcBlanks *<TT
CLASS="PARAMETER"
><I
>b</I
></TT
>, FcChar32<TT
CLASS="PARAMETER"
><I
>ucs4</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2485"
></A
><H2
>Description</H2
><P
>Adds a single character to an FcBlanks object, returning FcFalse
if this process ran out of memory.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2488"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCBLANKSISMEMBER"
></A
>FcBlanksIsMember</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2495"
></A
><H2
>Name</H2
>FcBlanksIsMember&nbsp;--&nbsp;Query membership in an FcBlanks</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2498"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2499"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcBlanksIsMember</TT
></CODE
>(FcBlanks *<TT
CLASS="PARAMETER"
><I
>b</I
></TT
>, FcChar32<TT
CLASS="PARAMETER"
><I
>ucs4</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2508"
></A
><H2
>Description</H2
><P
>Returns whether the specified FcBlanks object contains the indicated Unicode
value.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2511"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2514"
>FcAtomic</A
></H3
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#FCATOMICCREATE"
>FcAtomicCreate</A
>&nbsp;--&nbsp;create an FcAtomic object</DT
><DT
><A
HREF="#FCATOMICLOCK"
>FcAtomicLock</A
>&nbsp;--&nbsp;lock a file</DT
><DT
><A
HREF="#FCATOMICNEWFILE"
>FcAtomicNewFile</A
>&nbsp;--&nbsp;return new temporary file name</DT
><DT
><A
HREF="#FCATOMICORIGFILE"
>FcAtomicOrigFile</A
>&nbsp;--&nbsp;return original file name</DT
><DT
><A
HREF="#FCATOMICREPLACEORIG"
>FcAtomicReplaceOrig</A
>&nbsp;--&nbsp;replace original with new</DT
><DT
><A
HREF="#FCATOMICDELETENEW"
>FcAtomicDeleteNew</A
>&nbsp;--&nbsp;delete new file</DT
><DT
><A
HREF="#FCATOMICUNLOCK"
>FcAtomicUnlock</A
>&nbsp;--&nbsp;unlock a file</DT
><DT
><A
HREF="#FCATOMICDESTROY"
>FcAtomicDestroy</A
>&nbsp;--&nbsp;destroy an FcAtomic object</DT
></DL
></DIV
><P
>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.
    </P
><H1
><A
NAME="FCATOMICCREATE"
></A
>FcAtomicCreate</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2521"
></A
><H2
>Name</H2
>FcAtomicCreate&nbsp;--&nbsp;create an FcAtomic object</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2524"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2525"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcAtomic * <TT
CLASS="FUNCTION"
>FcAtomicCreate</TT
></CODE
>(const FcChar8   *<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2532"
></A
><H2
>Description</H2
><P
>Creates a data structure containing data needed to control access to <TT
CLASS="PARAMETER"
><I
>file</I
></TT
>.
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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2536"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCATOMICLOCK"
></A
>FcAtomicLock</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2543"
></A
><H2
>Name</H2
>FcAtomicLock&nbsp;--&nbsp;lock a file</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2546"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2547"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcAtomicLock</TT
></CODE
>(FcAtomic *<TT
CLASS="PARAMETER"
><I
>atomic</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2554"
></A
><H2
>Description</H2
><P
>Attempts to lock the file referenced by <TT
CLASS="PARAMETER"
><I
>atomic</I
></TT
>.  Returns FcFalse if the
file is locked by another process, else returns FcTrue and leaves the file
locked.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2558"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCATOMICNEWFILE"
></A
>FcAtomicNewFile</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2565"
></A
><H2
>Name</H2
>FcAtomicNewFile&nbsp;--&nbsp;return new temporary file name</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2568"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2569"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcChar8 * <TT
CLASS="FUNCTION"
>FcAtomicNewFile</TT
></CODE
>(FcAtomic *<TT
CLASS="PARAMETER"
><I
>atomic</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2576"
></A
><H2
>Description</H2
><P
>Returns the filename for writing a new version of the file referenced
by <TT
CLASS="PARAMETER"
><I
>atomic</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2580"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCATOMICORIGFILE"
></A
>FcAtomicOrigFile</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2587"
></A
><H2
>Name</H2
>FcAtomicOrigFile&nbsp;--&nbsp;return original file name</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2590"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2591"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcChar8 * <TT
CLASS="FUNCTION"
>FcAtomicOrigFile</TT
></CODE
>(FcAtomic *<TT
CLASS="PARAMETER"
><I
>atomic</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2598"
></A
><H2
>Description</H2
><P
>Returns the file refernced by <TT
CLASS="PARAMETER"
><I
>atomic</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2602"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCATOMICREPLACEORIG"
></A
>FcAtomicReplaceOrig</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2609"
></A
><H2
>Name</H2
>FcAtomicReplaceOrig&nbsp;--&nbsp;replace original with new</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2612"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2613"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcAtomicReplaceOrig</TT
></CODE
>(FcAtomic *<TT
CLASS="PARAMETER"
><I
>atomic</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2620"
></A
><H2
>Description</H2
><P
>Replaces the original file referenced by <TT
CLASS="PARAMETER"
><I
>atomic</I
></TT
> with the new file.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2624"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCATOMICDELETENEW"
></A
>FcAtomicDeleteNew</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2631"
></A
><H2
>Name</H2
>FcAtomicDeleteNew&nbsp;--&nbsp;delete new file</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2634"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2635"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcAtomicDeleteNew</TT
></CODE
>(FcAtomic *<TT
CLASS="PARAMETER"
><I
>atomic</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2642"
></A
><H2
>Description</H2
><P
>Deletes the new file.  Used in error recovery to back out changes.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2645"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCATOMICUNLOCK"
></A
>FcAtomicUnlock</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2652"
></A
><H2
>Name</H2
>FcAtomicUnlock&nbsp;--&nbsp;unlock a file</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2655"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2656"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcAtomicUnlock</TT
></CODE
>(FcAtomic *<TT
CLASS="PARAMETER"
><I
>atomic</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2663"
></A
><H2
>Description</H2
><P
>Unlocks the file.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2666"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCATOMICDESTROY"
></A
>FcAtomicDestroy</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2673"
></A
><H2
>Name</H2
>FcAtomicDestroy&nbsp;--&nbsp;destroy an FcAtomic object</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2676"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2677"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcAtomicDestroy</TT
></CODE
>(FcAtomic *<TT
CLASS="PARAMETER"
><I
>atomic</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2684"
></A
><H2
>Description</H2
><P
>Destroys <TT
CLASS="PARAMETER"
><I
>atomic</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2688"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2691"
>File and Directory routines</A
></H3
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#FCFILESCAN"
>FcFileScan</A
>&nbsp;--&nbsp;scan a font file</DT
><DT
><A
HREF="#FCDIRSCAN"
>FcDirScan</A
>&nbsp;--&nbsp;scan a font directory</DT
><DT
><A
HREF="#FCDIRSAVE"
>FcDirSave</A
>&nbsp;--&nbsp;save a directory cache</DT
><DT
><A
HREF="#FCDIRCACHEVALID"
>FcDirCacheValid</A
>&nbsp;--&nbsp;check directory cache timestamp</DT
></DL
></DIV
><P
>These routines work with font files and directories, including font
directory cache files.
    </P
><H1
><A
NAME="FCFILESCAN"
></A
>FcFileScan</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2698"
></A
><H2
>Name</H2
>FcFileScan&nbsp;--&nbsp;scan a font file</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2701"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2702"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcFileScan</TT
></CODE
>(FcFontSet *<TT
CLASS="PARAMETER"
><I
>set</I
></TT
>, FcStrSet *<TT
CLASS="PARAMETER"
><I
>dirs</I
></TT
>, FcFileCache *<TT
CLASS="PARAMETER"
><I
>cache</I
></TT
>, FcBlanks *<TT
CLASS="PARAMETER"
><I
>blanks</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>, FcBool<TT
CLASS="PARAMETER"
><I
>force</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2719"
></A
><H2
>Description</H2
><P
>Scans a single file and adds all fonts found to <TT
CLASS="PARAMETER"
><I
>set</I
></TT
>.
If <TT
CLASS="PARAMETER"
><I
>force</I
></TT
> is FcTrue, then the file is scanned even if
associated information is found in <TT
CLASS="PARAMETER"
><I
>cache</I
></TT
>.  If
<TT
CLASS="PARAMETER"
><I
>file</I
></TT
> is a directory, it is added to
<TT
CLASS="PARAMETER"
><I
>dirs</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2727"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCDIRSCAN"
></A
>FcDirScan</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2734"
></A
><H2
>Name</H2
>FcDirScan&nbsp;--&nbsp;scan a font directory</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2737"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2738"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcDirScan</TT
></CODE
>(FcFontSet *<TT
CLASS="PARAMETER"
><I
>set</I
></TT
>, FcStrSet *<TT
CLASS="PARAMETER"
><I
>dirs</I
></TT
>, FcFileCache *<TT
CLASS="PARAMETER"
><I
>cache</I
></TT
>, FcBlanks *<TT
CLASS="PARAMETER"
><I
>blanks</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>dir</I
></TT
>, FcBool<TT
CLASS="PARAMETER"
><I
>force</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2755"
></A
><H2
>Description</H2
><P
>Scans an entire directory and adds all fonts found to
<TT
CLASS="PARAMETER"
><I
>set</I
></TT
>.  If <TT
CLASS="PARAMETER"
><I
>force</I
></TT
> is FcTrue, then
the directory and all files within it are scanned even if information is
present in the per-directory cache file or <TT
CLASS="PARAMETER"
><I
>cache</I
></TT
>.  Any
subdirectories found are added to <TT
CLASS="PARAMETER"
><I
>dirs</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2762"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCDIRSAVE"
></A
>FcDirSave</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2769"
></A
><H2
>Name</H2
>FcDirSave&nbsp;--&nbsp;save a directory cache</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2772"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2773"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcDirSave</TT
></CODE
>(FcFontSet *<TT
CLASS="PARAMETER"
><I
>set</I
></TT
>, FcStrSet *<TT
CLASS="PARAMETER"
><I
>dirs</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>dir</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2784"
></A
><H2
>Description</H2
><P
>Creates the per-directory cache file for <TT
CLASS="PARAMETER"
><I
>dir</I
></TT
> and
populates it with the fonts in <TT
CLASS="PARAMETER"
><I
>set</I
></TT
> and subdirectories
in <TT
CLASS="PARAMETER"
><I
>dirs</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2790"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCDIRCACHEVALID"
></A
>FcDirCacheValid</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2797"
></A
><H2
>Name</H2
>FcDirCacheValid&nbsp;--&nbsp;check directory cache timestamp</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2800"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2801"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcDirCacheValid</TT
></CODE
>(const FcChar8 *<TT
CLASS="PARAMETER"
><I
>cache_file</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2808"
></A
><H2
>Description</H2
><P
>Returns FcTrue if <TT
CLASS="PARAMETER"
><I
>cache_file</I
></TT
> is no older than the
directory containing it, else FcFalse.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2812"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN2815"
>FcStrSet and FcStrList</A
></H3
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#FCSTRSETCREATE"
>FcStrSetCreate</A
>&nbsp;--&nbsp;create a string set</DT
><DT
><A
HREF="#FCSTRSETMEMBER"
>FcStrSetMember</A
>&nbsp;--&nbsp;check set for membership</DT
><DT
><A
HREF="#FCSTRSETADD"
>FcStrSetAdd</A
>&nbsp;--&nbsp;add to a string set</DT
><DT
><A
HREF="#FCSTRSETADDFILENAME"
>FcStrSetAddFilename</A
>&nbsp;--&nbsp;add a filename to a string set</DT
><DT
><A
HREF="#FCSTRSETDEL"
>FcStrSetDel</A
>&nbsp;--&nbsp;delete from a string set</DT
><DT
><A
HREF="#FCSTRSETDESTROY"
>FcStrSetDestroy</A
>&nbsp;--&nbsp;destroy a string set</DT
><DT
><A
HREF="#FCSTRLISTCREATE"
>FcStrListCreate</A
>&nbsp;--&nbsp;create a string iterator</DT
><DT
><A
HREF="#FCSTRLISTNEXT"
>FcStrListNext</A
>&nbsp;--&nbsp;get next string in iteration</DT
><DT
><A
HREF="#FCSTRLISTDONE"
>FcStrListDone</A
>&nbsp;--&nbsp;destroy a string iterator</DT
></DL
></DIV
><P
>A data structure for enumerating strings, used to list directories while
scanning the configuration as directories are added while scanning.
    </P
><H1
><A
NAME="FCSTRSETCREATE"
></A
>FcStrSetCreate</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2822"
></A
><H2
>Name</H2
>FcStrSetCreate&nbsp;--&nbsp;create a string set</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2825"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2826"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcStrSet * <TT
CLASS="FUNCTION"
>FcStrSetCreate</TT
></CODE
>(void<TT
CLASS="PARAMETER"
><I
></I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2833"
></A
><H2
>Description</H2
><P
>Create an empty set.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2836"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCSTRSETMEMBER"
></A
>FcStrSetMember</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2843"
></A
><H2
>Name</H2
>FcStrSetMember&nbsp;--&nbsp;check set for membership</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2846"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2847"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcStrSetMember</TT
></CODE
>(FcStrSet *<TT
CLASS="PARAMETER"
><I
>set</I
></TT
>, const FcChar8 *<TT
CLASS="PARAMETER"
><I
>s</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2856"
></A
><H2
>Description</H2
><P
>Returns whether <TT
CLASS="PARAMETER"
><I
>s</I
></TT
> is a member of
<TT
CLASS="PARAMETER"
><I
>set</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2861"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCSTRSETADD"
></A
>FcStrSetAdd</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2868"
></A
><H2
>Name</H2
>FcStrSetAdd&nbsp;--&nbsp;add to a string set</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2871"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2872"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcStrSetAdd</TT
></CODE
>(FcStrSet *<TT
CLASS="PARAMETER"
><I
>set</I
></TT
>, const FcChar8 *<TT
CLASS="PARAMETER"
><I
>s</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2881"
></A
><H2
>Description</H2
><P
>Adds a copy of <TT
CLASS="PARAMETER"
><I
>s</I
></TT
> to <TT
CLASS="PARAMETER"
><I
>set</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2886"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCSTRSETADDFILENAME"
></A
>FcStrSetAddFilename</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2893"
></A
><H2
>Name</H2
>FcStrSetAddFilename&nbsp;--&nbsp;add a filename to a string set</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2896"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2897"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcStrSetAddFilename</TT
></CODE
>(FcStrSet *<TT
CLASS="PARAMETER"
><I
>set</I
></TT
>, const FcChar8 *<TT
CLASS="PARAMETER"
><I
>s</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2906"
></A
><H2
>Description</H2
><P
>Adds a copy <TT
CLASS="PARAMETER"
><I
>s</I
></TT
> to <TT
CLASS="PARAMETER"
><I
>set</I
></TT
>, The copy
is created with FcStrCopyFilename so that leading '~' values are replaced
with the value of the HOME environment variable.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2911"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCSTRSETDEL"
></A
>FcStrSetDel</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2918"
></A
><H2
>Name</H2
>FcStrSetDel&nbsp;--&nbsp;delete from a string set</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2921"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2922"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcStrSetDel</TT
></CODE
>(FcStrSet *<TT
CLASS="PARAMETER"
><I
>set</I
></TT
>, const FcChar8 *<TT
CLASS="PARAMETER"
><I
>s</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2931"
></A
><H2
>Description</H2
><P
>Removes <TT
CLASS="PARAMETER"
><I
>s</I
></TT
> from <TT
CLASS="PARAMETER"
><I
>set</I
></TT
>, returning
FcTrue if <TT
CLASS="PARAMETER"
><I
>s</I
></TT
> was a member else FcFalse.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2937"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCSTRSETDESTROY"
></A
>FcStrSetDestroy</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2944"
></A
><H2
>Name</H2
>FcStrSetDestroy&nbsp;--&nbsp;destroy a string set</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2947"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2948"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcStrSetDestroy</TT
></CODE
>(FcStrSet *<TT
CLASS="PARAMETER"
><I
>set</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2955"
></A
><H2
>Description</H2
><P
>Destroys <TT
CLASS="PARAMETER"
><I
>set</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2959"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCSTRLISTCREATE"
></A
>FcStrListCreate</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2966"
></A
><H2
>Name</H2
>FcStrListCreate&nbsp;--&nbsp;create a string iterator</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2969"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2970"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcStrList * <TT
CLASS="FUNCTION"
>FcStrListCreate</TT
></CODE
>(FcStrSet *<TT
CLASS="PARAMETER"
><I
>set</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2977"
></A
><H2
>Description</H2
><P
>Creates an iterator to list the strings in <TT
CLASS="PARAMETER"
><I
>set</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2981"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCSTRLISTNEXT"
></A
>FcStrListNext</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2988"
></A
><H2
>Name</H2
>FcStrListNext&nbsp;--&nbsp;get next string in iteration</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2991"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN2992"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcChar8 * <TT
CLASS="FUNCTION"
>FcStrListNext</TT
></CODE
>(FcStrList *<TT
CLASS="PARAMETER"
><I
>list</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2999"
></A
><H2
>Description</H2
><P
>Returns the next string in <TT
CLASS="PARAMETER"
><I
>set</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3003"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCSTRLISTDONE"
></A
>FcStrListDone</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3010"
></A
><H2
>Name</H2
>FcStrListDone&nbsp;--&nbsp;destroy a string iterator</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3013"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN3014"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <TT
CLASS="FUNCTION"
>FcStrListDone</TT
></CODE
>(FcStrList *<TT
CLASS="PARAMETER"
><I
>list</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3021"
></A
><H2
>Description</H2
><P
>Destroys the enumerator <TT
CLASS="PARAMETER"
><I
>list</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3025"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><HR><H3
CLASS="SECT2"
><A
NAME="AEN3028"
>String utilities</A
></H3
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#FCUTF8TOUCS4"
>FcUtf8ToUcs4</A
>&nbsp;--&nbsp;convert UTF-8 to UCS4</DT
><DT
><A
HREF="#FCUCS4TOUTF8"
>FcUcs4ToUtf8</A
>&nbsp;--&nbsp;convert UCS4 to UTF-8</DT
><DT
><A
HREF="#FCUTF8LEN"
>FcUtf8Len</A
>&nbsp;--&nbsp;count UTF-8 encoded chars</DT
><DT
><A
HREF="#FCUTF16TOUCS4"
>FcUtf16ToUcs4</A
>&nbsp;--&nbsp;convert UTF-16 to UCS4</DT
><DT
><A
HREF="#FCUTF16LEN"
>FcUtf16Len</A
>&nbsp;--&nbsp;count UTF-16 encoded chars</DT
><DT
><A
HREF="#FCSTRCOPY"
>FcStrCopy</A
>&nbsp;--&nbsp;duplicate a string</DT
><DT
><A
HREF="#FCSTRDOWNCASE"
>FcStrDowncase</A
>&nbsp;--&nbsp;create a lower case translation of a string</DT
><DT
><A
HREF="#FCSTRCOPYFILENAME"
>FcStrCopyFilename</A
>&nbsp;--&nbsp;copy a string, expanding '~'</DT
><DT
><A
HREF="#FCSTRCMPIGNORECASE"
>FcStrCmpIgnoreCase</A
>&nbsp;--&nbsp;compare UTF-8 strings ignoring ASCII case</DT
><DT
><A
HREF="#FCSTRSTR"
>FcStrStr</A
>&nbsp;--&nbsp;locate UTF-8 substring</DT
><DT
><A
HREF="#FCSTRSTRIGNORECASE"
>FcStrStrIgnoreCase</A
>&nbsp;--&nbsp;locate UTF-8 substring ignoring ASCII case</DT
><DT
><A
HREF="#FCSTRDIRNAME"
>FcStrDirname</A
>&nbsp;--&nbsp;directory part of filename</DT
><DT
><A
HREF="#FCSTRBASENAME"
>FcStrBasename</A
>&nbsp;--&nbsp;last component of filename</DT
></DL
></DIV
><P
>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.
    </P
><H1
><A
NAME="FCUTF8TOUCS4"
></A
>FcUtf8ToUcs4</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3035"
></A
><H2
>Name</H2
>FcUtf8ToUcs4&nbsp;--&nbsp;convert UTF-8 to UCS4</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3038"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN3039"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>int <TT
CLASS="FUNCTION"
>FcUtf8ToUcs4</TT
></CODE
>(FcChar8 *<TT
CLASS="PARAMETER"
><I
>src</I
></TT
>, FcChar32 *<TT
CLASS="PARAMETER"
><I
>dst</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>len</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3050"
></A
><H2
>Description</H2
><P
>Converts the next Unicode char from <TT
CLASS="PARAMETER"
><I
>src</I
></TT
> into
<TT
CLASS="PARAMETER"
><I
>dst</I
></TT
> and returns the number of bytes containing the
char.  <TT
CLASS="PARAMETER"
><I
>src</I
></TT
> nust be at least
<TT
CLASS="PARAMETER"
><I
>len</I
></TT
> bytes long.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3057"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCUCS4TOUTF8"
></A
>FcUcs4ToUtf8</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3064"
></A
><H2
>Name</H2
>FcUcs4ToUtf8&nbsp;--&nbsp;convert UCS4 to UTF-8</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3067"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN3068"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>int <TT
CLASS="FUNCTION"
>FcUcs4ToUtf8</TT
></CODE
>(FcChar32<TT
CLASS="PARAMETER"
><I
>src</I
></TT
>, FcChar8<TT
CLASS="PARAMETER"
><I
>dst[FC_UTF8_MAX_LEN]</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3077"
></A
><H2
>Description</H2
><P
>Converts the Unicode char from <TT
CLASS="PARAMETER"
><I
>src</I
></TT
> into
<TT
CLASS="PARAMETER"
><I
>dst</I
></TT
> and returns the number of bytes needed to encode
the char.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3082"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCUTF8LEN"
></A
>FcUtf8Len</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3089"
></A
><H2
>Name</H2
>FcUtf8Len&nbsp;--&nbsp;count UTF-8 encoded chars</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3092"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN3093"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcUtf8Len</TT
></CODE
>(FcChar8 *<TT
CLASS="PARAMETER"
><I
>src</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>len</I
></TT
>, int *<TT
CLASS="PARAMETER"
><I
>nchar</I
></TT
>, int *<TT
CLASS="PARAMETER"
><I
>wchar</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3106"
></A
><H2
>Description</H2
><P
>Counts the number of Unicode chars in <TT
CLASS="PARAMETER"
><I
>len</I
></TT
> bytes of
<TT
CLASS="PARAMETER"
><I
>src</I
></TT
>.  Places that count in
<TT
CLASS="PARAMETER"
><I
>nchar</I
></TT
>.  <TT
CLASS="PARAMETER"
><I
>wchar</I
></TT
> contains 1, 2 or
4 depending on the number of bytes needed to hold the largest unicode char
counted.  The return value indicates whether <TT
CLASS="PARAMETER"
><I
>src</I
></TT
> is a
well-formed UTF8 string.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3114"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCUTF16TOUCS4"
></A
>FcUtf16ToUcs4</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3121"
></A
><H2
>Name</H2
>FcUtf16ToUcs4&nbsp;--&nbsp;convert UTF-16 to UCS4</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3124"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN3125"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>int <TT
CLASS="FUNCTION"
>FcUtf16ToUcs4</TT
></CODE
>(FcChar8 *<TT
CLASS="PARAMETER"
><I
>src</I
></TT
>, FcEndian<TT
CLASS="PARAMETER"
><I
>endian</I
></TT
>, FcChar32 *<TT
CLASS="PARAMETER"
><I
>dst</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>len</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3138"
></A
><H2
>Description</H2
><P
>Converts the next Unicode char from <TT
CLASS="PARAMETER"
><I
>src</I
></TT
> into
<TT
CLASS="PARAMETER"
><I
>dst</I
></TT
> and returns the number of bytes containing the
char. <TT
CLASS="PARAMETER"
><I
>src</I
></TT
> must be at least <TT
CLASS="PARAMETER"
><I
>len</I
></TT
>
bytes long.  Bytes of <TT
CLASS="PARAMETER"
><I
>src</I
></TT
> are combined into 16-bit
units according to <TT
CLASS="PARAMETER"
><I
>endian</I
></TT
>.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3147"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCUTF16LEN"
></A
>FcUtf16Len</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3154"
></A
><H2
>Name</H2
>FcUtf16Len&nbsp;--&nbsp;count UTF-16 encoded chars</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3157"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN3158"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcBool <TT
CLASS="FUNCTION"
>FcUtf16Len</TT
></CODE
>(FcChar8 *<TT
CLASS="PARAMETER"
><I
>src</I
></TT
>, FcEndian<TT
CLASS="PARAMETER"
><I
>endian</I
></TT
>, int<TT
CLASS="PARAMETER"
><I
>len</I
></TT
>, int *<TT
CLASS="PARAMETER"
><I
>nchar</I
></TT
>, int *<TT
CLASS="PARAMETER"
><I
>wchar</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3173"
></A
><H2
>Description</H2
><P
>Counts the number of Unicode chars in <TT
CLASS="PARAMETER"
><I
>len</I
></TT
> bytes of
<TT
CLASS="PARAMETER"
><I
>src</I
></TT
>.  Bytes of <TT
CLASS="PARAMETER"
><I
>src</I
></TT
> are
combined into 16-bit units according to <TT
CLASS="PARAMETER"
><I
>endian</I
></TT
>.
Places that count in <TT
CLASS="PARAMETER"
><I
>nchar</I
></TT
>.
<TT
CLASS="PARAMETER"
><I
>wchar</I
></TT
> contains 1, 2 or 4 depending on the number of
bytes needed to hold the largest unicode char counted.  The return value
indicates whether <TT
CLASS="PARAMETER"
><I
>string</I
></TT
> is a well-formed UTF16
string.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3183"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCSTRCOPY"
></A
>FcStrCopy</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3190"
></A
><H2
>Name</H2
>FcStrCopy&nbsp;--&nbsp;duplicate a string</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3193"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN3194"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcChar8 * <TT
CLASS="FUNCTION"
>FcStrCopy</TT
></CODE
>(const FcChar8 *<TT
CLASS="PARAMETER"
><I
>s</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3201"
></A
><H2
>Description</H2
><P
>Allocates memory, copies <TT
CLASS="PARAMETER"
><I
>s</I
></TT
> and returns the resulting
buffer.  Yes, this is <TT
CLASS="FUNCTION"
>strdup</TT
>, but that function isn't
available on every platform.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3206"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCSTRDOWNCASE"
></A
>FcStrDowncase</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3213"
></A
><H2
>Name</H2
>FcStrDowncase&nbsp;--&nbsp;create a lower case translation of a string</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3216"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN3217"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcChar8 * <TT
CLASS="FUNCTION"
>FcStrDowncase</TT
></CODE
>(const FcChar8 *<TT
CLASS="PARAMETER"
><I
>s</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3224"
></A
><H2
>Description</H2
><P
>Allocates memory, copies <TT
CLASS="PARAMETER"
><I
>s</I
></TT
>, converting upper case
letters to lower case and returns the allocated buffer.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3228"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCSTRCOPYFILENAME"
></A
>FcStrCopyFilename</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3235"
></A
><H2
>Name</H2
>FcStrCopyFilename&nbsp;--&nbsp;copy a string, expanding '~'</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3238"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN3239"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcChar8 * <TT
CLASS="FUNCTION"
>FcStrCopyFilename</TT
></CODE
>(const FcChar8 *<TT
CLASS="PARAMETER"
><I
>s</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3246"
></A
><H2
>Description</H2
><P
>Just like FcStrCopy except that it converts any leading '~' characters in
<TT
CLASS="PARAMETER"
><I
>s</I
></TT
> to the value of the HOME environment variable.
Returns NULL if '~' is present in <TT
CLASS="PARAMETER"
><I
>s</I
></TT
> and HOME is unset.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3251"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCSTRCMPIGNORECASE"
></A
>FcStrCmpIgnoreCase</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3258"
></A
><H2
>Name</H2
>FcStrCmpIgnoreCase&nbsp;--&nbsp;compare UTF-8 strings ignoring ASCII case</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3261"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN3262"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>int <TT
CLASS="FUNCTION"
>FcStrCmpIgnoreCase</TT
></CODE
>(const FcChar8 *<TT
CLASS="PARAMETER"
><I
>s1</I
></TT
>, const FcChar8 *<TT
CLASS="PARAMETER"
><I
>s2</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3271"
></A
><H2
>Description</H2
><P
>Returns the usual &#60;0, 0, &#62;0 result of comparing
<TT
CLASS="PARAMETER"
><I
>s1</I
></TT
> and <TT
CLASS="PARAMETER"
><I
>s2</I
></TT
>.  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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3276"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCSTRSTR"
></A
>FcStrStr</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3283"
></A
><H2
>Name</H2
>FcStrStr&nbsp;--&nbsp;locate UTF-8 substring</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3286"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN3287"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcChar8 * <TT
CLASS="FUNCTION"
>FcStrStr</TT
></CODE
>(const char *<TT
CLASS="PARAMETER"
><I
>s1</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>s2</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3296"
></A
><H2
>Description</H2
><P
>Returns the location of <TT
CLASS="PARAMETER"
><I
>s2</I
></TT
> in
<TT
CLASS="PARAMETER"
><I
>s1</I
></TT
>.  Returns NULL if <TT
CLASS="PARAMETER"
><I
>s2</I
></TT
>
is not present in <TT
CLASS="PARAMETER"
><I
>s1</I
></TT
>. This test will operate properly
with UTF8 encoded strings, although it does not check for well formed
strings.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3303"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCSTRSTRIGNORECASE"
></A
>FcStrStrIgnoreCase</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3310"
></A
><H2
>Name</H2
>FcStrStrIgnoreCase&nbsp;--&nbsp;locate UTF-8 substring ignoring ASCII case</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3313"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN3314"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcChar8 * <TT
CLASS="FUNCTION"
>FcStrStrIgnoreCase</TT
></CODE
>(const char *<TT
CLASS="PARAMETER"
><I
>s1</I
></TT
>, const char *<TT
CLASS="PARAMETER"
><I
>s2</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3323"
></A
><H2
>Description</H2
><P
>Returns the location of <TT
CLASS="PARAMETER"
><I
>s2</I
></TT
> in 
<TT
CLASS="PARAMETER"
><I
>s1</I
></TT
>, ignoring ASCII case.  Returns NULL if
<TT
CLASS="PARAMETER"
><I
>s2</I
></TT
> is not present in <TT
CLASS="PARAMETER"
><I
>s1</I
></TT
>.
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.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3330"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCSTRDIRNAME"
></A
>FcStrDirname</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3337"
></A
><H2
>Name</H2
>FcStrDirname&nbsp;--&nbsp;directory part of filename</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3340"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN3341"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcChar8 * <TT
CLASS="FUNCTION"
>FcStrDirname</TT
></CODE
>(const FcChar8 *<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3348"
></A
><H2
>Description</H2
><P
>Returns the directory containing <TT
CLASS="PARAMETER"
><I
>file</I
></TT
>.  This
is returned in newly allocated storage which should be freed when no longer
needed.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3352"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
><H1
><A
NAME="FCSTRBASENAME"
></A
>FcStrBasename</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN3359"
></A
><H2
>Name</H2
>FcStrBasename&nbsp;--&nbsp;last component of filename</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN3362"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN3363"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &#60;fontconfig.h&#62;
	</PRE
></TD
></TR
></TABLE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>FcChar8 * <TT
CLASS="FUNCTION"
>FcStrBasename</TT
></CODE
>(const FcChar8 *<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3370"
></A
><H2
>Description</H2
><P
>Returns the filename of <TT
CLASS="PARAMETER"
><I
>file</I
></TT
> stripped of any leading
directory names.  This is returned in newly allocated storage which should
be freed when no longer needed.
	    </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3374"
></A
><H2
>Version</H2
><P
>Fontconfig version 2.3.2

	    </P
></DIV
></DIV
></DIV
></DIV
></BODY
></HTML
>
