fontconfig-devel.txt revision ca08ab68
1ca08ab68Smrg                Fontconfig Developers Reference, Version 2.10.2
22c393a42Smrg
3ca08ab68Smrg   Copyright © 2002 Keith Packard
42c393a42Smrg
5ca08ab68Smrg   Permission to use, copy, modify, distribute, and sell this software and
6ca08ab68Smrg   its documentation for any purpose is hereby granted without fee, provided
7ca08ab68Smrg   that the above copyright notice appear in all copies and that both that
8ca08ab68Smrg   copyright notice and this permission notice appear in supporting
9ca08ab68Smrg   documentation, and that the name of the author(s) not be used in
10ca08ab68Smrg   advertising or publicity pertaining to distribution of the software
11ca08ab68Smrg   without specific, written prior permission. The authors make no
12ca08ab68Smrg   representations about the suitability of this software for any purpose. It
13ca08ab68Smrg   is provided "as is" without express or implied warranty.
142c393a42Smrg
15ca08ab68Smrg   THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
16ca08ab68Smrg   INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
17ca08ab68Smrg   EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
18ca08ab68Smrg   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
19ca08ab68Smrg   USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
20ca08ab68Smrg   OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
21ca08ab68Smrg   PERFORMANCE OF THIS SOFTWARE.
222c393a42Smrg
23ca08ab68Smrg            -------------------------------------------------------
242c393a42Smrg
25ca08ab68Smrg   Table of Contents
26ca08ab68Smrg
27ca08ab68Smrg   [1]DESCRIPTION
28ca08ab68Smrg
29ca08ab68Smrg   [2]FUNCTIONAL OVERVIEW
30ca08ab68Smrg
31ca08ab68Smrg   [3]Datatypes
32ca08ab68Smrg
33ca08ab68Smrg   [4]FUNCTIONS
342c393a42Smrg
35a6844aabSmrgDESCRIPTION
362c393a42Smrg
37ca08ab68Smrg   Fontconfig is a library designed to provide system-wide font
38ca08ab68Smrg   configuration, customization and application access.
392c393a42Smrg
40ca08ab68Smrg   --------------------------------------------------------------------------
412c393a42Smrg
42a6844aabSmrgFUNCTIONAL OVERVIEW
43a6844aabSmrg
44ca08ab68Smrg   Fontconfig contains two essential modules, the configuration module which
45ca08ab68Smrg   builds an internal configuration from XML files and the matching module
46ca08ab68Smrg   which accepts font patterns and returns the nearest matching font.
47a6844aabSmrg
48ca08ab68Smrg   --------------------------------------------------------------------------
49a6844aabSmrg
50ca08ab68Smrg  FONT CONFIGURATION
51a6844aabSmrg
52ca08ab68Smrg   The configuration module consists of the FcConfig datatype, libexpat and
53ca08ab68Smrg   FcConfigParse which walks over an XML tree and amends a configuration with
54ca08ab68Smrg   data found within. From an external perspective, configuration of the
55ca08ab68Smrg   library consists of generating a valid XML tree and feeding that to
56ca08ab68Smrg   FcConfigParse. The only other mechanism provided to applications for
57ca08ab68Smrg   changing the running configuration is to add fonts and directories to the
58ca08ab68Smrg   list of application-provided font files.
59a6844aabSmrg
60ca08ab68Smrg   The intent is to make font configurations relatively static, and shared by
61ca08ab68Smrg   as many applications as possible. It is hoped that this will lead to more
62ca08ab68Smrg   stable font selection when passing names from one application to another.
63ca08ab68Smrg   XML was chosen as a configuration file format because it provides a format
64ca08ab68Smrg   which is easy for external agents to edit while retaining the correct
65ca08ab68Smrg   structure and syntax.
66a6844aabSmrg
67ca08ab68Smrg   Font configuration is separate from font matching; applications needing to
68ca08ab68Smrg   do their own matching can access the available fonts from the library and
69ca08ab68Smrg   perform private matching. The intent is to permit applications to pick and
70ca08ab68Smrg   choose appropriate functionality from the library instead of forcing them
71ca08ab68Smrg   to choose between this library and a private configuration mechanism. The
72ca08ab68Smrg   hope is that this will ensure that configuration of fonts for all
73ca08ab68Smrg   applications can be centralized in one place. Centralizing font
74ca08ab68Smrg   configuration will simplify and regularize font installation and
75ca08ab68Smrg   customization.
76a6844aabSmrg
77ca08ab68Smrg   --------------------------------------------------------------------------
78a6844aabSmrg
79ca08ab68Smrg  FONT PROPERTIES
80a6844aabSmrg
81ca08ab68Smrg   While font patterns may contain essentially any properties, there are some
82ca08ab68Smrg   well known properties with associated types. Fontconfig uses some of these
83ca08ab68Smrg   properties for font matching and font completion. Others are provided as a
84ca08ab68Smrg   convenience for the application's rendering mechanism.
852c393a42Smrg
862c393a42Smrg                 Property Definitions
872c393a42Smrg
88ca08ab68Smrg    Property       C Preprocessor Symbol  Type    Description
892c393a42Smrg    ----------------------------------------------------
90ca08ab68Smrg    family         FC_FAMILY              String  Font family names
91ca08ab68Smrg    familylang     FC_FAMILYLANG          String  Language corresponding to
92ca08ab68Smrg                                                  each family name
93ca08ab68Smrg    style          FC_STYLE               String  Font style. Overrides weight
94ca08ab68Smrg                                                  and slant
95ca08ab68Smrg    stylelang      FC_STYLELANG           String  Language corresponding to
96ca08ab68Smrg                                                  each style name
97ca08ab68Smrg    fullname       FC_FULLNAME            String  Font face full name where
98ca08ab68Smrg                                                  different from family and
99ca08ab68Smrg                                                  family + style
100ca08ab68Smrg    fullnamelang   FC_FULLNAMELANG        String  Language corresponding to
101ca08ab68Smrg                                                  each fullname
102ca08ab68Smrg    slant          FC_SLANT               Int     Italic, oblique or roman
103ca08ab68Smrg    weight         FC_WEIGHT              Int     Light, medium, demibold,
104ca08ab68Smrg                                                  bold or black
105ca08ab68Smrg    size           FC_SIZE                Double  Point size
106ca08ab68Smrg    width          FC_WIDTH               Int     Condensed, normal or expanded
107ca08ab68Smrg    aspect         FC_ASPECT              Double  Stretches glyphs horizontally
108ca08ab68Smrg                                                  before hinting
109ca08ab68Smrg    pixelsize      FC_PIXEL_SIZE          Double  Pixel size
110ca08ab68Smrg    spacing        FC_SPACING             Int     Proportional, dual-width,
111ca08ab68Smrg                                                  monospace or charcell
112ca08ab68Smrg    foundry        FC_FOUNDRY             String  Font foundry name
113ca08ab68Smrg    antialias      FC_ANTIALIAS           Bool    Whether glyphs can be
114ca08ab68Smrg                                                  antialiased
115ca08ab68Smrg    hinting        FC_HINTING             Bool    Whether the rasterizer should
116ca08ab68Smrg                                                  use hinting
117ca08ab68Smrg    hintstyle      FC_HINT_STYLE          Int     Automatic hinting style
118ca08ab68Smrg    verticallayout FC_VERTICAL_LAYOUT     Bool    Use vertical layout
119ca08ab68Smrg    autohint       FC_AUTOHINT            Bool    Use autohinter instead of
120ca08ab68Smrg                                                  normal hinter
121ca08ab68Smrg    globaladvance  FC_GLOBAL_ADVANCE      Bool    Use font global advance data (deprecated)
122ca08ab68Smrg    file           FC_FILE                String  The filename holding the font
123ca08ab68Smrg    index          FC_INDEX               Int     The index of the font within
124ca08ab68Smrg                                                  the file
125ca08ab68Smrg    ftface         FC_FT_FACE             FT_Face Use the specified FreeType
126ca08ab68Smrg                                                  face object
127ca08ab68Smrg    rasterizer     FC_RASTERIZER          String  Which rasterizer is in use
128ca08ab68Smrg    outline        FC_OUTLINE             Bool    Whether the glyphs are outlines
129ca08ab68Smrg    scalable       FC_SCALABLE            Bool    Whether glyphs can be scaled
130ca08ab68Smrg    scale          FC_SCALE               Double  Scale factor for point->pixel
131ca08ab68Smrg                                                  conversions
132ca08ab68Smrg    dpi            FC_DPI                 Double  Target dots per inch
133ca08ab68Smrg    rgba           FC_RGBA                Int     unknown, rgb, bgr, vrgb,
134ca08ab68Smrg                                                  vbgr, none - subpixel geometry
135ca08ab68Smrg    lcdfilter      FC_LCD_FILTER          Int     Type of LCD filter
136ca08ab68Smrg    minspace       FC_MINSPACE            Bool    Eliminate leading from line
137ca08ab68Smrg                                                  spacing
138ca08ab68Smrg    charset        FC_CHARSET             CharSet Unicode chars encoded by
139ca08ab68Smrg                                                  the font
140ca08ab68Smrg    lang           FC_LANG                LangSet Set of RFC-3066-style
141ca08ab68Smrg                                                  languages this font supports
142ca08ab68Smrg    fontversion    FC_FONTVERSION         Int     Version number of the font
143ca08ab68Smrg    capability     FC_CAPABILITY          String  List of layout capabilities in
144ca08ab68Smrg                                                  the font
145ca08ab68Smrg    embolden       FC_EMBOLDEN            Bool    Rasterizer should
146ca08ab68Smrg                                                  synthetically embolden the font
147ca08ab68Smrg    namelang       FC_NAMELANG            String  Language name to be used for the
148ca08ab68Smrg                                                  default value of familylang,
149ca08ab68Smrg                                                  stylelang and fullnamelang
150ca08ab68Smrg
151ca08ab68Smrg
152ca08ab68Smrg   --------------------------------------------------------------------------
153a6844aabSmrg
154a6844aabSmrgDatatypes
1552c393a42Smrg
156ca08ab68Smrg   Fontconfig uses abstract data types to hide internal implementation
157ca08ab68Smrg   details for most data structures. A few structures are exposed where
158ca08ab68Smrg   appropriate.
1592c393a42Smrg
160ca08ab68Smrg   --------------------------------------------------------------------------
1612c393a42Smrg
162ca08ab68Smrg  FcChar8, FcChar16, FcChar32, FcBool
1632c393a42Smrg
164ca08ab68Smrg   These are primitive data types; the FcChar* types hold precisely the
165ca08ab68Smrg   number of bits stated (if supported by the C implementation). FcBool holds
166ca08ab68Smrg   one of two C preprocessor symbols: FcFalse or FcTrue.
1672c393a42Smrg
168ca08ab68Smrg   --------------------------------------------------------------------------
169a6844aabSmrg
170ca08ab68Smrg  FcMatrix
171a6844aabSmrg
172ca08ab68Smrg   An FcMatrix holds an affine transformation, usually used to reshape
173ca08ab68Smrg   glyphs. A small set of matrix operations are provided to manipulate these.
1742c393a42Smrg
175ca08ab68Smrg           typedef struct _FcMatrix {
176ca08ab68Smrg                   double xx, xy, yx, yy;
177ca08ab68Smrg           } FcMatrix;
1782c393a42Smrg
1792c393a42Smrg
180ca08ab68Smrg   --------------------------------------------------------------------------
181a6844aabSmrg
182ca08ab68Smrg  FcCharSet
183a6844aabSmrg
184ca08ab68Smrg   An FcCharSet is an abstract type that holds the set of encoded Unicode
185ca08ab68Smrg   chars in a font. Operations to build and compare these sets are provided.
186a6844aabSmrg
187ca08ab68Smrg   --------------------------------------------------------------------------
188a6844aabSmrg
189ca08ab68Smrg  FcLangSet
1902c393a42Smrg
191ca08ab68Smrg   An FcLangSet is an abstract type that holds the set of languages supported
192ca08ab68Smrg   by a font. Operations to build and compare these sets are provided. These
193ca08ab68Smrg   are computed for a font based on orthographic information built into the
194ca08ab68Smrg   fontconfig library. Fontconfig has orthographies for all of the ISO 639-1
195ca08ab68Smrg   languages except for MS, NA, PA, PS, QU, RN, RW, SD, SG, SN, SU and ZA. If
196ca08ab68Smrg   you have orthographic information for any of these languages, please
197ca08ab68Smrg   submit them.
1982c393a42Smrg
199ca08ab68Smrg   --------------------------------------------------------------------------
2002c393a42Smrg
201ca08ab68Smrg  FcLangResult
2022c393a42Smrg
203ca08ab68Smrg   An FcLangResult is an enumeration used to return the results of comparing
204ca08ab68Smrg   two language strings or FcLangSet objects. FcLangEqual means the objects
205ca08ab68Smrg   match language and territory. FcLangDifferentTerritory means the objects
206ca08ab68Smrg   match in language but differ in territory. FcLangDifferentLang means the
207ca08ab68Smrg   objects differ in language.
2082c393a42Smrg
209ca08ab68Smrg   --------------------------------------------------------------------------
2102c393a42Smrg
211ca08ab68Smrg  FcType
2122c393a42Smrg
213ca08ab68Smrg   Tags the kind of data stored in an FcValue.
214a6844aabSmrg
215ca08ab68Smrg   --------------------------------------------------------------------------
216a6844aabSmrg
217ca08ab68Smrg  FcValue
218a6844aabSmrg
219ca08ab68Smrg   An FcValue object holds a single value with one of a number of different
220ca08ab68Smrg   types. The 'type' tag indicates which member is valid.
2212c393a42Smrg
222ca08ab68Smrg           typedef struct _FcValue {
223ca08ab68Smrg                   FcType type;
224ca08ab68Smrg                   union {
225ca08ab68Smrg                           const FcChar8 *s;
226ca08ab68Smrg                           int i;
227ca08ab68Smrg                           FcBool b;
228ca08ab68Smrg                           double d;
229ca08ab68Smrg                           const FcMatrix *m;
230ca08ab68Smrg                           const FcCharSet *c;
231ca08ab68Smrg                           void *f;
232ca08ab68Smrg                           const FcLangSet *l;
233ca08ab68Smrg                   } u;
234ca08ab68Smrg           } FcValue;
2352c393a42Smrg
236a6844aabSmrg
237ca08ab68Smrg                     FcValue Members
2382c393a42Smrg
239ca08ab68Smrg           Type            Union member    Datatype
240ca08ab68Smrg           --------------------------------
241ca08ab68Smrg           FcTypeVoid      (none)          (none)
242ca08ab68Smrg           FcTypeInteger   i               int
243ca08ab68Smrg           FcTypeDouble    d               double
244ca08ab68Smrg           FcTypeString    s               FcChar8 *
245ca08ab68Smrg           FcTypeBool      b               b
246ca08ab68Smrg           FcTypeMatrix    m               FcMatrix *
247ca08ab68Smrg           FcTypeCharSet   c               FcCharSet *
248ca08ab68Smrg           FcTypeFTFace    f               void * (FT_Face)
249ca08ab68Smrg           FcTypeLangSet   l               FcLangSet *
2502c393a42Smrg
2512c393a42Smrg
252ca08ab68Smrg   --------------------------------------------------------------------------
253a6844aabSmrg
254ca08ab68Smrg  FcPattern
2552c393a42Smrg
256ca08ab68Smrg   holds a set of names with associated value lists; each name refers to a
257ca08ab68Smrg   property of a font. FcPatterns are used as inputs to the matching code as
258ca08ab68Smrg   well as holding information about specific fonts. Each property can hold
259ca08ab68Smrg   one or more values; conventionally all of the same type, although the
260ca08ab68Smrg   interface doesn't demand that.
261a6844aabSmrg
262ca08ab68Smrg   --------------------------------------------------------------------------
263a6844aabSmrg
264ca08ab68Smrg  FcFontSet
2652c393a42Smrg
266ca08ab68Smrg           typedef struct _FcFontSet {
267ca08ab68Smrg                   int nfont;
268ca08ab68Smrg                   int sfont;
269ca08ab68Smrg                   FcPattern **fonts;
270ca08ab68Smrg           } FcFontSet;
2712c393a42Smrg
2722c393a42Smrg
273ca08ab68Smrg   An FcFontSet contains a list of FcPatterns. Internally fontconfig uses
274ca08ab68Smrg   this data structure to hold sets of fonts. Externally, fontconfig returns
275ca08ab68Smrg   the results of listing fonts in this format. 'nfont' holds the number of
276ca08ab68Smrg   patterns in the 'fonts' array; 'sfont' is used to indicate the size of
277ca08ab68Smrg   that array.
278a6844aabSmrg
279ca08ab68Smrg   --------------------------------------------------------------------------
2802c393a42Smrg
281ca08ab68Smrg  FcStrSet, FcStrList
2822c393a42Smrg
283ca08ab68Smrg   FcStrSet holds a list of strings that can be appended to and enumerated.
284ca08ab68Smrg   Its unique characteristic is that the enumeration works even while strings
285ca08ab68Smrg   are appended during enumeration. FcStrList is used during enumeration to
286ca08ab68Smrg   safely and correctly walk the list of strings even while that list is
287ca08ab68Smrg   edited in the middle of enumeration.
288a6844aabSmrg
289ca08ab68Smrg   --------------------------------------------------------------------------
290a6844aabSmrg
291ca08ab68Smrg  FcObjectSet
2922c393a42Smrg
293ca08ab68Smrg           typedef struct _FcObjectSet {
294ca08ab68Smrg                   int nobject;
295ca08ab68Smrg                   int sobject;
296ca08ab68Smrg                   const char **objects;
297ca08ab68Smrg           } FcObjectSet;
2982c393a42Smrg
2992c393a42Smrg
300ca08ab68Smrg   holds a set of names and is used to specify which fields from fonts are
301ca08ab68Smrg   placed in the the list of returned patterns when listing fonts.
302a6844aabSmrg
303ca08ab68Smrg   --------------------------------------------------------------------------
304a6844aabSmrg
305ca08ab68Smrg  FcObjectType
3062c393a42Smrg
307ca08ab68Smrg           typedef struct _FcObjectType {
308ca08ab68Smrg                   const char *object;
309ca08ab68Smrg                   FcType type;
310ca08ab68Smrg           } FcObjectType;
3112c393a42Smrg
3122c393a42Smrg
313ca08ab68Smrg   marks the type of a pattern element generated when parsing font names.
314ca08ab68Smrg   Applications can add new object types so that font names may contain the
315ca08ab68Smrg   new elements.
316a6844aabSmrg
317ca08ab68Smrg   --------------------------------------------------------------------------
318a6844aabSmrg
319ca08ab68Smrg  FcConstant
3202c393a42Smrg
321ca08ab68Smrg           typedef struct _FcConstant {
322ca08ab68Smrg               const FcChar8 *name;
323ca08ab68Smrg               const char *object;
324ca08ab68Smrg               int value;
325ca08ab68Smrg           } FcConstant;
3262c393a42Smrg
3272c393a42Smrg
328ca08ab68Smrg   Provides for symbolic constants for new pattern elements. When 'name' is
329ca08ab68Smrg   seen in a font name, an 'object' element is created with value 'value'.
330a6844aabSmrg
331ca08ab68Smrg   --------------------------------------------------------------------------
332a6844aabSmrg
333ca08ab68Smrg  FcBlanks
334a6844aabSmrg
335ca08ab68Smrg   holds a list of Unicode chars which are expected to be blank; unexpectedly
336ca08ab68Smrg   blank chars are assumed to be invalid and are elided from the charset
337ca08ab68Smrg   associated with the font.
3382c393a42Smrg
339ca08ab68Smrg   --------------------------------------------------------------------------
3402c393a42Smrg
341ca08ab68Smrg  FcFileCache
3422c393a42Smrg
343ca08ab68Smrg   holds the per-user cache information for use while loading the font
344ca08ab68Smrg   database. This is built automatically for the current configuration when
345ca08ab68Smrg   that is loaded. Applications must always pass '0' when one is requested.
3462c393a42Smrg
347ca08ab68Smrg   --------------------------------------------------------------------------
3482c393a42Smrg
349ca08ab68Smrg  FcConfig
3502c393a42Smrg
351ca08ab68Smrg   holds a complete configuration of the library; there is one default
352ca08ab68Smrg   configuration, other can be constructed from XML data structures. All
353ca08ab68Smrg   public entry points that need global data can take an optional FcConfig*
354ca08ab68Smrg   argument; passing 0 uses the default configuration. FcConfig objects hold
355ca08ab68Smrg   two sets of fonts, the first contains those specified by the
356ca08ab68Smrg   configuration, the second set holds those added by the application at
357ca08ab68Smrg   run-time. Interfaces that need to reference a particular set use one of
358ca08ab68Smrg   the FcSetName enumerated values.
3592c393a42Smrg
360ca08ab68Smrg   --------------------------------------------------------------------------
3612c393a42Smrg
362ca08ab68Smrg  FcSetName
363a6844aabSmrg
364ca08ab68Smrg   Specifies one of the two sets of fonts available in a configuration;
365ca08ab68Smrg   FcSetSystem for those fonts specified in the configuration and
366ca08ab68Smrg   FcSetApplication which holds fonts provided by the application.
367a6844aabSmrg
368ca08ab68Smrg   --------------------------------------------------------------------------
369a6844aabSmrg
370ca08ab68Smrg  FcResult
371a6844aabSmrg
372ca08ab68Smrg   Used as a return type for functions manipulating FcPattern objects.
3732c393a42Smrg
374ca08ab68Smrg         FcResult Values
375ca08ab68Smrg           Result Code             Meaning
376ca08ab68Smrg           -----------------------------------------------------------
377ca08ab68Smrg           FcResultMatch           Object exists with the specified ID
378ca08ab68Smrg           FcResultNoMatch         Object doesn't exist at all
379ca08ab68Smrg           FcResultTypeMismatch    Object exists, but the type doesn't match
380ca08ab68Smrg           FcResultNoId            Object exists, but has fewer values
381ca08ab68Smrg                                   than specified
382ca08ab68Smrg           FcResultOutOfMemory     malloc failed
3832c393a42Smrg
3842c393a42Smrg
385ca08ab68Smrg   --------------------------------------------------------------------------
386a6844aabSmrg
387ca08ab68Smrg  FcAtomic
388a6844aabSmrg
389ca08ab68Smrg   Used for locking access to configuration files. Provides a safe way to
390ca08ab68Smrg   update configuration files.
3912c393a42Smrg
392ca08ab68Smrg   --------------------------------------------------------------------------
3932c393a42Smrg
394ca08ab68Smrg  FcCache
3952c393a42Smrg
396ca08ab68Smrg   Holds information about the fonts contained in a single directory. Normal
397ca08ab68Smrg   applications need not worry about this as caches for font access are
398ca08ab68Smrg   automatically managed by the library. Applications dealing with cache
399ca08ab68Smrg   management may want to use some of these objects in their work, however
400ca08ab68Smrg   the included 'fc-cache' program generally suffices for all of that.
4012c393a42Smrg
402ca08ab68Smrg   --------------------------------------------------------------------------
4032c393a42Smrg
404a6844aabSmrgFUNCTIONS
4052c393a42Smrg
406ca08ab68Smrg   These are grouped by functionality, often using the main data type being
407ca08ab68Smrg   manipulated.
408ca08ab68Smrg
409ca08ab68Smrg   --------------------------------------------------------------------------
4102c393a42Smrg
411ca08ab68Smrg  Initialization
412a6844aabSmrg
413ca08ab68Smrg   Table of Contents
414a6844aabSmrg
415ca08ab68Smrg   [5]FcInitLoadConfig -- load configuration
416a6844aabSmrg
417ca08ab68Smrg   [6]FcInitLoadConfigAndFonts -- load configuration and font data
4182c393a42Smrg
419ca08ab68Smrg   [7]FcInit -- initialize fontconfig library
420ca08ab68Smrg
421ca08ab68Smrg   [8]FcFini -- finalize fontconfig library
422ca08ab68Smrg
423ca08ab68Smrg   [9]FcGetVersion -- library version number
424ca08ab68Smrg
425ca08ab68Smrg   [10]FcInitReinitialize -- re-initialize library
426ca08ab68Smrg
427ca08ab68Smrg   [11]FcInitBringUptoDate -- reload configuration files if needed
428ca08ab68Smrg
429ca08ab68Smrg   These functions provide some control over how the library is initialized.
430ca08ab68Smrg
431ca08ab68Smrg                                FcInitLoadConfig
4322c393a42Smrg
4332c393a42SmrgName
4342c393a42Smrg
435ca08ab68Smrg   FcInitLoadConfig -- load configuration
4362c393a42Smrg
4372c393a42SmrgSynopsis
4382c393a42Smrg
439ca08ab68Smrg   #include <fontconfig.h>
4402c393a42Smrg
441a6844aabSmrg
442ca08ab68Smrg   FcConfig * FcInitLoadConfig(void);
4432c393a42Smrg
4442c393a42SmrgDescription
4452c393a42Smrg
446ca08ab68Smrg   Loads the default configuration file and returns the resulting
447ca08ab68Smrg   configuration. Does not load any font information.
4482c393a42Smrg
4492c393a42SmrgVersion
4502c393a42Smrg
451ca08ab68Smrg   Fontconfig version 2.10.2
4522c393a42Smrg
453ca08ab68Smrg                            FcInitLoadConfigAndFonts
4542c393a42Smrg
4552c393a42SmrgName
4562c393a42Smrg
457ca08ab68Smrg   FcInitLoadConfigAndFonts -- load configuration and font data
4582c393a42Smrg
4592c393a42SmrgSynopsis
4602c393a42Smrg
461ca08ab68Smrg   #include <fontconfig.h>
4622c393a42Smrg
463a6844aabSmrg
464ca08ab68Smrg   FcConfig * FcInitLoadConfigAndFonts(void);
4652c393a42Smrg
4662c393a42SmrgDescription
4672c393a42Smrg
468ca08ab68Smrg   Loads the default configuration file and builds information about the
469ca08ab68Smrg   available fonts. Returns the resulting configuration.
4702c393a42Smrg
4712c393a42SmrgVersion
4722c393a42Smrg
473ca08ab68Smrg   Fontconfig version 2.10.2
4742c393a42Smrg
475ca08ab68Smrg                                     FcInit
4762c393a42Smrg
4772c393a42SmrgName
4782c393a42Smrg
479ca08ab68Smrg   FcInit -- initialize fontconfig library
4802c393a42Smrg
4812c393a42SmrgSynopsis
4822c393a42Smrg
483ca08ab68Smrg   #include <fontconfig.h>
4842c393a42Smrg
485a6844aabSmrg
486ca08ab68Smrg   FcBool FcInit(void);
4872c393a42Smrg
4882c393a42SmrgDescription
4892c393a42Smrg
490ca08ab68Smrg   Loads the default configuration file and the fonts referenced therein and
491ca08ab68Smrg   sets the default configuration to that result. Returns whether this
492ca08ab68Smrg   process succeeded or not. If the default configuration has already been
493ca08ab68Smrg   loaded, this routine does nothing and returns FcTrue.
4942c393a42Smrg
4952c393a42SmrgVersion
4962c393a42Smrg
497ca08ab68Smrg   Fontconfig version 2.10.2
4982c393a42Smrg
499ca08ab68Smrg                                     FcFini
5002c393a42Smrg
5012c393a42SmrgName
5022c393a42Smrg
503ca08ab68Smrg   FcFini -- finalize fontconfig library
5042c393a42Smrg
5052c393a42SmrgSynopsis
5062c393a42Smrg
507ca08ab68Smrg   #include <fontconfig.h>
5082c393a42Smrg
509a6844aabSmrg
510ca08ab68Smrg   void FcFini(void);
5112c393a42Smrg
5122c393a42SmrgDescription
5132c393a42Smrg
514ca08ab68Smrg   Frees all data structures allocated by previous calls to fontconfig
515ca08ab68Smrg   functions. Fontconfig returns to an uninitialized state, requiring a new
516ca08ab68Smrg   call to one of the FcInit functions before any other fontconfig function
517ca08ab68Smrg   may be called.
5182c393a42Smrg
5192c393a42SmrgVersion
5202c393a42Smrg
521ca08ab68Smrg   Fontconfig version 2.10.2
5222c393a42Smrg
523ca08ab68Smrg                                  FcGetVersion
5242c393a42Smrg
5252c393a42SmrgName
5262c393a42Smrg
527ca08ab68Smrg   FcGetVersion -- library version number
5282c393a42Smrg
5292c393a42SmrgSynopsis
5302c393a42Smrg
531ca08ab68Smrg   #include <fontconfig.h>
5322c393a42Smrg
533a6844aabSmrg
534ca08ab68Smrg   int FcGetVersion(void);
5352c393a42Smrg
5362c393a42SmrgDescription
5372c393a42Smrg
538ca08ab68Smrg   Returns the version number of the library.
5392c393a42Smrg
5402c393a42SmrgVersion
5412c393a42Smrg
542ca08ab68Smrg   Fontconfig version 2.10.2
5432c393a42Smrg
544ca08ab68Smrg                               FcInitReinitialize
5452c393a42Smrg
5462c393a42SmrgName
5472c393a42Smrg
548ca08ab68Smrg   FcInitReinitialize -- re-initialize library
5492c393a42Smrg
5502c393a42SmrgSynopsis
5512c393a42Smrg
552ca08ab68Smrg   #include <fontconfig.h>
5532c393a42Smrg
554a6844aabSmrg
555ca08ab68Smrg   FcBool FcInitReinitialize(void);
5562c393a42Smrg
5572c393a42SmrgDescription
5582c393a42Smrg
559ca08ab68Smrg   Forces the default configuration file to be reloaded and resets the
560ca08ab68Smrg   default configuration. Returns FcFalse if the configuration cannot be
561ca08ab68Smrg   reloaded (due to configuration file errors, allocation failures or other
562ca08ab68Smrg   issues) and leaves the existing configuration unchanged. Otherwise returns
563ca08ab68Smrg   FcTrue.
5642c393a42Smrg
5652c393a42SmrgVersion
5662c393a42Smrg
567ca08ab68Smrg   Fontconfig version 2.10.2
5682c393a42Smrg
569ca08ab68Smrg                              FcInitBringUptoDate
5702c393a42Smrg
5712c393a42SmrgName
5722c393a42Smrg
573ca08ab68Smrg   FcInitBringUptoDate -- reload configuration files if needed
5742c393a42Smrg
5752c393a42SmrgSynopsis
5762c393a42Smrg
577ca08ab68Smrg   #include <fontconfig.h>
5782c393a42Smrg
579a6844aabSmrg
580ca08ab68Smrg   FcBool FcInitBringUptoDate(void);
5812c393a42Smrg
5822c393a42SmrgDescription
5832c393a42Smrg
584ca08ab68Smrg   Checks the rescan interval in the default configuration, checking the
585ca08ab68Smrg   configuration if the interval has passed and reloading the configuration
586ca08ab68Smrg   if when any changes are detected. Returns FcFalse if the configuration
587ca08ab68Smrg   cannot be reloaded (see FcInitReinitialize). Otherwise returns FcTrue.
5882c393a42Smrg
5892c393a42SmrgVersion
5902c393a42Smrg
591ca08ab68Smrg   Fontconfig version 2.10.2
592ca08ab68Smrg
593ca08ab68Smrg   --------------------------------------------------------------------------
594ca08ab68Smrg
595ca08ab68Smrg  FcPattern
596ca08ab68Smrg
597ca08ab68Smrg   Table of Contents
598ca08ab68Smrg
599ca08ab68Smrg   [12]FcPatternCreate -- Create a pattern
600ca08ab68Smrg
601ca08ab68Smrg   [13]FcPatternDuplicate -- Copy a pattern
602ca08ab68Smrg
603ca08ab68Smrg   [14]FcPatternReference -- Increment pattern reference count
604ca08ab68Smrg
605ca08ab68Smrg   [15]FcPatternDestroy -- Destroy a pattern
606ca08ab68Smrg
607ca08ab68Smrg   [16]FcPatternEqual -- Compare patterns
608ca08ab68Smrg
609ca08ab68Smrg   [17]FcPatternEqualSubset -- Compare portions of patterns
610ca08ab68Smrg
611ca08ab68Smrg   [18]FcPatternFilter -- Filter the objects of pattern
612ca08ab68Smrg
613ca08ab68Smrg   [19]FcPatternHash -- Compute a pattern hash value
614ca08ab68Smrg
615ca08ab68Smrg   [20]FcPatternAdd -- Add a value to a pattern
616ca08ab68Smrg
617ca08ab68Smrg   [21]FcPatternAddWeak -- Add a value to a pattern with weak binding
618ca08ab68Smrg
619ca08ab68Smrg   [22]FcPatternAdd-Type -- Add a typed value to a pattern
620ca08ab68Smrg
621ca08ab68Smrg   [23]FcPatternGet -- Return a value from a pattern
622ca08ab68Smrg
623ca08ab68Smrg   [24]FcPatternGet-Type -- Return a typed value from a pattern
624ca08ab68Smrg
625ca08ab68Smrg   [25]FcPatternBuild -- Create patterns from arguments
626ca08ab68Smrg
627ca08ab68Smrg   [26]FcPatternDel -- Delete a property from a pattern
628ca08ab68Smrg
629ca08ab68Smrg   [27]FcPatternRemove -- Remove one object of the specified type from the
630ca08ab68Smrg   pattern
631ca08ab68Smrg
632ca08ab68Smrg   [28]FcPatternPrint -- Print a pattern for debugging
633ca08ab68Smrg
634ca08ab68Smrg   [29]FcDefaultSubstitute -- Perform default substitutions in a pattern
6352c393a42Smrg
636ca08ab68Smrg   [30]FcNameParse -- Parse a pattern string
6372c393a42Smrg
638ca08ab68Smrg   [31]FcNameUnparse -- Convert a pattern back into a string that can be
639ca08ab68Smrg   parsed
6402c393a42Smrg
641ca08ab68Smrg   [32]FcPatternFormat -- Format a pattern into a string according to a
642ca08ab68Smrg   format specifier
6432c393a42Smrg
644ca08ab68Smrg   An FcPattern is an opaque type that holds both patterns to match against
645ca08ab68Smrg   the available fonts, as well as the information about each font.
6462c393a42Smrg
647ca08ab68Smrg                                FcPatternCreate
6482c393a42Smrg
6492c393a42SmrgName
6502c393a42Smrg
651ca08ab68Smrg   FcPatternCreate -- Create a pattern
6522c393a42Smrg
6532c393a42SmrgSynopsis
6542c393a42Smrg
655ca08ab68Smrg   #include <fontconfig.h>
6562c393a42Smrg
657a6844aabSmrg
658ca08ab68Smrg   FcPattern * FcPatternCreate(void);
6592c393a42Smrg
6602c393a42SmrgDescription
6612c393a42Smrg
662ca08ab68Smrg   Creates a pattern with no properties; used to build patterns from scratch.
6632c393a42Smrg
6642c393a42SmrgVersion
6652c393a42Smrg
666ca08ab68Smrg   Fontconfig version 2.10.2
6672c393a42Smrg
668ca08ab68Smrg                               FcPatternDuplicate
6692c393a42Smrg
6702c393a42SmrgName
6712c393a42Smrg
672ca08ab68Smrg   FcPatternDuplicate -- Copy a pattern
6732c393a42Smrg
6742c393a42SmrgSynopsis
6752c393a42Smrg
676ca08ab68Smrg   #include <fontconfig.h>
6772c393a42Smrg
678a6844aabSmrg
679ca08ab68Smrg   FcPattern * FcPatternDuplicate(const FcPattern *p);
6802c393a42Smrg
6812c393a42SmrgDescription
6822c393a42Smrg
683ca08ab68Smrg   Copy a pattern, returning a new pattern that matches p. Each pattern may
684ca08ab68Smrg   be modified without affecting the other.
6852c393a42Smrg
6862c393a42SmrgVersion
6872c393a42Smrg
688ca08ab68Smrg   Fontconfig version 2.10.2
6892c393a42Smrg
690ca08ab68Smrg                               FcPatternReference
6912c393a42Smrg
6922c393a42SmrgName
6932c393a42Smrg
694ca08ab68Smrg   FcPatternReference -- Increment pattern reference count
6952c393a42Smrg
6962c393a42SmrgSynopsis
6972c393a42Smrg
698ca08ab68Smrg   #include <fontconfig.h>
6992c393a42Smrg
700a6844aabSmrg
701ca08ab68Smrg   void FcPatternReference(FcPattern *p);
7022c393a42Smrg
7032c393a42SmrgDescription
7042c393a42Smrg
705ca08ab68Smrg   Add another reference to p. Patterns are freed only when the reference
706ca08ab68Smrg   count reaches zero.
7072c393a42Smrg
7082c393a42SmrgVersion
7092c393a42Smrg
710ca08ab68Smrg   Fontconfig version 2.10.2
7112c393a42Smrg
712ca08ab68Smrg                                FcPatternDestroy
7132c393a42Smrg
7142c393a42SmrgName
7152c393a42Smrg
716ca08ab68Smrg   FcPatternDestroy -- Destroy a pattern
7172c393a42Smrg
7182c393a42SmrgSynopsis
7192c393a42Smrg
720ca08ab68Smrg   #include <fontconfig.h>
7212c393a42Smrg
722a6844aabSmrg
723ca08ab68Smrg   void FcPatternDestroy(FcPattern *p);
7242c393a42Smrg
7252c393a42SmrgDescription
7262c393a42Smrg
727ca08ab68Smrg   Decrement the pattern reference count. If all references are gone,
728ca08ab68Smrg   destroys the pattern, in the process destroying all related values.
7292c393a42Smrg
7302c393a42SmrgVersion
7312c393a42Smrg
732ca08ab68Smrg   Fontconfig version 2.10.2
7332c393a42Smrg
734ca08ab68Smrg                                 FcPatternEqual
7352c393a42Smrg
7362c393a42SmrgName
7372c393a42Smrg
738ca08ab68Smrg   FcPatternEqual -- Compare patterns
7392c393a42Smrg
7402c393a42SmrgSynopsis
7412c393a42Smrg
742ca08ab68Smrg   #include <fontconfig.h>
7432c393a42Smrg
744a6844aabSmrg
745ca08ab68Smrg   FcBool FcPatternEqual(const FcPattern *pa, const FcPattern *pb);
7462c393a42Smrg
7472c393a42SmrgDescription
7482c393a42Smrg
749ca08ab68Smrg   Returns whether pa and pb are exactly alike.
7502c393a42Smrg
7512c393a42SmrgVersion
7522c393a42Smrg
753ca08ab68Smrg   Fontconfig version 2.10.2
7542c393a42Smrg
755ca08ab68Smrg                              FcPatternEqualSubset
7562c393a42Smrg
7572c393a42SmrgName
7582c393a42Smrg
759ca08ab68Smrg   FcPatternEqualSubset -- Compare portions of patterns
7602c393a42Smrg
7612c393a42SmrgSynopsis
7622c393a42Smrg
763ca08ab68Smrg   #include <fontconfig.h>
7642c393a42Smrg
765a6844aabSmrg
766ca08ab68Smrg   FcBool FcPatternEqualSubset(const FcPattern *pa, const FcPattern *pb,
767ca08ab68Smrg   const FcObjectSet *os);
7682c393a42Smrg
7692c393a42SmrgDescription
7702c393a42Smrg
771ca08ab68Smrg   Returns whether pa and pb have exactly the same values for all of the
772ca08ab68Smrg   objects in os.
7732c393a42Smrg
7742c393a42SmrgVersion
7752c393a42Smrg
776ca08ab68Smrg   Fontconfig version 2.10.2
777a6844aabSmrg
778ca08ab68Smrg                                FcPatternFilter
779a6844aabSmrg
780a6844aabSmrgName
781a6844aabSmrg
782ca08ab68Smrg   FcPatternFilter -- Filter the objects of pattern
783a6844aabSmrg
784a6844aabSmrgSynopsis
785a6844aabSmrg
786ca08ab68Smrg   #include <fontconfig.h>
787a6844aabSmrg
788a6844aabSmrg
789ca08ab68Smrg   FcPattern * FcPatternFilter(FcPattern *p, const FcObjectSet *);
790a6844aabSmrg
791a6844aabSmrgDescription
792a6844aabSmrg
793ca08ab68Smrg   Returns a new pattern that only has those objects from p that are in os.
794ca08ab68Smrg   If os is NULL, a duplicate of p is returned.
795a6844aabSmrg
796a6844aabSmrgVersion
797a6844aabSmrg
798ca08ab68Smrg   Fontconfig version 2.10.2
7992c393a42Smrg
800ca08ab68Smrg                                 FcPatternHash
8012c393a42Smrg
8022c393a42SmrgName
8032c393a42Smrg
804ca08ab68Smrg   FcPatternHash -- Compute a pattern hash value
8052c393a42Smrg
8062c393a42SmrgSynopsis
8072c393a42Smrg
808ca08ab68Smrg   #include <fontconfig.h>
8092c393a42Smrg
810a6844aabSmrg
811ca08ab68Smrg   FcChar32 FcPatternHash(const FcPattern *p);
8122c393a42Smrg
8132c393a42SmrgDescription
8142c393a42Smrg
815ca08ab68Smrg   Returns a 32-bit number which is the same for any two patterns which are
816ca08ab68Smrg   equal.
8172c393a42Smrg
8182c393a42SmrgVersion
8192c393a42Smrg
820ca08ab68Smrg   Fontconfig version 2.10.2
8212c393a42Smrg
822ca08ab68Smrg                                  FcPatternAdd
8232c393a42Smrg
8242c393a42SmrgName
8252c393a42Smrg
826ca08ab68Smrg   FcPatternAdd -- Add a value to a pattern
8272c393a42Smrg
8282c393a42SmrgSynopsis
8292c393a42Smrg
830ca08ab68Smrg   #include <fontconfig.h>
8312c393a42Smrg
832a6844aabSmrg
833ca08ab68Smrg   FcBool FcPatternAdd(FcPattern *p, const char *object, FcValue value,
834ca08ab68Smrg   FcBool append);
8352c393a42Smrg
8362c393a42SmrgDescription
8372c393a42Smrg
838ca08ab68Smrg   Adds a single value to the list of values associated with the property
839ca08ab68Smrg   named `object. If `append is FcTrue, the value is added at the end of any
840ca08ab68Smrg   existing list, otherwise it is inserted at the beginning. `value' is saved
841ca08ab68Smrg   (with FcValueSave) when inserted into the pattern so that the library
842ca08ab68Smrg   retains no reference to any application-supplied data structure.
8432c393a42Smrg
8442c393a42SmrgVersion
8452c393a42Smrg
846ca08ab68Smrg   Fontconfig version 2.10.2
8472c393a42Smrg
848ca08ab68Smrg                                FcPatternAddWeak
8492c393a42Smrg
8502c393a42SmrgName
8512c393a42Smrg
852ca08ab68Smrg   FcPatternAddWeak -- Add a value to a pattern with weak binding
8532c393a42Smrg
8542c393a42SmrgSynopsis
8552c393a42Smrg
856ca08ab68Smrg   #include <fontconfig.h>
8572c393a42Smrg
858a6844aabSmrg
859ca08ab68Smrg   FcBool FcPatternAddWeak(FcPattern *p, const char *object, FcValue value,
860ca08ab68Smrg   FcBool append);
8612c393a42Smrg
8622c393a42SmrgDescription
8632c393a42Smrg
864ca08ab68Smrg   FcPatternAddWeak is essentially the same as FcPatternAdd except that any
865ca08ab68Smrg   values added to the list have binding weak instead of strong.
8662c393a42Smrg
8672c393a42SmrgVersion
8682c393a42Smrg
869ca08ab68Smrg   Fontconfig version 2.10.2
8702c393a42Smrg
871ca08ab68Smrg                               FcPatternAdd-Type
8722c393a42Smrg
8732c393a42SmrgName
8742c393a42Smrg
875ca08ab68Smrg   FcPatternAddInteger, FcPatternAddDouble, FcPatternAddString,
876ca08ab68Smrg   FcPatternAddMatrix, FcPatternAddCharSet, FcPatternAddBool,
877ca08ab68Smrg   FcPatternAddFTFace, FcPatternAddLangSet -- Add a typed value to a pattern
8782c393a42Smrg
8792c393a42SmrgSynopsis
8802c393a42Smrg
881ca08ab68Smrg   #include <fontconfig.h>
8822c393a42Smrg
8832c393a42Smrg
884ca08ab68Smrg   FcBool FcPatternAddInteger(FcPattern *p, const char *object, int i);
885a6844aabSmrg
886ca08ab68Smrg   FcBool FcPatternAddDouble(FcPattern *p, const char *object, double d);
8872c393a42Smrg
888ca08ab68Smrg   FcBool FcPatternAddString(FcPattern *p, const char *object, const FcChar8
889ca08ab68Smrg   *s);
8902c393a42Smrg
891ca08ab68Smrg   FcBool FcPatternAddMatrix(FcPattern *p, const char *object, const FcMatrix
892ca08ab68Smrg   *m);
8932c393a42Smrg
894ca08ab68Smrg   FcBool FcPatternAddCharSet(FcPattern *p, const char *object, const
895ca08ab68Smrg   FcCharSet *c);
8962c393a42Smrg
897ca08ab68Smrg   FcBool FcPatternAddBool(FcPattern *p, const char *object, FcBool b);
8982c393a42Smrg
899ca08ab68Smrg   FcBool FcPatternAddFTFace(FcPattern *p, const char *object, const
900ca08ab68Smrg   FT_Facef);
9012c393a42Smrg
902ca08ab68Smrg   FcBool FcPatternAddLangSet(FcPattern *p, const char *object, const
903ca08ab68Smrg   FcLangSet *l);
9042c393a42Smrg
9052c393a42SmrgDescription
9062c393a42Smrg
907ca08ab68Smrg   These are all convenience functions that insert objects of the specified
908ca08ab68Smrg   type into the pattern. Use these in preference to FcPatternAdd as they
909ca08ab68Smrg   will provide compile-time typechecking. These all append values to any
910ca08ab68Smrg   existing list of values.
9112c393a42Smrg
9122c393a42SmrgVersion
9132c393a42Smrg
914ca08ab68Smrg   Fontconfig version 2.10.2
9152c393a42Smrg
916ca08ab68Smrg                                  FcPatternGet
9172c393a42Smrg
9182c393a42SmrgName
9192c393a42Smrg
920ca08ab68Smrg   FcPatternGet -- Return a value from a pattern
9212c393a42Smrg
9222c393a42SmrgSynopsis
9232c393a42Smrg
924ca08ab68Smrg   #include <fontconfig.h>
9252c393a42Smrg
926a6844aabSmrg
927ca08ab68Smrg   FcResult FcPatternGet(FcPattern *p, const char *object, int id, FcValue
928ca08ab68Smrg   *v);
9292c393a42Smrg
9302c393a42SmrgDescription
9312c393a42Smrg
932ca08ab68Smrg   Returns in v the id'th value associated with the property object. The
933ca08ab68Smrg   value returned is not a copy, but rather refers to the data stored within
934ca08ab68Smrg   the pattern directly. Applications must not free this value.
9352c393a42Smrg
9362c393a42SmrgVersion
9372c393a42Smrg
938ca08ab68Smrg   Fontconfig version 2.10.2
9392c393a42Smrg
940ca08ab68Smrg                               FcPatternGet-Type
9412c393a42Smrg
9422c393a42SmrgName
9432c393a42Smrg
944ca08ab68Smrg   FcPatternGetInteger, FcPatternGetDouble, FcPatternGetString,
945ca08ab68Smrg   FcPatternGetMatrix, FcPatternGetCharSet, FcPatternGetBool,
946ca08ab68Smrg   FcPatternGetFTFace, FcPatternGetLangSet -- Return a typed value from a
947ca08ab68Smrg   pattern
9482c393a42Smrg
9492c393a42SmrgSynopsis
9502c393a42Smrg
951ca08ab68Smrg   #include <fontconfig.h>
9522c393a42Smrg
9532c393a42Smrg
954ca08ab68Smrg   FcResult FcPatternGetInteger(FcPattern *p, const char *object, int n, int
955ca08ab68Smrg   *i);
956a6844aabSmrg
957ca08ab68Smrg   FcResult FcPatternGetDouble(FcPattern *p, const char *object, int n,
958ca08ab68Smrg   double *d);
9592c393a42Smrg
960ca08ab68Smrg   FcResult FcPatternGetString(FcPattern *p, const char *object, int n,
961ca08ab68Smrg   FcChar8 **s);
9622c393a42Smrg
963ca08ab68Smrg   FcResult FcPatternGetMatrix(FcPattern *p, const char *object, int n,
964ca08ab68Smrg   FcMatrix **s);
9652c393a42Smrg
966ca08ab68Smrg   FcResult FcPatternGetCharSet(FcPattern *p, const char *object, int n,
967ca08ab68Smrg   FcCharSet **c);
9682c393a42Smrg
969ca08ab68Smrg   FcResult FcPatternGetBool(FcPattern *p, const char *object, int n, FcBool
970ca08ab68Smrg   *b);
9712c393a42Smrg
972ca08ab68Smrg   FcResult FcPatternGetFTFace(FcPattern *p, const char *object, int n);
9732c393a42Smrg
974ca08ab68Smrg   FcResult FcPatternGetLangSet(FcPattern *p, const char *object, FT_Face
975ca08ab68Smrg   *f);
9762c393a42Smrg
9772c393a42SmrgDescription
9782c393a42Smrg
979ca08ab68Smrg   These are convenience functions that call FcPatternGet and verify that the
980ca08ab68Smrg   returned data is of the expected type. They return FcResultTypeMismatch if
981ca08ab68Smrg   this is not the case. Note that these (like FcPatternGet) do not make a
982ca08ab68Smrg   copy of any data structure referenced by the return value. Use these in
983ca08ab68Smrg   preference to FcPatternGet to provide compile-time typechecking.
9842c393a42Smrg
9852c393a42SmrgVersion
9862c393a42Smrg
987ca08ab68Smrg   Fontconfig version 2.10.2
9882c393a42Smrg
989ca08ab68Smrg                                 FcPatternBuild
9902c393a42Smrg
9912c393a42SmrgName
9922c393a42Smrg
993ca08ab68Smrg   FcPatternBuild, FcPatternVaBuild, FcPatternVapBuild -- Create patterns
994ca08ab68Smrg   from arguments
9952c393a42Smrg
9962c393a42SmrgSynopsis
9972c393a42Smrg
998ca08ab68Smrg   #include <fontconfig.h>
9992c393a42Smrg
10002c393a42Smrg
1001ca08ab68Smrg   FcPattern * FcPatternBuild(FcPattern *pattern, ...);
10022c393a42Smrg
1003ca08ab68Smrg   FcPattern * FcPatternVaBuild(FcPattern *pattern, va_list va);
1004a6844aabSmrg
1005ca08ab68Smrg   void FcPatternVapBuild(FcPattern *result, FcPattern *pattern, va_list va);
10062c393a42Smrg
10072c393a42SmrgDescription
10082c393a42Smrg
1009ca08ab68Smrg   Builds a pattern using a list of objects, types and values. Each value to
1010ca08ab68Smrg   be entered in the pattern is specified with three arguments:
1011a6844aabSmrg
1012ca08ab68Smrg    1. Object name, a string describing the property to be added.
1013a6844aabSmrg
1014ca08ab68Smrg    2. Object type, one of the FcType enumerated values
10152c393a42Smrg
1016ca08ab68Smrg    3. Value, not an FcValue, but the raw type as passed to any of the
1017ca08ab68Smrg       FcPatternAdd<type> functions. Must match the type of the second
1018ca08ab68Smrg       argument.
10192c393a42Smrg
1020ca08ab68Smrg   The argument list is terminated by a null object name, no object type nor
1021ca08ab68Smrg   value need be passed for this. The values are added to `pattern', if
1022ca08ab68Smrg   `pattern' is null, a new pattern is created. In either case, the pattern
1023ca08ab68Smrg   is returned. Example
10242c393a42Smrg
1025ca08ab68Smrg   pattern = FcPatternBuild (0, FC_FAMILY, FcTypeString, "Times", (char *) 0);
1026a6844aabSmrg
1027ca08ab68Smrg   FcPatternVaBuild is used when the arguments are already in the form of a
1028ca08ab68Smrg   varargs value. FcPatternVapBuild is a macro version of FcPatternVaBuild
1029ca08ab68Smrg   which returns its result directly in the result variable.
10302c393a42Smrg
10312c393a42SmrgVersion
10322c393a42Smrg
1033ca08ab68Smrg   Fontconfig version 2.10.2
10342c393a42Smrg
1035ca08ab68Smrg                                  FcPatternDel
10362c393a42Smrg
10372c393a42SmrgName
10382c393a42Smrg
1039ca08ab68Smrg   FcPatternDel -- Delete a property from a pattern
10402c393a42Smrg
10412c393a42SmrgSynopsis
10422c393a42Smrg
1043ca08ab68Smrg   #include <fontconfig.h>
10442c393a42Smrg
1045a6844aabSmrg
1046ca08ab68Smrg   FcBool FcPatternDel(FcPattern *p, const char *object);
10472c393a42Smrg
10482c393a42SmrgDescription
10492c393a42Smrg
1050ca08ab68Smrg   Deletes all values associated with the property `object', returning
1051ca08ab68Smrg   whether the property existed or not.
10522c393a42Smrg
10532c393a42SmrgVersion
10542c393a42Smrg
1055ca08ab68Smrg   Fontconfig version 2.10.2
10562c393a42Smrg
1057ca08ab68Smrg                                FcPatternRemove
10582c393a42Smrg
10592c393a42SmrgName
10602c393a42Smrg
1061ca08ab68Smrg   FcPatternRemove -- Remove one object of the specified type from the
1062ca08ab68Smrg   pattern
10632c393a42Smrg
10642c393a42SmrgSynopsis
10652c393a42Smrg
1066ca08ab68Smrg   #include <fontconfig.h>
10672c393a42Smrg
1068a6844aabSmrg
1069ca08ab68Smrg   FcBool FcPatternRemove(FcPattern *p, const char *object, int id);
10702c393a42Smrg
10712c393a42SmrgDescription
10722c393a42Smrg
1073ca08ab68Smrg   Removes the value associated with the property `object' at position `id',
1074ca08ab68Smrg   returning whether the property existed and had a value at that position or
1075ca08ab68Smrg   not.
10762c393a42Smrg
10772c393a42SmrgVersion
10782c393a42Smrg
1079ca08ab68Smrg   Fontconfig version 2.10.2
10802c393a42Smrg
1081ca08ab68Smrg                                 FcPatternPrint
10822c393a42Smrg
10832c393a42SmrgName
10842c393a42Smrg
1085ca08ab68Smrg   FcPatternPrint -- Print a pattern for debugging
10862c393a42Smrg
10872c393a42SmrgSynopsis
10882c393a42Smrg
1089ca08ab68Smrg   #include <fontconfig.h>
10902c393a42Smrg
1091a6844aabSmrg
1092ca08ab68Smrg   void FcPatternPrint(const FcPattern *p);
10932c393a42Smrg
10942c393a42SmrgDescription
10952c393a42Smrg
1096ca08ab68Smrg   Prints an easily readable version of the pattern to stdout. There is no
1097ca08ab68Smrg   provision for reparsing data in this format, it's just for diagnostics and
1098ca08ab68Smrg   debugging.
10992c393a42Smrg
11002c393a42SmrgVersion
11012c393a42Smrg
1102ca08ab68Smrg   Fontconfig version 2.10.2
11032c393a42Smrg
1104ca08ab68Smrg                              FcDefaultSubstitute
11052c393a42Smrg
11062c393a42SmrgName
11072c393a42Smrg
1108ca08ab68Smrg   FcDefaultSubstitute -- Perform default substitutions in a pattern
11092c393a42Smrg
11102c393a42SmrgSynopsis
11112c393a42Smrg
1112ca08ab68Smrg   #include <fontconfig.h>
11132c393a42Smrg
1114a6844aabSmrg
1115ca08ab68Smrg   void FcDefaultSubstitute(FcPattern *pattern);
11162c393a42Smrg
11172c393a42SmrgDescription
11182c393a42Smrg
1119ca08ab68Smrg   Supplies default values for underspecified font patterns:
1120a6844aabSmrg
1121ca08ab68Smrg     * Patterns without a specified style or weight are set to Medium
11222c393a42Smrg
1123ca08ab68Smrg     * Patterns without a specified style or slant are set to Roman
1124a6844aabSmrg
1125ca08ab68Smrg     * Patterns without a specified pixel size are given one computed from
1126ca08ab68Smrg       any specified point size (default 12), dpi (default 75) and scale
1127ca08ab68Smrg       (default 1).
11282c393a42Smrg
11292c393a42SmrgVersion
11302c393a42Smrg
1131ca08ab68Smrg   Fontconfig version 2.10.2
11322c393a42Smrg
1133ca08ab68Smrg                                  FcNameParse
11342c393a42Smrg
11352c393a42SmrgName
11362c393a42Smrg
1137ca08ab68Smrg   FcNameParse -- Parse a pattern string
11382c393a42Smrg
11392c393a42SmrgSynopsis
11402c393a42Smrg
1141ca08ab68Smrg   #include <fontconfig.h>
11422c393a42Smrg
1143a6844aabSmrg
1144ca08ab68Smrg   FcPattern * FcNameParse(const FcChar8 *name);
11452c393a42Smrg
11462c393a42SmrgDescription
11472c393a42Smrg
1148ca08ab68Smrg   Converts name from the standard text format described above into a
1149ca08ab68Smrg   pattern.
11502c393a42Smrg
11512c393a42SmrgVersion
11522c393a42Smrg
1153ca08ab68Smrg   Fontconfig version 2.10.2
11542c393a42Smrg
1155ca08ab68Smrg                                 FcNameUnparse
11562c393a42Smrg
11572c393a42SmrgName
11582c393a42Smrg
1159ca08ab68Smrg   FcNameUnparse -- Convert a pattern back into a string that can be parsed
11602c393a42Smrg
11612c393a42SmrgSynopsis
11622c393a42Smrg
1163ca08ab68Smrg   #include <fontconfig.h>
11642c393a42Smrg
1165a6844aabSmrg
1166ca08ab68Smrg   FcChar8 * FcNameUnparse(FcPattern *pat);
11672c393a42Smrg
11682c393a42SmrgDescription
11692c393a42Smrg
1170ca08ab68Smrg   Converts the given pattern into the standard text format described above.
1171ca08ab68Smrg   The return value is not static, but instead refers to newly allocated
1172ca08ab68Smrg   memory which should be freed by the caller using free().
1173a6844aabSmrg
1174a6844aabSmrgVersion
1175a6844aabSmrg
1176ca08ab68Smrg   Fontconfig version 2.10.2
1177a6844aabSmrg
1178ca08ab68Smrg                                FcPatternFormat
1179a6844aabSmrg
1180a6844aabSmrgName
1181a6844aabSmrg
1182ca08ab68Smrg   FcPatternFormat -- Format a pattern into a string according to a format
1183ca08ab68Smrg   specifier
1184a6844aabSmrg
1185a6844aabSmrgSynopsis
1186a6844aabSmrg
1187ca08ab68Smrg   #include <fontconfig.h>
1188a6844aabSmrg
1189a6844aabSmrg
1190ca08ab68Smrg   FcChar8 * FcPatternFormat(FcPattern *pat, const FcChar8 *format);
1191a6844aabSmrg
1192a6844aabSmrgDescription
1193a6844aabSmrg
1194ca08ab68Smrg   Converts given pattern pat into text described by the format specifier
1195ca08ab68Smrg   format. The return value refers to newly allocated memory which should be
1196ca08ab68Smrg   freed by the caller using free(), or NULL if format is invalid.
1197a6844aabSmrg
1198ca08ab68Smrg    The format is loosely modeled after printf-style format string. The
1199ca08ab68Smrg   format string is composed of zero or more directives: ordinary characters
1200ca08ab68Smrg   (not "%"), which are copied unchanged to the output stream; and tags which
1201ca08ab68Smrg   are interpreted to construct text from the pattern in a variety of ways
1202ca08ab68Smrg   (explained below). Special characters can be escaped using backslash.
1203ca08ab68Smrg   C-string style special characters like \n and \r are also supported (this
1204ca08ab68Smrg   is useful when the format string is not a C string literal). It is
1205ca08ab68Smrg   advisable to always escape curly braces that are meant to be copied to the
1206ca08ab68Smrg   output as ordinary characters.
1207a6844aabSmrg
1208ca08ab68Smrg    Each tag is introduced by the character "%", followed by an optional
1209ca08ab68Smrg   minimum field width, followed by tag contents in curly braces ({}). If the
1210ca08ab68Smrg   minimum field width value is provided the tag will be expanded and the
1211ca08ab68Smrg   result padded to achieve the minimum width. If the minimum field width is
1212ca08ab68Smrg   positive, the padding will right-align the text. Negative field width will
1213ca08ab68Smrg   left-align. The rest of this section describes various supported tag
1214ca08ab68Smrg   contents and their expansion.
1215a6844aabSmrg
1216ca08ab68Smrg    A simple tag is one where the content is an identifier. When simple tags
1217ca08ab68Smrg   are expanded, the named identifier will be looked up in pattern and the
1218ca08ab68Smrg   resulting list of values returned, joined together using comma. For
1219ca08ab68Smrg   example, to print the family name and style of the pattern, use the format
1220ca08ab68Smrg   "%{family} %{style}\n". To extend the family column to forty characters
1221ca08ab68Smrg   use "%-40{family}%{style}\n".
1222a6844aabSmrg
1223ca08ab68Smrg    Simple tags expand to list of all values for an element. To only choose
1224ca08ab68Smrg   one of the values, one can index using the syntax "%{elt[idx]}". For
1225ca08ab68Smrg   example, to get the first family name only, use "%{family[0]}".
1226a6844aabSmrg
1227ca08ab68Smrg    If a simple tag ends with "=" and the element is found in the pattern,
1228ca08ab68Smrg   the name of the element followed by "=" will be output before the list of
1229ca08ab68Smrg   values. For example, "%{weight=}" may expand to the string "weight=80". Or
1230ca08ab68Smrg   to the empty string if pattern does not have weight set.
1231a6844aabSmrg
1232ca08ab68Smrg    If a simple tag starts with ":" and the element is found in the pattern,
1233ca08ab68Smrg   ":" will be printed first. For example, combining this with the =, the
1234ca08ab68Smrg   format "%{:weight=}" may expand to ":weight=80" or to the empty string if
1235ca08ab68Smrg   pattern does not have weight set.
1236a6844aabSmrg
1237ca08ab68Smrg    If a simple tag contains the string ":-", the rest of the the tag
1238ca08ab68Smrg   contents will be used as a default string. The default string is output if
1239ca08ab68Smrg   the element is not found in the pattern. For example, the format
1240ca08ab68Smrg   "%{:weight=:-123}" may expand to ":weight=80" or to the string
1241ca08ab68Smrg   ":weight=123" if pattern does not have weight set.
1242a6844aabSmrg
1243ca08ab68Smrg    A count tag is one that starts with the character "#" followed by an
1244ca08ab68Smrg   element name, and expands to the number of values for the element in the
1245ca08ab68Smrg   pattern. For example, "%{#family}" expands to the number of family names
1246ca08ab68Smrg   pattern has set, which may be zero.
1247a6844aabSmrg
1248ca08ab68Smrg    A sub-expression tag is one that expands a sub-expression. The tag
1249ca08ab68Smrg   contents are the sub-expression to expand placed inside another set of
1250ca08ab68Smrg   curly braces. Sub-expression tags are useful for aligning an entire
1251ca08ab68Smrg   sub-expression, or to apply converters (explained later) to the entire
1252ca08ab68Smrg   sub-expression output. For example, the format "%40{{%{family} %{style}}}"
1253ca08ab68Smrg   expands the sub-expression to construct the family name followed by the
1254ca08ab68Smrg   style, then takes the entire string and pads it on the left to be at least
1255ca08ab68Smrg   forty characters.
1256a6844aabSmrg
1257ca08ab68Smrg    A filter-out tag is one starting with the character "-" followed by a
1258ca08ab68Smrg   comma-separated list of element names, followed by a sub-expression
1259ca08ab68Smrg   enclosed in curly braces. The sub-expression will be expanded but with a
1260ca08ab68Smrg   pattern that has the listed elements removed from it. For example, the
1261ca08ab68Smrg   format "%{-size,pixelsize{sub-expr}}" will expand "sub-expr" with pattern
1262ca08ab68Smrg   sans the size and pixelsize elements.
1263a6844aabSmrg
1264ca08ab68Smrg    A filter-in tag is one starting with the character "+" followed by a
1265ca08ab68Smrg   comma-separated list of element names, followed by a sub-expression
1266ca08ab68Smrg   enclosed in curly braces. The sub-expression will be expanded but with a
1267ca08ab68Smrg   pattern that only has the listed elements from the surrounding pattern.
1268ca08ab68Smrg   For example, the format "%{+family,familylang{sub-expr}}" will expand
1269ca08ab68Smrg   "sub-expr" with a sub-pattern consisting only the family and family lang
1270ca08ab68Smrg   elements of pattern.
1271a6844aabSmrg
1272ca08ab68Smrg    A conditional tag is one starting with the character "?" followed by a
1273ca08ab68Smrg   comma-separated list of element conditions, followed by two sub-expression
1274ca08ab68Smrg   enclosed in curly braces. An element condition can be an element name, in
1275ca08ab68Smrg   which case it tests whether the element is defined in pattern, or the
1276ca08ab68Smrg   character "!" followed by an element name, in which case the test is
1277ca08ab68Smrg   negated. The conditional passes if all the element conditions pass. The
1278ca08ab68Smrg   tag expands the first sub-expression if the conditional passes, and
1279ca08ab68Smrg   expands the second sub-expression otherwise. For example, the format
1280ca08ab68Smrg   "%{?size,dpi,!pixelsize{pass}{fail}}" will expand to "pass" if pattern has
1281ca08ab68Smrg   size and dpi elements but no pixelsize element, and to "fail" otherwise.
1282a6844aabSmrg
1283ca08ab68Smrg    An enumerate tag is one starting with the string "[]" followed by a
1284ca08ab68Smrg   comma-separated list of element names, followed by a sub-expression
1285ca08ab68Smrg   enclosed in curly braces. The list of values for the named elements are
1286ca08ab68Smrg   walked in parallel and the sub-expression expanded each time with a
1287ca08ab68Smrg   pattern just having a single value for those elements, starting from the
1288ca08ab68Smrg   first value and continuing as long as any of those elements has a value.
1289ca08ab68Smrg   For example, the format "%{[]family,familylang{%{family}
1290ca08ab68Smrg   (%{familylang})\n}}" will expand the pattern "%{family} (%{familylang})\n"
1291ca08ab68Smrg   with a pattern having only the first value of the family and familylang
1292ca08ab68Smrg   elements, then expands it with the second values, then the third, etc.
1293a6844aabSmrg
1294ca08ab68Smrg    As a special case, if an enumerate tag has only one element, and that
1295ca08ab68Smrg   element has only one value in the pattern, and that value is of type
1296ca08ab68Smrg   FcLangSet, the individual languages in the language set are enumerated.
1297a6844aabSmrg
1298ca08ab68Smrg    A builtin tag is one starting with the character "=" followed by a
1299ca08ab68Smrg   builtin name. The following builtins are defined:
1300a6844aabSmrg
1301ca08ab68Smrg   unparse
1302a6844aabSmrg
1303ca08ab68Smrg           Expands to the result of calling FcNameUnparse() on the pattern.
1304a6844aabSmrg
1305ca08ab68Smrg   fcmatch
1306a6844aabSmrg
1307ca08ab68Smrg           Expands to the output of the default output format of the fc-match
1308ca08ab68Smrg           command on the pattern, without the final newline.
1309a6844aabSmrg
1310ca08ab68Smrg   fclist
1311a6844aabSmrg
1312ca08ab68Smrg           Expands to the output of the default output format of the fc-list
1313ca08ab68Smrg           command on the pattern, without the final newline.
1314a6844aabSmrg
1315ca08ab68Smrg   fccat
1316a6844aabSmrg
1317ca08ab68Smrg           Expands to the output of the default output format of the fc-cat
1318ca08ab68Smrg           command on the pattern, without the final newline.
1319a6844aabSmrg
1320ca08ab68Smrg   pkgkit
1321a6844aabSmrg
1322ca08ab68Smrg           Expands to the list of PackageKit font() tags for the pattern.
1323ca08ab68Smrg           Currently this includes tags for each family name, and each
1324ca08ab68Smrg           language from the pattern, enumerated and sanitized into a set of
1325ca08ab68Smrg           tags terminated by newline. Package management systems can use
1326ca08ab68Smrg           these tags to tag their packages accordingly.
1327a6844aabSmrg
1328ca08ab68Smrg   For example, the format "%{+family,style{%{=unparse}}}\n" will expand to
1329ca08ab68Smrg   an unparsed name containing only the family and style element values from
1330ca08ab68Smrg   pattern.
1331a6844aabSmrg
1332ca08ab68Smrg    The contents of any tag can be followed by a set of zero or more
1333ca08ab68Smrg   converters. A converter is specified by the character "|" followed by the
1334ca08ab68Smrg   converter name and arguments. The following converters are defined:
1335a6844aabSmrg
1336ca08ab68Smrg   basename
1337a6844aabSmrg
1338ca08ab68Smrg           Replaces text with the results of calling FcStrBasename() on it.
1339a6844aabSmrg
1340ca08ab68Smrg   dirname
1341a6844aabSmrg
1342ca08ab68Smrg           Replaces text with the results of calling FcStrDirname() on it.
1343a6844aabSmrg
1344ca08ab68Smrg   downcase
1345a6844aabSmrg
1346ca08ab68Smrg           Replaces text with the results of calling FcStrDowncase() on it.
1347a6844aabSmrg
1348ca08ab68Smrg   shescape
1349a6844aabSmrg
1350ca08ab68Smrg           Escapes text for one level of shell expansion. (Escapes
1351ca08ab68Smrg           single-quotes, also encloses text in single-quotes.)
1352a6844aabSmrg
1353ca08ab68Smrg   cescape
1354a6844aabSmrg
1355ca08ab68Smrg           Escapes text such that it can be used as part of a C string
1356ca08ab68Smrg           literal. (Escapes backslash and double-quotes.)
1357a6844aabSmrg
1358ca08ab68Smrg   xmlescape
1359a6844aabSmrg
1360ca08ab68Smrg           Escapes text such that it can be used in XML and HTML. (Escapes
1361ca08ab68Smrg           less-than, greater-than, and ampersand.)
1362a6844aabSmrg
1363ca08ab68Smrg   delete(chars)
1364a6844aabSmrg
1365ca08ab68Smrg           Deletes all occurrences of each of the characters in chars from
1366ca08ab68Smrg           the text. FIXME: This converter is not UTF-8 aware yet.
1367a6844aabSmrg
1368ca08ab68Smrg   escape(chars)
1369a6844aabSmrg
1370ca08ab68Smrg           Escapes all occurrences of each of the characters in chars by
1371ca08ab68Smrg           prepending it by the first character in chars. FIXME: This
1372ca08ab68Smrg           converter is not UTF-8 aware yet.
1373a6844aabSmrg
1374ca08ab68Smrg   translate(from,to)
1375ca08ab68Smrg
1376ca08ab68Smrg           Translates all occurrences of each of the characters in from by
1377ca08ab68Smrg           replacing them with their corresponding character in to. If to has
1378ca08ab68Smrg           fewer characters than from, it will be extended by repeating its
1379ca08ab68Smrg           last character. FIXME: This converter is not UTF-8 aware yet.
1380ca08ab68Smrg
1381ca08ab68Smrg   For example, the format "%{family|downcase|delete( )}\n" will expand to
1382ca08ab68Smrg   the values of the family element in pattern, lower-cased and with spaces
1383ca08ab68Smrg   removed.
13842c393a42Smrg
13852c393a42SmrgVersion
13862c393a42Smrg
1387ca08ab68Smrg   Fontconfig version 2.10.2
1388ca08ab68Smrg
1389ca08ab68Smrg   --------------------------------------------------------------------------
1390ca08ab68Smrg
1391ca08ab68Smrg  FcFontSet
1392ca08ab68Smrg
1393ca08ab68Smrg   Table of Contents
1394ca08ab68Smrg
1395ca08ab68Smrg   [33]FcFontSetCreate -- Create a font set
1396ca08ab68Smrg
1397ca08ab68Smrg   [34]FcFontSetDestroy -- Destroy a font set
1398ca08ab68Smrg
1399ca08ab68Smrg   [35]FcFontSetAdd -- Add to a font set
1400ca08ab68Smrg
1401ca08ab68Smrg   [36]FcFontSetList -- List fonts from a set of font sets
1402a6844aabSmrg
1403ca08ab68Smrg   [37]FcFontSetMatch -- Return the best font from a set of font sets
14042c393a42Smrg
1405ca08ab68Smrg   [38]FcFontSetPrint -- Print a set of patterns to stdout
14062c393a42Smrg
1407ca08ab68Smrg   [39]FcFontSetSort -- Add to a font set
14082c393a42Smrg
1409ca08ab68Smrg   [40]FcFontSetSortDestroy -- DEPRECATED destroy a font set
14102c393a42Smrg
1411ca08ab68Smrg   An FcFontSet simply holds a list of patterns; these are used to return the
1412ca08ab68Smrg   results of listing available fonts.
1413ca08ab68Smrg
1414ca08ab68Smrg                                FcFontSetCreate
14152c393a42Smrg
14162c393a42SmrgName
14172c393a42Smrg
1418ca08ab68Smrg   FcFontSetCreate -- Create a font set
14192c393a42Smrg
14202c393a42SmrgSynopsis
14212c393a42Smrg
1422ca08ab68Smrg   #include <fontconfig.h>
14232c393a42Smrg
1424a6844aabSmrg
1425ca08ab68Smrg   FcFontSet * FcFontSetCreate(void);
14262c393a42Smrg
14272c393a42SmrgDescription
14282c393a42Smrg
1429ca08ab68Smrg   Creates an empty font set.
14302c393a42Smrg
14312c393a42SmrgVersion
14322c393a42Smrg
1433ca08ab68Smrg   Fontconfig version 2.10.2
14342c393a42Smrg
1435ca08ab68Smrg                                FcFontSetDestroy
14362c393a42Smrg
14372c393a42SmrgName
14382c393a42Smrg
1439ca08ab68Smrg   FcFontSetDestroy -- Destroy a font set
14402c393a42Smrg
14412c393a42SmrgSynopsis
14422c393a42Smrg
1443ca08ab68Smrg   #include <fontconfig.h>
14442c393a42Smrg
1445a6844aabSmrg
1446ca08ab68Smrg   void FcFontSetDestroy(FcFontSet *s);
14472c393a42Smrg
14482c393a42SmrgDescription
14492c393a42Smrg
1450ca08ab68Smrg   Destroys a font set. Note that this destroys any referenced patterns as
1451ca08ab68Smrg   well.
14522c393a42Smrg
14532c393a42SmrgVersion
14542c393a42Smrg
1455ca08ab68Smrg   Fontconfig version 2.10.2
14562c393a42Smrg
1457ca08ab68Smrg                                  FcFontSetAdd
14582c393a42Smrg
14592c393a42SmrgName
14602c393a42Smrg
1461ca08ab68Smrg   FcFontSetAdd -- Add to a font set
14622c393a42Smrg
14632c393a42SmrgSynopsis
14642c393a42Smrg
1465ca08ab68Smrg   #include <fontconfig.h>
14662c393a42Smrg
1467a6844aabSmrg
1468ca08ab68Smrg   FcBool FcFontSetAdd(FcFontSet *s, FcPattern *font);
14692c393a42Smrg
14702c393a42SmrgDescription
14712c393a42Smrg
1472ca08ab68Smrg   Adds a pattern to a font set. Note that the pattern is not copied before
1473ca08ab68Smrg   being inserted into the set. Returns FcFalse if the pattern cannot be
1474ca08ab68Smrg   inserted into the set (due to allocation failure). Otherwise returns
1475ca08ab68Smrg   FcTrue.
14762c393a42Smrg
14772c393a42SmrgVersion
14782c393a42Smrg
1479ca08ab68Smrg   Fontconfig version 2.10.2
14802c393a42Smrg
1481ca08ab68Smrg                                 FcFontSetList
14822c393a42Smrg
14832c393a42SmrgName
14842c393a42Smrg
1485ca08ab68Smrg   FcFontSetList -- List fonts from a set of font sets
14862c393a42Smrg
14872c393a42SmrgSynopsis
14882c393a42Smrg
1489ca08ab68Smrg   #include <fontconfig.h>
14902c393a42Smrg
1491a6844aabSmrg
1492ca08ab68Smrg   FcFontSet * FcFontSetList(FcConfig *config, FcFontSet **sets, intnsets,
1493ca08ab68Smrg   FcPattern *pattern, FcObjectSet *object_set);
14942c393a42Smrg
14952c393a42SmrgDescription
14962c393a42Smrg
1497ca08ab68Smrg   Selects fonts matching pattern from sets, creates patterns from those
1498ca08ab68Smrg   fonts containing only the objects in object_set and returns the set of
1499ca08ab68Smrg   unique such patterns. If config is NULL, the default configuration is
1500ca08ab68Smrg   checked to be up to date, and used.
15012c393a42Smrg
15022c393a42SmrgVersion
15032c393a42Smrg
1504ca08ab68Smrg   Fontconfig version 2.10.2
15052c393a42Smrg
1506ca08ab68Smrg                                 FcFontSetMatch
15072c393a42Smrg
15082c393a42SmrgName
15092c393a42Smrg
1510ca08ab68Smrg   FcFontSetMatch -- Return the best font from a set of font sets
15112c393a42Smrg
15122c393a42SmrgSynopsis
15132c393a42Smrg
1514ca08ab68Smrg   #include <fontconfig.h>
15152c393a42Smrg
1516a6844aabSmrg
1517ca08ab68Smrg   FcPattern * FcFontSetMatch(FcConfig *config, FcFontSet **sets, intnsets,
1518ca08ab68Smrg   FcPattern *pattern, FcResult *result);
15192c393a42Smrg
15202c393a42SmrgDescription
15212c393a42Smrg
1522ca08ab68Smrg   Finds the font in sets most closely matching pattern and returns the
1523ca08ab68Smrg   result of FcFontRenderPrepare for that font and the provided pattern. This
1524ca08ab68Smrg   function should be called only after FcConfigSubstitute and
1525ca08ab68Smrg   FcDefaultSubstitute have been called for pattern; otherwise the results
1526ca08ab68Smrg   will not be correct. If config is NULL, the current configuration is used.
1527ca08ab68Smrg   Returns NULL if an error occurs during this process.
15282c393a42Smrg
15292c393a42SmrgVersion
15302c393a42Smrg
1531ca08ab68Smrg   Fontconfig version 2.10.2
15322c393a42Smrg
1533ca08ab68Smrg                                 FcFontSetPrint
15342c393a42Smrg
15352c393a42SmrgName
15362c393a42Smrg
1537ca08ab68Smrg   FcFontSetPrint -- Print a set of patterns to stdout
15382c393a42Smrg
15392c393a42SmrgSynopsis
15402c393a42Smrg
1541ca08ab68Smrg   #include <fontconfig.h>
15422c393a42Smrg
1543a6844aabSmrg
1544ca08ab68Smrg   void FcFontSetPrint(FcFontSet *set);
15452c393a42Smrg
15462c393a42SmrgDescription
15472c393a42Smrg
1548ca08ab68Smrg   This function is useful for diagnosing font related issues, printing the
1549ca08ab68Smrg   complete contents of every pattern in set. The format of the output is
1550ca08ab68Smrg   designed to be of help to users and developers, and may change at any
1551ca08ab68Smrg   time.
15522c393a42Smrg
15532c393a42SmrgVersion
15542c393a42Smrg
1555ca08ab68Smrg   Fontconfig version 2.10.2
15562c393a42Smrg
1557ca08ab68Smrg                                 FcFontSetSort
15582c393a42Smrg
15592c393a42SmrgName
15602c393a42Smrg
1561ca08ab68Smrg   FcFontSetSort -- Add to a font set
15622c393a42Smrg
15632c393a42SmrgSynopsis
15642c393a42Smrg
1565ca08ab68Smrg   #include <fontconfig.h>
15662c393a42Smrg
1567a6844aabSmrg
1568ca08ab68Smrg   FcFontSetSort(FcConfig *config, FcFontSet **sets, intnsets, FcPattern
1569ca08ab68Smrg   *pattern, FcBool trim, FcCharSet **csp, FcResult *result);
15702c393a42Smrg
15712c393a42SmrgDescription
15722c393a42Smrg
1573ca08ab68Smrg   Returns the list of fonts from sets sorted by closeness to pattern. If
1574ca08ab68Smrg   trim is FcTrue, elements in the list which don't include Unicode coverage
1575ca08ab68Smrg   not provided by earlier elements in the list are elided. The union of
1576ca08ab68Smrg   Unicode coverage of all of the fonts is returned in csp, if csp is not
1577ca08ab68Smrg   NULL. This function should be called only after FcConfigSubstitute and
1578ca08ab68Smrg   FcDefaultSubstitute have been called for p; otherwise the results will not
1579ca08ab68Smrg   be correct.
15802c393a42Smrg
1581ca08ab68Smrg   The returned FcFontSet references FcPattern structures which may be shared
1582ca08ab68Smrg   by the return value from multiple FcFontSort calls, applications cannot
1583ca08ab68Smrg   modify these patterns. Instead, they should be passed, along with pattern
1584ca08ab68Smrg   to FcFontRenderPrepare which combines them into a complete pattern.
15852c393a42Smrg
1586ca08ab68Smrg   The FcFontSet returned by FcFontSetSort is destroyed by calling
1587ca08ab68Smrg   FcFontSetDestroy.
15882c393a42Smrg
15892c393a42SmrgVersion
15902c393a42Smrg
1591ca08ab68Smrg   Fontconfig version 2.10.2
15922c393a42Smrg
1593ca08ab68Smrg                              FcFontSetSortDestroy
15942c393a42Smrg
15952c393a42SmrgName
15962c393a42Smrg
1597ca08ab68Smrg   FcFontSetSortDestroy -- DEPRECATED destroy a font set
15982c393a42Smrg
15992c393a42SmrgSynopsis
16002c393a42Smrg
1601ca08ab68Smrg   #include <fontconfig.h>
16022c393a42Smrg
1603a6844aabSmrg
1604ca08ab68Smrg   FcFontSetSortDestroy(FcFontSet *set);
16052c393a42Smrg
16062c393a42SmrgDescription
16072c393a42Smrg
1608ca08ab68Smrg   This function is DEPRECATED. FcFontSetSortDestroy destroys set by calling
1609ca08ab68Smrg   FcFontSetDestroy. Applications should use FcFontSetDestroy directly
1610ca08ab68Smrg   instead.
16112c393a42Smrg
16122c393a42SmrgVersion
16132c393a42Smrg
1614ca08ab68Smrg   Fontconfig version 2.10.2
1615ca08ab68Smrg
1616ca08ab68Smrg   --------------------------------------------------------------------------
1617ca08ab68Smrg
1618ca08ab68Smrg  FcObjectSet
1619ca08ab68Smrg
1620ca08ab68Smrg   Table of Contents
1621ca08ab68Smrg
1622ca08ab68Smrg   [41]FcObjectSetCreate -- Create an object set
1623a6844aabSmrg
1624ca08ab68Smrg   [42]FcObjectSetAdd -- Add to an object set
16252c393a42Smrg
1626ca08ab68Smrg   [43]FcObjectSetDestroy -- Destroy an object set
16272c393a42Smrg
1628ca08ab68Smrg   [44]FcObjectSetBuild -- Build object set from args
16292c393a42Smrg
1630ca08ab68Smrg   An FcObjectSet holds a list of pattern property names; it is used to
1631ca08ab68Smrg   indicate which properties are to be returned in the patterns from
1632ca08ab68Smrg   FcFontList.
16332c393a42Smrg
1634ca08ab68Smrg                               FcObjectSetCreate
16352c393a42Smrg
16362c393a42SmrgName
16372c393a42Smrg
1638ca08ab68Smrg   FcObjectSetCreate -- Create an object set
16392c393a42Smrg
16402c393a42SmrgSynopsis
16412c393a42Smrg
1642ca08ab68Smrg   #include <fontconfig.h>
16432c393a42Smrg
1644a6844aabSmrg
1645ca08ab68Smrg   FcObjectSet * FcObjectSetCreate(void);
16462c393a42Smrg
16472c393a42SmrgDescription
16482c393a42Smrg
1649ca08ab68Smrg   Creates an empty set.
16502c393a42Smrg
16512c393a42SmrgVersion
16522c393a42Smrg
1653ca08ab68Smrg   Fontconfig version 2.10.2
16542c393a42Smrg
1655ca08ab68Smrg                                 FcObjectSetAdd
16562c393a42Smrg
16572c393a42SmrgName
16582c393a42Smrg
1659ca08ab68Smrg   FcObjectSetAdd -- Add to an object set
16602c393a42Smrg
16612c393a42SmrgSynopsis
16622c393a42Smrg
1663ca08ab68Smrg   #include <fontconfig.h>
16642c393a42Smrg
1665a6844aabSmrg
1666ca08ab68Smrg   FcBool FcObjectSetAdd(FcObjectSet *os, const char *object);
16672c393a42Smrg
16682c393a42SmrgDescription
16692c393a42Smrg
1670ca08ab68Smrg   Adds a property name to the set. Returns FcFalse if the property name
1671ca08ab68Smrg   cannot be inserted into the set (due to allocation failure). Otherwise
1672ca08ab68Smrg   returns FcTrue.
16732c393a42Smrg
16742c393a42SmrgVersion
16752c393a42Smrg
1676ca08ab68Smrg   Fontconfig version 2.10.2
16772c393a42Smrg
1678ca08ab68Smrg                               FcObjectSetDestroy
16792c393a42Smrg
16802c393a42SmrgName
16812c393a42Smrg
1682ca08ab68Smrg   FcObjectSetDestroy -- Destroy an object set
16832c393a42Smrg
16842c393a42SmrgSynopsis
16852c393a42Smrg
1686ca08ab68Smrg   #include <fontconfig.h>
16872c393a42Smrg
1688a6844aabSmrg
1689ca08ab68Smrg   void FcObjectSetDestroy(FcObjectSet *os);
16902c393a42Smrg
16912c393a42SmrgDescription
16922c393a42Smrg
1693ca08ab68Smrg   Destroys an object set.
16942c393a42Smrg
16952c393a42SmrgVersion
16962c393a42Smrg
1697ca08ab68Smrg   Fontconfig version 2.10.2
16982c393a42Smrg
1699ca08ab68Smrg                                FcObjectSetBuild
17002c393a42Smrg
17012c393a42SmrgName
17022c393a42Smrg
1703ca08ab68Smrg   FcObjectSetBuild, FcObjectSetVaBuild, FcObjectSetVapBuild -- Build object
1704ca08ab68Smrg   set from args
17052c393a42Smrg
17062c393a42SmrgSynopsis
17072c393a42Smrg
1708ca08ab68Smrg   #include <fontconfig.h>
17092c393a42Smrg
17102c393a42Smrg
1711ca08ab68Smrg   FcObjectSet * FcObjectSetBuild(const char *first, ...);
17122c393a42Smrg
1713ca08ab68Smrg   FcObjectSet * FcObjectSetVaBuild(const char *first, va_list va);
1714a6844aabSmrg
1715ca08ab68Smrg   void FcObjectSetVapBuild(FcObjectSet *result, const char *first, va_list
1716ca08ab68Smrg   va);
17172c393a42Smrg
17182c393a42SmrgDescription
17192c393a42Smrg
1720ca08ab68Smrg   These build an object set from a null-terminated list of property names.
1721ca08ab68Smrg   FcObjectSetVapBuild is a macro version of FcObjectSetVaBuild which returns
1722ca08ab68Smrg   the result in the result variable directly.
17232c393a42Smrg
17242c393a42SmrgVersion
17252c393a42Smrg
1726ca08ab68Smrg   Fontconfig version 2.10.2
1727ca08ab68Smrg
1728ca08ab68Smrg   --------------------------------------------------------------------------
1729ca08ab68Smrg
1730ca08ab68Smrg  FreeType specific functions
1731ca08ab68Smrg
1732ca08ab68Smrg   Table of Contents
1733ca08ab68Smrg
1734ca08ab68Smrg   [45]FcFreeTypeCharIndex -- map Unicode to glyph id
17352c393a42Smrg
1736ca08ab68Smrg   [46]FcFreeTypeCharSet -- compute Unicode coverage
17372c393a42Smrg
1738ca08ab68Smrg   [47]FcFreeTypeCharSetAndSpacing -- compute Unicode coverage and spacing
1739ca08ab68Smrg   type
17402c393a42Smrg
1741ca08ab68Smrg   [48]FcFreeTypeQuery -- compute pattern from font file (and index)
17422c393a42Smrg
1743ca08ab68Smrg   [49]FcFreeTypeQueryFace -- compute pattern from FT_Face
17442c393a42Smrg
1745ca08ab68Smrg   While the fontconfig library doesn't insist that FreeType be used as the
1746ca08ab68Smrg   rasterization mechanism for fonts, it does provide some convenience
1747ca08ab68Smrg   functions.
1748ca08ab68Smrg
1749ca08ab68Smrg                              FcFreeTypeCharIndex
17502c393a42Smrg
17512c393a42SmrgName
17522c393a42Smrg
1753ca08ab68Smrg   FcFreeTypeCharIndex -- map Unicode to glyph id
17542c393a42Smrg
17552c393a42SmrgSynopsis
17562c393a42Smrg
1757ca08ab68Smrg   #include <fontconfig.h>
1758ca08ab68Smrg   #include <fcfreetype.h>
17592c393a42Smrg
1760a6844aabSmrg
1761ca08ab68Smrg   FT_UInt FcFreeTypeCharIndex(FT_Face face, FcChar32 ucs4);
17622c393a42Smrg
17632c393a42SmrgDescription
17642c393a42Smrg
1765ca08ab68Smrg   Maps a Unicode char to a glyph index. This function uses information from
1766ca08ab68Smrg   several possible underlying encoding tables to work around broken fonts.
1767ca08ab68Smrg   As a result, this function isn't designed to be used in performance
1768ca08ab68Smrg   sensitive areas; results from this function are intended to be cached by
1769ca08ab68Smrg   higher level functions.
17702c393a42Smrg
17712c393a42SmrgVersion
17722c393a42Smrg
1773ca08ab68Smrg   Fontconfig version 2.10.2
17742c393a42Smrg
1775ca08ab68Smrg                               FcFreeTypeCharSet
17762c393a42Smrg
17772c393a42SmrgName
17782c393a42Smrg
1779ca08ab68Smrg   FcFreeTypeCharSet -- compute Unicode coverage
17802c393a42Smrg
17812c393a42SmrgSynopsis
17822c393a42Smrg
1783ca08ab68Smrg   #include <fontconfig.h>
1784ca08ab68Smrg   #include <fcfreetype.h>
17852c393a42Smrg
1786a6844aabSmrg
1787ca08ab68Smrg   FcCharSet * FcFreeTypeCharSet(FT_Face face, FcBlanks *blanks);
17882c393a42Smrg
17892c393a42SmrgDescription
17902c393a42Smrg
1791ca08ab68Smrg   Scans a FreeType face and returns the set of encoded Unicode chars. This
1792ca08ab68Smrg   scans several encoding tables to build as complete a list as possible. If
1793ca08ab68Smrg   'blanks' is not 0, the glyphs in the font are examined and any blank
1794ca08ab68Smrg   glyphs not in 'blanks' are not placed in the returned FcCharSet.
17952c393a42Smrg
17962c393a42SmrgVersion
17972c393a42Smrg
1798ca08ab68Smrg   Fontconfig version 2.10.2
17992c393a42Smrg
1800ca08ab68Smrg                          FcFreeTypeCharSetAndSpacing
18012c393a42Smrg
18022c393a42SmrgName
18032c393a42Smrg
1804ca08ab68Smrg   FcFreeTypeCharSetAndSpacing -- compute Unicode coverage and spacing type
18052c393a42Smrg
18062c393a42SmrgSynopsis
18072c393a42Smrg
1808ca08ab68Smrg   #include <fontconfig.h>
1809ca08ab68Smrg   #include <fcfreetype.h>
18102c393a42Smrg
1811a6844aabSmrg
1812ca08ab68Smrg   FcCharSet * FcFreeTypeCharSetAndSpacing(FT_Face face, FcBlanks *blanks,
1813ca08ab68Smrg   int *spacing);
18142c393a42Smrg
18152c393a42SmrgDescription
18162c393a42Smrg
1817ca08ab68Smrg   Scans a FreeType face and returns the set of encoded Unicode chars. This
1818ca08ab68Smrg   scans several encoding tables to build as complete a list as possible. If
1819ca08ab68Smrg   'blanks' is not 0, the glyphs in the font are examined and any blank
1820ca08ab68Smrg   glyphs not in 'blanks' are not placed in the returned FcCharSet. spacing
1821ca08ab68Smrg   receives the computed spacing type of the font, one of FC_MONO for a font
1822ca08ab68Smrg   where all glyphs have the same width, FC_DUAL, where the font has glyphs
1823ca08ab68Smrg   in precisely two widths, one twice as wide as the other, or
1824ca08ab68Smrg   FC_PROPORTIONAL where the font has glyphs of many widths.
18252c393a42Smrg
18262c393a42SmrgVersion
18272c393a42Smrg
1828ca08ab68Smrg   Fontconfig version 2.10.2
18292c393a42Smrg
1830ca08ab68Smrg                                FcFreeTypeQuery
18312c393a42Smrg
18322c393a42SmrgName
18332c393a42Smrg
1834ca08ab68Smrg   FcFreeTypeQuery -- compute pattern from font file (and index)
18352c393a42Smrg
18362c393a42SmrgSynopsis
18372c393a42Smrg
1838ca08ab68Smrg   #include <fontconfig.h>
1839ca08ab68Smrg   #include <fcfreetype.h>
18402c393a42Smrg
1841a6844aabSmrg
1842ca08ab68Smrg   FcPattern * FcFreeTypeQuery(const FcChar8 *file, int id, FcBlanks *blanks,
1843ca08ab68Smrg   int *count);
18442c393a42Smrg
18452c393a42SmrgDescription
18462c393a42Smrg
1847ca08ab68Smrg   Constructs a pattern representing the 'id'th font in 'file'. The number of
1848ca08ab68Smrg   fonts in 'file' is returned in 'count'.
18492c393a42Smrg
18502c393a42SmrgVersion
18512c393a42Smrg
1852ca08ab68Smrg   Fontconfig version 2.10.2
18532c393a42Smrg
1854ca08ab68Smrg                              FcFreeTypeQueryFace
18552c393a42Smrg
18562c393a42SmrgName
18572c393a42Smrg
1858ca08ab68Smrg   FcFreeTypeQueryFace -- compute pattern from FT_Face
18592c393a42Smrg
18602c393a42SmrgSynopsis
18612c393a42Smrg
1862ca08ab68Smrg   #include <fontconfig.h>
1863ca08ab68Smrg   #include <fcfreetype.h>
18642c393a42Smrg
1865a6844aabSmrg
1866ca08ab68Smrg   FcPattern * FcFreeTypeQueryFace(const FT_Face face, const FcChar8 *file,
1867ca08ab68Smrg   int id, FcBlanks *blanks);
18682c393a42Smrg
18692c393a42SmrgDescription
18702c393a42Smrg
1871ca08ab68Smrg   Constructs a pattern representing 'face'. 'file' and 'id' are used solely
1872ca08ab68Smrg   as data for pattern elements (FC_FILE, FC_INDEX and sometimes FC_FAMILY).
18732c393a42Smrg
18742c393a42SmrgVersion
18752c393a42Smrg
1876ca08ab68Smrg   Fontconfig version 2.10.2
1877ca08ab68Smrg
1878ca08ab68Smrg   --------------------------------------------------------------------------
1879ca08ab68Smrg
1880ca08ab68Smrg  FcValue
1881ca08ab68Smrg
1882ca08ab68Smrg   Table of Contents
1883ca08ab68Smrg
1884ca08ab68Smrg   [50]FcValueDestroy -- Free a value
1885a6844aabSmrg
1886ca08ab68Smrg   [51]FcValueSave -- Copy a value
18872c393a42Smrg
1888ca08ab68Smrg   [52]FcValuePrint -- Print a value to stdout
18892c393a42Smrg
1890ca08ab68Smrg   [53]FcValueEqual -- Test two values for equality
18912c393a42Smrg
1892ca08ab68Smrg   FcValue is a structure containing a type tag and a union of all possible
1893ca08ab68Smrg   datatypes. The tag is an enum of type FcType and is intended to provide a
1894ca08ab68Smrg   measure of run-time typechecking, although that depends on careful
1895ca08ab68Smrg   programming.
18962c393a42Smrg
1897ca08ab68Smrg                                 FcValueDestroy
18982c393a42Smrg
18992c393a42SmrgName
19002c393a42Smrg
1901ca08ab68Smrg   FcValueDestroy -- Free a value
19022c393a42Smrg
19032c393a42SmrgSynopsis
19042c393a42Smrg
1905ca08ab68Smrg   #include <fontconfig.h>
19062c393a42Smrg
1907a6844aabSmrg
1908ca08ab68Smrg   void FcValueDestroy(FcValue v);
19092c393a42Smrg
19102c393a42SmrgDescription
19112c393a42Smrg
1912ca08ab68Smrg   Frees any memory referenced by v. Values of type FcTypeString,
1913ca08ab68Smrg   FcTypeMatrix and FcTypeCharSet reference memory, the other types do not.
19142c393a42Smrg
19152c393a42SmrgVersion
19162c393a42Smrg
1917ca08ab68Smrg   Fontconfig version 2.10.2
19182c393a42Smrg
1919ca08ab68Smrg                                  FcValueSave
19202c393a42Smrg
19212c393a42SmrgName
19222c393a42Smrg
1923ca08ab68Smrg   FcValueSave -- Copy a value
19242c393a42Smrg
19252c393a42SmrgSynopsis
19262c393a42Smrg
1927ca08ab68Smrg   #include <fontconfig.h>
19282c393a42Smrg
1929a6844aabSmrg
1930ca08ab68Smrg   FcValue FcValueSave(FcValue v);
19312c393a42Smrg
19322c393a42SmrgDescription
19332c393a42Smrg
1934ca08ab68Smrg   Returns a copy of v duplicating any object referenced by it so that v may
1935ca08ab68Smrg   be safely destroyed without harming the new value.
19362c393a42Smrg
19372c393a42SmrgVersion
19382c393a42Smrg
1939ca08ab68Smrg   Fontconfig version 2.10.2
19402c393a42Smrg
1941ca08ab68Smrg                                  FcValuePrint
19422c393a42Smrg
19432c393a42SmrgName
19442c393a42Smrg
1945ca08ab68Smrg   FcValuePrint -- Print a value to stdout
19462c393a42Smrg
19472c393a42SmrgSynopsis
19482c393a42Smrg
1949ca08ab68Smrg   #include <fontconfig.h>
19502c393a42Smrg
1951a6844aabSmrg
1952ca08ab68Smrg   void FcValuePrint(FcValue v);
19532c393a42Smrg
19542c393a42SmrgDescription
19552c393a42Smrg
1956ca08ab68Smrg   Prints a human-readable representation of v to stdout. The format should
1957ca08ab68Smrg   not be considered part of the library specification as it may change in
1958ca08ab68Smrg   the future.
19592c393a42Smrg
19602c393a42SmrgVersion
19612c393a42Smrg
1962ca08ab68Smrg   Fontconfig version 2.10.2
19632c393a42Smrg
1964ca08ab68Smrg                                  FcValueEqual
19652c393a42Smrg
19662c393a42SmrgName
19672c393a42Smrg
1968ca08ab68Smrg   FcValueEqual -- Test two values for equality
19692c393a42Smrg
19702c393a42SmrgSynopsis
19712c393a42Smrg
1972ca08ab68Smrg   #include <fontconfig.h>
19732c393a42Smrg
1974a6844aabSmrg
1975ca08ab68Smrg   FcBool FcValueEqual(FcValue v_a, FcValue v_b);
19762c393a42Smrg
19772c393a42SmrgDescription
19782c393a42Smrg
1979ca08ab68Smrg   Compares two values. Integers and Doubles are compared as numbers;
1980ca08ab68Smrg   otherwise the two values have to be the same type to be considered equal.
1981ca08ab68Smrg   Strings are compared ignoring case.
19822c393a42Smrg
19832c393a42SmrgVersion
19842c393a42Smrg
1985ca08ab68Smrg   Fontconfig version 2.10.2
1986ca08ab68Smrg
1987ca08ab68Smrg   --------------------------------------------------------------------------
1988ca08ab68Smrg
1989ca08ab68Smrg  FcCharSet
1990ca08ab68Smrg
1991ca08ab68Smrg   Table of Contents
1992ca08ab68Smrg
1993ca08ab68Smrg   [54]FcCharSetCreate -- Create an empty character set
1994ca08ab68Smrg
1995ca08ab68Smrg   [55]FcCharSetDestroy -- Destroy a character set
1996ca08ab68Smrg
1997ca08ab68Smrg   [56]FcCharSetAddChar -- Add a character to a charset
1998ca08ab68Smrg
1999ca08ab68Smrg   [57]FcCharSetDelChar -- Add a character to a charset
2000ca08ab68Smrg
2001ca08ab68Smrg   [58]FcCharSetCopy -- Copy a charset
2002ca08ab68Smrg
2003ca08ab68Smrg   [59]FcCharSetEqual -- Compare two charsets
2004ca08ab68Smrg
2005ca08ab68Smrg   [60]FcCharSetIntersect -- Intersect charsets
2006ca08ab68Smrg
2007ca08ab68Smrg   [61]FcCharSetUnion -- Add charsets
2008ca08ab68Smrg
2009ca08ab68Smrg   [62]FcCharSetSubtract -- Subtract charsets
2010ca08ab68Smrg
2011ca08ab68Smrg   [63]FcCharSetMerge -- Merge charsets
20122c393a42Smrg
2013ca08ab68Smrg   [64]FcCharSetHasChar -- Check a charset for a char
20142c393a42Smrg
2015ca08ab68Smrg   [65]FcCharSetCount -- Count entries in a charset
20162c393a42Smrg
2017ca08ab68Smrg   [66]FcCharSetIntersectCount -- Intersect and count charsets
20182c393a42Smrg
2019ca08ab68Smrg   [67]FcCharSetSubtractCount -- Subtract and count charsets
20202c393a42Smrg
2021ca08ab68Smrg   [68]FcCharSetIsSubset -- Test for charset inclusion
2022ca08ab68Smrg
2023ca08ab68Smrg   [69]FcCharSetFirstPage -- Start enumerating charset contents
2024ca08ab68Smrg
2025ca08ab68Smrg   [70]FcCharSetNextPage -- Continue enumerating charset contents
2026ca08ab68Smrg
2027ca08ab68Smrg   [71]FcCharSetCoverage -- DEPRECATED return coverage for a Unicode page
2028ca08ab68Smrg
2029ca08ab68Smrg   [72]FcCharSetNew -- DEPRECATED alias for FcCharSetCreate
2030ca08ab68Smrg
2031ca08ab68Smrg   An FcCharSet is a boolean array indicating a set of Unicode chars. Those
2032ca08ab68Smrg   associated with a font are marked constant and cannot be edited.
2033ca08ab68Smrg   FcCharSets may be reference counted internally to reduce memory
2034ca08ab68Smrg   consumption; this may be visible to applications as the result of
2035ca08ab68Smrg   FcCharSetCopy may return it's argument, and that CharSet may remain
2036ca08ab68Smrg   unmodifiable.
2037ca08ab68Smrg
2038ca08ab68Smrg                                FcCharSetCreate
2039ca08ab68Smrg
2040ca08ab68SmrgName
2041ca08ab68Smrg
2042ca08ab68Smrg   FcCharSetCreate -- Create an empty character set
2043ca08ab68Smrg
2044ca08ab68SmrgSynopsis
2045ca08ab68Smrg
2046ca08ab68Smrg   #include <fontconfig.h>
2047ca08ab68Smrg
2048ca08ab68Smrg
2049ca08ab68Smrg   FcCharSet * FcCharSetCreate(void);
2050ca08ab68Smrg
2051ca08ab68SmrgDescription
2052ca08ab68Smrg
2053ca08ab68Smrg   FcCharSetCreate allocates and initializes a new empty character set
2054ca08ab68Smrg   object.
2055ca08ab68Smrg
2056ca08ab68SmrgVersion
2057ca08ab68Smrg
2058ca08ab68Smrg   Fontconfig version 2.10.2
2059ca08ab68Smrg
2060ca08ab68Smrg                                FcCharSetDestroy
20612c393a42Smrg
20622c393a42SmrgName
20632c393a42Smrg
2064ca08ab68Smrg   FcCharSetDestroy -- Destroy a character set
20652c393a42Smrg
20662c393a42SmrgSynopsis
20672c393a42Smrg
2068ca08ab68Smrg   #include <fontconfig.h>
20692c393a42Smrg
2070a6844aabSmrg
2071ca08ab68Smrg   void FcCharSetDestroy(FcCharSet *fcs);
20722c393a42Smrg
20732c393a42SmrgDescription
20742c393a42Smrg
2075ca08ab68Smrg   FcCharSetDestroy decrements the reference count fcs. If the reference
2076ca08ab68Smrg   count becomes zero, all memory referenced is freed.
20772c393a42Smrg
20782c393a42SmrgVersion
20792c393a42Smrg
2080ca08ab68Smrg   Fontconfig version 2.10.2
20812c393a42Smrg
2082ca08ab68Smrg                                FcCharSetAddChar
20832c393a42Smrg
20842c393a42SmrgName
20852c393a42Smrg
2086ca08ab68Smrg   FcCharSetAddChar -- Add a character to a charset
20872c393a42Smrg
20882c393a42SmrgSynopsis
20892c393a42Smrg
2090ca08ab68Smrg   #include <fontconfig.h>
20912c393a42Smrg
2092a6844aabSmrg
2093ca08ab68Smrg   FcBool FcCharSetAddChar(FcCharSet *fcs, FcChar32 ucs4);
20942c393a42Smrg
20952c393a42SmrgDescription
20962c393a42Smrg
2097ca08ab68Smrg   FcCharSetAddChar adds a single Unicode char to the set, returning FcFalse
2098ca08ab68Smrg   on failure, either as a result of a constant set or from running out of
2099ca08ab68Smrg   memory.
21002c393a42Smrg
21012c393a42SmrgVersion
21022c393a42Smrg
2103ca08ab68Smrg   Fontconfig version 2.10.2
21042c393a42Smrg
2105ca08ab68Smrg                                FcCharSetDelChar
21062c393a42Smrg
21072c393a42SmrgName
21082c393a42Smrg
2109ca08ab68Smrg   FcCharSetDelChar -- Add a character to a charset
21102c393a42Smrg
21112c393a42SmrgSynopsis
21122c393a42Smrg
2113ca08ab68Smrg   #include <fontconfig.h>
21142c393a42Smrg
2115a6844aabSmrg
2116ca08ab68Smrg   FcBool FcCharSetDelChar(FcCharSet *fcs, FcChar32 ucs4);
21172c393a42Smrg
21182c393a42SmrgDescription
21192c393a42Smrg
2120ca08ab68Smrg   FcCharSetDelChar deletes a single Unicode char from the set, returning
2121ca08ab68Smrg   FcFalse on failure, either as a result of a constant set or from running
2122ca08ab68Smrg   out of memory.
21232c393a42Smrg
21242c393a42SmrgVersion
21252c393a42Smrg
2126ca08ab68Smrg   Fontconfig version 2.10.2
21272c393a42Smrg
2128ca08ab68Smrg                                 FcCharSetCopy
21292c393a42Smrg
21302c393a42SmrgName
21312c393a42Smrg
2132ca08ab68Smrg   FcCharSetCopy -- Copy a charset
21332c393a42Smrg
21342c393a42SmrgSynopsis
21352c393a42Smrg
2136ca08ab68Smrg   #include <fontconfig.h>
21372c393a42Smrg
2138a6844aabSmrg
2139ca08ab68Smrg   FcCharSet * FcCharSetCopy(FcCharSet *src);
21402c393a42Smrg
21412c393a42SmrgDescription
21422c393a42Smrg
2143ca08ab68Smrg   Makes a copy of src; note that this may not actually do anything more than
2144ca08ab68Smrg   increment the reference count on src.
21452c393a42Smrg
21462c393a42SmrgVersion
21472c393a42Smrg
2148ca08ab68Smrg   Fontconfig version 2.10.2
21492c393a42Smrg
2150ca08ab68Smrg                                 FcCharSetEqual
21512c393a42Smrg
21522c393a42SmrgName
21532c393a42Smrg
2154ca08ab68Smrg   FcCharSetEqual -- Compare two charsets
21552c393a42Smrg
21562c393a42SmrgSynopsis
21572c393a42Smrg
2158ca08ab68Smrg   #include <fontconfig.h>
21592c393a42Smrg
2160a6844aabSmrg
2161ca08ab68Smrg   FcBool FcCharSetEqual(const FcCharSet *a, const FcCharSet *b);
21622c393a42Smrg
21632c393a42SmrgDescription
21642c393a42Smrg
2165ca08ab68Smrg   Returns whether a and b contain the same set of Unicode chars.
21662c393a42Smrg
21672c393a42SmrgVersion
21682c393a42Smrg
2169ca08ab68Smrg   Fontconfig version 2.10.2
21702c393a42Smrg
2171ca08ab68Smrg                               FcCharSetIntersect
21722c393a42Smrg
21732c393a42SmrgName
21742c393a42Smrg
2175ca08ab68Smrg   FcCharSetIntersect -- Intersect charsets
21762c393a42Smrg
21772c393a42SmrgSynopsis
21782c393a42Smrg
2179ca08ab68Smrg   #include <fontconfig.h>
21802c393a42Smrg
2181a6844aabSmrg
2182ca08ab68Smrg   FcCharSet * FcCharSetIntersect(const FcCharSet *a, const FcCharSet *b);
21832c393a42Smrg
21842c393a42SmrgDescription
21852c393a42Smrg
2186ca08ab68Smrg   Returns a set including only those chars found in both a and b.
21872c393a42Smrg
21882c393a42SmrgVersion
21892c393a42Smrg
2190ca08ab68Smrg   Fontconfig version 2.10.2
21912c393a42Smrg
2192ca08ab68Smrg                                 FcCharSetUnion
21932c393a42Smrg
21942c393a42SmrgName
21952c393a42Smrg
2196ca08ab68Smrg   FcCharSetUnion -- Add charsets
21972c393a42Smrg
21982c393a42SmrgSynopsis
21992c393a42Smrg
2200ca08ab68Smrg   #include <fontconfig.h>
22012c393a42Smrg
2202a6844aabSmrg
2203ca08ab68Smrg   FcCharSet * FcCharSetUnion(const FcCharSet *a, const FcCharSet *b);
22042c393a42Smrg
22052c393a42SmrgDescription
22062c393a42Smrg
2207ca08ab68Smrg   Returns a set including only those chars found in either a or b.
22082c393a42Smrg
22092c393a42SmrgVersion
22102c393a42Smrg
2211ca08ab68Smrg   Fontconfig version 2.10.2
22122c393a42Smrg
2213ca08ab68Smrg                               FcCharSetSubtract
22142c393a42Smrg
22152c393a42SmrgName
22162c393a42Smrg
2217ca08ab68Smrg   FcCharSetSubtract -- Subtract charsets
22182c393a42Smrg
22192c393a42SmrgSynopsis
22202c393a42Smrg
2221ca08ab68Smrg   #include <fontconfig.h>
22222c393a42Smrg
2223a6844aabSmrg
2224ca08ab68Smrg   FcCharSet * FcCharSetSubtract(const FcCharSet *a, const FcCharSet *b);
22252c393a42Smrg
22262c393a42SmrgDescription
22272c393a42Smrg
2228ca08ab68Smrg   Returns a set including only those chars found in a but not b.
22292c393a42Smrg
22302c393a42SmrgVersion
22312c393a42Smrg
2232ca08ab68Smrg   Fontconfig version 2.10.2
2233a6844aabSmrg
2234ca08ab68Smrg                                 FcCharSetMerge
2235a6844aabSmrg
2236a6844aabSmrgName
2237a6844aabSmrg
2238ca08ab68Smrg   FcCharSetMerge -- Merge charsets
2239a6844aabSmrg
2240a6844aabSmrgSynopsis
2241a6844aabSmrg
2242ca08ab68Smrg   #include <fontconfig.h>
2243a6844aabSmrg
2244a6844aabSmrg
2245ca08ab68Smrg   FcBool FcCharSetMerge(FcCharSet *a, const FcCharSet *b, FcBool *changed);
2246a6844aabSmrg
2247a6844aabSmrgDescription
2248a6844aabSmrg
2249ca08ab68Smrg   Adds all chars in b to a. In other words, this is an in-place version of
2250ca08ab68Smrg   FcCharSetUnion. If changed is not NULL, then it returns whether any new
2251ca08ab68Smrg   chars from b were added to a. Returns FcFalse on failure, either when a is
2252ca08ab68Smrg   a constant set or from running out of memory.
2253a6844aabSmrg
2254a6844aabSmrgVersion
2255a6844aabSmrg
2256ca08ab68Smrg   Fontconfig version 2.10.2
22572c393a42Smrg
2258ca08ab68Smrg                                FcCharSetHasChar
22592c393a42Smrg
22602c393a42SmrgName
22612c393a42Smrg
2262ca08ab68Smrg   FcCharSetHasChar -- Check a charset for a char
22632c393a42Smrg
22642c393a42SmrgSynopsis
22652c393a42Smrg
2266ca08ab68Smrg   #include <fontconfig.h>
22672c393a42Smrg
2268a6844aabSmrg
2269ca08ab68Smrg   FcBool FcCharSetHasChar(const FcCharSet *fcs, FcChar32 ucs4);
22702c393a42Smrg
22712c393a42SmrgDescription
22722c393a42Smrg
2273ca08ab68Smrg   Returns whether fcs contains the char ucs4.
22742c393a42Smrg
22752c393a42SmrgVersion
22762c393a42Smrg
2277ca08ab68Smrg   Fontconfig version 2.10.2
22782c393a42Smrg
2279ca08ab68Smrg                                 FcCharSetCount
22802c393a42Smrg
22812c393a42SmrgName
22822c393a42Smrg
2283ca08ab68Smrg   FcCharSetCount -- Count entries in a charset
22842c393a42Smrg
22852c393a42SmrgSynopsis
22862c393a42Smrg
2287ca08ab68Smrg   #include <fontconfig.h>
22882c393a42Smrg
2289a6844aabSmrg
2290ca08ab68Smrg   FcChar32 FcCharSetCount(const FcCharSet *a);
22912c393a42Smrg
22922c393a42SmrgDescription
22932c393a42Smrg
2294ca08ab68Smrg   Returns the total number of Unicode chars in a.
22952c393a42Smrg
22962c393a42SmrgVersion
22972c393a42Smrg
2298ca08ab68Smrg   Fontconfig version 2.10.2
22992c393a42Smrg
2300ca08ab68Smrg                            FcCharSetIntersectCount
23012c393a42Smrg
23022c393a42SmrgName
23032c393a42Smrg
2304ca08ab68Smrg   FcCharSetIntersectCount -- Intersect and count charsets
23052c393a42Smrg
23062c393a42SmrgSynopsis
23072c393a42Smrg
2308ca08ab68Smrg   #include <fontconfig.h>
23092c393a42Smrg
2310a6844aabSmrg
2311ca08ab68Smrg   FcChar32 FcCharSetIntersectCount(const FcCharSet *a, const FcCharSet *b);
23122c393a42Smrg
23132c393a42SmrgDescription
23142c393a42Smrg
2315ca08ab68Smrg   Returns the number of chars that are in both a and b.
23162c393a42Smrg
23172c393a42SmrgVersion
23182c393a42Smrg
2319ca08ab68Smrg   Fontconfig version 2.10.2
23202c393a42Smrg
2321ca08ab68Smrg                             FcCharSetSubtractCount
23222c393a42Smrg
23232c393a42SmrgName
23242c393a42Smrg
2325ca08ab68Smrg   FcCharSetSubtractCount -- Subtract and count charsets
23262c393a42Smrg
23272c393a42SmrgSynopsis
23282c393a42Smrg
2329ca08ab68Smrg   #include <fontconfig.h>
23302c393a42Smrg
2331a6844aabSmrg
2332ca08ab68Smrg   FcChar32 FcCharSetSubtractCount(const FcCharSet *a, const FcCharSet *b);
23332c393a42Smrg
23342c393a42SmrgDescription
23352c393a42Smrg
2336ca08ab68Smrg   Returns the number of chars that are in a but not in b.
23372c393a42Smrg
23382c393a42SmrgVersion
23392c393a42Smrg
2340ca08ab68Smrg   Fontconfig version 2.10.2
23412c393a42Smrg
2342ca08ab68Smrg                               FcCharSetIsSubset
23432c393a42Smrg
23442c393a42SmrgName
23452c393a42Smrg
2346ca08ab68Smrg   FcCharSetIsSubset -- Test for charset inclusion
23472c393a42Smrg
23482c393a42SmrgSynopsis
23492c393a42Smrg
2350ca08ab68Smrg   #include <fontconfig.h>
23512c393a42Smrg
2352a6844aabSmrg
2353ca08ab68Smrg   FcBool FcCharSetIsSubset(const FcCharSet *a, const FcCharSet *b);
23542c393a42Smrg
23552c393a42SmrgDescription
23562c393a42Smrg
2357ca08ab68Smrg   Returns whether a is a subset of b.
23582c393a42Smrg
23592c393a42SmrgVersion
23602c393a42Smrg
2361ca08ab68Smrg   Fontconfig version 2.10.2
23622c393a42Smrg
2363ca08ab68Smrg                               FcCharSetFirstPage
23642c393a42Smrg
23652c393a42SmrgName
23662c393a42Smrg
2367ca08ab68Smrg   FcCharSetFirstPage -- Start enumerating charset contents
23682c393a42Smrg
23692c393a42SmrgSynopsis
23702c393a42Smrg
2371ca08ab68Smrg   #include <fontconfig.h>
23722c393a42Smrg
2373a6844aabSmrg
2374ca08ab68Smrg   FcChar32 FcCharSetFirstPage(const FcCharSet *a,
2375ca08ab68Smrg   FcChar32[FC_CHARSET_MAP_SIZE] map, FcChar32 *next);
23762c393a42Smrg
23772c393a42SmrgDescription
23782c393a42Smrg
2379ca08ab68Smrg   Builds an array of bits marking the first page of Unicode coverage of a.
2380ca08ab68Smrg   Returns the base of the array. next contains the next page in the font.
23812c393a42Smrg
23822c393a42SmrgVersion
23832c393a42Smrg
2384ca08ab68Smrg   Fontconfig version 2.10.2
23852c393a42Smrg
2386ca08ab68Smrg                               FcCharSetNextPage
23872c393a42Smrg
23882c393a42SmrgName
23892c393a42Smrg
2390ca08ab68Smrg   FcCharSetNextPage -- Continue enumerating charset contents
23912c393a42Smrg
23922c393a42SmrgSynopsis
23932c393a42Smrg
2394ca08ab68Smrg   #include <fontconfig.h>
23952c393a42Smrg
2396a6844aabSmrg
2397ca08ab68Smrg   FcChar32 FcCharSetNextPage(const FcCharSet *a,
2398ca08ab68Smrg   FcChar32[FC_CHARSET_MAP_SIZE] map, FcChar32 *next);
23992c393a42Smrg
24002c393a42SmrgDescription
24012c393a42Smrg
2402ca08ab68Smrg   Builds an array of bits marking the Unicode coverage of a for page *next.
2403ca08ab68Smrg   Returns the base of the array. next contains the next page in the font.
24042c393a42Smrg
24052c393a42SmrgVersion
24062c393a42Smrg
2407ca08ab68Smrg   Fontconfig version 2.10.2
24082c393a42Smrg
2409ca08ab68Smrg                               FcCharSetCoverage
24102c393a42Smrg
24112c393a42SmrgName
24122c393a42Smrg
2413ca08ab68Smrg   FcCharSetCoverage -- DEPRECATED return coverage for a Unicode page
24142c393a42Smrg
24152c393a42SmrgSynopsis
24162c393a42Smrg
2417ca08ab68Smrg   #include <fontconfig.h>
24182c393a42Smrg
2419a6844aabSmrg
2420ca08ab68Smrg   FcChar32 FcCharSetCoverage(const FcCharSet *a, FcChar32page,
2421ca08ab68Smrg   FcChar32[8]result);
24222c393a42Smrg
24232c393a42SmrgDescription
24242c393a42Smrg
2425ca08ab68Smrg   DEPRECATED This function returns a bitmask in result which indicates which
2426ca08ab68Smrg   code points in page are included in a. FcCharSetCoverage returns the next
2427ca08ab68Smrg   page in the charset which has any coverage.
24282c393a42Smrg
24292c393a42SmrgVersion
24302c393a42Smrg
2431ca08ab68Smrg   Fontconfig version 2.10.2
24322c393a42Smrg
2433ca08ab68Smrg                                  FcCharSetNew
24342c393a42Smrg
24352c393a42SmrgName
24362c393a42Smrg
2437ca08ab68Smrg   FcCharSetNew -- DEPRECATED alias for FcCharSetCreate
24382c393a42Smrg
24392c393a42SmrgSynopsis
24402c393a42Smrg
2441ca08ab68Smrg   #include <fontconfig.h>
24422c393a42Smrg
2443a6844aabSmrg
2444ca08ab68Smrg   FcCharSet * FcCharSetNew(void);
24452c393a42Smrg
24462c393a42SmrgDescription
24472c393a42Smrg
2448ca08ab68Smrg   FcCharSetNew is a DEPRECATED alias for FcCharSetCreate.
24492c393a42Smrg
24502c393a42SmrgVersion
24512c393a42Smrg
2452ca08ab68Smrg   Fontconfig version 2.10.2
2453ca08ab68Smrg
2454ca08ab68Smrg   --------------------------------------------------------------------------
2455ca08ab68Smrg
2456ca08ab68Smrg  FcLangSet
2457ca08ab68Smrg
2458ca08ab68Smrg   Table of Contents
2459ca08ab68Smrg
2460ca08ab68Smrg   [73]FcLangSetCreate -- create a langset object
2461ca08ab68Smrg
2462ca08ab68Smrg   [74]FcLangSetDestroy -- destroy a langset object
2463ca08ab68Smrg
2464ca08ab68Smrg   [75]FcLangSetCopy -- copy a langset object
2465ca08ab68Smrg
2466ca08ab68Smrg   [76]FcLangSetAdd -- add a language to a langset
2467ca08ab68Smrg
2468ca08ab68Smrg   [77]FcLangSetDel -- delete a language from a langset
2469ca08ab68Smrg
2470ca08ab68Smrg   [78]FcLangSetUnion -- Add langsets
2471ca08ab68Smrg
2472ca08ab68Smrg   [79]FcLangSetSubtract -- Subtract langsets
2473ca08ab68Smrg
2474ca08ab68Smrg   [80]FcLangSetCompare -- compare language sets
2475ca08ab68Smrg
2476ca08ab68Smrg   [81]FcLangSetContains -- check langset subset relation
2477ca08ab68Smrg
2478ca08ab68Smrg   [82]FcLangSetEqual -- test for matching langsets
2479ca08ab68Smrg
2480ca08ab68Smrg   [83]FcLangSetHash -- return a hash value for a langset
2481ca08ab68Smrg
2482ca08ab68Smrg   [84]FcLangSetHasLang -- test langset for language support
2483ca08ab68Smrg
2484ca08ab68Smrg   [85]FcGetDefaultLangs -- Get the default languages list
2485ca08ab68Smrg
2486ca08ab68Smrg   [86]FcGetLangs -- Get list of languages
2487ca08ab68Smrg
2488ca08ab68Smrg   [87]FcLangGetCharSet -- Get character map for a language
2489ca08ab68Smrg
2490ca08ab68Smrg   An FcLangSet is a set of language names (each of which include language
2491ca08ab68Smrg   and an optional territory). They are used when selecting fonts to indicate
2492ca08ab68Smrg   which languages the fonts need to support. Each font is marked, using
2493ca08ab68Smrg   language orthography information built into fontconfig, with the set of
2494ca08ab68Smrg   supported languages.
2495ca08ab68Smrg
2496ca08ab68Smrg                                FcLangSetCreate
2497ca08ab68Smrg
2498ca08ab68SmrgName
2499ca08ab68Smrg
2500ca08ab68Smrg   FcLangSetCreate -- create a langset object
2501ca08ab68Smrg
2502ca08ab68SmrgSynopsis
2503ca08ab68Smrg
2504ca08ab68Smrg   #include <fontconfig.h>
2505ca08ab68Smrg
2506ca08ab68Smrg
2507ca08ab68Smrg   FcLangSet * FcLangSetCreate(void);
2508ca08ab68Smrg
2509ca08ab68SmrgDescription
2510ca08ab68Smrg
2511ca08ab68Smrg   FcLangSetCreate creates a new FcLangSet object.
2512ca08ab68Smrg
2513ca08ab68SmrgVersion
2514ca08ab68Smrg
2515ca08ab68Smrg   Fontconfig version 2.10.2
2516ca08ab68Smrg
2517ca08ab68Smrg                                FcLangSetDestroy
2518ca08ab68Smrg
2519ca08ab68SmrgName
2520ca08ab68Smrg
2521ca08ab68Smrg   FcLangSetDestroy -- destroy a langset object
2522ca08ab68Smrg
2523ca08ab68SmrgSynopsis
2524ca08ab68Smrg
2525ca08ab68Smrg   #include <fontconfig.h>
2526ca08ab68Smrg
2527ca08ab68Smrg
2528ca08ab68Smrg   void FcLangSetDestroy(FcLangSet *ls);
2529ca08ab68Smrg
2530ca08ab68SmrgDescription
2531ca08ab68Smrg
2532ca08ab68Smrg   FcLangSetDestroy destroys a FcLangSet object, freeing all memory
2533ca08ab68Smrg   associated with it.
2534ca08ab68Smrg
2535ca08ab68SmrgVersion
2536ca08ab68Smrg
2537ca08ab68Smrg   Fontconfig version 2.10.2
2538ca08ab68Smrg
2539ca08ab68Smrg                                 FcLangSetCopy
2540a6844aabSmrg
2541ca08ab68SmrgName
2542ca08ab68Smrg
2543ca08ab68Smrg   FcLangSetCopy -- copy a langset object
2544ca08ab68Smrg
2545ca08ab68SmrgSynopsis
2546ca08ab68Smrg
2547ca08ab68Smrg   #include <fontconfig.h>
2548ca08ab68Smrg
2549ca08ab68Smrg
2550ca08ab68Smrg   FcLangSet * FcLangSetCopy(const FcLangSet *ls);
2551ca08ab68Smrg
2552ca08ab68SmrgDescription
25532c393a42Smrg
2554ca08ab68Smrg   FcLangSetCopy creates a new FcLangSet object and populates it with the
2555ca08ab68Smrg   contents of ls.
25562c393a42Smrg
2557ca08ab68SmrgVersion
25582c393a42Smrg
2559ca08ab68Smrg   Fontconfig version 2.10.2
25602c393a42Smrg
2561ca08ab68Smrg                                  FcLangSetAdd
25622c393a42Smrg
25632c393a42SmrgName
25642c393a42Smrg
2565ca08ab68Smrg   FcLangSetAdd -- add a language to a langset
25662c393a42Smrg
25672c393a42SmrgSynopsis
25682c393a42Smrg
2569ca08ab68Smrg   #include <fontconfig.h>
25702c393a42Smrg
2571a6844aabSmrg
2572ca08ab68Smrg   FcBool FcLangSetAdd(FcLangSet *ls, const FcChar8 *lang);
25732c393a42Smrg
25742c393a42SmrgDescription
25752c393a42Smrg
2576ca08ab68Smrg   lang is added to ls. lang should be of the form Ll-Tt where Ll is a two or
2577ca08ab68Smrg   three letter language from ISO 639 and Tt is a territory from ISO 3166.
25782c393a42Smrg
25792c393a42SmrgVersion
25802c393a42Smrg
2581ca08ab68Smrg   Fontconfig version 2.10.2
25822c393a42Smrg
2583ca08ab68Smrg                                  FcLangSetDel
25842c393a42Smrg
25852c393a42SmrgName
25862c393a42Smrg
2587ca08ab68Smrg   FcLangSetDel -- delete a language from a langset
25882c393a42Smrg
25892c393a42SmrgSynopsis
25902c393a42Smrg
2591ca08ab68Smrg   #include <fontconfig.h>
25922c393a42Smrg
2593a6844aabSmrg
2594ca08ab68Smrg   FcBool FcLangSetDel(FcLangSet *ls, const FcChar8 *lang);
25952c393a42Smrg
25962c393a42SmrgDescription
25972c393a42Smrg
2598ca08ab68Smrg   lang is removed from ls. lang should be of the form Ll-Tt where Ll is a
2599ca08ab68Smrg   two or three letter language from ISO 639 and Tt is a territory from ISO
2600ca08ab68Smrg   3166.
26012c393a42Smrg
26022c393a42SmrgVersion
26032c393a42Smrg
2604ca08ab68Smrg   Fontconfig version 2.10.2
26052c393a42Smrg
2606ca08ab68Smrg                                 FcLangSetUnion
26072c393a42Smrg
26082c393a42SmrgName
26092c393a42Smrg
2610ca08ab68Smrg   FcLangSetUnion -- Add langsets
26112c393a42Smrg
26122c393a42SmrgSynopsis
26132c393a42Smrg
2614ca08ab68Smrg   #include <fontconfig.h>
26152c393a42Smrg
2616a6844aabSmrg
2617ca08ab68Smrg   FcLangSet * FcLangSetUnion(const FcLangSet *ls_a, const FcLangSet *ls_b);
26182c393a42Smrg
26192c393a42SmrgDescription
26202c393a42Smrg
2621ca08ab68Smrg   Returns a set including only those languages found in either ls_a or ls_b.
26222c393a42Smrg
26232c393a42SmrgVersion
26242c393a42Smrg
2625ca08ab68Smrg   Fontconfig version 2.10.2
26262c393a42Smrg
2627ca08ab68Smrg                               FcLangSetSubtract
26282c393a42Smrg
26292c393a42SmrgName
26302c393a42Smrg
2631ca08ab68Smrg   FcLangSetSubtract -- Subtract langsets
26322c393a42Smrg
26332c393a42SmrgSynopsis
26342c393a42Smrg
2635ca08ab68Smrg   #include <fontconfig.h>
26362c393a42Smrg
2637a6844aabSmrg
2638ca08ab68Smrg   FcLangSet * FcLangSetSubtract(const FcLangSet *ls_a, const FcLangSet
2639ca08ab68Smrg   *ls_b);
26402c393a42Smrg
26412c393a42SmrgDescription
26422c393a42Smrg
2643ca08ab68Smrg   Returns a set including only those languages found in ls_a but not in
2644ca08ab68Smrg   ls_b.
26452c393a42Smrg
26462c393a42SmrgVersion
26472c393a42Smrg
2648ca08ab68Smrg   Fontconfig version 2.10.2
26492c393a42Smrg
2650ca08ab68Smrg                                FcLangSetCompare
26512c393a42Smrg
26522c393a42SmrgName
26532c393a42Smrg
2654ca08ab68Smrg   FcLangSetCompare -- compare language sets
26552c393a42Smrg
26562c393a42SmrgSynopsis
26572c393a42Smrg
2658ca08ab68Smrg   #include <fontconfig.h>
26592c393a42Smrg
2660a6844aabSmrg
2661ca08ab68Smrg   FcLangResult FcLangSetCompare(const FcLangSet *ls_a, const FcLangSet
2662ca08ab68Smrg   *ls_b);
26632c393a42Smrg
26642c393a42SmrgDescription
26652c393a42Smrg
2666ca08ab68Smrg   FcLangSetCompare compares language coverage for ls_a and ls_b. If they
2667ca08ab68Smrg   share any language and territory pair, this function returns FcLangEqual.
2668ca08ab68Smrg   If they share a language but differ in which territory that language is
2669ca08ab68Smrg   for, this function returns FcLangDifferentTerritory. If they share no
2670ca08ab68Smrg   languages in common, this function returns FcLangDifferentLang.
26712c393a42Smrg
26722c393a42SmrgVersion
26732c393a42Smrg
2674ca08ab68Smrg   Fontconfig version 2.10.2
26752c393a42Smrg
2676ca08ab68Smrg                               FcLangSetContains
26772c393a42Smrg
26782c393a42SmrgName
26792c393a42Smrg
2680ca08ab68Smrg   FcLangSetContains -- check langset subset relation
26812c393a42Smrg
26822c393a42SmrgSynopsis
26832c393a42Smrg
2684ca08ab68Smrg   #include <fontconfig.h>
26852c393a42Smrg
2686a6844aabSmrg
2687ca08ab68Smrg   FcBool FcLangSetContains(const FcLangSet *ls_a, const FcLangSet *ls_b);
26882c393a42Smrg
26892c393a42SmrgDescription
26902c393a42Smrg
2691ca08ab68Smrg   FcLangSetContains returns FcTrue if ls_a contains every language in ls_b.
2692ca08ab68Smrg   ls_a will 'contain' a language from ls_b if ls_a has exactly the language,
2693ca08ab68Smrg   or either the language or ls_a has no territory.
26942c393a42Smrg
26952c393a42SmrgVersion
26962c393a42Smrg
2697ca08ab68Smrg   Fontconfig version 2.10.2
26982c393a42Smrg
2699ca08ab68Smrg                                 FcLangSetEqual
27002c393a42Smrg
27012c393a42SmrgName
27022c393a42Smrg
2703ca08ab68Smrg   FcLangSetEqual -- test for matching langsets
27042c393a42Smrg
27052c393a42SmrgSynopsis
27062c393a42Smrg
2707ca08ab68Smrg   #include <fontconfig.h>
27082c393a42Smrg
2709a6844aabSmrg
2710ca08ab68Smrg   FcBool FcLangSetEqual(const FcLangSet *ls_a, const FcLangSet *ls_b);
27112c393a42Smrg
27122c393a42SmrgDescription
27132c393a42Smrg
2714ca08ab68Smrg   Returns FcTrue if and only if ls_a supports precisely the same language
2715ca08ab68Smrg   and territory combinations as ls_b.
27162c393a42Smrg
27172c393a42SmrgVersion
27182c393a42Smrg
2719ca08ab68Smrg   Fontconfig version 2.10.2
27202c393a42Smrg
2721ca08ab68Smrg                                 FcLangSetHash
27222c393a42Smrg
27232c393a42SmrgName
27242c393a42Smrg
2725ca08ab68Smrg   FcLangSetHash -- return a hash value for a langset
27262c393a42Smrg
27272c393a42SmrgSynopsis
27282c393a42Smrg
2729ca08ab68Smrg   #include <fontconfig.h>
27302c393a42Smrg
2731a6844aabSmrg
2732ca08ab68Smrg   FcChar32 FcLangSetHash(const FcLangSet *ls);
27332c393a42Smrg
27342c393a42SmrgDescription
27352c393a42Smrg
2736ca08ab68Smrg   This function returns a value which depends solely on the languages
2737ca08ab68Smrg   supported by ls. Any language which equals ls will have the same result
2738ca08ab68Smrg   from FcLangSetHash. However, two langsets with the same hash value may not
2739ca08ab68Smrg   be equal.
27402c393a42Smrg
27412c393a42SmrgVersion
27422c393a42Smrg
2743ca08ab68Smrg   Fontconfig version 2.10.2
27442c393a42Smrg
2745ca08ab68Smrg                                FcLangSetHasLang
27462c393a42Smrg
27472c393a42SmrgName
27482c393a42Smrg
2749ca08ab68Smrg   FcLangSetHasLang -- test langset for language support
2750a6844aabSmrg
2751a6844aabSmrgSynopsis
2752a6844aabSmrg
2753ca08ab68Smrg   #include <fontconfig.h>
2754a6844aabSmrg
2755a6844aabSmrg
2756ca08ab68Smrg   FcLangResult FcLangSetHasLang(const FcLangSet *ls, const FcChar8 *lang);
2757a6844aabSmrg
2758a6844aabSmrgDescription
2759a6844aabSmrg
2760ca08ab68Smrg   FcLangSetHasLang checks whether ls supports lang. If ls has a matching
2761ca08ab68Smrg   language and territory pair, this function returns FcLangEqual. If ls has
2762ca08ab68Smrg   a matching language but differs in which territory that language is for,
2763ca08ab68Smrg   this function returns FcLangDifferentTerritory. If ls has no matching
2764ca08ab68Smrg   language, this function returns FcLangDifferentLang.
2765a6844aabSmrg
2766a6844aabSmrgVersion
2767a6844aabSmrg
2768ca08ab68Smrg   Fontconfig version 2.10.2
2769a6844aabSmrg
2770ca08ab68Smrg                               FcGetDefaultLangs
2771a6844aabSmrg
2772a6844aabSmrgName
2773a6844aabSmrg
2774ca08ab68Smrg   FcGetDefaultLangs -- Get the default languages list
27752c393a42Smrg
27762c393a42SmrgSynopsis
27772c393a42Smrg
2778ca08ab68Smrg   #include <fontconfig.h>
27792c393a42Smrg
2780a6844aabSmrg
2781ca08ab68Smrg   FcStrSet * FcGetDefaultLangs(voidls);
27822c393a42Smrg
27832c393a42SmrgDescription
27842c393a42Smrg
2785ca08ab68Smrg   Returns a string set of the default languages according to the environment
2786ca08ab68Smrg   variables on the system. This function looks for them in order of FC_LANG,
2787ca08ab68Smrg   LC_ALL, LC_CTYPE and LANG then. If there are no valid values in those
2788ca08ab68Smrg   environment variables, "en" will be set as fallback.
27892c393a42Smrg
27902c393a42SmrgVersion
27912c393a42Smrg
2792ca08ab68Smrg   Fontconfig version 2.10.2
27932c393a42Smrg
2794ca08ab68Smrg                                   FcGetLangs
27952c393a42Smrg
27962c393a42SmrgName
27972c393a42Smrg
2798ca08ab68Smrg   FcGetLangs -- Get list of languages
27992c393a42Smrg
28002c393a42SmrgSynopsis
28012c393a42Smrg
2802ca08ab68Smrg   #include <fontconfig.h>
28032c393a42Smrg
2804a6844aabSmrg
2805ca08ab68Smrg   FcStrSet * FcGetLangs(void);
28062c393a42Smrg
28072c393a42SmrgDescription
28082c393a42Smrg
2809ca08ab68Smrg   Returns a string set of all known languages.
28102c393a42Smrg
28112c393a42SmrgVersion
28122c393a42Smrg
2813ca08ab68Smrg   Fontconfig version 2.10.2
28142c393a42Smrg
2815ca08ab68Smrg                                FcLangGetCharSet
28162c393a42Smrg
28172c393a42SmrgName
28182c393a42Smrg
2819ca08ab68Smrg   FcLangGetCharSet -- Get character map for a language
28202c393a42Smrg
28212c393a42SmrgSynopsis
28222c393a42Smrg
2823ca08ab68Smrg   #include <fontconfig.h>
28242c393a42Smrg
2825a6844aabSmrg
2826ca08ab68Smrg   const FcCharSet * FcLangGetCharSet(const FcChar8 *lang);
28272c393a42Smrg
28282c393a42SmrgDescription
28292c393a42Smrg
2830ca08ab68Smrg   Returns the FcCharMap for a language.
28312c393a42Smrg
28322c393a42SmrgVersion
28332c393a42Smrg
2834ca08ab68Smrg   Fontconfig version 2.10.2
2835ca08ab68Smrg
2836ca08ab68Smrg   --------------------------------------------------------------------------
2837ca08ab68Smrg
2838ca08ab68Smrg  FcMatrix
2839ca08ab68Smrg
2840ca08ab68Smrg   Table of Contents
2841ca08ab68Smrg
2842ca08ab68Smrg   [88]FcMatrixInit -- initialize an FcMatrix structure
2843a6844aabSmrg
2844ca08ab68Smrg   [89]FcMatrixCopy -- Copy a matrix
28452c393a42Smrg
2846ca08ab68Smrg   [90]FcMatrixEqual -- Compare two matrices
28472c393a42Smrg
2848ca08ab68Smrg   [91]FcMatrixMultiply -- Multiply matrices
28492c393a42Smrg
2850ca08ab68Smrg   [92]FcMatrixRotate -- Rotate a matrix
28512c393a42Smrg
2852ca08ab68Smrg   [93]FcMatrixScale -- Scale a matrix
2853ca08ab68Smrg
2854ca08ab68Smrg   [94]FcMatrixShear -- Shear a matrix
2855ca08ab68Smrg
2856ca08ab68Smrg   FcMatrix structures hold an affine transformation in matrix form.
2857ca08ab68Smrg
2858ca08ab68Smrg                                  FcMatrixInit
28592c393a42Smrg
28602c393a42SmrgName
28612c393a42Smrg
2862ca08ab68Smrg   FcMatrixInit -- initialize an FcMatrix structure
28632c393a42Smrg
28642c393a42SmrgSynopsis
28652c393a42Smrg
2866ca08ab68Smrg   #include <fontconfig.h>
28672c393a42Smrg
2868a6844aabSmrg
2869ca08ab68Smrg   void FcMatrixInit(FcMatrix *matrix);
28702c393a42Smrg
28712c393a42SmrgDescription
28722c393a42Smrg
2873ca08ab68Smrg   FcMatrixInit initializes matrix to the identity matrix.
28742c393a42Smrg
28752c393a42SmrgVersion
28762c393a42Smrg
2877ca08ab68Smrg   Fontconfig version 2.10.2
28782c393a42Smrg
2879ca08ab68Smrg                                  FcMatrixCopy
28802c393a42Smrg
28812c393a42SmrgName
28822c393a42Smrg
2883ca08ab68Smrg   FcMatrixCopy -- Copy a matrix
28842c393a42Smrg
28852c393a42SmrgSynopsis
28862c393a42Smrg
2887ca08ab68Smrg   #include <fontconfig.h>
28882c393a42Smrg
2889a6844aabSmrg
2890ca08ab68Smrg   void FcMatrixCopy(const FcMatrix *matrix);
28912c393a42Smrg
28922c393a42SmrgDescription
28932c393a42Smrg
2894ca08ab68Smrg   FcMatrixCopy allocates a new FcMatrix and copies mat into it.
28952c393a42Smrg
28962c393a42SmrgVersion
28972c393a42Smrg
2898ca08ab68Smrg   Fontconfig version 2.10.2
28992c393a42Smrg
2900ca08ab68Smrg                                 FcMatrixEqual
29012c393a42Smrg
29022c393a42SmrgName
29032c393a42Smrg
2904ca08ab68Smrg   FcMatrixEqual -- Compare two matrices
29052c393a42Smrg
29062c393a42SmrgSynopsis
29072c393a42Smrg
2908ca08ab68Smrg   #include <fontconfig.h>
29092c393a42Smrg
2910a6844aabSmrg
2911ca08ab68Smrg   void FcMatrixEqual(const FcMatrix *matrix1, const FcMatrix *matrix2);
29122c393a42Smrg
29132c393a42SmrgDescription
29142c393a42Smrg
2915ca08ab68Smrg   FcMatrixEqual compares matrix1 and matrix2 returning FcTrue when they are
2916ca08ab68Smrg   equal and FcFalse when they are not.
29172c393a42Smrg
29182c393a42SmrgVersion
29192c393a42Smrg
2920ca08ab68Smrg   Fontconfig version 2.10.2
29212c393a42Smrg
2922ca08ab68Smrg                                FcMatrixMultiply
29232c393a42Smrg
29242c393a42SmrgName
29252c393a42Smrg
2926ca08ab68Smrg   FcMatrixMultiply -- Multiply matrices
29272c393a42Smrg
29282c393a42SmrgSynopsis
29292c393a42Smrg
2930ca08ab68Smrg   #include <fontconfig.h>
29312c393a42Smrg
2932a6844aabSmrg
2933ca08ab68Smrg   void FcMatrixMultiply(FcMatrix *result, const FcMatrix *matrix1, const
2934ca08ab68Smrg   FcMatrix *matrix2);
29352c393a42Smrg
29362c393a42SmrgDescription
29372c393a42Smrg
2938ca08ab68Smrg   FcMatrixMultiply multiplies matrix1 and matrix2 storing the result in
2939ca08ab68Smrg   result.
29402c393a42Smrg
29412c393a42SmrgVersion
29422c393a42Smrg
2943ca08ab68Smrg   Fontconfig version 2.10.2
29442c393a42Smrg
2945ca08ab68Smrg                                 FcMatrixRotate
29462c393a42Smrg
29472c393a42SmrgName
29482c393a42Smrg
2949ca08ab68Smrg   FcMatrixRotate -- Rotate a matrix
29502c393a42Smrg
29512c393a42SmrgSynopsis
29522c393a42Smrg
2953ca08ab68Smrg   #include <fontconfig.h>
29542c393a42Smrg
2955a6844aabSmrg
2956ca08ab68Smrg   void FcMatrixRotate(FcMatrix *matrix, double cos, double sin);
29572c393a42Smrg
29582c393a42SmrgDescription
29592c393a42Smrg
2960ca08ab68Smrg   FcMatrixRotate rotates matrix by the angle who's sine is sin and cosine is
2961ca08ab68Smrg   cos. This is done by multiplying by the matrix:
2962a6844aabSmrg
2963ca08ab68Smrg     cos -sin
2964ca08ab68Smrg     sin  cos
29652c393a42Smrg
29662c393a42SmrgVersion
29672c393a42Smrg
2968ca08ab68Smrg   Fontconfig version 2.10.2
29692c393a42Smrg
2970ca08ab68Smrg                                 FcMatrixScale
29712c393a42Smrg
29722c393a42SmrgName
29732c393a42Smrg
2974ca08ab68Smrg   FcMatrixScale -- Scale a matrix
29752c393a42Smrg
29762c393a42SmrgSynopsis
29772c393a42Smrg
2978ca08ab68Smrg   #include <fontconfig.h>
29792c393a42Smrg
2980a6844aabSmrg
2981ca08ab68Smrg   void FcMatrixScale(FcMatrix *matrix, double sx, double dy);
29822c393a42Smrg
29832c393a42SmrgDescription
29842c393a42Smrg
2985ca08ab68Smrg   FcMatrixScale multiplies matrix x values by sx and y values by dy. This is
2986ca08ab68Smrg   done by multiplying by the matrix:
2987a6844aabSmrg
2988ca08ab68Smrg      sx  0
2989ca08ab68Smrg      0   dy
29902c393a42Smrg
29912c393a42SmrgVersion
29922c393a42Smrg
2993ca08ab68Smrg   Fontconfig version 2.10.2
29942c393a42Smrg
2995ca08ab68Smrg                                 FcMatrixShear
29962c393a42Smrg
29972c393a42SmrgName
29982c393a42Smrg
2999ca08ab68Smrg   FcMatrixShear -- Shear a matrix
30002c393a42Smrg
30012c393a42SmrgSynopsis
30022c393a42Smrg
3003ca08ab68Smrg   #include <fontconfig.h>
30042c393a42Smrg
3005a6844aabSmrg
3006ca08ab68Smrg   void FcMatrixShear(FcMatrix *matrix, double sh, double sv);
30072c393a42Smrg
30082c393a42SmrgDescription
30092c393a42Smrg
3010ca08ab68Smrg   FcMatrixShare shears matrix horizontally by sh and vertically by sv. This
3011ca08ab68Smrg   is done by multiplying by the matrix:
3012a6844aabSmrg
3013ca08ab68Smrg     1  sh
3014ca08ab68Smrg     sv  1
30152c393a42Smrg
30162c393a42SmrgVersion
30172c393a42Smrg
3018ca08ab68Smrg   Fontconfig version 2.10.2
3019ca08ab68Smrg
3020ca08ab68Smrg   --------------------------------------------------------------------------
3021ca08ab68Smrg
3022ca08ab68Smrg  FcConfig
3023ca08ab68Smrg
3024ca08ab68Smrg   Table of Contents
3025ca08ab68Smrg
3026ca08ab68Smrg   [95]FcConfigCreate -- Create a configuration
3027ca08ab68Smrg
3028ca08ab68Smrg   [96]FcConfigReference -- Increment config reference count
3029ca08ab68Smrg
3030ca08ab68Smrg   [97]FcConfigDestroy -- Destroy a configuration
3031ca08ab68Smrg
3032ca08ab68Smrg   [98]FcConfigSetCurrent -- Set configuration as default
3033ca08ab68Smrg
3034ca08ab68Smrg   [99]FcConfigGetCurrent -- Return current configuration
3035ca08ab68Smrg
3036ca08ab68Smrg   [100]FcConfigUptoDate -- Check timestamps on config files
3037ca08ab68Smrg
3038ca08ab68Smrg   [101]FcConfigHome -- return the current home directory.
3039ca08ab68Smrg
3040ca08ab68Smrg   [102]FcConfigEnableHome -- controls use of the home directory.
3041ca08ab68Smrg
3042ca08ab68Smrg   [103]FcConfigBuildFonts -- Build font database
3043ca08ab68Smrg
3044ca08ab68Smrg   [104]FcConfigGetConfigDirs -- Get config directories
3045ca08ab68Smrg
3046ca08ab68Smrg   [105]FcConfigGetFontDirs -- Get font directories
3047ca08ab68Smrg
3048ca08ab68Smrg   [106]FcConfigGetConfigFiles -- Get config files
3049ca08ab68Smrg
3050ca08ab68Smrg   [107]FcConfigGetCache -- DEPRECATED used to return per-user cache filename
3051ca08ab68Smrg
3052ca08ab68Smrg   [108]FcConfigGetCacheDirs -- return the list of directories searched for
3053ca08ab68Smrg   cache files
3054ca08ab68Smrg
3055ca08ab68Smrg   [109]FcConfigGetFonts -- Get config font set
3056ca08ab68Smrg
3057ca08ab68Smrg   [110]FcConfigGetBlanks -- Get config blanks
3058a6844aabSmrg
3059ca08ab68Smrg   [111]FcConfigGetRescanInterval -- Get config rescan interval
3060a6844aabSmrg
3061ca08ab68Smrg   [112]FcConfigSetRescanInterval -- Set config rescan interval
3062a6844aabSmrg
3063ca08ab68Smrg   [113]FcConfigAppFontAddFile -- Add font file to font database
3064a6844aabSmrg
3065ca08ab68Smrg   [114]FcConfigAppFontAddDir -- Add fonts from directory to font database
30662c393a42Smrg
3067ca08ab68Smrg   [115]FcConfigAppFontClear -- Remove all app fonts from font database
3068ca08ab68Smrg
3069ca08ab68Smrg   [116]FcConfigSubstituteWithPat -- Execute substitutions
3070ca08ab68Smrg
3071ca08ab68Smrg   [117]FcConfigSubstitute -- Execute substitutions
3072ca08ab68Smrg
3073ca08ab68Smrg   [118]FcFontMatch -- Return best font
3074ca08ab68Smrg
3075ca08ab68Smrg   [119]FcFontSort -- Return list of matching fonts
3076ca08ab68Smrg
3077ca08ab68Smrg   [120]FcFontRenderPrepare -- Prepare pattern for loading font file
3078ca08ab68Smrg
3079ca08ab68Smrg   [121]FcFontList -- List fonts
3080ca08ab68Smrg
3081ca08ab68Smrg   [122]FcConfigFilename -- Find a config file
3082ca08ab68Smrg
3083ca08ab68Smrg   [123]FcConfigParseAndLoad -- load a configuration file
3084ca08ab68Smrg
3085ca08ab68Smrg   An FcConfig object holds the internal representation of a configuration.
3086ca08ab68Smrg   There is a default configuration which applications may use by passing 0
3087ca08ab68Smrg   to any function using the data within an FcConfig.
3088ca08ab68Smrg
3089ca08ab68Smrg                                 FcConfigCreate
30902c393a42Smrg
30912c393a42SmrgName
30922c393a42Smrg
3093ca08ab68Smrg   FcConfigCreate -- Create a configuration
30942c393a42Smrg
30952c393a42SmrgSynopsis
30962c393a42Smrg
3097ca08ab68Smrg   #include <fontconfig.h>
30982c393a42Smrg
3099a6844aabSmrg
3100ca08ab68Smrg   FcConfig * FcConfigCreate(void);
31012c393a42Smrg
31022c393a42SmrgDescription
31032c393a42Smrg
3104ca08ab68Smrg   Creates an empty configuration.
31052c393a42Smrg
31062c393a42SmrgVersion
31072c393a42Smrg
3108ca08ab68Smrg   Fontconfig version 2.10.2
3109a6844aabSmrg
3110ca08ab68Smrg                               FcConfigReference
3111a6844aabSmrg
3112a6844aabSmrgName
3113a6844aabSmrg
3114ca08ab68Smrg   FcConfigReference -- Increment config reference count
3115a6844aabSmrg
3116a6844aabSmrgSynopsis
3117a6844aabSmrg
3118ca08ab68Smrg   #include <fontconfig.h>
3119a6844aabSmrg
3120a6844aabSmrg
3121ca08ab68Smrg   FcConfig * FcConfigReference(FcConfig *config);
3122a6844aabSmrg
3123a6844aabSmrgDescription
3124a6844aabSmrg
3125ca08ab68Smrg   Add another reference to config. Configs are freed only when the reference
3126ca08ab68Smrg   count reaches zero. If config is NULL, the current configuration is used.
3127ca08ab68Smrg   In that case this function will be similar to FcConfigGetCurrent() except
3128ca08ab68Smrg   that it increments the reference count before returning and the user is
3129ca08ab68Smrg   responsible for destroying the configuration when not needed anymore.
3130a6844aabSmrg
3131a6844aabSmrgVersion
3132a6844aabSmrg
3133ca08ab68Smrg   Fontconfig version 2.10.2
31342c393a42Smrg
3135ca08ab68Smrg                                FcConfigDestroy
31362c393a42Smrg
31372c393a42SmrgName
31382c393a42Smrg
3139ca08ab68Smrg   FcConfigDestroy -- Destroy a configuration
31402c393a42Smrg
31412c393a42SmrgSynopsis
31422c393a42Smrg
3143ca08ab68Smrg   #include <fontconfig.h>
31442c393a42Smrg
3145a6844aabSmrg
3146ca08ab68Smrg   void FcConfigDestroy(FcConfig *config);
31472c393a42Smrg
31482c393a42SmrgDescription
31492c393a42Smrg
3150ca08ab68Smrg   Decrements the config reference count. If all references are gone,
3151ca08ab68Smrg   destroys the configuration and any data associated with it. Note that
3152ca08ab68Smrg   calling this function with the return from FcConfigGetCurrent will cause a
3153ca08ab68Smrg   new configuration to be created for use as current configuration.
31542c393a42Smrg
31552c393a42SmrgVersion
31562c393a42Smrg
3157ca08ab68Smrg   Fontconfig version 2.10.2
31582c393a42Smrg
3159ca08ab68Smrg                               FcConfigSetCurrent
31602c393a42Smrg
31612c393a42SmrgName
31622c393a42Smrg
3163ca08ab68Smrg   FcConfigSetCurrent -- Set configuration as default
31642c393a42Smrg
31652c393a42SmrgSynopsis
31662c393a42Smrg
3167ca08ab68Smrg   #include <fontconfig.h>
31682c393a42Smrg
3169a6844aabSmrg
3170ca08ab68Smrg   FcBool FcConfigSetCurrent(FcConfig *config);
31712c393a42Smrg
31722c393a42SmrgDescription
31732c393a42Smrg
3174ca08ab68Smrg   Sets the current default configuration to config. Implicitly calls
3175ca08ab68Smrg   FcConfigBuildFonts if necessary, returning FcFalse if that call fails.
31762c393a42Smrg
31772c393a42SmrgVersion
31782c393a42Smrg
3179ca08ab68Smrg   Fontconfig version 2.10.2
31802c393a42Smrg
3181ca08ab68Smrg                               FcConfigGetCurrent
31822c393a42Smrg
31832c393a42SmrgName
31842c393a42Smrg
3185ca08ab68Smrg   FcConfigGetCurrent -- Return current configuration
31862c393a42Smrg
31872c393a42SmrgSynopsis
31882c393a42Smrg
3189ca08ab68Smrg   #include <fontconfig.h>
31902c393a42Smrg
3191a6844aabSmrg
3192ca08ab68Smrg   FcConfig * FcConfigGetCurrent(void);
31932c393a42Smrg
31942c393a42SmrgDescription
31952c393a42Smrg
3196ca08ab68Smrg   Returns the current default configuration.
31972c393a42Smrg
31982c393a42SmrgVersion
31992c393a42Smrg
3200ca08ab68Smrg   Fontconfig version 2.10.2
32012c393a42Smrg
3202ca08ab68Smrg                                FcConfigUptoDate
32032c393a42Smrg
32042c393a42SmrgName
32052c393a42Smrg
3206ca08ab68Smrg   FcConfigUptoDate -- Check timestamps on config files
32072c393a42Smrg
32082c393a42SmrgSynopsis
32092c393a42Smrg
3210ca08ab68Smrg   #include <fontconfig.h>
32112c393a42Smrg
3212a6844aabSmrg
3213ca08ab68Smrg   FcBool FcConfigUptoDate(FcConfig *config);
32142c393a42Smrg
32152c393a42SmrgDescription
32162c393a42Smrg
3217ca08ab68Smrg   Checks all of the files related to config and returns whether any of them
3218ca08ab68Smrg   has been modified since the configuration was created. If config is NULL,
3219ca08ab68Smrg   the current configuration is used.
32202c393a42Smrg
32212c393a42SmrgVersion
32222c393a42Smrg
3223ca08ab68Smrg   Fontconfig version 2.10.2
32242c393a42Smrg
3225ca08ab68Smrg                                  FcConfigHome
32262c393a42Smrg
32272c393a42SmrgName
32282c393a42Smrg
3229ca08ab68Smrg   FcConfigHome -- return the current home directory.
32302c393a42Smrg
32312c393a42SmrgSynopsis
32322c393a42Smrg
3233ca08ab68Smrg   #include <fontconfig.h>
32342c393a42Smrg
3235a6844aabSmrg
3236ca08ab68Smrg   FcChar8 * FcConfigHome(void);
32372c393a42Smrg
32382c393a42SmrgDescription
32392c393a42Smrg
3240ca08ab68Smrg   Return the current user's home directory, if it is available, and if using
3241ca08ab68Smrg   it is enabled, and NULL otherwise. See also FcConfigEnableHome).
32422c393a42Smrg
32432c393a42SmrgVersion
32442c393a42Smrg
3245ca08ab68Smrg   Fontconfig version 2.10.2
32462c393a42Smrg
3247ca08ab68Smrg                               FcConfigEnableHome
32482c393a42Smrg
32492c393a42SmrgName
32502c393a42Smrg
3251ca08ab68Smrg   FcConfigEnableHome -- controls use of the home directory.
32522c393a42Smrg
32532c393a42SmrgSynopsis
32542c393a42Smrg
3255ca08ab68Smrg   #include <fontconfig.h>
32562c393a42Smrg
3257a6844aabSmrg
3258ca08ab68Smrg   FcBool FcConfigEnableHome(FcBool enable);
32592c393a42Smrg
32602c393a42SmrgDescription
32612c393a42Smrg
3262ca08ab68Smrg   If enable is FcTrue, then Fontconfig will use various files which are
3263ca08ab68Smrg   specified relative to the user's home directory (using the ~ notation in
3264ca08ab68Smrg   the configuration). When enable is FcFalse, then all use of the home
3265ca08ab68Smrg   directory in these contexts will be disabled. The previous setting of the
3266ca08ab68Smrg   value is returned.
32672c393a42Smrg
32682c393a42SmrgVersion
32692c393a42Smrg
3270ca08ab68Smrg   Fontconfig version 2.10.2
32712c393a42Smrg
3272ca08ab68Smrg                               FcConfigBuildFonts
32732c393a42Smrg
32742c393a42SmrgName
32752c393a42Smrg
3276ca08ab68Smrg   FcConfigBuildFonts -- Build font database
32772c393a42Smrg
32782c393a42SmrgSynopsis
32792c393a42Smrg
3280ca08ab68Smrg   #include <fontconfig.h>
32812c393a42Smrg
3282a6844aabSmrg
3283ca08ab68Smrg   FcBool FcConfigBuildFonts(FcConfig *config);
32842c393a42Smrg
32852c393a42SmrgDescription
32862c393a42Smrg
3287ca08ab68Smrg   Builds the set of available fonts for the given configuration. Note that
3288ca08ab68Smrg   any changes to the configuration after this call have indeterminate
3289ca08ab68Smrg   effects. Returns FcFalse if this operation runs out of memory. If config
3290ca08ab68Smrg   is NULL, the current configuration is used.
32912c393a42Smrg
32922c393a42SmrgVersion
32932c393a42Smrg
3294ca08ab68Smrg   Fontconfig version 2.10.2
32952c393a42Smrg
3296ca08ab68Smrg                             FcConfigGetConfigDirs
32972c393a42Smrg
32982c393a42SmrgName
32992c393a42Smrg
3300ca08ab68Smrg   FcConfigGetConfigDirs -- Get config directories
33012c393a42Smrg
33022c393a42SmrgSynopsis
33032c393a42Smrg
3304ca08ab68Smrg   #include <fontconfig.h>
33052c393a42Smrg
3306a6844aabSmrg
3307ca08ab68Smrg   FcStrList * FcConfigGetConfigDirs(FcConfig *config);
33082c393a42Smrg
33092c393a42SmrgDescription
33102c393a42Smrg
3311ca08ab68Smrg   Returns the list of font directories specified in the configuration files
3312ca08ab68Smrg   for config. Does not include any subdirectories. If config is NULL, the
3313ca08ab68Smrg   current configuration is used.
33142c393a42Smrg
33152c393a42SmrgVersion
33162c393a42Smrg
3317ca08ab68Smrg   Fontconfig version 2.10.2
33182c393a42Smrg
3319ca08ab68Smrg                              FcConfigGetFontDirs
33202c393a42Smrg
33212c393a42SmrgName
33222c393a42Smrg
3323ca08ab68Smrg   FcConfigGetFontDirs -- Get font directories
33242c393a42Smrg
33252c393a42SmrgSynopsis
33262c393a42Smrg
3327ca08ab68Smrg   #include <fontconfig.h>
33282c393a42Smrg
3329a6844aabSmrg
3330ca08ab68Smrg   FcStrList * FcConfigGetFontDirs(FcConfig *config);
33312c393a42Smrg
33322c393a42SmrgDescription
33332c393a42Smrg
3334ca08ab68Smrg   Returns the list of font directories in config. This includes the
3335ca08ab68Smrg   configured font directories along with any directories below those in the
3336ca08ab68Smrg   filesystem. If config is NULL, the current configuration is used.
33372c393a42Smrg
33382c393a42SmrgVersion
33392c393a42Smrg
3340ca08ab68Smrg   Fontconfig version 2.10.2
33412c393a42Smrg
3342ca08ab68Smrg                             FcConfigGetConfigFiles
33432c393a42Smrg
33442c393a42SmrgName
33452c393a42Smrg
3346ca08ab68Smrg   FcConfigGetConfigFiles -- Get config files
33472c393a42Smrg
33482c393a42SmrgSynopsis
33492c393a42Smrg
3350ca08ab68Smrg   #include <fontconfig.h>
33512c393a42Smrg
3352a6844aabSmrg
3353ca08ab68Smrg   FcStrList * FcConfigGetConfigFiles(FcConfig *config);
33542c393a42Smrg
33552c393a42SmrgDescription
33562c393a42Smrg
3357ca08ab68Smrg   Returns the list of known configuration files used to generate config. If
3358ca08ab68Smrg   config is NULL, the current configuration is used.
33592c393a42Smrg
33602c393a42SmrgVersion
33612c393a42Smrg
3362ca08ab68Smrg   Fontconfig version 2.10.2
33632c393a42Smrg
3364ca08ab68Smrg                                FcConfigGetCache
33652c393a42Smrg
33662c393a42SmrgName
33672c393a42Smrg
3368ca08ab68Smrg   FcConfigGetCache -- DEPRECATED used to return per-user cache filename
33692c393a42Smrg
33702c393a42SmrgSynopsis
33712c393a42Smrg
3372ca08ab68Smrg   #include <fontconfig.h>
33732c393a42Smrg
3374a6844aabSmrg
3375ca08ab68Smrg   FcChar8 * FcConfigGetCache(FcConfig *config);
33762c393a42Smrg
33772c393a42SmrgDescription
33782c393a42Smrg
3379ca08ab68Smrg   With fontconfig no longer using per-user cache files, this function now
3380ca08ab68Smrg   simply returns NULL to indicate that no per-user file exists.
33812c393a42Smrg
33822c393a42SmrgVersion
33832c393a42Smrg
3384ca08ab68Smrg   Fontconfig version 2.10.2
33852c393a42Smrg
3386ca08ab68Smrg                              FcConfigGetCacheDirs
33872c393a42Smrg
33882c393a42SmrgName
33892c393a42Smrg
3390ca08ab68Smrg   FcConfigGetCacheDirs -- return the list of directories searched for cache
3391ca08ab68Smrg   files
33922c393a42Smrg
33932c393a42SmrgSynopsis
33942c393a42Smrg
3395ca08ab68Smrg   #include <fontconfig.h>
33962c393a42Smrg
3397a6844aabSmrg
3398ca08ab68Smrg   FcStrList * FcConfigGetCacheDirs(const FcConfig *config);
33992c393a42Smrg
34002c393a42SmrgDescription
34012c393a42Smrg
3402ca08ab68Smrg   FcConfigGetCacheDirs returns a string list containing all of the
3403ca08ab68Smrg   directories that fontconfig will search when attempting to load a cache
3404ca08ab68Smrg   file for a font directory. If config is NULL, the current configuration is
3405ca08ab68Smrg   used.
34062c393a42Smrg
34072c393a42SmrgVersion
34082c393a42Smrg
3409ca08ab68Smrg   Fontconfig version 2.10.2
34102c393a42Smrg
3411ca08ab68Smrg                                FcConfigGetFonts
34122c393a42Smrg
34132c393a42SmrgName
34142c393a42Smrg
3415ca08ab68Smrg   FcConfigGetFonts -- Get config font set
34162c393a42Smrg
34172c393a42SmrgSynopsis
34182c393a42Smrg
3419ca08ab68Smrg   #include <fontconfig.h>
34202c393a42Smrg
3421a6844aabSmrg
3422ca08ab68Smrg   FcFontSet * FcConfigGetFonts(FcConfig *config, FcSetName set);
34232c393a42Smrg
34242c393a42SmrgDescription
34252c393a42Smrg
3426ca08ab68Smrg   Returns one of the two sets of fonts from the configuration as specified
3427ca08ab68Smrg   by set. This font set is owned by the library and must not be modified or
3428ca08ab68Smrg   freed. If config is NULL, the current configuration is used.
34292c393a42Smrg
34302c393a42SmrgVersion
34312c393a42Smrg
3432ca08ab68Smrg   Fontconfig version 2.10.2
34332c393a42Smrg
3434ca08ab68Smrg                               FcConfigGetBlanks
34352c393a42Smrg
34362c393a42SmrgName
34372c393a42Smrg
3438ca08ab68Smrg   FcConfigGetBlanks -- Get config blanks
34392c393a42Smrg
34402c393a42SmrgSynopsis
34412c393a42Smrg
3442ca08ab68Smrg   #include <fontconfig.h>
34432c393a42Smrg
3444a6844aabSmrg
3445ca08ab68Smrg   FcBlanks * FcConfigGetBlanks(FcConfig *config);
34462c393a42Smrg
34472c393a42SmrgDescription
34482c393a42Smrg
3449ca08ab68Smrg   Returns the FcBlanks object associated with the given configuration, if no
3450ca08ab68Smrg   blanks were present in the configuration, this function will return 0. The
3451ca08ab68Smrg   returned FcBlanks object if not NULL, is valid as long as the owning
3452ca08ab68Smrg   FcConfig is alive. If config is NULL, the current configuration is used.
34532c393a42Smrg
34542c393a42SmrgVersion
34552c393a42Smrg
3456ca08ab68Smrg   Fontconfig version 2.10.2
34572c393a42Smrg
3458ca08ab68Smrg                           FcConfigGetRescanInterval
34592c393a42Smrg
34602c393a42SmrgName
34612c393a42Smrg
3462ca08ab68Smrg   FcConfigGetRescanInterval -- Get config rescan interval
34632c393a42Smrg
34642c393a42SmrgSynopsis
34652c393a42Smrg
3466ca08ab68Smrg   #include <fontconfig.h>
34672c393a42Smrg
3468a6844aabSmrg
3469ca08ab68Smrg   int FcConfigGetRescanInterval(FcConfig *config);
34702c393a42Smrg
34712c393a42SmrgDescription
34722c393a42Smrg
3473ca08ab68Smrg   Returns the interval between automatic checks of the configuration (in
3474ca08ab68Smrg   seconds) specified in config. The configuration is checked during a call
3475ca08ab68Smrg   to FcFontList when this interval has passed since the last check. An
3476ca08ab68Smrg   interval setting of zero disables automatic checks. If config is NULL, the
3477ca08ab68Smrg   current configuration is used.
34782c393a42Smrg
34792c393a42SmrgVersion
34802c393a42Smrg
3481ca08ab68Smrg   Fontconfig version 2.10.2
34822c393a42Smrg
3483ca08ab68Smrg                           FcConfigSetRescanInterval
34842c393a42Smrg
34852c393a42SmrgName
34862c393a42Smrg
3487ca08ab68Smrg   FcConfigSetRescanInterval -- Set config rescan interval
34882c393a42Smrg
34892c393a42SmrgSynopsis
34902c393a42Smrg
3491ca08ab68Smrg   #include <fontconfig.h>
34922c393a42Smrg
3493a6844aabSmrg
3494ca08ab68Smrg   FcBool FcConfigSetRescanInterval(FcConfig *config, int rescanInterval);
34952c393a42Smrg
34962c393a42SmrgDescription
34972c393a42Smrg
3498ca08ab68Smrg   Sets the rescan interval. Returns FcFalse if the interval cannot be set
3499ca08ab68Smrg   (due to allocation failure). Otherwise returns FcTrue. An interval setting
3500ca08ab68Smrg   of zero disables automatic checks. If config is NULL, the current
3501ca08ab68Smrg   configuration is used.
35022c393a42Smrg
35032c393a42SmrgVersion
35042c393a42Smrg
3505ca08ab68Smrg   Fontconfig version 2.10.2
35062c393a42Smrg
3507ca08ab68Smrg                             FcConfigAppFontAddFile
35082c393a42Smrg
35092c393a42SmrgName
35102c393a42Smrg
3511ca08ab68Smrg   FcConfigAppFontAddFile -- Add font file to font database
35122c393a42Smrg
35132c393a42SmrgSynopsis
35142c393a42Smrg
3515ca08ab68Smrg   #include <fontconfig.h>
35162c393a42Smrg
3517a6844aabSmrg
3518ca08ab68Smrg   FcBool FcConfigAppFontAddFile(FcConfig *config, const FcChar8 *file);
35192c393a42Smrg
35202c393a42SmrgDescription
35212c393a42Smrg
3522ca08ab68Smrg   Adds an application-specific font to the configuration. Returns FcFalse if
3523ca08ab68Smrg   the fonts cannot be added (due to allocation failure). Otherwise returns
3524ca08ab68Smrg   FcTrue. If config is NULL, the current configuration is used.
35252c393a42Smrg
35262c393a42SmrgVersion
35272c393a42Smrg
3528ca08ab68Smrg   Fontconfig version 2.10.2
35292c393a42Smrg
3530ca08ab68Smrg                             FcConfigAppFontAddDir
35312c393a42Smrg
35322c393a42SmrgName
35332c393a42Smrg
3534ca08ab68Smrg   FcConfigAppFontAddDir -- Add fonts from directory to font database
35352c393a42Smrg
35362c393a42SmrgSynopsis
35372c393a42Smrg
3538ca08ab68Smrg   #include <fontconfig.h>
35392c393a42Smrg
3540a6844aabSmrg
3541ca08ab68Smrg   FcBool FcConfigAppFontAddDir(FcConfig *config, const FcChar8 *dir);
35422c393a42Smrg
35432c393a42SmrgDescription
35442c393a42Smrg
3545ca08ab68Smrg   Scans the specified directory for fonts, adding each one found to the
3546ca08ab68Smrg   application-specific set of fonts. Returns FcFalse if the fonts cannot be
3547ca08ab68Smrg   added (due to allocation failure). Otherwise returns FcTrue. If config is
3548ca08ab68Smrg   NULL, the current configuration is used.
35492c393a42Smrg
35502c393a42SmrgVersion
35512c393a42Smrg
3552ca08ab68Smrg   Fontconfig version 2.10.2
35532c393a42Smrg
3554ca08ab68Smrg                              FcConfigAppFontClear
35552c393a42Smrg
35562c393a42SmrgName
35572c393a42Smrg
3558ca08ab68Smrg   FcConfigAppFontClear -- Remove all app fonts from font database
35592c393a42Smrg
35602c393a42SmrgSynopsis
35612c393a42Smrg
3562ca08ab68Smrg   #include <fontconfig.h>
35632c393a42Smrg
3564a6844aabSmrg
3565ca08ab68Smrg   void FcConfigAppFontClear(FcConfig *config);
35662c393a42Smrg
35672c393a42SmrgDescription
35682c393a42Smrg
3569ca08ab68Smrg   Clears the set of application-specific fonts. If config is NULL, the
3570ca08ab68Smrg   current configuration is used.
35712c393a42Smrg
35722c393a42SmrgVersion
35732c393a42Smrg
3574ca08ab68Smrg   Fontconfig version 2.10.2
35752c393a42Smrg
3576ca08ab68Smrg                           FcConfigSubstituteWithPat
35772c393a42Smrg
35782c393a42SmrgName
35792c393a42Smrg
3580ca08ab68Smrg   FcConfigSubstituteWithPat -- Execute substitutions
35812c393a42Smrg
35822c393a42SmrgSynopsis
35832c393a42Smrg
3584ca08ab68Smrg   #include <fontconfig.h>
35852c393a42Smrg
3586a6844aabSmrg
3587ca08ab68Smrg   FcBool FcConfigSubstituteWithPat(FcConfig *config, FcPattern *p, FcPattern
3588ca08ab68Smrg   *p_pat, FcMatchKind kind);
35892c393a42Smrg
35902c393a42SmrgDescription
35912c393a42Smrg
3592ca08ab68Smrg   Performs the sequence of pattern modification operations, if kind is
3593ca08ab68Smrg   FcMatchPattern, then those tagged as pattern operations are applied, else
3594ca08ab68Smrg   if kind is FcMatchFont, those tagged as font operations are applied and
3595ca08ab68Smrg   p_pat is used for <test> elements with target=pattern. Returns FcFalse if
3596ca08ab68Smrg   the substitution cannot be performed (due to allocation failure).
3597ca08ab68Smrg   Otherwise returns FcTrue. If config is NULL, the current configuration is
3598ca08ab68Smrg   used.
35992c393a42Smrg
36002c393a42SmrgVersion
36012c393a42Smrg
3602ca08ab68Smrg   Fontconfig version 2.10.2
36032c393a42Smrg
3604ca08ab68Smrg                               FcConfigSubstitute
36052c393a42Smrg
36062c393a42SmrgName
36072c393a42Smrg
3608ca08ab68Smrg   FcConfigSubstitute -- Execute substitutions
36092c393a42Smrg
36102c393a42SmrgSynopsis
36112c393a42Smrg
3612ca08ab68Smrg   #include <fontconfig.h>
36132c393a42Smrg
3614a6844aabSmrg
3615ca08ab68Smrg   FcBool FcConfigSubstitute(FcConfig *config, FcPattern *p, FcMatchKind
3616ca08ab68Smrg   kind);
36172c393a42Smrg
36182c393a42SmrgDescription
36192c393a42Smrg
3620ca08ab68Smrg   Calls FcConfigSubstituteWithPat setting p_pat to NULL. Returns FcFalse if
3621ca08ab68Smrg   the substitution cannot be performed (due to allocation failure).
3622ca08ab68Smrg   Otherwise returns FcTrue. If config is NULL, the current configuration is
3623ca08ab68Smrg   used.
36242c393a42Smrg
36252c393a42SmrgVersion
36262c393a42Smrg
3627ca08ab68Smrg   Fontconfig version 2.10.2
36282c393a42Smrg
3629ca08ab68Smrg                                  FcFontMatch
36302c393a42Smrg
36312c393a42SmrgName
36322c393a42Smrg
3633ca08ab68Smrg   FcFontMatch -- Return best font
36342c393a42Smrg
36352c393a42SmrgSynopsis
36362c393a42Smrg
3637ca08ab68Smrg   #include <fontconfig.h>
36382c393a42Smrg
3639a6844aabSmrg
3640ca08ab68Smrg   FcPattern * FcFontMatch(FcConfig *config, FcPattern *p, FcResult *result);
36412c393a42Smrg
36422c393a42SmrgDescription
36432c393a42Smrg
3644ca08ab68Smrg   Finds the font in sets most closely matching pattern and returns the
3645ca08ab68Smrg   result of FcFontRenderPrepare for that font and the provided pattern. This
3646ca08ab68Smrg   function should be called only after FcConfigSubstitute and
3647ca08ab68Smrg   FcDefaultSubstitute have been called for p; otherwise the results will not
3648ca08ab68Smrg   be correct. If config is NULL, the current configuration is used.
36492c393a42Smrg
36502c393a42SmrgVersion
36512c393a42Smrg
3652ca08ab68Smrg   Fontconfig version 2.10.2
36532c393a42Smrg
3654ca08ab68Smrg                                   FcFontSort
36552c393a42Smrg
36562c393a42SmrgName
36572c393a42Smrg
3658ca08ab68Smrg   FcFontSort -- Return list of matching fonts
36592c393a42Smrg
36602c393a42SmrgSynopsis
36612c393a42Smrg
3662ca08ab68Smrg   #include <fontconfig.h>
36632c393a42Smrg
3664a6844aabSmrg
3665ca08ab68Smrg   FcFontSet * FcFontSort(FcConfig *config, FcPattern *p, FcBool trim,
3666ca08ab68Smrg   FcCharSet **csp, FcResult *result);
36672c393a42Smrg
36682c393a42SmrgDescription
36692c393a42Smrg
3670ca08ab68Smrg   Returns the list of fonts sorted by closeness to p. If trim is FcTrue,
3671ca08ab68Smrg   elements in the list which don't include Unicode coverage not provided by
3672ca08ab68Smrg   earlier elements in the list are elided. The union of Unicode coverage of
3673ca08ab68Smrg   all of the fonts is returned in csp, if csp is not NULL. This function
3674ca08ab68Smrg   should be called only after FcConfigSubstitute and FcDefaultSubstitute
3675ca08ab68Smrg   have been called for p; otherwise the results will not be correct.
36762c393a42Smrg
3677ca08ab68Smrg   The returned FcFontSet references FcPattern structures which may be shared
3678ca08ab68Smrg   by the return value from multiple FcFontSort calls, applications must not
3679ca08ab68Smrg   modify these patterns. Instead, they should be passed, along with p to
3680ca08ab68Smrg   FcFontRenderPrepare which combines them into a complete pattern.
36812c393a42Smrg
3682ca08ab68Smrg   The FcFontSet returned by FcFontSort is destroyed by calling
3683ca08ab68Smrg   FcFontSetDestroy. If config is NULL, the current configuration is used.
36842c393a42Smrg
36852c393a42SmrgVersion
36862c393a42Smrg
3687ca08ab68Smrg   Fontconfig version 2.10.2
36882c393a42Smrg
3689ca08ab68Smrg                              FcFontRenderPrepare
36902c393a42Smrg
36912c393a42SmrgName
36922c393a42Smrg
3693ca08ab68Smrg   FcFontRenderPrepare -- Prepare pattern for loading font file
36942c393a42Smrg
36952c393a42SmrgSynopsis
36962c393a42Smrg
3697ca08ab68Smrg   #include <fontconfig.h>
36982c393a42Smrg
3699a6844aabSmrg
3700ca08ab68Smrg   FcPattern * FcFontRenderPrepare(FcConfig *config, FcPattern *pat,
3701ca08ab68Smrg   FcPattern *font);
37022c393a42Smrg
37032c393a42SmrgDescription
37042c393a42Smrg
3705ca08ab68Smrg   Creates a new pattern consisting of elements of font not appearing in pat,
3706ca08ab68Smrg   elements of pat not appearing in font and the best matching value from pat
3707ca08ab68Smrg   for elements appearing in both. The result is passed to
3708ca08ab68Smrg   FcConfigSubstituteWithPat with kind FcMatchFont and then returned.
37092c393a42Smrg
37102c393a42SmrgVersion
37112c393a42Smrg
3712ca08ab68Smrg   Fontconfig version 2.10.2
37132c393a42Smrg
3714ca08ab68Smrg                                   FcFontList
37152c393a42Smrg
37162c393a42SmrgName
37172c393a42Smrg
3718ca08ab68Smrg   FcFontList -- List fonts
37192c393a42Smrg
37202c393a42SmrgSynopsis
37212c393a42Smrg
3722ca08ab68Smrg   #include <fontconfig.h>
37232c393a42Smrg
3724a6844aabSmrg
3725ca08ab68Smrg   FcFontSet * FcFontList(FcConfig *config, FcPattern *p, FcObjectSet *os);
37262c393a42Smrg
37272c393a42SmrgDescription
37282c393a42Smrg
3729ca08ab68Smrg   Selects fonts matching p, creates patterns from those fonts containing
3730ca08ab68Smrg   only the objects in os and returns the set of unique such patterns. If
3731ca08ab68Smrg   config is NULL, the default configuration is checked to be up to date, and
3732ca08ab68Smrg   used.
37332c393a42Smrg
37342c393a42SmrgVersion
37352c393a42Smrg
3736ca08ab68Smrg   Fontconfig version 2.10.2
37372c393a42Smrg
3738ca08ab68Smrg                                FcConfigFilename
37392c393a42Smrg
37402c393a42SmrgName
37412c393a42Smrg
3742ca08ab68Smrg   FcConfigFilename -- Find a config file
37432c393a42Smrg
37442c393a42SmrgSynopsis
37452c393a42Smrg
3746ca08ab68Smrg   #include <fontconfig.h>
37472c393a42Smrg
3748a6844aabSmrg
3749ca08ab68Smrg   FcChar8 * FcConfigFilename(const FcChar8 *name);
37502c393a42Smrg
37512c393a42SmrgDescription
37522c393a42Smrg
3753ca08ab68Smrg   Given the specified external entity name, return the associated filename.
3754ca08ab68Smrg   This provides applications a way to convert various configuration file
3755ca08ab68Smrg   references into filename form.
37562c393a42Smrg
3757ca08ab68Smrg   A null or empty name indicates that the default configuration file should
3758ca08ab68Smrg   be used; which file this references can be overridden with the
3759ca08ab68Smrg   FONTCONFIG_FILE environment variable. Next, if the name starts with ~, it
3760ca08ab68Smrg   refers to a file in the current users home directory. Otherwise if the
3761ca08ab68Smrg   name doesn't start with '/', it refers to a file in the default
3762ca08ab68Smrg   configuration directory; the built-in default directory can be overridden
3763ca08ab68Smrg   with the FONTCONFIG_PATH environment variable.
37642c393a42Smrg
37652c393a42SmrgVersion
37662c393a42Smrg
3767ca08ab68Smrg   Fontconfig version 2.10.2
37682c393a42Smrg
3769ca08ab68Smrg                              FcConfigParseAndLoad
37702c393a42Smrg
37712c393a42SmrgName
37722c393a42Smrg
3773ca08ab68Smrg   FcConfigParseAndLoad -- load a configuration file
37742c393a42Smrg
37752c393a42SmrgSynopsis
37762c393a42Smrg
3777ca08ab68Smrg   #include <fontconfig.h>
37782c393a42Smrg
3779a6844aabSmrg
3780ca08ab68Smrg   FcBool FcConfigParseAndLoad(FcConfig *config, const FcChar8 *file, FcBool
3781ca08ab68Smrg   complain);
37822c393a42Smrg
37832c393a42SmrgDescription
37842c393a42Smrg
3785ca08ab68Smrg   Walks the configuration in 'file' and constructs the internal
3786ca08ab68Smrg   representation in 'config'. Any include files referenced from within
3787ca08ab68Smrg   'file' will be loaded and parsed. If 'complain' is FcFalse, no warning
3788ca08ab68Smrg   will be displayed if 'file' does not exist. Error and warning messages
3789ca08ab68Smrg   will be output to stderr. Returns FcFalse if some error occurred while
3790ca08ab68Smrg   loading the file, either a parse error, semantic error or allocation
3791ca08ab68Smrg   failure. Otherwise returns FcTrue.
37922c393a42Smrg
37932c393a42SmrgVersion
37942c393a42Smrg
3795ca08ab68Smrg   Fontconfig version 2.10.2
3796ca08ab68Smrg
3797ca08ab68Smrg   --------------------------------------------------------------------------
3798ca08ab68Smrg
3799ca08ab68Smrg  FcObjectType
38002c393a42Smrg
3801ca08ab68Smrg   Table of Contents
38022c393a42Smrg
3803ca08ab68Smrg   [124]FcNameRegisterObjectTypes -- Register object types
38042c393a42Smrg
3805ca08ab68Smrg   [125]FcNameUnregisterObjectTypes -- Unregister object types
3806a6844aabSmrg
3807ca08ab68Smrg   [126]FcNameGetObjectType -- Lookup an object type
38082c393a42Smrg
3809ca08ab68Smrg   Provides for application-specified font name object types so that new
3810ca08ab68Smrg   pattern elements can be generated from font names.
3811ca08ab68Smrg
3812ca08ab68Smrg                           FcNameRegisterObjectTypes
38132c393a42Smrg
38142c393a42SmrgName
38152c393a42Smrg
3816ca08ab68Smrg   FcNameRegisterObjectTypes -- Register object types
38172c393a42Smrg
38182c393a42SmrgSynopsis
38192c393a42Smrg
3820ca08ab68Smrg   #include <fontconfig.h>
38212c393a42Smrg
3822a6844aabSmrg
3823ca08ab68Smrg   FcBool FcNameRegisterObjectTypes(const FcObjectType *types, int ntype);
38242c393a42Smrg
38252c393a42SmrgDescription
38262c393a42Smrg
3827ca08ab68Smrg   Register ntype new object types. Returns FcFalse if some of the names
3828ca08ab68Smrg   cannot be registered (due to allocation failure). Otherwise returns
3829ca08ab68Smrg   FcTrue.
38302c393a42Smrg
38312c393a42SmrgVersion
38322c393a42Smrg
3833ca08ab68Smrg   Fontconfig version 2.10.2
38342c393a42Smrg
3835ca08ab68Smrg                          FcNameUnregisterObjectTypes
38362c393a42Smrg
38372c393a42SmrgName
38382c393a42Smrg
3839ca08ab68Smrg   FcNameUnregisterObjectTypes -- Unregister object types
38402c393a42Smrg
38412c393a42SmrgSynopsis
38422c393a42Smrg
3843ca08ab68Smrg   #include <fontconfig.h>
38442c393a42Smrg
3845a6844aabSmrg
3846ca08ab68Smrg   FcBool FcNameUnregisterObjectTypes(const FcObjectType *types, int ntype);
38472c393a42Smrg
38482c393a42SmrgDescription
38492c393a42Smrg
3850ca08ab68Smrg   Unregister ntype object types. Returns FcTrue.
38512c393a42Smrg
38522c393a42SmrgVersion
38532c393a42Smrg
3854ca08ab68Smrg   Fontconfig version 2.10.2
38552c393a42Smrg
3856ca08ab68Smrg                              FcNameGetObjectType
38572c393a42Smrg
38582c393a42SmrgName
38592c393a42Smrg
3860ca08ab68Smrg   FcNameGetObjectType -- Lookup an object type
38612c393a42Smrg
38622c393a42SmrgSynopsis
38632c393a42Smrg
3864ca08ab68Smrg   #include <fontconfig.h>
38652c393a42Smrg
3866a6844aabSmrg
3867ca08ab68Smrg   const FcObjectType * FcNameGetObjectType(const char *object);
38682c393a42Smrg
38692c393a42SmrgDescription
38702c393a42Smrg
3871ca08ab68Smrg   Return the object type for the pattern element named object.
38722c393a42Smrg
38732c393a42SmrgVersion
38742c393a42Smrg
3875ca08ab68Smrg   Fontconfig version 2.10.2
3876ca08ab68Smrg
3877ca08ab68Smrg   --------------------------------------------------------------------------
3878a6844aabSmrg
3879ca08ab68Smrg  FcConstant
38802c393a42Smrg
3881ca08ab68Smrg   Table of Contents
38822c393a42Smrg
3883ca08ab68Smrg   [127]FcNameRegisterConstants -- Register symbolic constants
38842c393a42Smrg
3885ca08ab68Smrg   [128]FcNameUnregisterConstants -- Unregister symbolic constants
38862c393a42Smrg
3887ca08ab68Smrg   [129]FcNameGetConstant -- Lookup symbolic constant
3888ca08ab68Smrg
3889ca08ab68Smrg   [130]FcNameConstant -- Get the value for a symbolic constant
3890ca08ab68Smrg
3891ca08ab68Smrg   Provides for application-specified symbolic constants for font names.
3892ca08ab68Smrg
3893ca08ab68Smrg                            FcNameRegisterConstants
38942c393a42Smrg
38952c393a42SmrgName
38962c393a42Smrg
3897ca08ab68Smrg   FcNameRegisterConstants -- Register symbolic constants
38982c393a42Smrg
38992c393a42SmrgSynopsis
39002c393a42Smrg
3901ca08ab68Smrg   #include <fontconfig.h>
39022c393a42Smrg
3903a6844aabSmrg
3904ca08ab68Smrg   FcBool FcNameRegisterConstants(const FcConstant *consts, int nconsts);
39052c393a42Smrg
39062c393a42SmrgDescription
39072c393a42Smrg
3908ca08ab68Smrg   Register nconsts new symbolic constants. Returns FcFalse if the constants
3909ca08ab68Smrg   cannot be registered (due to allocation failure). Otherwise returns
3910ca08ab68Smrg   FcTrue.
39112c393a42Smrg
39122c393a42SmrgVersion
39132c393a42Smrg
3914ca08ab68Smrg   Fontconfig version 2.10.2
39152c393a42Smrg
3916ca08ab68Smrg                           FcNameUnregisterConstants
39172c393a42Smrg
39182c393a42SmrgName
39192c393a42Smrg
3920ca08ab68Smrg   FcNameUnregisterConstants -- Unregister symbolic constants
39212c393a42Smrg
39222c393a42SmrgSynopsis
39232c393a42Smrg
3924ca08ab68Smrg   #include <fontconfig.h>
39252c393a42Smrg
3926a6844aabSmrg
3927ca08ab68Smrg   FcBool FcNameUnregisterConstants(const FcConstant *consts, int nconsts);
39282c393a42Smrg
39292c393a42SmrgDescription
39302c393a42Smrg
3931ca08ab68Smrg   Unregister nconsts symbolic constants. Returns FcFalse if the specified
3932ca08ab68Smrg   constants were not registered. Otherwise returns FcTrue.
39332c393a42Smrg
39342c393a42SmrgVersion
39352c393a42Smrg
3936ca08ab68Smrg   Fontconfig version 2.10.2
39372c393a42Smrg
3938ca08ab68Smrg                               FcNameGetConstant
39392c393a42Smrg
39402c393a42SmrgName
39412c393a42Smrg
3942ca08ab68Smrg   FcNameGetConstant -- Lookup symbolic constant
39432c393a42Smrg
39442c393a42SmrgSynopsis
39452c393a42Smrg
3946ca08ab68Smrg   #include <fontconfig.h>
39472c393a42Smrg
3948a6844aabSmrg
3949ca08ab68Smrg   const FcConstant * FcNameGetConstant(FcChar8 *string);
39502c393a42Smrg
39512c393a42SmrgDescription
39522c393a42Smrg
3953ca08ab68Smrg   Return the FcConstant structure related to symbolic constant string.
39542c393a42Smrg
39552c393a42SmrgVersion
39562c393a42Smrg
3957ca08ab68Smrg   Fontconfig version 2.10.2
39582c393a42Smrg
3959ca08ab68Smrg                                 FcNameConstant
39602c393a42Smrg
39612c393a42SmrgName
39622c393a42Smrg
3963ca08ab68Smrg   FcNameConstant -- Get the value for a symbolic constant
39642c393a42Smrg
39652c393a42SmrgSynopsis
39662c393a42Smrg
3967ca08ab68Smrg   #include <fontconfig.h>
39682c393a42Smrg
3969a6844aabSmrg
3970ca08ab68Smrg   FcBool FcNameConstant(FcChar8 *string, int *result);
39712c393a42Smrg
39722c393a42SmrgDescription
39732c393a42Smrg
3974ca08ab68Smrg   Returns whether a symbolic constant with name string is registered,
3975ca08ab68Smrg   placing the value of the constant in result if present.
39762c393a42Smrg
39772c393a42SmrgVersion
39782c393a42Smrg
3979ca08ab68Smrg   Fontconfig version 2.10.2
3980ca08ab68Smrg
3981ca08ab68Smrg   --------------------------------------------------------------------------
3982a6844aabSmrg
3983ca08ab68Smrg  FcBlanks
39842c393a42Smrg
3985ca08ab68Smrg   Table of Contents
39862c393a42Smrg
3987ca08ab68Smrg   [131]FcBlanksCreate -- Create an FcBlanks
39882c393a42Smrg
3989ca08ab68Smrg   [132]FcBlanksDestroy -- Destroy and FcBlanks
39902c393a42Smrg
3991ca08ab68Smrg   [133]FcBlanksAdd -- Add a character to an FcBlanks
3992ca08ab68Smrg
3993ca08ab68Smrg   [134]FcBlanksIsMember -- Query membership in an FcBlanks
3994ca08ab68Smrg
3995ca08ab68Smrg   An FcBlanks object holds a list of Unicode chars which are expected to be
3996ca08ab68Smrg   blank when drawn. When scanning new fonts, any glyphs which are empty and
3997ca08ab68Smrg   not in this list will be assumed to be broken and not placed in the
3998ca08ab68Smrg   FcCharSet associated with the font. This provides a significantly more
3999ca08ab68Smrg   accurate CharSet for applications.
4000ca08ab68Smrg
4001ca08ab68Smrg                                 FcBlanksCreate
40022c393a42Smrg
40032c393a42SmrgName
40042c393a42Smrg
4005ca08ab68Smrg   FcBlanksCreate -- Create an FcBlanks
40062c393a42Smrg
40072c393a42SmrgSynopsis
40082c393a42Smrg
4009ca08ab68Smrg   #include <fontconfig.h>
40102c393a42Smrg
4011a6844aabSmrg
4012ca08ab68Smrg   FcBlanks * FcBlanksCreate(void);
40132c393a42Smrg
40142c393a42SmrgDescription
40152c393a42Smrg
4016ca08ab68Smrg   Creates an empty FcBlanks object.
40172c393a42Smrg
40182c393a42SmrgVersion
40192c393a42Smrg
4020ca08ab68Smrg   Fontconfig version 2.10.2
40212c393a42Smrg
4022ca08ab68Smrg                                FcBlanksDestroy
40232c393a42Smrg
40242c393a42SmrgName
40252c393a42Smrg
4026ca08ab68Smrg   FcBlanksDestroy -- Destroy and FcBlanks
40272c393a42Smrg
40282c393a42SmrgSynopsis
40292c393a42Smrg
4030ca08ab68Smrg   #include <fontconfig.h>
40312c393a42Smrg
4032a6844aabSmrg
4033ca08ab68Smrg   void FcBlanksDestroy(FcBlanks *b);
40342c393a42Smrg
40352c393a42SmrgDescription
40362c393a42Smrg
4037ca08ab68Smrg   Destroys an FcBlanks object, freeing any associated memory.
40382c393a42Smrg
40392c393a42SmrgVersion
40402c393a42Smrg
4041ca08ab68Smrg   Fontconfig version 2.10.2
40422c393a42Smrg
4043ca08ab68Smrg                                  FcBlanksAdd
40442c393a42Smrg
40452c393a42SmrgName
40462c393a42Smrg
4047ca08ab68Smrg   FcBlanksAdd -- Add a character to an FcBlanks
40482c393a42Smrg
40492c393a42SmrgSynopsis
40502c393a42Smrg
4051ca08ab68Smrg   #include <fontconfig.h>
40522c393a42Smrg
4053a6844aabSmrg
4054ca08ab68Smrg   FcBool FcBlanksAdd(FcBlanks *b, FcChar32 ucs4);
40552c393a42Smrg
40562c393a42SmrgDescription
40572c393a42Smrg
4058ca08ab68Smrg   Adds a single character to an FcBlanks object, returning FcFalse if this
4059ca08ab68Smrg   process ran out of memory.
40602c393a42Smrg
40612c393a42SmrgVersion
40622c393a42Smrg
4063ca08ab68Smrg   Fontconfig version 2.10.2
40642c393a42Smrg
4065ca08ab68Smrg                                FcBlanksIsMember
40662c393a42Smrg
40672c393a42SmrgName
40682c393a42Smrg
4069ca08ab68Smrg   FcBlanksIsMember -- Query membership in an FcBlanks
40702c393a42Smrg
40712c393a42SmrgSynopsis
40722c393a42Smrg
4073ca08ab68Smrg   #include <fontconfig.h>
40742c393a42Smrg
4075a6844aabSmrg
4076ca08ab68Smrg   FcBool FcBlanksIsMember(FcBlanks *b, FcChar32 ucs4);
40772c393a42Smrg
40782c393a42SmrgDescription
40792c393a42Smrg
4080ca08ab68Smrg   Returns whether the specified FcBlanks object contains the indicated
4081ca08ab68Smrg   Unicode value.
40822c393a42Smrg
40832c393a42SmrgVersion
40842c393a42Smrg
4085ca08ab68Smrg   Fontconfig version 2.10.2
4086ca08ab68Smrg
4087ca08ab68Smrg   --------------------------------------------------------------------------
4088ca08ab68Smrg
4089ca08ab68Smrg  FcAtomic
4090ca08ab68Smrg
4091ca08ab68Smrg   Table of Contents
4092ca08ab68Smrg
4093ca08ab68Smrg   [135]FcAtomicCreate -- create an FcAtomic object
4094ca08ab68Smrg
4095ca08ab68Smrg   [136]FcAtomicLock -- lock a file
4096ca08ab68Smrg
4097ca08ab68Smrg   [137]FcAtomicNewFile -- return new temporary file name
4098a6844aabSmrg
4099ca08ab68Smrg   [138]FcAtomicOrigFile -- return original file name
41002c393a42Smrg
4101ca08ab68Smrg   [139]FcAtomicReplaceOrig -- replace original with new
41022c393a42Smrg
4103ca08ab68Smrg   [140]FcAtomicDeleteNew -- delete new file
41042c393a42Smrg
4105ca08ab68Smrg   [141]FcAtomicUnlock -- unlock a file
41062c393a42Smrg
4107ca08ab68Smrg   [142]FcAtomicDestroy -- destroy an FcAtomic object
4108ca08ab68Smrg
4109ca08ab68Smrg   These functions provide a safe way to update configuration files, allowing
4110ca08ab68Smrg   ongoing reading of the old configuration file while locked for writing and
4111ca08ab68Smrg   ensuring that a consistent and complete version of the configuration file
4112ca08ab68Smrg   is always available.
4113ca08ab68Smrg
4114ca08ab68Smrg                                 FcAtomicCreate
41152c393a42Smrg
41162c393a42SmrgName
41172c393a42Smrg
4118ca08ab68Smrg   FcAtomicCreate -- create an FcAtomic object
41192c393a42Smrg
41202c393a42SmrgSynopsis
41212c393a42Smrg
4122ca08ab68Smrg   #include <fontconfig.h>
41232c393a42Smrg
4124a6844aabSmrg
4125ca08ab68Smrg   FcAtomic * FcAtomicCreate(const FcChar8 *file);
41262c393a42Smrg
41272c393a42SmrgDescription
41282c393a42Smrg
4129ca08ab68Smrg   Creates a data structure containing data needed to control access to file.
4130ca08ab68Smrg   Writing is done to a separate file. Once that file is complete, the
4131ca08ab68Smrg   original configuration file is atomically replaced so that reading process
4132ca08ab68Smrg   always see a consistent and complete file without the need to lock for
4133ca08ab68Smrg   reading.
41342c393a42Smrg
41352c393a42SmrgVersion
41362c393a42Smrg
4137ca08ab68Smrg   Fontconfig version 2.10.2
41382c393a42Smrg
4139ca08ab68Smrg                                  FcAtomicLock
41402c393a42Smrg
41412c393a42SmrgName
41422c393a42Smrg
4143ca08ab68Smrg   FcAtomicLock -- lock a file
41442c393a42Smrg
41452c393a42SmrgSynopsis
41462c393a42Smrg
4147ca08ab68Smrg   #include <fontconfig.h>
41482c393a42Smrg
4149a6844aabSmrg
4150ca08ab68Smrg   FcBool FcAtomicLock(FcAtomic *atomic);
41512c393a42Smrg
41522c393a42SmrgDescription
41532c393a42Smrg
4154ca08ab68Smrg   Attempts to lock the file referenced by atomic. Returns FcFalse if the
4155ca08ab68Smrg   file is already locked, else returns FcTrue and leaves the file locked.
41562c393a42Smrg
41572c393a42SmrgVersion
41582c393a42Smrg
4159ca08ab68Smrg   Fontconfig version 2.10.2
41602c393a42Smrg
4161ca08ab68Smrg                                FcAtomicNewFile
41622c393a42Smrg
41632c393a42SmrgName
41642c393a42Smrg
4165ca08ab68Smrg   FcAtomicNewFile -- return new temporary file name
41662c393a42Smrg
41672c393a42SmrgSynopsis
41682c393a42Smrg
4169ca08ab68Smrg   #include <fontconfig.h>
41702c393a42Smrg
4171a6844aabSmrg
4172ca08ab68Smrg   FcChar8 * FcAtomicNewFile(FcAtomic *atomic);
41732c393a42Smrg
41742c393a42SmrgDescription
41752c393a42Smrg
4176ca08ab68Smrg   Returns the filename for writing a new version of the file referenced by
4177ca08ab68Smrg   atomic.
41782c393a42Smrg
41792c393a42SmrgVersion
41802c393a42Smrg
4181ca08ab68Smrg   Fontconfig version 2.10.2
41822c393a42Smrg
4183ca08ab68Smrg                                FcAtomicOrigFile
41842c393a42Smrg
41852c393a42SmrgName
41862c393a42Smrg
4187ca08ab68Smrg   FcAtomicOrigFile -- return original file name
41882c393a42Smrg
41892c393a42SmrgSynopsis
41902c393a42Smrg
4191ca08ab68Smrg   #include <fontconfig.h>
41922c393a42Smrg
4193a6844aabSmrg
4194ca08ab68Smrg   FcChar8 * FcAtomicOrigFile(FcAtomic *atomic);
41952c393a42Smrg
41962c393a42SmrgDescription
41972c393a42Smrg
4198ca08ab68Smrg   Returns the file referenced by atomic.
41992c393a42Smrg
42002c393a42SmrgVersion
42012c393a42Smrg
4202ca08ab68Smrg   Fontconfig version 2.10.2
42032c393a42Smrg
4204ca08ab68Smrg                              FcAtomicReplaceOrig
42052c393a42Smrg
42062c393a42SmrgName
42072c393a42Smrg
4208ca08ab68Smrg   FcAtomicReplaceOrig -- replace original with new
42092c393a42Smrg
42102c393a42SmrgSynopsis
42112c393a42Smrg
4212ca08ab68Smrg   #include <fontconfig.h>
42132c393a42Smrg
4214a6844aabSmrg
4215ca08ab68Smrg   FcBool FcAtomicReplaceOrig(FcAtomic *atomic);
42162c393a42Smrg
42172c393a42SmrgDescription
42182c393a42Smrg
4219ca08ab68Smrg   Replaces the original file referenced by atomic with the new file. Returns
4220ca08ab68Smrg   FcFalse if the file cannot be replaced due to permission issues in the
4221ca08ab68Smrg   filesystem. Otherwise returns FcTrue.
42222c393a42Smrg
42232c393a42SmrgVersion
42242c393a42Smrg
4225ca08ab68Smrg   Fontconfig version 2.10.2
42262c393a42Smrg
4227ca08ab68Smrg                               FcAtomicDeleteNew
42282c393a42Smrg
42292c393a42SmrgName
42302c393a42Smrg
4231ca08ab68Smrg   FcAtomicDeleteNew -- delete new file
42322c393a42Smrg
42332c393a42SmrgSynopsis
42342c393a42Smrg
4235ca08ab68Smrg   #include <fontconfig.h>
42362c393a42Smrg
4237a6844aabSmrg
4238ca08ab68Smrg   void FcAtomicDeleteNew(FcAtomic *atomic);
42392c393a42Smrg
42402c393a42SmrgDescription
42412c393a42Smrg
4242ca08ab68Smrg   Deletes the new file. Used in error recovery to back out changes.
42432c393a42Smrg
42442c393a42SmrgVersion
42452c393a42Smrg
4246ca08ab68Smrg   Fontconfig version 2.10.2
42472c393a42Smrg
4248ca08ab68Smrg                                 FcAtomicUnlock
42492c393a42Smrg
42502c393a42SmrgName
42512c393a42Smrg
4252ca08ab68Smrg   FcAtomicUnlock -- unlock a file
42532c393a42Smrg
42542c393a42SmrgSynopsis
42552c393a42Smrg
4256ca08ab68Smrg   #include <fontconfig.h>
42572c393a42Smrg
4258a6844aabSmrg
4259ca08ab68Smrg   void FcAtomicUnlock(FcAtomic *atomic);
42602c393a42Smrg
42612c393a42SmrgDescription
42622c393a42Smrg
4263ca08ab68Smrg   Unlocks the file.
42642c393a42Smrg
42652c393a42SmrgVersion
42662c393a42Smrg
4267ca08ab68Smrg   Fontconfig version 2.10.2
42682c393a42Smrg
4269ca08ab68Smrg                                FcAtomicDestroy
42702c393a42Smrg
42712c393a42SmrgName
42722c393a42Smrg
4273ca08ab68Smrg   FcAtomicDestroy -- destroy an FcAtomic object
42742c393a42Smrg
42752c393a42SmrgSynopsis
42762c393a42Smrg
4277ca08ab68Smrg   #include <fontconfig.h>
42782c393a42Smrg
4279a6844aabSmrg
4280ca08ab68Smrg   void FcAtomicDestroy(FcAtomic *atomic);
42812c393a42Smrg
42822c393a42SmrgDescription
42832c393a42Smrg
4284ca08ab68Smrg   Destroys atomic.
42852c393a42Smrg
42862c393a42SmrgVersion
42872c393a42Smrg
4288ca08ab68Smrg   Fontconfig version 2.10.2
4289ca08ab68Smrg
4290ca08ab68Smrg   --------------------------------------------------------------------------
4291ca08ab68Smrg
4292ca08ab68Smrg  File and Directory routines
4293ca08ab68Smrg
4294ca08ab68Smrg   Table of Contents
4295ca08ab68Smrg
4296ca08ab68Smrg   [143]FcFileScan -- scan a font file
4297ca08ab68Smrg
4298ca08ab68Smrg   [144]FcFileIsDir -- check whether a file is a directory
4299ca08ab68Smrg
4300ca08ab68Smrg   [145]FcDirScan -- scan a font directory without caching it
4301ca08ab68Smrg
4302ca08ab68Smrg   [146]FcDirSave -- DEPRECATED: formerly used to save a directory cache
43032c393a42Smrg
4304ca08ab68Smrg   [147]FcDirCacheUnlink -- Remove all caches related to dir
43052c393a42Smrg
4306ca08ab68Smrg   [148]FcDirCacheValid -- check directory cache
43072c393a42Smrg
4308ca08ab68Smrg   [149]FcDirCacheLoad -- load a directory cache
43092c393a42Smrg
4310ca08ab68Smrg   [150]FcDirCacheRead -- read or construct a directory cache
43112c393a42Smrg
4312ca08ab68Smrg   [151]FcDirCacheLoadFile -- load a cache file
4313ca08ab68Smrg
4314ca08ab68Smrg   [152]FcDirCacheUnload -- unload a cache file
4315ca08ab68Smrg
4316ca08ab68Smrg   These routines work with font files and directories, including font
4317ca08ab68Smrg   directory cache files.
4318ca08ab68Smrg
4319ca08ab68Smrg                                   FcFileScan
43202c393a42Smrg
43212c393a42SmrgName
43222c393a42Smrg
4323ca08ab68Smrg   FcFileScan -- scan a font file
43242c393a42Smrg
43252c393a42SmrgSynopsis
43262c393a42Smrg
4327ca08ab68Smrg   #include <fontconfig.h>
43282c393a42Smrg
4329a6844aabSmrg
4330ca08ab68Smrg   FcBool FcFileScan(FcFontSet *set, FcStrSet *dirs, FcFileCache *cache,
4331ca08ab68Smrg   FcBlanks *blanks, const FcChar8 *file, FcBool force);
43322c393a42Smrg
43332c393a42SmrgDescription
43342c393a42Smrg
4335ca08ab68Smrg   Scans a single file and adds all fonts found to set. If force is FcTrue,
4336ca08ab68Smrg   then the file is scanned even if associated information is found in cache.
4337ca08ab68Smrg   If file is a directory, it is added to dirs. Whether fonts are found
4338ca08ab68Smrg   depends on fontconfig policy as well as the current configuration.
4339ca08ab68Smrg   Internally, fontconfig will ignore BDF and PCF fonts which are not in
4340ca08ab68Smrg   Unicode (or the effectively equivalent ISO Latin-1) encoding as those are
4341ca08ab68Smrg   not usable by Unicode-based applications. The configuration can ignore
4342ca08ab68Smrg   fonts based on filename or contents of the font file itself. Returns
4343ca08ab68Smrg   FcFalse if any of the fonts cannot be added (due to allocation failure).
4344ca08ab68Smrg   Otherwise returns FcTrue.
43452c393a42Smrg
43462c393a42SmrgVersion
43472c393a42Smrg
4348ca08ab68Smrg   Fontconfig version 2.10.2
43492c393a42Smrg
4350ca08ab68Smrg                                  FcFileIsDir
43512c393a42Smrg
43522c393a42SmrgName
43532c393a42Smrg
4354ca08ab68Smrg   FcFileIsDir -- check whether a file is a directory
43552c393a42Smrg
43562c393a42SmrgSynopsis
43572c393a42Smrg
4358ca08ab68Smrg   #include <fontconfig.h>
43592c393a42Smrg
4360a6844aabSmrg
4361ca08ab68Smrg   FcBool FcFileIsDir(const FcChar8 *file);
43622c393a42Smrg
43632c393a42SmrgDescription
43642c393a42Smrg
4365ca08ab68Smrg   Returns FcTrue if file is a directory, otherwise returns FcFalse.
43662c393a42Smrg
43672c393a42SmrgVersion
43682c393a42Smrg
4369ca08ab68Smrg   Fontconfig version 2.10.2
43702c393a42Smrg
4371ca08ab68Smrg                                   FcDirScan
43722c393a42Smrg
43732c393a42SmrgName
43742c393a42Smrg
4375ca08ab68Smrg   FcDirScan -- scan a font directory without caching it
43762c393a42Smrg
43772c393a42SmrgSynopsis
43782c393a42Smrg
4379ca08ab68Smrg   #include <fontconfig.h>
43802c393a42Smrg
4381a6844aabSmrg
4382ca08ab68Smrg   FcBool FcDirScan(FcFontSet *set, FcStrSet *dirs, FcFileCache *cache,
4383ca08ab68Smrg   FcBlanks *blanks, const FcChar8 *dir, FcBool force);
43842c393a42Smrg
43852c393a42SmrgDescription
43862c393a42Smrg
4387ca08ab68Smrg   If cache is not zero or if force is FcFalse, this function currently
4388ca08ab68Smrg   returns FcFalse. Otherwise, it scans an entire directory and adds all
4389ca08ab68Smrg   fonts found to set. Any subdirectories found are added to dirs. Calling
4390ca08ab68Smrg   this function does not create any cache files. Use FcDirCacheRead() if
4391ca08ab68Smrg   caching is desired.
43922c393a42Smrg
43932c393a42SmrgVersion
43942c393a42Smrg
4395ca08ab68Smrg   Fontconfig version 2.10.2
43962c393a42Smrg
4397ca08ab68Smrg                                   FcDirSave
43982c393a42Smrg
43992c393a42SmrgName
44002c393a42Smrg
4401ca08ab68Smrg   FcDirSave -- DEPRECATED: formerly used to save a directory cache
44022c393a42Smrg
44032c393a42SmrgSynopsis
44042c393a42Smrg
4405ca08ab68Smrg   #include <fontconfig.h>
44062c393a42Smrg
4407a6844aabSmrg
4408ca08ab68Smrg   FcBool FcDirSave(FcFontSet *set, FcStrSet *dirs, const FcChar8 *dir);
44092c393a42Smrg
44102c393a42SmrgDescription
44112c393a42Smrg
4412ca08ab68Smrg   This function now does nothing aside from returning FcFalse. It used to
4413ca08ab68Smrg   creates the per-directory cache file for dir and populates it with the
4414ca08ab68Smrg   fonts in set and subdirectories in dirs. All of this functionality is now
4415ca08ab68Smrg   automatically managed by FcDirCacheLoad and FcDirCacheRead.
44162c393a42Smrg
44172c393a42SmrgVersion
44182c393a42Smrg
4419ca08ab68Smrg   Fontconfig version 2.10.2
44202c393a42Smrg
4421ca08ab68Smrg                                FcDirCacheUnlink
44222c393a42Smrg
44232c393a42SmrgName
44242c393a42Smrg
4425ca08ab68Smrg   FcDirCacheUnlink -- Remove all caches related to dir
44262c393a42Smrg
44272c393a42SmrgSynopsis
44282c393a42Smrg
4429ca08ab68Smrg   #include <fontconfig.h>
44302c393a42Smrg
4431a6844aabSmrg
4432ca08ab68Smrg   FcBool FcDirCacheUnlink(const FcChar8 *dir, FcConfig *config);
44332c393a42Smrg
44342c393a42SmrgDescription
44352c393a42Smrg
4436ca08ab68Smrg   Scans the cache directories in config, removing any instances of the cache
4437ca08ab68Smrg   file for dir. Returns FcFalse when some internal error occurs (out of
4438ca08ab68Smrg   memory, etc). Errors actually unlinking any files are ignored.
44392c393a42Smrg
44402c393a42SmrgVersion
44412c393a42Smrg
4442ca08ab68Smrg   Fontconfig version 2.10.2
44432c393a42Smrg
4444ca08ab68Smrg                                FcDirCacheValid
44452c393a42Smrg
44462c393a42SmrgName
44472c393a42Smrg
4448ca08ab68Smrg   FcDirCacheValid -- check directory cache
44492c393a42Smrg
44502c393a42SmrgSynopsis
44512c393a42Smrg
4452ca08ab68Smrg   #include <fontconfig.h>
44532c393a42Smrg
4454a6844aabSmrg
4455ca08ab68Smrg   FcBool FcDirCacheValid(const FcChar8 *dir);
44562c393a42Smrg
44572c393a42SmrgDescription
44582c393a42Smrg
4459ca08ab68Smrg   Returns FcTrue if dir has an associated valid cache file, else returns
4460ca08ab68Smrg   FcFalse
44612c393a42Smrg
44622c393a42SmrgVersion
44632c393a42Smrg
4464ca08ab68Smrg   Fontconfig version 2.10.2
44652c393a42Smrg
4466ca08ab68Smrg                                 FcDirCacheLoad
44672c393a42Smrg
44682c393a42SmrgName
44692c393a42Smrg
4470ca08ab68Smrg   FcDirCacheLoad -- load a directory cache
44712c393a42Smrg
44722c393a42SmrgSynopsis
44732c393a42Smrg
4474ca08ab68Smrg   #include <fontconfig.h>
44752c393a42Smrg
4476a6844aabSmrg
4477ca08ab68Smrg   FcCache * FcDirCacheLoad(const FcChar8 *dir, FcConfig *config, FcChar8
4478ca08ab68Smrg   **cache_file);
44792c393a42Smrg
44802c393a42SmrgDescription
44812c393a42Smrg
4482ca08ab68Smrg   Loads the cache related to dir. If no cache file exists, returns NULL. The
4483ca08ab68Smrg   name of the cache file is returned in cache_file, unless that is NULL. See
4484ca08ab68Smrg   also FcDirCacheRead.
44852c393a42Smrg
44862c393a42SmrgVersion
44872c393a42Smrg
4488ca08ab68Smrg   Fontconfig version 2.10.2
44892c393a42Smrg
4490ca08ab68Smrg                                 FcDirCacheRead
44912c393a42Smrg
44922c393a42SmrgName
44932c393a42Smrg
4494ca08ab68Smrg   FcDirCacheRead -- read or construct a directory cache
44952c393a42Smrg
44962c393a42SmrgSynopsis
44972c393a42Smrg
4498ca08ab68Smrg   #include <fontconfig.h>
44992c393a42Smrg
4500a6844aabSmrg
4501ca08ab68Smrg   FcCache * FcDirCacheRead(const FcChar8 *dir, FcBool force, FcConfig
4502ca08ab68Smrg   *config);
45032c393a42Smrg
45042c393a42SmrgDescription
45052c393a42Smrg
4506ca08ab68Smrg   This returns a cache for dir. If force is FcFalse, then an existing, valid
4507ca08ab68Smrg   cache file will be used. Otherwise, a new cache will be created by
4508ca08ab68Smrg   scanning the directory and that returned.
45092c393a42Smrg
45102c393a42SmrgVersion
45112c393a42Smrg
4512ca08ab68Smrg   Fontconfig version 2.10.2
45132c393a42Smrg
4514ca08ab68Smrg                               FcDirCacheLoadFile
45152c393a42Smrg
45162c393a42SmrgName
45172c393a42Smrg
4518ca08ab68Smrg   FcDirCacheLoadFile -- load a cache file
45192c393a42Smrg
45202c393a42SmrgSynopsis
45212c393a42Smrg
4522ca08ab68Smrg   #include <fontconfig.h>
45232c393a42Smrg
4524a6844aabSmrg
4525ca08ab68Smrg   FcCache * FcDirCacheLoadFile(const FcChar8 *cache_file, struct stat
4526ca08ab68Smrg   *file_stat);
45272c393a42Smrg
45282c393a42SmrgDescription
45292c393a42Smrg
4530ca08ab68Smrg   This function loads a directory cache from cache_file. If file_stat is
4531ca08ab68Smrg   non-NULL, it will be filled with the results of stat(2) on the cache file.
45322c393a42Smrg
45332c393a42SmrgVersion
45342c393a42Smrg
4535ca08ab68Smrg   Fontconfig version 2.10.2
45362c393a42Smrg
4537ca08ab68Smrg                                FcDirCacheUnload
45382c393a42Smrg
45392c393a42SmrgName
45402c393a42Smrg
4541ca08ab68Smrg   FcDirCacheUnload -- unload a cache file
45422c393a42Smrg
45432c393a42SmrgSynopsis
45442c393a42Smrg
4545ca08ab68Smrg   #include <fontconfig.h>
45462c393a42Smrg
4547a6844aabSmrg
4548ca08ab68Smrg   void FcDirCacheUnload(FcCache *cache);
45492c393a42Smrg
45502c393a42SmrgDescription
45512c393a42Smrg
4552ca08ab68Smrg   This function dereferences cache. When no other references to it remain,
4553ca08ab68Smrg   all memory associated with the cache will be freed.
45542c393a42Smrg
45552c393a42SmrgVersion
45562c393a42Smrg
4557ca08ab68Smrg   Fontconfig version 2.10.2
4558ca08ab68Smrg
4559ca08ab68Smrg   --------------------------------------------------------------------------
4560ca08ab68Smrg
4561ca08ab68Smrg  FcCache routines
4562ca08ab68Smrg
4563ca08ab68Smrg   Table of Contents
4564ca08ab68Smrg
4565ca08ab68Smrg   [153]FcCacheDir -- Return directory of cache
4566ca08ab68Smrg
4567ca08ab68Smrg   [154]FcCacheCopySet -- Returns a copy of the fontset from cache
4568ca08ab68Smrg
4569ca08ab68Smrg   [155]FcCacheSubdir -- Return the i'th subdirectory.
45702c393a42Smrg
4571ca08ab68Smrg   [156]FcCacheNumSubdir -- Return the number of subdirectories in cache.
45722c393a42Smrg
4573ca08ab68Smrg   [157]FcCacheNumFont -- Returns the number of fonts in cache.
45742c393a42Smrg
4575ca08ab68Smrg   [158]FcDirCacheClean -- This tries to clean up the cache directory of
4576ca08ab68Smrg   cache_dir. This returns FcTrue if the operation is successfully complete.
4577ca08ab68Smrg   otherwise FcFalse.
45782c393a42Smrg
4579ca08ab68Smrg   [159]FcCacheCreateTagFile -- Create CACHEDIR.TAG at cache directory.
45802c393a42Smrg
4581ca08ab68Smrg   These routines work with font directory caches, accessing their contents
4582ca08ab68Smrg   in limited ways. It is not expected that normal applications will need to
4583ca08ab68Smrg   use these functions.
4584ca08ab68Smrg
4585ca08ab68Smrg                                   FcCacheDir
45862c393a42Smrg
45872c393a42SmrgName
45882c393a42Smrg
4589ca08ab68Smrg   FcCacheDir -- Return directory of cache
45902c393a42Smrg
45912c393a42SmrgSynopsis
45922c393a42Smrg
4593ca08ab68Smrg   #include <fontconfig.h>
45942c393a42Smrg
4595a6844aabSmrg
4596ca08ab68Smrg   const FcChar8 * FcCacheDir(const FcCache *cache);
45972c393a42Smrg
45982c393a42SmrgDescription
45992c393a42Smrg
4600ca08ab68Smrg   This function returns the directory from which the cache was constructed.
46012c393a42Smrg
46022c393a42SmrgVersion
46032c393a42Smrg
4604ca08ab68Smrg   Fontconfig version 2.10.2
46052c393a42Smrg
4606ca08ab68Smrg                                 FcCacheCopySet
46072c393a42Smrg
46082c393a42SmrgName
46092c393a42Smrg
4610ca08ab68Smrg   FcCacheCopySet -- Returns a copy of the fontset from cache
46112c393a42Smrg
46122c393a42SmrgSynopsis
46132c393a42Smrg
4614ca08ab68Smrg   #include <fontconfig.h>
46152c393a42Smrg
4616a6844aabSmrg
4617ca08ab68Smrg   FcFontSet * FcCacheCopySet(const FcCache *cache);
46182c393a42Smrg
46192c393a42SmrgDescription
46202c393a42Smrg
4621ca08ab68Smrg   The returned fontset contains each of the font patterns from cache. This
4622ca08ab68Smrg   fontset may be modified, but the patterns from the cache are read-only.
46232c393a42Smrg
46242c393a42SmrgVersion
46252c393a42Smrg
4626ca08ab68Smrg   Fontconfig version 2.10.2
46272c393a42Smrg
4628ca08ab68Smrg                                 FcCacheSubdir
46292c393a42Smrg
46302c393a42SmrgName
46312c393a42Smrg
4632ca08ab68Smrg   FcCacheSubdir -- Return the i'th subdirectory.
46332c393a42Smrg
46342c393a42SmrgSynopsis
46352c393a42Smrg
4636ca08ab68Smrg   #include <fontconfig.h>
46372c393a42Smrg
4638a6844aabSmrg
4639ca08ab68Smrg   const FcChar8 * FcCacheSubdir(const FcCache *cache, inti);
46402c393a42Smrg
46412c393a42SmrgDescription
46422c393a42Smrg
4643ca08ab68Smrg   The set of subdirectories stored in a cache file are indexed by this
4644ca08ab68Smrg   function, i should range from 0 to n-1, where n is the return value from
4645ca08ab68Smrg   FcCacheNumSubdir.
46462c393a42Smrg
46472c393a42SmrgVersion
46482c393a42Smrg
4649ca08ab68Smrg   Fontconfig version 2.10.2
46502c393a42Smrg
4651ca08ab68Smrg                                FcCacheNumSubdir
46522c393a42Smrg
46532c393a42SmrgName
46542c393a42Smrg
4655ca08ab68Smrg   FcCacheNumSubdir -- Return the number of subdirectories in cache.
46562c393a42Smrg
46572c393a42SmrgSynopsis
46582c393a42Smrg
4659ca08ab68Smrg   #include <fontconfig.h>
46602c393a42Smrg
4661a6844aabSmrg
4662ca08ab68Smrg   int FcCacheNumSubdir(const FcCache *cache);
46632c393a42Smrg
46642c393a42SmrgDescription
46652c393a42Smrg
4666ca08ab68Smrg   This returns the total number of subdirectories in the cache.
46672c393a42Smrg
46682c393a42SmrgVersion
46692c393a42Smrg
4670ca08ab68Smrg   Fontconfig version 2.10.2
46712c393a42Smrg
4672ca08ab68Smrg                                 FcCacheNumFont
46732c393a42Smrg
46742c393a42SmrgName
46752c393a42Smrg
4676ca08ab68Smrg   FcCacheNumFont -- Returns the number of fonts in cache.
46772c393a42Smrg
46782c393a42SmrgSynopsis
46792c393a42Smrg
4680ca08ab68Smrg   #include <fontconfig.h>
46812c393a42Smrg
4682a6844aabSmrg
4683ca08ab68Smrg   int FcCacheNumFont(const FcCache *cache);
46842c393a42Smrg
46852c393a42SmrgDescription
46862c393a42Smrg
4687ca08ab68Smrg   This returns the number of fonts which would be included in the return
4688ca08ab68Smrg   from FcCacheCopySet.
46892c393a42Smrg
46902c393a42SmrgVersion
46912c393a42Smrg
4692ca08ab68Smrg   Fontconfig version 2.10.2
4693ca08ab68Smrg
4694ca08ab68Smrg                                FcDirCacheClean
4695ca08ab68Smrg
4696ca08ab68SmrgName
4697ca08ab68Smrg
4698ca08ab68Smrg   FcDirCacheClean -- This tries to clean up the cache directory of
4699ca08ab68Smrg   cache_dir. This returns FcTrue if the operation is successfully complete.
4700ca08ab68Smrg   otherwise FcFalse.
4701ca08ab68Smrg
4702ca08ab68SmrgSynopsis
4703ca08ab68Smrg
4704ca08ab68Smrg   #include <fontconfig.h>
4705ca08ab68Smrg
4706a6844aabSmrg
4707ca08ab68Smrg   FcBool FcDirCacheClean(const FcChar8 *cache_dir, FcBoolverbose);
4708ca08ab68Smrg
4709ca08ab68SmrgDescription
47102c393a42Smrg
47112c393a42Smrg
47122c393a42Smrg
4713ca08ab68SmrgVersion
47142c393a42Smrg
4715ca08ab68Smrg   Fontconfig version 2.10.2
4716ca08ab68Smrg
4717ca08ab68Smrg                              FcCacheCreateTagFile
47182c393a42Smrg
47192c393a42SmrgName
47202c393a42Smrg
4721ca08ab68Smrg   FcCacheCreateTagFile -- Create CACHEDIR.TAG at cache directory.
47222c393a42Smrg
47232c393a42SmrgSynopsis
47242c393a42Smrg
4725ca08ab68Smrg   #include <fontconfig.h>
47262c393a42Smrg
4727a6844aabSmrg
4728ca08ab68Smrg   void FcCacheCreateTagFile(const FcConfig *config);
47292c393a42Smrg
47302c393a42SmrgDescription
47312c393a42Smrg
4732ca08ab68Smrg   This tries to create CACHEDIR.TAG file at the cache directory registered
4733ca08ab68Smrg   to config.
47342c393a42Smrg
47352c393a42SmrgVersion
47362c393a42Smrg
4737ca08ab68Smrg   Fontconfig version 2.10.2
4738ca08ab68Smrg
4739ca08ab68Smrg   --------------------------------------------------------------------------
4740ca08ab68Smrg
4741ca08ab68Smrg  FcStrSet and FcStrList
4742ca08ab68Smrg
4743ca08ab68Smrg   Table of Contents
4744ca08ab68Smrg
4745ca08ab68Smrg   [160]FcStrSetCreate -- create a string set
4746ca08ab68Smrg
4747ca08ab68Smrg   [161]FcStrSetMember -- check set for membership
4748ca08ab68Smrg
4749ca08ab68Smrg   [162]FcStrSetEqual -- check sets for equality
4750ca08ab68Smrg
4751ca08ab68Smrg   [163]FcStrSetAdd -- add to a string set
4752ca08ab68Smrg
4753ca08ab68Smrg   [164]FcStrSetAddFilename -- add a filename to a string set
4754ca08ab68Smrg
4755ca08ab68Smrg   [165]FcStrSetDel -- delete from a string set
4756ca08ab68Smrg
4757ca08ab68Smrg   [166]FcStrSetDestroy -- destroy a string set
4758ca08ab68Smrg
4759ca08ab68Smrg   [167]FcStrListCreate -- create a string iterator
4760ca08ab68Smrg
4761ca08ab68Smrg   [168]FcStrListNext -- get next string in iteration
4762ca08ab68Smrg
4763ca08ab68Smrg   [169]FcStrListDone -- destroy a string iterator
4764ca08ab68Smrg
4765ca08ab68Smrg   A data structure for enumerating strings, used to list directories while
4766ca08ab68Smrg   scanning the configuration as directories are added while scanning.
47672c393a42Smrg
4768ca08ab68Smrg                                 FcStrSetCreate
47692c393a42Smrg
47702c393a42SmrgName
47712c393a42Smrg
4772ca08ab68Smrg   FcStrSetCreate -- create a string set
47732c393a42Smrg
47742c393a42SmrgSynopsis
47752c393a42Smrg
4776ca08ab68Smrg   #include <fontconfig.h>
47772c393a42Smrg
4778a6844aabSmrg
4779ca08ab68Smrg   FcStrSet * FcStrSetCreate(void);
47802c393a42Smrg
47812c393a42SmrgDescription
47822c393a42Smrg
4783ca08ab68Smrg   Create an empty set.
47842c393a42Smrg
47852c393a42SmrgVersion
47862c393a42Smrg
4787ca08ab68Smrg   Fontconfig version 2.10.2
47882c393a42Smrg
4789ca08ab68Smrg                                 FcStrSetMember
47902c393a42Smrg
47912c393a42SmrgName
47922c393a42Smrg
4793ca08ab68Smrg   FcStrSetMember -- check set for membership
47942c393a42Smrg
47952c393a42SmrgSynopsis
47962c393a42Smrg
4797ca08ab68Smrg   #include <fontconfig.h>
47982c393a42Smrg
4799a6844aabSmrg
4800ca08ab68Smrg   FcBool FcStrSetMember(FcStrSet *set, const FcChar8 *s);
48012c393a42Smrg
48022c393a42SmrgDescription
48032c393a42Smrg
4804ca08ab68Smrg   Returns whether s is a member of set.
48052c393a42Smrg
48062c393a42SmrgVersion
48072c393a42Smrg
4808ca08ab68Smrg   Fontconfig version 2.10.2
48092c393a42Smrg
4810ca08ab68Smrg                                 FcStrSetEqual
48112c393a42Smrg
48122c393a42SmrgName
48132c393a42Smrg
4814ca08ab68Smrg   FcStrSetEqual -- check sets for equality
48152c393a42Smrg
48162c393a42SmrgSynopsis
48172c393a42Smrg
4818ca08ab68Smrg   #include <fontconfig.h>
48192c393a42Smrg
4820a6844aabSmrg
4821ca08ab68Smrg   FcBool FcStrSetEqual(FcStrSet *set_a, FcStrSet *set_b);
48222c393a42Smrg
48232c393a42SmrgDescription
48242c393a42Smrg
4825ca08ab68Smrg   Returns whether set_a contains precisely the same strings as set_b.
4826ca08ab68Smrg   Ordering of strings within the two sets is not considered.
48272c393a42Smrg
48282c393a42SmrgVersion
48292c393a42Smrg
4830ca08ab68Smrg   Fontconfig version 2.10.2
48312c393a42Smrg
4832ca08ab68Smrg                                  FcStrSetAdd
48332c393a42Smrg
48342c393a42SmrgName
48352c393a42Smrg
4836ca08ab68Smrg   FcStrSetAdd -- add to a string set
48372c393a42Smrg
48382c393a42SmrgSynopsis
48392c393a42Smrg
4840ca08ab68Smrg   #include <fontconfig.h>
48412c393a42Smrg
4842a6844aabSmrg
4843ca08ab68Smrg   FcBool FcStrSetAdd(FcStrSet *set, const FcChar8 *s);
48442c393a42Smrg
48452c393a42SmrgDescription
48462c393a42Smrg
4847ca08ab68Smrg   Adds a copy of s to set.
48482c393a42Smrg
48492c393a42SmrgVersion
48502c393a42Smrg
4851ca08ab68Smrg   Fontconfig version 2.10.2
48522c393a42Smrg
4853ca08ab68Smrg                              FcStrSetAddFilename
48542c393a42Smrg
48552c393a42SmrgName
48562c393a42Smrg
4857ca08ab68Smrg   FcStrSetAddFilename -- add a filename to a string set
48582c393a42Smrg
48592c393a42SmrgSynopsis
48602c393a42Smrg
4861ca08ab68Smrg   #include <fontconfig.h>
48622c393a42Smrg
4863a6844aabSmrg
4864ca08ab68Smrg   FcBool FcStrSetAddFilename(FcStrSet *set, const FcChar8 *s);
48652c393a42Smrg
48662c393a42SmrgDescription
48672c393a42Smrg
4868ca08ab68Smrg   Adds a copy s to set, The copy is created with FcStrCopyFilename so that
4869ca08ab68Smrg   leading '~' values are replaced with the value of the HOME environment
4870ca08ab68Smrg   variable.
48712c393a42Smrg
48722c393a42SmrgVersion
48732c393a42Smrg
4874ca08ab68Smrg   Fontconfig version 2.10.2
48752c393a42Smrg
4876ca08ab68Smrg                                  FcStrSetDel
48772c393a42Smrg
48782c393a42SmrgName
48792c393a42Smrg
4880ca08ab68Smrg   FcStrSetDel -- delete from a string set
48812c393a42Smrg
48822c393a42SmrgSynopsis
48832c393a42Smrg
4884ca08ab68Smrg   #include <fontconfig.h>
48852c393a42Smrg
4886a6844aabSmrg
4887ca08ab68Smrg   FcBool FcStrSetDel(FcStrSet *set, const FcChar8 *s);
48882c393a42Smrg
48892c393a42SmrgDescription
48902c393a42Smrg
4891ca08ab68Smrg   Removes s from set, returning FcTrue if s was a member else FcFalse.
48922c393a42Smrg
48932c393a42SmrgVersion
48942c393a42Smrg
4895ca08ab68Smrg   Fontconfig version 2.10.2
48962c393a42Smrg
4897ca08ab68Smrg                                FcStrSetDestroy
48982c393a42Smrg
48992c393a42SmrgName
49002c393a42Smrg
4901ca08ab68Smrg   FcStrSetDestroy -- destroy a string set
49022c393a42Smrg
49032c393a42SmrgSynopsis
49042c393a42Smrg
4905ca08ab68Smrg   #include <fontconfig.h>
49062c393a42Smrg
4907a6844aabSmrg
4908ca08ab68Smrg   void FcStrSetDestroy(FcStrSet *set);
49092c393a42Smrg
49102c393a42SmrgDescription
49112c393a42Smrg
4912ca08ab68Smrg   Destroys set.
49132c393a42Smrg
49142c393a42SmrgVersion
49152c393a42Smrg
4916ca08ab68Smrg   Fontconfig version 2.10.2
49172c393a42Smrg
4918ca08ab68Smrg                                FcStrListCreate
49192c393a42Smrg
49202c393a42SmrgName
49212c393a42Smrg
4922ca08ab68Smrg   FcStrListCreate -- create a string iterator
49232c393a42Smrg
49242c393a42SmrgSynopsis
49252c393a42Smrg
4926ca08ab68Smrg   #include <fontconfig.h>
49272c393a42Smrg
4928a6844aabSmrg
4929ca08ab68Smrg   FcStrList * FcStrListCreate(FcStrSet *set);
49302c393a42Smrg
49312c393a42SmrgDescription
49322c393a42Smrg
4933ca08ab68Smrg   Creates an iterator to list the strings in set.
49342c393a42Smrg
49352c393a42SmrgVersion
49362c393a42Smrg
4937ca08ab68Smrg   Fontconfig version 2.10.2
49382c393a42Smrg
4939ca08ab68Smrg                                 FcStrListNext
49402c393a42Smrg
49412c393a42SmrgName
49422c393a42Smrg
4943ca08ab68Smrg   FcStrListNext -- get next string in iteration
49442c393a42Smrg
49452c393a42SmrgSynopsis
49462c393a42Smrg
4947ca08ab68Smrg   #include <fontconfig.h>
49482c393a42Smrg
4949a6844aabSmrg
4950ca08ab68Smrg   FcChar8 * FcStrListNext(FcStrList *list);
49512c393a42Smrg
49522c393a42SmrgDescription
49532c393a42Smrg
4954ca08ab68Smrg   Returns the next string in set.
49552c393a42Smrg
49562c393a42SmrgVersion
49572c393a42Smrg
4958ca08ab68Smrg   Fontconfig version 2.10.2
49592c393a42Smrg
4960ca08ab68Smrg                                 FcStrListDone
49612c393a42Smrg
4962ca08ab68SmrgName
4963ca08ab68Smrg
4964ca08ab68Smrg   FcStrListDone -- destroy a string iterator
4965ca08ab68Smrg
4966ca08ab68SmrgSynopsis
4967ca08ab68Smrg
4968ca08ab68Smrg   #include <fontconfig.h>
4969ca08ab68Smrg
4970ca08ab68Smrg
4971ca08ab68Smrg   void FcStrListDone(FcStrList *list);
4972ca08ab68Smrg
4973ca08ab68SmrgDescription
4974ca08ab68Smrg
4975ca08ab68Smrg   Destroys the enumerator list.
4976ca08ab68Smrg
4977ca08ab68SmrgVersion
4978ca08ab68Smrg
4979ca08ab68Smrg   Fontconfig version 2.10.2
4980ca08ab68Smrg
4981ca08ab68Smrg   --------------------------------------------------------------------------
4982ca08ab68Smrg
4983ca08ab68Smrg  String utilities
4984ca08ab68Smrg
4985ca08ab68Smrg   Table of Contents
4986ca08ab68Smrg
4987ca08ab68Smrg   [170]FcUtf8ToUcs4 -- convert UTF-8 to UCS4
4988ca08ab68Smrg
4989ca08ab68Smrg   [171]FcUcs4ToUtf8 -- convert UCS4 to UTF-8
49902c393a42Smrg
4991ca08ab68Smrg   [172]FcUtf8Len -- count UTF-8 encoded chars
49922c393a42Smrg
4993ca08ab68Smrg   [173]FcUtf16ToUcs4 -- convert UTF-16 to UCS4
49942c393a42Smrg
4995ca08ab68Smrg   [174]FcUtf16Len -- count UTF-16 encoded chars
4996ca08ab68Smrg
4997ca08ab68Smrg   [175]FcIsLower -- check for lower case ASCII character
4998ca08ab68Smrg
4999ca08ab68Smrg   [176]FcIsUpper -- check for upper case ASCII character
5000ca08ab68Smrg
5001ca08ab68Smrg   [177]FcToLower -- convert upper case ASCII to lower case
5002ca08ab68Smrg
5003ca08ab68Smrg   [178]FcStrCopy -- duplicate a string
5004ca08ab68Smrg
5005ca08ab68Smrg   [179]FcStrDowncase -- create a lower case translation of a string
5006ca08ab68Smrg
5007ca08ab68Smrg   [180]FcStrCopyFilename -- create a complete path from a filename
5008ca08ab68Smrg
5009ca08ab68Smrg   [181]FcStrCmp -- compare UTF-8 strings
5010ca08ab68Smrg
5011ca08ab68Smrg   [182]FcStrCmpIgnoreCase -- compare UTF-8 strings ignoring case
5012ca08ab68Smrg
5013ca08ab68Smrg   [183]FcStrStr -- locate UTF-8 substring
5014ca08ab68Smrg
5015ca08ab68Smrg   [184]FcStrStrIgnoreCase -- locate UTF-8 substring ignoring ASCII case
5016ca08ab68Smrg
5017ca08ab68Smrg   [185]FcStrPlus -- concatenate two strings
5018ca08ab68Smrg
5019ca08ab68Smrg   [186]FcStrFree -- free a string
5020ca08ab68Smrg
5021ca08ab68Smrg   [187]FcStrDirname -- directory part of filename
5022ca08ab68Smrg
5023ca08ab68Smrg   [188]FcStrBasename -- last component of filename
5024ca08ab68Smrg
5025ca08ab68Smrg   Fontconfig manipulates many UTF-8 strings represented with the FcChar8
5026ca08ab68Smrg   type. These functions are exposed to help applications deal with these
5027ca08ab68Smrg   UTF-8 strings in a locale-insensitive manner.
5028ca08ab68Smrg
5029ca08ab68Smrg                                  FcUtf8ToUcs4
50302c393a42Smrg
50312c393a42SmrgName
50322c393a42Smrg
5033ca08ab68Smrg   FcUtf8ToUcs4 -- convert UTF-8 to UCS4
50342c393a42Smrg
50352c393a42SmrgSynopsis
50362c393a42Smrg
5037ca08ab68Smrg   #include <fontconfig.h>
50382c393a42Smrg
5039a6844aabSmrg
5040ca08ab68Smrg   int FcUtf8ToUcs4(FcChar8 *src, FcChar32 *dst, int len);
50412c393a42Smrg
50422c393a42SmrgDescription
50432c393a42Smrg
5044ca08ab68Smrg   Converts the next Unicode char from src into dst and returns the number of
5045ca08ab68Smrg   bytes containing the char. src must be at least len bytes long.
50462c393a42Smrg
50472c393a42SmrgVersion
50482c393a42Smrg
5049ca08ab68Smrg   Fontconfig version 2.10.2
50502c393a42Smrg
5051ca08ab68Smrg                                  FcUcs4ToUtf8
50522c393a42Smrg
50532c393a42SmrgName
50542c393a42Smrg
5055ca08ab68Smrg   FcUcs4ToUtf8 -- convert UCS4 to UTF-8
50562c393a42Smrg
50572c393a42SmrgSynopsis
50582c393a42Smrg
5059ca08ab68Smrg   #include <fontconfig.h>
50602c393a42Smrg
5061a6844aabSmrg
5062ca08ab68Smrg   int FcUcs4ToUtf8(FcChar32 src, FcChar8 dst[FC_UTF8_MAX_LEN]);
50632c393a42Smrg
50642c393a42SmrgDescription
50652c393a42Smrg
5066ca08ab68Smrg   Converts the Unicode char from src into dst and returns the number of
5067ca08ab68Smrg   bytes needed to encode the char.
50682c393a42Smrg
50692c393a42SmrgVersion
50702c393a42Smrg
5071ca08ab68Smrg   Fontconfig version 2.10.2
50722c393a42Smrg
5073ca08ab68Smrg                                   FcUtf8Len
50742c393a42Smrg
50752c393a42SmrgName
50762c393a42Smrg
5077ca08ab68Smrg   FcUtf8Len -- count UTF-8 encoded chars
50782c393a42Smrg
50792c393a42SmrgSynopsis
50802c393a42Smrg
5081ca08ab68Smrg   #include <fontconfig.h>
50822c393a42Smrg
5083a6844aabSmrg
5084ca08ab68Smrg   FcBool FcUtf8Len(FcChar8 *src, int len, int *nchar, int *wchar);
50852c393a42Smrg
50862c393a42SmrgDescription
50872c393a42Smrg
5088ca08ab68Smrg   Counts the number of Unicode chars in len bytes of src. Places that count
5089ca08ab68Smrg   in nchar. wchar contains 1, 2 or 4 depending on the number of bytes needed
5090ca08ab68Smrg   to hold the largest Unicode char counted. The return value indicates
5091ca08ab68Smrg   whether src is a well-formed UTF8 string.
50922c393a42Smrg
50932c393a42SmrgVersion
50942c393a42Smrg
5095ca08ab68Smrg   Fontconfig version 2.10.2
50962c393a42Smrg
5097ca08ab68Smrg                                 FcUtf16ToUcs4
50982c393a42Smrg
50992c393a42SmrgName
51002c393a42Smrg
5101ca08ab68Smrg   FcUtf16ToUcs4 -- convert UTF-16 to UCS4
51022c393a42Smrg
51032c393a42SmrgSynopsis
51042c393a42Smrg
5105ca08ab68Smrg   #include <fontconfig.h>
51062c393a42Smrg
5107a6844aabSmrg
5108ca08ab68Smrg   int FcUtf16ToUcs4(FcChar8 *src, FcEndian endian, FcChar32 *dst, int len);
51092c393a42Smrg
51102c393a42SmrgDescription
51112c393a42Smrg
5112ca08ab68Smrg   Converts the next Unicode char from src into dst and returns the number of
5113ca08ab68Smrg   bytes containing the char. src must be at least len bytes long. Bytes of
5114ca08ab68Smrg   src are combined into 16-bit units according to endian.
51152c393a42Smrg
51162c393a42SmrgVersion
51172c393a42Smrg
5118ca08ab68Smrg   Fontconfig version 2.10.2
51192c393a42Smrg
5120ca08ab68Smrg                                   FcUtf16Len
51212c393a42Smrg
51222c393a42SmrgName
51232c393a42Smrg
5124ca08ab68Smrg   FcUtf16Len -- count UTF-16 encoded chars
51252c393a42Smrg
51262c393a42SmrgSynopsis
51272c393a42Smrg
5128ca08ab68Smrg   #include <fontconfig.h>
51292c393a42Smrg
5130a6844aabSmrg
5131ca08ab68Smrg   FcBool FcUtf16Len(FcChar8 *src, FcEndian endian, int len, int *nchar, int
5132ca08ab68Smrg   *wchar);
51332c393a42Smrg
51342c393a42SmrgDescription
51352c393a42Smrg
5136ca08ab68Smrg   Counts the number of Unicode chars in len bytes of src. Bytes of src are
5137ca08ab68Smrg   combined into 16-bit units according to endian. Places that count in
5138ca08ab68Smrg   nchar. wchar contains 1, 2 or 4 depending on the number of bytes needed to
5139ca08ab68Smrg   hold the largest Unicode char counted. The return value indicates whether
5140ca08ab68Smrg   string is a well-formed UTF16 string.
51412c393a42Smrg
51422c393a42SmrgVersion
51432c393a42Smrg
5144ca08ab68Smrg   Fontconfig version 2.10.2
51452c393a42Smrg
5146ca08ab68Smrg                                   FcIsLower
51472c393a42Smrg
51482c393a42SmrgName
51492c393a42Smrg
5150ca08ab68Smrg   FcIsLower -- check for lower case ASCII character
51512c393a42Smrg
51522c393a42SmrgSynopsis
51532c393a42Smrg
5154ca08ab68Smrg   #include <fontconfig.h>
51552c393a42Smrg
5156a6844aabSmrg
5157ca08ab68Smrg   FcBool FcIsLower(FcChar8c);
51582c393a42Smrg
51592c393a42SmrgDescription
51602c393a42Smrg
5161ca08ab68Smrg   This macro checks whether c is an lower case ASCII letter.
51622c393a42Smrg
51632c393a42SmrgVersion
51642c393a42Smrg
5165ca08ab68Smrg   Fontconfig version 2.10.2
51662c393a42Smrg
5167ca08ab68Smrg                                   FcIsUpper
51682c393a42Smrg
51692c393a42SmrgName
51702c393a42Smrg
5171ca08ab68Smrg   FcIsUpper -- check for upper case ASCII character
51722c393a42Smrg
51732c393a42SmrgSynopsis
51742c393a42Smrg
5175ca08ab68Smrg   #include <fontconfig.h>
51762c393a42Smrg
5177a6844aabSmrg
5178ca08ab68Smrg   FcBool FcIsUpper(FcChar8c);
51792c393a42Smrg
51802c393a42SmrgDescription
51812c393a42Smrg
5182ca08ab68Smrg   This macro checks whether c is a upper case ASCII letter.
51832c393a42Smrg
51842c393a42SmrgVersion
51852c393a42Smrg
5186ca08ab68Smrg   Fontconfig version 2.10.2
51872c393a42Smrg
5188ca08ab68Smrg                                   FcToLower
51892c393a42Smrg
51902c393a42SmrgName
51912c393a42Smrg
5192ca08ab68Smrg   FcToLower -- convert upper case ASCII to lower case
51932c393a42Smrg
51942c393a42SmrgSynopsis
51952c393a42Smrg
5196ca08ab68Smrg   #include <fontconfig.h>
51972c393a42Smrg
5198a6844aabSmrg
5199ca08ab68Smrg   FcChar8 FcToLower(FcChar8c);
52002c393a42Smrg
52012c393a42SmrgDescription
52022c393a42Smrg
5203ca08ab68Smrg   This macro converts upper case ASCII c to the equivalent lower case
5204ca08ab68Smrg   letter.
52052c393a42Smrg
52062c393a42SmrgVersion
52072c393a42Smrg
5208ca08ab68Smrg   Fontconfig version 2.10.2
52092c393a42Smrg
5210ca08ab68Smrg                                   FcStrCopy
52112c393a42Smrg
52122c393a42SmrgName
52132c393a42Smrg
5214ca08ab68Smrg   FcStrCopy -- duplicate a string
52152c393a42Smrg
52162c393a42SmrgSynopsis
52172c393a42Smrg
5218ca08ab68Smrg   #include <fontconfig.h>
52192c393a42Smrg
5220a6844aabSmrg
5221ca08ab68Smrg   FcChar8 * FcStrCopy(const FcChar8 *s);
52222c393a42Smrg
52232c393a42SmrgDescription
52242c393a42Smrg
5225ca08ab68Smrg   Allocates memory, copies s and returns the resulting buffer. Yes, this is
5226ca08ab68Smrg   strdup, but that function isn't available on every platform.
52272c393a42Smrg
52282c393a42SmrgVersion
52292c393a42Smrg
5230ca08ab68Smrg   Fontconfig version 2.10.2
52312c393a42Smrg
5232ca08ab68Smrg                                 FcStrDowncase
52332c393a42Smrg
52342c393a42SmrgName
52352c393a42Smrg
5236ca08ab68Smrg   FcStrDowncase -- create a lower case translation of a string
52372c393a42Smrg
52382c393a42SmrgSynopsis
52392c393a42Smrg
5240ca08ab68Smrg   #include <fontconfig.h>
52412c393a42Smrg
5242a6844aabSmrg
5243ca08ab68Smrg   FcChar8 * FcStrDowncase(const FcChar8 *s);
52442c393a42Smrg
52452c393a42SmrgDescription
52462c393a42Smrg
5247ca08ab68Smrg   Allocates memory, copies s, converting upper case letters to lower case
5248ca08ab68Smrg   and returns the allocated buffer.
52492c393a42Smrg
52502c393a42SmrgVersion
52512c393a42Smrg
5252ca08ab68Smrg   Fontconfig version 2.10.2
52532c393a42Smrg
5254ca08ab68Smrg                               FcStrCopyFilename
52552c393a42Smrg
52562c393a42SmrgName
52572c393a42Smrg
5258ca08ab68Smrg   FcStrCopyFilename -- create a complete path from a filename
52592c393a42Smrg
52602c393a42SmrgSynopsis
52612c393a42Smrg
5262ca08ab68Smrg   #include <fontconfig.h>
52632c393a42Smrg
5264a6844aabSmrg
5265ca08ab68Smrg   FcChar8 * FcStrCopyFilename(const FcChar8 *s);
52662c393a42Smrg
52672c393a42SmrgDescription
52682c393a42Smrg
5269ca08ab68Smrg   FcStrCopyFilename constructs an absolute pathname from s. It converts any
5270ca08ab68Smrg   leading '~' characters in to the value of the HOME environment variable,
5271ca08ab68Smrg   and any relative paths are converted to absolute paths using the current
5272ca08ab68Smrg   working directory. Sequences of '/' characters are converted to a single
5273ca08ab68Smrg   '/', and names containing the current directory '.' or parent directory
5274ca08ab68Smrg   '..' are correctly reconstructed. Returns NULL if '~' is the leading
5275ca08ab68Smrg   character and HOME is unset or disabled (see FcConfigEnableHome).
52762c393a42Smrg
52772c393a42SmrgVersion
52782c393a42Smrg
5279ca08ab68Smrg   Fontconfig version 2.10.2
52802c393a42Smrg
5281ca08ab68Smrg                                    FcStrCmp
52822c393a42Smrg
52832c393a42SmrgName
52842c393a42Smrg
5285ca08ab68Smrg   FcStrCmp -- compare UTF-8 strings
52862c393a42Smrg
52872c393a42SmrgSynopsis
52882c393a42Smrg
5289ca08ab68Smrg   #include <fontconfig.h>
52902c393a42Smrg
5291a6844aabSmrg
5292ca08ab68Smrg   int FcStrCmp(const FcChar8 *s1, const FcChar8 *s2);
52932c393a42Smrg
52942c393a42SmrgDescription
52952c393a42Smrg
5296ca08ab68Smrg   Returns the usual <0, 0, >0 result of comparing s1 and s2.
52972c393a42Smrg
52982c393a42SmrgVersion
52992c393a42Smrg
5300ca08ab68Smrg   Fontconfig version 2.10.2
53012c393a42Smrg
5302ca08ab68Smrg                               FcStrCmpIgnoreCase
53032c393a42Smrg
53042c393a42SmrgName
53052c393a42Smrg
5306ca08ab68Smrg   FcStrCmpIgnoreCase -- compare UTF-8 strings ignoring case
53072c393a42Smrg
53082c393a42SmrgSynopsis
53092c393a42Smrg
5310ca08ab68Smrg   #include <fontconfig.h>
53112c393a42Smrg
5312a6844aabSmrg
5313ca08ab68Smrg   int FcStrCmpIgnoreCase(const FcChar8 *s1, const FcChar8 *s2);
53142c393a42Smrg
53152c393a42SmrgDescription
53162c393a42Smrg
5317ca08ab68Smrg   Returns the usual <0, 0, >0 result of comparing s1 and s2. This test is
5318ca08ab68Smrg   case-insensitive for all proper UTF-8 encoded strings.
53192c393a42Smrg
53202c393a42SmrgVersion
53212c393a42Smrg
5322ca08ab68Smrg   Fontconfig version 2.10.2
53232c393a42Smrg
5324ca08ab68Smrg                                    FcStrStr
53252c393a42Smrg
53262c393a42SmrgName
53272c393a42Smrg
5328ca08ab68Smrg   FcStrStr -- locate UTF-8 substring
53292c393a42Smrg
53302c393a42SmrgSynopsis
53312c393a42Smrg
5332ca08ab68Smrg   #include <fontconfig.h>
53332c393a42Smrg
5334a6844aabSmrg
5335ca08ab68Smrg   FcChar8 * FcStrStr(const FcChar8 *s1, const FcChar8 *s2);
53362c393a42Smrg
53372c393a42SmrgDescription
53382c393a42Smrg
5339ca08ab68Smrg   Returns the location of s2 in s1. Returns NULL if s2 is not present in s1.
5340ca08ab68Smrg   This test will operate properly with UTF8 encoded strings.
53412c393a42Smrg
53422c393a42SmrgVersion
53432c393a42Smrg
5344ca08ab68Smrg   Fontconfig version 2.10.2
53452c393a42Smrg
5346ca08ab68Smrg                               FcStrStrIgnoreCase
53472c393a42Smrg
53482c393a42SmrgName
53492c393a42Smrg
5350ca08ab68Smrg   FcStrStrIgnoreCase -- locate UTF-8 substring ignoring ASCII case
53512c393a42Smrg
53522c393a42SmrgSynopsis
53532c393a42Smrg
5354ca08ab68Smrg   #include <fontconfig.h>
53552c393a42Smrg
5356a6844aabSmrg
5357ca08ab68Smrg   FcChar8 * FcStrStrIgnoreCase(const FcChar8 *s1, const FcChar8 *s2);
53582c393a42Smrg
53592c393a42SmrgDescription
53602c393a42Smrg
5361ca08ab68Smrg   Returns the location of s2 in s1, ignoring case. Returns NULL if s2 is not
5362ca08ab68Smrg   present in s1. This test is case-insensitive for all proper UTF-8 encoded
5363ca08ab68Smrg   strings.
53642c393a42Smrg
53652c393a42SmrgVersion
53662c393a42Smrg
5367ca08ab68Smrg   Fontconfig version 2.10.2
53682c393a42Smrg
5369ca08ab68Smrg                                   FcStrPlus
53702c393a42Smrg
53712c393a42SmrgName
53722c393a42Smrg
5373ca08ab68Smrg   FcStrPlus -- concatenate two strings
53742c393a42Smrg
53752c393a42SmrgSynopsis
53762c393a42Smrg
5377ca08ab68Smrg   #include <fontconfig.h>
53782c393a42Smrg
5379a6844aabSmrg
5380ca08ab68Smrg   FcChar8 * FcStrPlus(const FcChar8 *s1, const FcChar8 *s2);
53812c393a42Smrg
53822c393a42SmrgDescription
53832c393a42Smrg
5384ca08ab68Smrg   This function allocates new storage and places the concatenation of s1 and
5385ca08ab68Smrg   s2 there, returning the new string.
53862c393a42Smrg
53872c393a42SmrgVersion
53882c393a42Smrg
5389ca08ab68Smrg   Fontconfig version 2.10.2
53902c393a42Smrg
5391ca08ab68Smrg                                   FcStrFree
53922c393a42Smrg
53932c393a42SmrgName
53942c393a42Smrg
5395ca08ab68Smrg   FcStrFree -- free a string
53962c393a42Smrg
53972c393a42SmrgSynopsis
53982c393a42Smrg
5399ca08ab68Smrg   #include <fontconfig.h>
54002c393a42Smrg
5401a6844aabSmrg
5402ca08ab68Smrg   void FcStrFree(FcChar8 *s);
54032c393a42Smrg
54042c393a42SmrgDescription
54052c393a42Smrg
5406ca08ab68Smrg   This is just a wrapper around free(3) which helps track memory usage of
5407ca08ab68Smrg   strings within the fontconfig library.
54082c393a42Smrg
54092c393a42SmrgVersion
54102c393a42Smrg
5411ca08ab68Smrg   Fontconfig version 2.10.2
54122c393a42Smrg
5413ca08ab68Smrg                                  FcStrDirname
54142c393a42Smrg
54152c393a42SmrgName
54162c393a42Smrg
5417ca08ab68Smrg   FcStrDirname -- directory part of filename
54182c393a42Smrg
54192c393a42SmrgSynopsis
54202c393a42Smrg
5421ca08ab68Smrg   #include <fontconfig.h>
54222c393a42Smrg
5423a6844aabSmrg
5424ca08ab68Smrg   FcChar8 * FcStrDirname(const FcChar8 *file);
54252c393a42Smrg
54262c393a42SmrgDescription
54272c393a42Smrg
5428ca08ab68Smrg   Returns the directory containing file. This is returned in newly allocated
5429ca08ab68Smrg   storage which should be freed when no longer needed.
54302c393a42Smrg
54312c393a42SmrgVersion
54322c393a42Smrg
5433ca08ab68Smrg   Fontconfig version 2.10.2
54342c393a42Smrg
5435ca08ab68Smrg                                 FcStrBasename
54362c393a42Smrg
54372c393a42SmrgName
54382c393a42Smrg
5439ca08ab68Smrg   FcStrBasename -- last component of filename
54402c393a42Smrg
54412c393a42SmrgSynopsis
54422c393a42Smrg
5443ca08ab68Smrg   #include <fontconfig.h>
54442c393a42Smrg
5445a6844aabSmrg
5446ca08ab68Smrg   FcChar8 * FcStrBasename(const FcChar8 *file);
54472c393a42Smrg
54482c393a42SmrgDescription
54492c393a42Smrg
5450ca08ab68Smrg   Returns the filename of file stripped of any leading directory names. This
5451ca08ab68Smrg   is returned in newly allocated storage which should be freed when no
5452ca08ab68Smrg   longer needed.
54532c393a42Smrg
54542c393a42SmrgVersion
54552c393a42Smrg
5456ca08ab68Smrg   Fontconfig version 2.10.2
5457ca08ab68Smrg
5458ca08ab68SmrgReferences
5459a6844aabSmrg
5460ca08ab68Smrg   Visible links
5461ca08ab68Smrg   1. file:///tmp/html-AqcuLC#AEN16
5462ca08ab68Smrg   2. file:///tmp/html-AqcuLC#AEN19
5463ca08ab68Smrg   3. file:///tmp/html-AqcuLC#AEN31
5464ca08ab68Smrg   4. file:///tmp/html-AqcuLC#AEN102
5465ca08ab68Smrg   5. file:///tmp/html-AqcuLC#FCINITLOADCONFIG
5466ca08ab68Smrg   6. file:///tmp/html-AqcuLC#FCINITLOADCONFIGANDFONTS
5467ca08ab68Smrg   7. file:///tmp/html-AqcuLC#FCINIT
5468ca08ab68Smrg   8. file:///tmp/html-AqcuLC#FCFINI
5469ca08ab68Smrg   9. file:///tmp/html-AqcuLC#FCGETVERSION
5470ca08ab68Smrg  10. file:///tmp/html-AqcuLC#FCINITREINITIALIZE
5471ca08ab68Smrg  11. file:///tmp/html-AqcuLC#FCINITBRINGUPTODATE
5472ca08ab68Smrg  12. file:///tmp/html-AqcuLC#FCPATTERNCREATE
5473ca08ab68Smrg  13. file:///tmp/html-AqcuLC#FCPATTERNDUPLICATE
5474ca08ab68Smrg  14. file:///tmp/html-AqcuLC#FCPATTERNREFERENCE
5475ca08ab68Smrg  15. file:///tmp/html-AqcuLC#FCPATTERNDESTROY
5476ca08ab68Smrg  16. file:///tmp/html-AqcuLC#FCPATTERNEQUAL
5477ca08ab68Smrg  17. file:///tmp/html-AqcuLC#FCPATTERNEQUALSUBSET
5478ca08ab68Smrg  18. file:///tmp/html-AqcuLC#FCPATTERNFILTER
5479ca08ab68Smrg  19. file:///tmp/html-AqcuLC#FCPATTERNHASH
5480ca08ab68Smrg  20. file:///tmp/html-AqcuLC#FCPATTERNADD
5481ca08ab68Smrg  21. file:///tmp/html-AqcuLC#FCPATTERNADDWEAK
5482ca08ab68Smrg  22. file:///tmp/html-AqcuLC#FCPATTERNADD-TYPE
5483ca08ab68Smrg  23. file:///tmp/html-AqcuLC#FCPATTERNGET
5484ca08ab68Smrg  24. file:///tmp/html-AqcuLC#FCPATTERNGET-TYPE
5485ca08ab68Smrg  25. file:///tmp/html-AqcuLC#FCPATTERNBUILD
5486ca08ab68Smrg  26. file:///tmp/html-AqcuLC#FCPATTERNDEL
5487ca08ab68Smrg  27. file:///tmp/html-AqcuLC#FCPATTERNREMOVE
5488ca08ab68Smrg  28. file:///tmp/html-AqcuLC#FCPATTERNPRINT
5489ca08ab68Smrg  29. file:///tmp/html-AqcuLC#FCDEFAULTSUBSTITUTE
5490ca08ab68Smrg  30. file:///tmp/html-AqcuLC#FCNAMEPARSE
5491ca08ab68Smrg  31. file:///tmp/html-AqcuLC#FCNAMEUNPARSE
5492ca08ab68Smrg  32. file:///tmp/html-AqcuLC#FCPATTERNFORMAT
5493ca08ab68Smrg  33. file:///tmp/html-AqcuLC#FCFONTSETCREATE
5494ca08ab68Smrg  34. file:///tmp/html-AqcuLC#FCFONTSETDESTROY
5495ca08ab68Smrg  35. file:///tmp/html-AqcuLC#FCFONTSETADD
5496ca08ab68Smrg  36. file:///tmp/html-AqcuLC#FCFONTSETLIST
5497ca08ab68Smrg  37. file:///tmp/html-AqcuLC#FCFONTSETMATCH
5498ca08ab68Smrg  38. file:///tmp/html-AqcuLC#FCFONTSETPRINT
5499ca08ab68Smrg  39. file:///tmp/html-AqcuLC#FCFONTSETSORT
5500ca08ab68Smrg  40. file:///tmp/html-AqcuLC#FCFONTSETSORTDESTROY
5501ca08ab68Smrg  41. file:///tmp/html-AqcuLC#FCOBJECTSETCREATE
5502ca08ab68Smrg  42. file:///tmp/html-AqcuLC#FCOBJECTSETADD
5503ca08ab68Smrg  43. file:///tmp/html-AqcuLC#FCOBJECTSETDESTROY
5504ca08ab68Smrg  44. file:///tmp/html-AqcuLC#FCOBJECTSETBUILD
5505ca08ab68Smrg  45. file:///tmp/html-AqcuLC#FCFREETYPECHARINDEX
5506ca08ab68Smrg  46. file:///tmp/html-AqcuLC#FCFREETYPECHARSET
5507ca08ab68Smrg  47. file:///tmp/html-AqcuLC#FCFREETYPECHARSETANDSPACING
5508ca08ab68Smrg  48. file:///tmp/html-AqcuLC#FCFREETYPEQUERY
5509ca08ab68Smrg  49. file:///tmp/html-AqcuLC#FCFREETYPEQUERYFACE
5510ca08ab68Smrg  50. file:///tmp/html-AqcuLC#FCVALUEDESTROY
5511ca08ab68Smrg  51. file:///tmp/html-AqcuLC#FCVALUESAVE
5512ca08ab68Smrg  52. file:///tmp/html-AqcuLC#FCVALUEPRINT
5513ca08ab68Smrg  53. file:///tmp/html-AqcuLC#FCVALUEEQUAL
5514ca08ab68Smrg  54. file:///tmp/html-AqcuLC#FCCHARSETCREATE
5515ca08ab68Smrg  55. file:///tmp/html-AqcuLC#FCCHARSETDESTROY
5516ca08ab68Smrg  56. file:///tmp/html-AqcuLC#FCCHARSETADDCHAR
5517ca08ab68Smrg  57. file:///tmp/html-AqcuLC#FCCHARSETDELCHAR
5518ca08ab68Smrg  58. file:///tmp/html-AqcuLC#FCCHARSETCOPY
5519ca08ab68Smrg  59. file:///tmp/html-AqcuLC#FCCHARSETEQUAL
5520ca08ab68Smrg  60. file:///tmp/html-AqcuLC#FCCHARSETINTERSECT
5521ca08ab68Smrg  61. file:///tmp/html-AqcuLC#FCCHARSETUNION
5522ca08ab68Smrg  62. file:///tmp/html-AqcuLC#FCCHARSETSUBTRACT
5523ca08ab68Smrg  63. file:///tmp/html-AqcuLC#FCCHARSETMERGE
5524ca08ab68Smrg  64. file:///tmp/html-AqcuLC#FCCHARSETHASCHAR
5525ca08ab68Smrg  65. file:///tmp/html-AqcuLC#FCCHARSETCOUNT
5526ca08ab68Smrg  66. file:///tmp/html-AqcuLC#FCCHARSETINTERSECTCOUNT
5527ca08ab68Smrg  67. file:///tmp/html-AqcuLC#FCCHARSETSUBTRACTCOUNT
5528ca08ab68Smrg  68. file:///tmp/html-AqcuLC#FCCHARSETISSUBSET
5529ca08ab68Smrg  69. file:///tmp/html-AqcuLC#FCCHARSETFIRSTPAGE
5530ca08ab68Smrg  70. file:///tmp/html-AqcuLC#FCCHARSETNEXTPAGE
5531ca08ab68Smrg  71. file:///tmp/html-AqcuLC#FCCHARSETCOVERAGE
5532ca08ab68Smrg  72. file:///tmp/html-AqcuLC#FCCHARSETNEW
5533ca08ab68Smrg  73. file:///tmp/html-AqcuLC#FCLANGSETCREATE
5534ca08ab68Smrg  74. file:///tmp/html-AqcuLC#FCLANGSETDESTROY
5535ca08ab68Smrg  75. file:///tmp/html-AqcuLC#FCLANGSETCOPY
5536ca08ab68Smrg  76. file:///tmp/html-AqcuLC#FCLANGSETADD
5537ca08ab68Smrg  77. file:///tmp/html-AqcuLC#FCLANGSETDEL
5538ca08ab68Smrg  78. file:///tmp/html-AqcuLC#FCLANGSETUNION
5539ca08ab68Smrg  79. file:///tmp/html-AqcuLC#FCLANGSETSUBTRACT
5540ca08ab68Smrg  80. file:///tmp/html-AqcuLC#FCLANGSETCOMPARE
5541ca08ab68Smrg  81. file:///tmp/html-AqcuLC#FCLANGSETCONTAINS
5542ca08ab68Smrg  82. file:///tmp/html-AqcuLC#FCLANGSETEQUAL
5543ca08ab68Smrg  83. file:///tmp/html-AqcuLC#FCLANGSETHASH
5544ca08ab68Smrg  84. file:///tmp/html-AqcuLC#FCLANGSETHASLANG
5545ca08ab68Smrg  85. file:///tmp/html-AqcuLC#FCGETDEFAULTLANGS
5546ca08ab68Smrg  86. file:///tmp/html-AqcuLC#FCGETLANGS
5547ca08ab68Smrg  87. file:///tmp/html-AqcuLC#FCLANGGETCHARSET
5548ca08ab68Smrg  88. file:///tmp/html-AqcuLC#FCMATRIXINIT
5549ca08ab68Smrg  89. file:///tmp/html-AqcuLC#FCMATRIXCOPY
5550ca08ab68Smrg  90. file:///tmp/html-AqcuLC#FCMATRIXEQUAL
5551ca08ab68Smrg  91. file:///tmp/html-AqcuLC#FCMATRIXMULTIPLY
5552ca08ab68Smrg  92. file:///tmp/html-AqcuLC#FCMATRIXROTATE
5553ca08ab68Smrg  93. file:///tmp/html-AqcuLC#FCMATRIXSCALE
5554ca08ab68Smrg  94. file:///tmp/html-AqcuLC#FCMATRIXSHEAR
5555ca08ab68Smrg  95. file:///tmp/html-AqcuLC#FCCONFIGCREATE
5556ca08ab68Smrg  96. file:///tmp/html-AqcuLC#FCCONFIGREFERENCE
5557ca08ab68Smrg  97. file:///tmp/html-AqcuLC#FCCONFIGDESTROY
5558ca08ab68Smrg  98. file:///tmp/html-AqcuLC#FCCONFIGSETCURRENT
5559ca08ab68Smrg  99. file:///tmp/html-AqcuLC#FCCONFIGGETCURRENT
5560ca08ab68Smrg 100. file:///tmp/html-AqcuLC#FCCONFIGUPTODATE
5561ca08ab68Smrg 101. file:///tmp/html-AqcuLC#FCCONFIGHOME
5562ca08ab68Smrg 102. file:///tmp/html-AqcuLC#FCCONFIGENABLEHOME
5563ca08ab68Smrg 103. file:///tmp/html-AqcuLC#FCCONFIGBUILDFONTS
5564ca08ab68Smrg 104. file:///tmp/html-AqcuLC#FCCONFIGGETCONFIGDIRS
5565ca08ab68Smrg 105. file:///tmp/html-AqcuLC#FCCONFIGGETFONTDIRS
5566ca08ab68Smrg 106. file:///tmp/html-AqcuLC#FCCONFIGGETCONFIGFILES
5567ca08ab68Smrg 107. file:///tmp/html-AqcuLC#FCCONFIGGETCACHE
5568ca08ab68Smrg 108. file:///tmp/html-AqcuLC#FCCONFIGGETCACHEDIRS
5569ca08ab68Smrg 109. file:///tmp/html-AqcuLC#FCCONFIGGETFONTS
5570ca08ab68Smrg 110. file:///tmp/html-AqcuLC#FCCONFIGGETBLANKS
5571ca08ab68Smrg 111. file:///tmp/html-AqcuLC#FCCONFIGGETRESCANINTERVAL
5572ca08ab68Smrg 112. file:///tmp/html-AqcuLC#FCCONFIGSETRESCANINTERVAL
5573ca08ab68Smrg 113. file:///tmp/html-AqcuLC#FCCONFIGAPPFONTADDFILE
5574ca08ab68Smrg 114. file:///tmp/html-AqcuLC#FCCONFIGAPPFONTADDDIR
5575ca08ab68Smrg 115. file:///tmp/html-AqcuLC#FCCONFIGAPPFONTCLEAR
5576ca08ab68Smrg 116. file:///tmp/html-AqcuLC#FCCONFIGSUBSTITUTEWITHPAT
5577ca08ab68Smrg 117. file:///tmp/html-AqcuLC#FCCONFIGSUBSTITUTE
5578ca08ab68Smrg 118. file:///tmp/html-AqcuLC#FCFONTMATCH
5579ca08ab68Smrg 119. file:///tmp/html-AqcuLC#FCFONTSORT
5580ca08ab68Smrg 120. file:///tmp/html-AqcuLC#FCFONTRENDERPREPARE
5581ca08ab68Smrg 121. file:///tmp/html-AqcuLC#FCFONTLIST
5582ca08ab68Smrg 122. file:///tmp/html-AqcuLC#FCCONFIGFILENAME
5583ca08ab68Smrg 123. file:///tmp/html-AqcuLC#FCCONFIGPARSEANDLOAD
5584ca08ab68Smrg 124. file:///tmp/html-AqcuLC#FCNAMEREGISTEROBJECTTYPES
5585ca08ab68Smrg 125. file:///tmp/html-AqcuLC#FCNAMEUNREGISTEROBJECTTYPES
5586ca08ab68Smrg 126. file:///tmp/html-AqcuLC#FCNAMEGETOBJECTTYPE
5587ca08ab68Smrg 127. file:///tmp/html-AqcuLC#FCNAMEREGISTERCONSTANTS
5588ca08ab68Smrg 128. file:///tmp/html-AqcuLC#FCNAMEUNREGISTERCONSTANTS
5589ca08ab68Smrg 129. file:///tmp/html-AqcuLC#FCNAMEGETCONSTANT
5590ca08ab68Smrg 130. file:///tmp/html-AqcuLC#FCNAMECONSTANT
5591ca08ab68Smrg 131. file:///tmp/html-AqcuLC#FCBLANKSCREATE
5592ca08ab68Smrg 132. file:///tmp/html-AqcuLC#FCBLANKSDESTROY
5593ca08ab68Smrg 133. file:///tmp/html-AqcuLC#FCBLANKSADD
5594ca08ab68Smrg 134. file:///tmp/html-AqcuLC#FCBLANKSISMEMBER
5595ca08ab68Smrg 135. file:///tmp/html-AqcuLC#FCATOMICCREATE
5596ca08ab68Smrg 136. file:///tmp/html-AqcuLC#FCATOMICLOCK
5597ca08ab68Smrg 137. file:///tmp/html-AqcuLC#FCATOMICNEWFILE
5598ca08ab68Smrg 138. file:///tmp/html-AqcuLC#FCATOMICORIGFILE
5599ca08ab68Smrg 139. file:///tmp/html-AqcuLC#FCATOMICREPLACEORIG
5600ca08ab68Smrg 140. file:///tmp/html-AqcuLC#FCATOMICDELETENEW
5601ca08ab68Smrg 141. file:///tmp/html-AqcuLC#FCATOMICUNLOCK
5602ca08ab68Smrg 142. file:///tmp/html-AqcuLC#FCATOMICDESTROY
5603ca08ab68Smrg 143. file:///tmp/html-AqcuLC#FCFILESCAN
5604ca08ab68Smrg 144. file:///tmp/html-AqcuLC#FCFILEISDIR
5605ca08ab68Smrg 145. file:///tmp/html-AqcuLC#FCDIRSCAN
5606ca08ab68Smrg 146. file:///tmp/html-AqcuLC#FCDIRSAVE
5607ca08ab68Smrg 147. file:///tmp/html-AqcuLC#FCDIRCACHEUNLINK
5608ca08ab68Smrg 148. file:///tmp/html-AqcuLC#FCDIRCACHEVALID
5609ca08ab68Smrg 149. file:///tmp/html-AqcuLC#FCDIRCACHELOAD
5610ca08ab68Smrg 150. file:///tmp/html-AqcuLC#FCDIRCACHEREAD
5611ca08ab68Smrg 151. file:///tmp/html-AqcuLC#FCDIRCACHELOADFILE
5612ca08ab68Smrg 152. file:///tmp/html-AqcuLC#FCDIRCACHEUNLOAD
5613ca08ab68Smrg 153. file:///tmp/html-AqcuLC#FCCACHEDIR
5614ca08ab68Smrg 154. file:///tmp/html-AqcuLC#FCCACHECOPYSET
5615ca08ab68Smrg 155. file:///tmp/html-AqcuLC#FCCACHESUBDIR
5616ca08ab68Smrg 156. file:///tmp/html-AqcuLC#FCCACHENUMSUBDIR
5617ca08ab68Smrg 157. file:///tmp/html-AqcuLC#FCCACHENUMFONT
5618ca08ab68Smrg 158. file:///tmp/html-AqcuLC#FCDIRCACHECLEAN
5619ca08ab68Smrg 159. file:///tmp/html-AqcuLC#FCCACHECREATETAGFILE
5620ca08ab68Smrg 160. file:///tmp/html-AqcuLC#FCSTRSETCREATE
5621ca08ab68Smrg 161. file:///tmp/html-AqcuLC#FCSTRSETMEMBER
5622ca08ab68Smrg 162. file:///tmp/html-AqcuLC#FCSTRSETEQUAL
5623ca08ab68Smrg 163. file:///tmp/html-AqcuLC#FCSTRSETADD
5624ca08ab68Smrg 164. file:///tmp/html-AqcuLC#FCSTRSETADDFILENAME
5625ca08ab68Smrg 165. file:///tmp/html-AqcuLC#FCSTRSETDEL
5626ca08ab68Smrg 166. file:///tmp/html-AqcuLC#FCSTRSETDESTROY
5627ca08ab68Smrg 167. file:///tmp/html-AqcuLC#FCSTRLISTCREATE
5628ca08ab68Smrg 168. file:///tmp/html-AqcuLC#FCSTRLISTNEXT
5629ca08ab68Smrg 169. file:///tmp/html-AqcuLC#FCSTRLISTDONE
5630ca08ab68Smrg 170. file:///tmp/html-AqcuLC#FCUTF8TOUCS4
5631ca08ab68Smrg 171. file:///tmp/html-AqcuLC#FCUCS4TOUTF8
5632ca08ab68Smrg 172. file:///tmp/html-AqcuLC#FCUTF8LEN
5633ca08ab68Smrg 173. file:///tmp/html-AqcuLC#FCUTF16TOUCS4
5634ca08ab68Smrg 174. file:///tmp/html-AqcuLC#FCUTF16LEN
5635ca08ab68Smrg 175. file:///tmp/html-AqcuLC#FCISLOWER
5636ca08ab68Smrg 176. file:///tmp/html-AqcuLC#FCISUPPER
5637ca08ab68Smrg 177. file:///tmp/html-AqcuLC#FCTOLOWER
5638ca08ab68Smrg 178. file:///tmp/html-AqcuLC#FCSTRCOPY
5639ca08ab68Smrg 179. file:///tmp/html-AqcuLC#FCSTRDOWNCASE
5640ca08ab68Smrg 180. file:///tmp/html-AqcuLC#FCSTRCOPYFILENAME
5641ca08ab68Smrg 181. file:///tmp/html-AqcuLC#FCSTRCMP
5642ca08ab68Smrg 182. file:///tmp/html-AqcuLC#FCSTRCMPIGNORECASE
5643ca08ab68Smrg 183. file:///tmp/html-AqcuLC#FCSTRSTR
5644ca08ab68Smrg 184. file:///tmp/html-AqcuLC#FCSTRSTRIGNORECASE
5645ca08ab68Smrg 185. file:///tmp/html-AqcuLC#FCSTRPLUS
5646ca08ab68Smrg 186. file:///tmp/html-AqcuLC#FCSTRFREE
5647ca08ab68Smrg 187. file:///tmp/html-AqcuLC#FCSTRDIRNAME
5648ca08ab68Smrg 188. file:///tmp/html-AqcuLC#FCSTRBASENAME
5649