fontconfig-devel.txt revision a4e54154
1a4e54154Smrg                Fontconfig Developers Reference, Version 2.14.0
22c393a42Smrg
3ca08ab68Smrg   Copyright © 2002 Keith Packard
42c393a42Smrg
5a32e9e42Smrg   Permission to use, copy, modify, distribute, and sell this software and
6a32e9e42Smrg   its documentation for any purpose is hereby granted without fee, provided
7a32e9e42Smrg   that the above copyright notice appear in all copies and that both that
8a32e9e42Smrg   copyright notice and this permission notice appear in supporting
9a32e9e42Smrg   documentation, and that the name of the author(s) not be used in
10a32e9e42Smrg   advertising or publicity pertaining to distribution of the software
11a32e9e42Smrg   without specific, written prior permission. The authors make no
12a32e9e42Smrg   representations about the suitability of this software for any purpose. It
13a32e9e42Smrg   is provided "as is" without express or implied warranty.
14a32e9e42Smrg
15a32e9e42Smrg   THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
16a32e9e42Smrg   INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
17a32e9e42Smrg   EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
18a32e9e42Smrg   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
19a32e9e42Smrg   USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
20a32e9e42Smrg   OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
21a32e9e42Smrg   PERFORMANCE OF THIS SOFTWARE.
22a32e9e42Smrg
23a32e9e42Smrg            -------------------------------------------------------
242c393a42Smrg
25ca08ab68Smrg   Table of Contents
26a32e9e42Smrg
27a32e9e42Smrg   [1]DESCRIPTION
28a32e9e42Smrg
29a32e9e42Smrg   [2]FUNCTIONAL OVERVIEW
30a32e9e42Smrg
31a32e9e42Smrg   [3]Datatypes
32a32e9e42Smrg
33a32e9e42Smrg   [4]FUNCTIONS
342c393a42Smrg
35a6844aabSmrgDESCRIPTION
362c393a42Smrg
37ca08ab68Smrg   Fontconfig is a library designed to provide system-wide font
38ca08ab68Smrg   configuration, customization and application access.
39a32e9e42Smrg
40a32e9e42Smrg   --------------------------------------------------------------------------
412c393a42Smrg
42a6844aabSmrgFUNCTIONAL OVERVIEW
43a6844aabSmrg
44a32e9e42Smrg   Fontconfig contains two essential modules, the configuration module which
45a32e9e42Smrg   builds an internal configuration from XML files and the matching module
46a32e9e42Smrg   which accepts font patterns and returns the nearest matching font.
47a32e9e42Smrg
48a32e9e42Smrg   --------------------------------------------------------------------------
49a32e9e42Smrg
50a32e9e42Smrg  FONT CONFIGURATION
51a32e9e42Smrg
52a32e9e42Smrg   The configuration module consists of the FcConfig datatype, libexpat and
53a32e9e42Smrg   FcConfigParse which walks over an XML tree and amends a configuration with
54a32e9e42Smrg   data found within. From an external perspective, configuration of the
55a32e9e42Smrg   library consists of generating a valid XML tree and feeding that to
56a32e9e42Smrg   FcConfigParse. The only other mechanism provided to applications for
57a32e9e42Smrg   changing the running configuration is to add fonts and directories to the
58a32e9e42Smrg   list of application-provided font files.
59a32e9e42Smrg
60a32e9e42Smrg   The intent is to make font configurations relatively static, and shared by
61a32e9e42Smrg   as many applications as possible. It is hoped that this will lead to more
62a32e9e42Smrg   stable font selection when passing names from one application to another.
63a32e9e42Smrg   XML was chosen as a configuration file format because it provides a format
64a32e9e42Smrg   which is easy for external agents to edit while retaining the correct
65ca08ab68Smrg   structure and syntax.
66a6844aabSmrg
67a32e9e42Smrg   Font configuration is separate from font matching; applications needing to
68a32e9e42Smrg   do their own matching can access the available fonts from the library and
69a32e9e42Smrg   perform private matching. The intent is to permit applications to pick and
70a32e9e42Smrg   choose appropriate functionality from the library instead of forcing them
71a32e9e42Smrg   to choose between this library and a private configuration mechanism. The
72a32e9e42Smrg   hope is that this will ensure that configuration of fonts for all
73a32e9e42Smrg   applications can be centralized in one place. Centralizing font
74a32e9e42Smrg   configuration will simplify and regularize font installation and
75a32e9e42Smrg   customization.
76a32e9e42Smrg
77a32e9e42Smrg   --------------------------------------------------------------------------
78a32e9e42Smrg
79a32e9e42Smrg  FONT PROPERTIES
80a32e9e42Smrg
81a32e9e42Smrg   While font patterns may contain essentially any properties, there are some
82a32e9e42Smrg   well known properties with associated types. Fontconfig uses some of these
83a32e9e42Smrg   properties for font matching and font completion. Others are provided as a
84a32e9e42Smrg   convenience for the application's rendering mechanism.
85a32e9e42Smrg
862c393a42Smrg                 Property Definitions
872c393a42Smrg
88ca08ab68Smrg    Property       C Preprocessor Symbol  Type    Description
892c393a42Smrg    ----------------------------------------------------
90ca08ab68Smrg    family         FC_FAMILY              String  Font family names
91a32e9e42Smrg    familylang     FC_FAMILYLANG          String  Language corresponding to
92ca08ab68Smrg                                                  each family name
93a32e9e42Smrg    style          FC_STYLE               String  Font style. Overrides weight
94ca08ab68Smrg                                                  and slant
95a32e9e42Smrg    stylelang      FC_STYLELANG           String  Language corresponding to
96ca08ab68Smrg                                                  each style name
97a32e9e42Smrg    fullname       FC_FULLNAME            String  Font face full name where
98a32e9e42Smrg                                                  different from family and
99ca08ab68Smrg                                                  family + style
100a32e9e42Smrg    fullnamelang   FC_FULLNAMELANG        String  Language corresponding to
101ca08ab68Smrg                                                  each fullname
102a32e9e42Smrg    slant          FC_SLANT               Int     Italic, oblique or roman
103a32e9e42Smrg    weight         FC_WEIGHT              Int     Light, medium, demibold,
104ca08ab68Smrg                                                  bold or black
105a32e9e42Smrg    width          FC_WIDTH               Int     Condensed, normal or expanded
106a4e54154Smrg    size           FC_SIZE                Double  Point size
107a32e9e42Smrg    aspect         FC_ASPECT              Double  Stretches glyphs horizontally
108ca08ab68Smrg                                                  before hinting
109ca08ab68Smrg    pixelsize      FC_PIXEL_SIZE          Double  Pixel size
110a32e9e42Smrg    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
115a4e54154Smrg    hintstyle      FC_HINT_STYLE          Int     Automatic hinting style
116a32e9e42Smrg    hinting        FC_HINTING             Bool    Whether the rasterizer should
117ca08ab68Smrg                                                  use hinting
118ca08ab68Smrg    verticallayout FC_VERTICAL_LAYOUT     Bool    Use vertical layout
119a32e9e42Smrg    autohint       FC_AUTOHINT            Bool    Use autohinter instead of
120ca08ab68Smrg                                                  normal hinter
121a32e9e42Smrg    globaladvance  FC_GLOBAL_ADVANCE      Bool    Use font global advance data (deprecated)
122a32e9e42Smrg    file           FC_FILE                String  The filename holding the font
123a4e54154Smrg                                                  relative to the config's sysroot
124a32e9e42Smrg    index          FC_INDEX               Int     The index of the font within
125ca08ab68Smrg                                                  the file
126a32e9e42Smrg    ftface         FC_FT_FACE             FT_Face Use the specified FreeType
127ca08ab68Smrg                                                  face object
128a32e9e42Smrg    rasterizer     FC_RASTERIZER          String  Which rasterizer is in use (deprecated)
129a32e9e42Smrg    outline        FC_OUTLINE             Bool    Whether the glyphs are outlines
130a32e9e42Smrg    scalable       FC_SCALABLE            Bool    Whether glyphs can be scaled
131ca08ab68Smrg    dpi            FC_DPI                 Double  Target dots per inch
132a32e9e42Smrg    rgba           FC_RGBA                Int     unknown, rgb, bgr, vrgb,
133a32e9e42Smrg                                                  vbgr, none - subpixel geometry
134a4e54154Smrg    scale          FC_SCALE               Double  Scale factor for point->pixel
135a4e54154Smrg                                                  conversions (deprecated)
136a32e9e42Smrg    minspace       FC_MINSPACE            Bool    Eliminate leading from line
137ca08ab68Smrg                                                  spacing
138a32e9e42Smrg    charset        FC_CHARSET             CharSet Unicode chars encoded by
139ca08ab68Smrg                                                  the font
140ca08ab68Smrg    lang           FC_LANG                LangSet Set of RFC-3066-style
141a32e9e42Smrg                                                  languages this font supports
142a32e9e42Smrg    fontversion    FC_FONTVERSION         Int     Version number of the font
143a32e9e42Smrg    capability     FC_CAPABILITY          String  List of layout capabilities in
144ca08ab68Smrg                                                  the font
145a32e9e42Smrg    fontformat     FC_FONTFORMAT          String  String name of the font format
146ca08ab68Smrg    embolden       FC_EMBOLDEN            Bool    Rasterizer should
147a32e9e42Smrg                                                  synthetically embolden the font
148a32e9e42Smrg    embeddedbitmap FC_EMBEDDED_BITMAP     Bool    Use the embedded bitmap instead
149953daebaSmrg                                                  of the outline
150a32e9e42Smrg    decorative     FC_DECORATIVE          Bool    Whether the style is a decorative
151953daebaSmrg                                                  variant
152a4e54154Smrg    lcdfilter      FC_LCD_FILTER          Int     Type of LCD filter
153a32e9e42Smrg    namelang       FC_NAMELANG            String  Language name to be used for the
154a32e9e42Smrg                                                  default value of familylang,
155a32e9e42Smrg                                                  stylelang and fullnamelang
156a4e54154Smrg    fontfeatures   FC_FONT_FEATURES       String  List of extra feature tags in
157a4e54154Smrg                                                  OpenType to be enabled
158a32e9e42Smrg    prgname        FC_PRGNAME             String  Name of the running program
159a32e9e42Smrg    hash           FC_HASH                String  SHA256 hash value of the font data
160a32e9e42Smrg                                                  with "sha256:" prefix (deprecated)
161a32e9e42Smrg    postscriptname FC_POSTSCRIPT_NAME     String  Font name in PostScript
162a4e54154Smrg    symbol         FC_SYMBOL              Bool    Whether font uses MS symbol-font encoding
163a4e54154Smrg    color          FC_COLOR               Bool    Whether any glyphs have color
164a4e54154Smrg    fontvariations FC_FONT_VARIATIONS     String  comma-separated string of axes in variable font
165a4e54154Smrg    variable       FC_VARIABLE            Bool    Whether font is Variable Font
166a4e54154Smrg    fonthashint    FC_FONT_HAS_HINT       Bool    Whether font has hinting
167a4e54154Smrg    order          FC_ORDER               Int     Order number of the font
168a32e9e42Smrg
169a32e9e42Smrg
170a32e9e42Smrg   --------------------------------------------------------------------------
171a6844aabSmrg
172a6844aabSmrgDatatypes
1732c393a42Smrg
174a32e9e42Smrg   Fontconfig uses abstract data types to hide internal implementation
175a32e9e42Smrg   details for most data structures. A few structures are exposed where
176a32e9e42Smrg   appropriate.
177a32e9e42Smrg
178a32e9e42Smrg   --------------------------------------------------------------------------
179a32e9e42Smrg
180a32e9e42Smrg  FcChar8, FcChar16, FcChar32, FcBool
181a32e9e42Smrg
182a32e9e42Smrg   These are primitive data types; the FcChar* types hold precisely the
183a32e9e42Smrg   number of bits stated (if supported by the C implementation). FcBool holds
184a32e9e42Smrg   one of two C preprocessor symbols: FcFalse or FcTrue.
185a32e9e42Smrg
186a32e9e42Smrg   --------------------------------------------------------------------------
187a6844aabSmrg
188a32e9e42Smrg  FcMatrix
1892c393a42Smrg
190a32e9e42Smrg   An FcMatrix holds an affine transformation, usually used to reshape
191a32e9e42Smrg   glyphs. A small set of matrix operations are provided to manipulate these.
1922c393a42Smrg
193a32e9e42Smrg           typedef struct _FcMatrix {
194a32e9e42Smrg                   double xx, xy, yx, yy;
195a32e9e42Smrg           } FcMatrix;
1962c393a42Smrg
197a6844aabSmrg
198a32e9e42Smrg   --------------------------------------------------------------------------
199a6844aabSmrg
200a32e9e42Smrg  FcCharSet
201a6844aabSmrg
202a32e9e42Smrg   An FcCharSet is an abstract type that holds the set of encoded Unicode
203a32e9e42Smrg   chars in a font. Operations to build and compare these sets are provided.
204a6844aabSmrg
205a32e9e42Smrg   --------------------------------------------------------------------------
2062c393a42Smrg
207a32e9e42Smrg  FcLangSet
2082c393a42Smrg
209a32e9e42Smrg   An FcLangSet is an abstract type that holds the set of languages supported
210a32e9e42Smrg   by a font. Operations to build and compare these sets are provided. These
211a32e9e42Smrg   are computed for a font based on orthographic information built into the
212a32e9e42Smrg   fontconfig library. Fontconfig has orthographies for all of the ISO 639-1
213a32e9e42Smrg   languages except for MS, NA, PA, PS, QU, RN, RW, SD, SG, SN, SU and ZA. If
214a32e9e42Smrg   you have orthographic information for any of these languages, please
215a32e9e42Smrg   submit them.
2162c393a42Smrg
217a32e9e42Smrg   --------------------------------------------------------------------------
218a32e9e42Smrg
219a32e9e42Smrg  FcLangResult
220a32e9e42Smrg
221a32e9e42Smrg   An FcLangResult is an enumeration used to return the results of comparing
222a32e9e42Smrg   two language strings or FcLangSet objects. FcLangEqual means the objects
223a32e9e42Smrg   match language and territory. FcLangDifferentTerritory means the objects
224a32e9e42Smrg   match in language but differ in territory. FcLangDifferentLang means the
225a32e9e42Smrg   objects differ in language.
226a32e9e42Smrg
227a32e9e42Smrg   --------------------------------------------------------------------------
228a32e9e42Smrg
229a32e9e42Smrg  FcType
2302c393a42Smrg
231ca08ab68Smrg   Tags the kind of data stored in an FcValue.
232a32e9e42Smrg
233a32e9e42Smrg   --------------------------------------------------------------------------
234a32e9e42Smrg
235a32e9e42Smrg  FcValue
236a32e9e42Smrg
237a32e9e42Smrg   An FcValue object holds a single value with one of a number of different
238a32e9e42Smrg   types. The 'type' tag indicates which member is valid.
239a32e9e42Smrg
240a32e9e42Smrg           typedef struct _FcValue {
241a32e9e42Smrg                   FcType type;
242a32e9e42Smrg                   union {
243a32e9e42Smrg                           const FcChar8 *s;
244a32e9e42Smrg                           int i;
245a32e9e42Smrg                           FcBool b;
246a32e9e42Smrg                           double d;
247a32e9e42Smrg                           const FcMatrix *m;
248a32e9e42Smrg                           const FcCharSet *c;
249a32e9e42Smrg                           void *f;
250a32e9e42Smrg                           const FcLangSet *l;
251a4e54154Smrg                           const FcRange   *r;
252a32e9e42Smrg                   } u;
253a32e9e42Smrg           } FcValue;
254a32e9e42Smrg
255a32e9e42Smrg
256a32e9e42Smrg                     FcValue Members
257a32e9e42Smrg
258a32e9e42Smrg           Type            Union member    Datatype
259a32e9e42Smrg           --------------------------------
260a32e9e42Smrg           FcTypeVoid      (none)          (none)
261a32e9e42Smrg           FcTypeInteger   i               int
262a32e9e42Smrg           FcTypeDouble    d               double
263a32e9e42Smrg           FcTypeString    s               FcChar8 *
264a32e9e42Smrg           FcTypeBool      b               b
265a32e9e42Smrg           FcTypeMatrix    m               FcMatrix *
266a32e9e42Smrg           FcTypeCharSet   c               FcCharSet *
267a32e9e42Smrg           FcTypeFTFace    f               void * (FT_Face)
268a32e9e42Smrg           FcTypeLangSet   l               FcLangSet *
269a4e54154Smrg           FcTypeRange     r               FcRange *
270a32e9e42Smrg
271a32e9e42Smrg
272a32e9e42Smrg   --------------------------------------------------------------------------
273a32e9e42Smrg
274a4e54154Smrg  FcPattern, FcPatternIter
275a32e9e42Smrg
276a4e54154Smrg   An FcPattern holds a set of names with associated value lists; each name
277a4e54154Smrg   refers to a property of a font. FcPatterns are used as inputs to the
278a4e54154Smrg   matching code as well as holding information about specific fonts. Each
279a4e54154Smrg   property can hold one or more values; conventionally all of the same type,
280a4e54154Smrg   although the interface doesn't demand that. An FcPatternIter is used
281a4e54154Smrg   during iteration to access properties in FcPattern.
282a32e9e42Smrg
283a32e9e42Smrg   --------------------------------------------------------------------------
284a32e9e42Smrg
285a32e9e42Smrg  FcFontSet
286a32e9e42Smrg
287a32e9e42Smrg           typedef struct _FcFontSet {
288a32e9e42Smrg                   int nfont;
289a32e9e42Smrg                   int sfont;
290a32e9e42Smrg                   FcPattern **fonts;
291a32e9e42Smrg           } FcFontSet;
292a32e9e42Smrg
293a32e9e42Smrg
294a32e9e42Smrg   An FcFontSet contains a list of FcPatterns. Internally fontconfig uses
295a32e9e42Smrg   this data structure to hold sets of fonts. Externally, fontconfig returns
296a32e9e42Smrg   the results of listing fonts in this format. 'nfont' holds the number of
297a32e9e42Smrg   patterns in the 'fonts' array; 'sfont' is used to indicate the size of
298a32e9e42Smrg   that array.
299a32e9e42Smrg
300a32e9e42Smrg   --------------------------------------------------------------------------
301a32e9e42Smrg
302a32e9e42Smrg  FcStrSet, FcStrList
303a32e9e42Smrg
304a32e9e42Smrg   FcStrSet holds a list of strings that can be appended to and enumerated.
305a32e9e42Smrg   Its unique characteristic is that the enumeration works even while strings
306a32e9e42Smrg   are appended during enumeration. FcStrList is used during enumeration to
307a32e9e42Smrg   safely and correctly walk the list of strings even while that list is
308a32e9e42Smrg   edited in the middle of enumeration.
309a32e9e42Smrg
310a32e9e42Smrg   --------------------------------------------------------------------------
311a32e9e42Smrg
312a32e9e42Smrg  FcObjectSet
313a32e9e42Smrg
314a32e9e42Smrg           typedef struct _FcObjectSet {
315a32e9e42Smrg                   int nobject;
316a32e9e42Smrg                   int sobject;
317a32e9e42Smrg                   const char **objects;
318a32e9e42Smrg           } FcObjectSet;
319a32e9e42Smrg
320a32e9e42Smrg
321a32e9e42Smrg   holds a set of names and is used to specify which fields from fonts are
322a32e9e42Smrg   placed in the the list of returned patterns when listing fonts.
323a32e9e42Smrg
324a32e9e42Smrg   --------------------------------------------------------------------------
325a32e9e42Smrg
326a32e9e42Smrg  FcObjectType
327a32e9e42Smrg
328a32e9e42Smrg           typedef struct _FcObjectType {
329a32e9e42Smrg                   const char *object;
330a32e9e42Smrg                   FcType type;
331a32e9e42Smrg           } FcObjectType;
332a32e9e42Smrg
333a32e9e42Smrg
334a32e9e42Smrg   marks the type of a pattern element generated when parsing font names.
335a32e9e42Smrg   Applications can add new object types so that font names may contain the
336a32e9e42Smrg   new elements.
337a32e9e42Smrg
338a32e9e42Smrg   --------------------------------------------------------------------------
339a32e9e42Smrg
340a32e9e42Smrg  FcConstant
341a32e9e42Smrg
342a32e9e42Smrg           typedef struct _FcConstant {
343a32e9e42Smrg               const FcChar8 *name;
344a32e9e42Smrg               const char *object;
345a32e9e42Smrg               int value;
346a32e9e42Smrg           } FcConstant;
347a32e9e42Smrg
348a32e9e42Smrg
349a32e9e42Smrg   Provides for symbolic constants for new pattern elements. When 'name' is
350a32e9e42Smrg   seen in a font name, an 'object' element is created with value 'value'.
351a32e9e42Smrg
352a32e9e42Smrg   --------------------------------------------------------------------------
353a32e9e42Smrg
354a32e9e42Smrg  FcBlanks
355a32e9e42Smrg
356a32e9e42Smrg   holds a list of Unicode chars which are expected to be blank; unexpectedly
357a32e9e42Smrg   blank chars are assumed to be invalid and are elided from the charset
358a32e9e42Smrg   associated with the font.
359a32e9e42Smrg
360a32e9e42Smrg   FcBlanks is deprecated and should not be used in newly written code. It is
361a32e9e42Smrg   still accepted by some functions for compatibility with older code but
362a32e9e42Smrg   will be removed in the future.
363a32e9e42Smrg
364a32e9e42Smrg   --------------------------------------------------------------------------
365a32e9e42Smrg
366a32e9e42Smrg  FcFileCache
367a32e9e42Smrg
368a32e9e42Smrg   holds the per-user cache information for use while loading the font
369a32e9e42Smrg   database. This is built automatically for the current configuration when
370a32e9e42Smrg   that is loaded. Applications must always pass '0' when one is requested.
371a32e9e42Smrg
372a32e9e42Smrg   --------------------------------------------------------------------------
373a32e9e42Smrg
374a32e9e42Smrg  FcConfig
375a32e9e42Smrg
376a32e9e42Smrg   holds a complete configuration of the library; there is one default
377a32e9e42Smrg   configuration, other can be constructed from XML data structures. All
378a32e9e42Smrg   public entry points that need global data can take an optional FcConfig*
379a32e9e42Smrg   argument; passing 0 uses the default configuration. FcConfig objects hold
380a32e9e42Smrg   two sets of fonts, the first contains those specified by the
381a32e9e42Smrg   configuration, the second set holds those added by the application at
382a32e9e42Smrg   run-time. Interfaces that need to reference a particular set use one of
383ca08ab68Smrg   the FcSetName enumerated values.
384a32e9e42Smrg
385a32e9e42Smrg   --------------------------------------------------------------------------
386a32e9e42Smrg
387a32e9e42Smrg  FcSetName
388a32e9e42Smrg
389a32e9e42Smrg   Specifies one of the two sets of fonts available in a configuration;
390a32e9e42Smrg   FcSetSystem for those fonts specified in the configuration and
391a32e9e42Smrg   FcSetApplication which holds fonts provided by the application.
392a32e9e42Smrg
393a32e9e42Smrg   --------------------------------------------------------------------------
394a32e9e42Smrg
395a32e9e42Smrg  FcResult
396a32e9e42Smrg
397a32e9e42Smrg   Used as a return type for functions manipulating FcPattern objects.
398a32e9e42Smrg
399a32e9e42Smrg         FcResult Values
400a32e9e42Smrg           Result Code             Meaning
401a32e9e42Smrg           -----------------------------------------------------------
402a32e9e42Smrg           FcResultMatch           Object exists with the specified ID
403a32e9e42Smrg           FcResultNoMatch         Object doesn't exist at all
404a32e9e42Smrg           FcResultTypeMismatch    Object exists, but the type doesn't match
405a32e9e42Smrg           FcResultNoId            Object exists, but has fewer values
406a32e9e42Smrg                                   than specified
407a32e9e42Smrg           FcResultOutOfMemory     malloc failed
408a32e9e42Smrg
409a32e9e42Smrg
410a32e9e42Smrg   --------------------------------------------------------------------------
411a32e9e42Smrg
412a32e9e42Smrg  FcAtomic
413a32e9e42Smrg
414a32e9e42Smrg   Used for locking access to configuration files. Provides a safe way to
415a32e9e42Smrg   update configuration files.
416a32e9e42Smrg
417a32e9e42Smrg   --------------------------------------------------------------------------
418a32e9e42Smrg
419a32e9e42Smrg  FcCache
420a32e9e42Smrg
421a32e9e42Smrg   Holds information about the fonts contained in a single directory. Normal
422a32e9e42Smrg   applications need not worry about this as caches for font access are
423a32e9e42Smrg   automatically managed by the library. Applications dealing with cache
424a32e9e42Smrg   management may want to use some of these objects in their work, however
425a32e9e42Smrg   the included 'fc-cache' program generally suffices for all of that.
426a32e9e42Smrg
427a32e9e42Smrg   --------------------------------------------------------------------------
4282c393a42Smrg
429a6844aabSmrgFUNCTIONS
4302c393a42Smrg
431a32e9e42Smrg   These are grouped by functionality, often using the main data type being
432a32e9e42Smrg   manipulated.
433a32e9e42Smrg
434a32e9e42Smrg   --------------------------------------------------------------------------
4352c393a42Smrg
436a32e9e42Smrg  Initialization
437a6844aabSmrg
438ca08ab68Smrg   Table of Contents
439a6844aabSmrg
440a32e9e42Smrg   [5]FcInitLoadConfig -- load configuration
441a32e9e42Smrg
442a32e9e42Smrg   [6]FcInitLoadConfigAndFonts -- load configuration and font data
443a32e9e42Smrg
444a32e9e42Smrg   [7]FcInit -- initialize fontconfig library
445a32e9e42Smrg
446a32e9e42Smrg   [8]FcFini -- finalize fontconfig library
447a32e9e42Smrg
448a32e9e42Smrg   [9]FcGetVersion -- library version number
449ca08ab68Smrg
450a32e9e42Smrg   [10]FcInitReinitialize -- re-initialize library
451a32e9e42Smrg
452a32e9e42Smrg   [11]FcInitBringUptoDate -- reload configuration files if needed
453a32e9e42Smrg
454a32e9e42Smrg   These functions provide some control over how the library is initialized.
455a32e9e42Smrg
456a32e9e42Smrg                                FcInitLoadConfig
4572c393a42Smrg
4582c393a42SmrgName
4592c393a42Smrg
460a32e9e42Smrg   FcInitLoadConfig -- load configuration
4612c393a42Smrg
4622c393a42SmrgSynopsis
4632c393a42Smrg
464a32e9e42Smrg   #include <fontconfig/fontconfig.h>
465a32e9e42Smrg
466a6844aabSmrg
467ca08ab68Smrg   FcConfig * FcInitLoadConfig(void);
4682c393a42Smrg
4692c393a42SmrgDescription
4702c393a42Smrg
471ca08ab68Smrg   Loads the default configuration file and returns the resulting
472ca08ab68Smrg   configuration. Does not load any font information.
4732c393a42Smrg
474a32e9e42Smrg                            FcInitLoadConfigAndFonts
4752c393a42Smrg
4762c393a42SmrgName
4772c393a42Smrg
478a32e9e42Smrg   FcInitLoadConfigAndFonts -- load configuration and font data
4792c393a42Smrg
4802c393a42SmrgSynopsis
4812c393a42Smrg
482a32e9e42Smrg   #include <fontconfig/fontconfig.h>
483a32e9e42Smrg
484a6844aabSmrg
485ca08ab68Smrg   FcConfig * FcInitLoadConfigAndFonts(void);
4862c393a42Smrg
4872c393a42SmrgDescription
4882c393a42Smrg
489a32e9e42Smrg   Loads the default configuration file and builds information about the
490a32e9e42Smrg   available fonts. Returns the resulting configuration.
4912c393a42Smrg
492a32e9e42Smrg                                     FcInit
4932c393a42Smrg
4942c393a42SmrgName
4952c393a42Smrg
496a32e9e42Smrg   FcInit -- initialize fontconfig library
4972c393a42Smrg
4982c393a42SmrgSynopsis
4992c393a42Smrg
500a32e9e42Smrg   #include <fontconfig/fontconfig.h>
501a32e9e42Smrg
502a6844aabSmrg
503ca08ab68Smrg   FcBool FcInit(void);
5042c393a42Smrg
5052c393a42SmrgDescription
5062c393a42Smrg
507a32e9e42Smrg   Loads the default configuration file and the fonts referenced therein and
508a32e9e42Smrg   sets the default configuration to that result. Returns whether this
509a32e9e42Smrg   process succeeded or not. If the default configuration has already been
510a32e9e42Smrg   loaded, this routine does nothing and returns FcTrue.
5112c393a42Smrg
512a32e9e42Smrg                                     FcFini
5132c393a42Smrg
5142c393a42SmrgName
5152c393a42Smrg
516a32e9e42Smrg   FcFini -- finalize fontconfig library
5172c393a42Smrg
5182c393a42SmrgSynopsis
5192c393a42Smrg
520a32e9e42Smrg   #include <fontconfig/fontconfig.h>
521a32e9e42Smrg
522a6844aabSmrg
523ca08ab68Smrg   void FcFini(void);
5242c393a42Smrg
5252c393a42SmrgDescription
5262c393a42Smrg
527a32e9e42Smrg   Frees all data structures allocated by previous calls to fontconfig
528a32e9e42Smrg   functions. Fontconfig returns to an uninitialized state, requiring a new
529a32e9e42Smrg   call to one of the FcInit functions before any other fontconfig function
530a32e9e42Smrg   may be called.
5312c393a42Smrg
532a32e9e42Smrg                                  FcGetVersion
5332c393a42Smrg
5342c393a42SmrgName
5352c393a42Smrg
536a32e9e42Smrg   FcGetVersion -- library version number
5372c393a42Smrg
5382c393a42SmrgSynopsis
5392c393a42Smrg
540a32e9e42Smrg   #include <fontconfig/fontconfig.h>
541a32e9e42Smrg
542a6844aabSmrg
543ca08ab68Smrg   int FcGetVersion(void);
5442c393a42Smrg
5452c393a42SmrgDescription
5462c393a42Smrg
547ca08ab68Smrg   Returns the version number of the library.
5482c393a42Smrg
549a32e9e42Smrg                               FcInitReinitialize
5502c393a42Smrg
5512c393a42SmrgName
5522c393a42Smrg
553a32e9e42Smrg   FcInitReinitialize -- re-initialize library
5542c393a42Smrg
5552c393a42SmrgSynopsis
5562c393a42Smrg
557a32e9e42Smrg   #include <fontconfig/fontconfig.h>
558a32e9e42Smrg
559a6844aabSmrg
560ca08ab68Smrg   FcBool FcInitReinitialize(void);
5612c393a42Smrg
5622c393a42SmrgDescription
5632c393a42Smrg
564a32e9e42Smrg   Forces the default configuration file to be reloaded and resets the
565a32e9e42Smrg   default configuration. Returns FcFalse if the configuration cannot be
566a32e9e42Smrg   reloaded (due to configuration file errors, allocation failures or other
567a32e9e42Smrg   issues) and leaves the existing configuration unchanged. Otherwise returns
568a32e9e42Smrg   FcTrue.
5692c393a42Smrg
570a32e9e42Smrg                              FcInitBringUptoDate
5712c393a42Smrg
5722c393a42SmrgName
5732c393a42Smrg
574a32e9e42Smrg   FcInitBringUptoDate -- reload configuration files if needed
5752c393a42Smrg
5762c393a42SmrgSynopsis
5772c393a42Smrg
578a32e9e42Smrg   #include <fontconfig/fontconfig.h>
579a32e9e42Smrg
580a6844aabSmrg
581ca08ab68Smrg   FcBool FcInitBringUptoDate(void);
5822c393a42Smrg
5832c393a42SmrgDescription
5842c393a42Smrg
585a32e9e42Smrg   Checks the rescan interval in the default configuration, checking the
586a32e9e42Smrg   configuration if the interval has passed and reloading the configuration
587a32e9e42Smrg   if when any changes are detected. Returns FcFalse if the configuration
588a32e9e42Smrg   cannot be reloaded (see FcInitReinitialize). Otherwise returns FcTrue.
589a32e9e42Smrg
590a32e9e42Smrg   --------------------------------------------------------------------------
591ca08ab68Smrg
592a32e9e42Smrg  FcPattern
593ca08ab68Smrg
594ca08ab68Smrg   Table of Contents
595ca08ab68Smrg
596a32e9e42Smrg   [12]FcPatternCreate -- Create a pattern
597ca08ab68Smrg
598a32e9e42Smrg   [13]FcPatternDuplicate -- Copy a pattern
599ca08ab68Smrg
600a32e9e42Smrg   [14]FcPatternReference -- Increment pattern reference count
601ca08ab68Smrg
602a32e9e42Smrg   [15]FcPatternDestroy -- Destroy a pattern
603ca08ab68Smrg
604a32e9e42Smrg   [16]FcPatternObjectCount -- Returns the number of the object
605a32e9e42Smrg
606a32e9e42Smrg   [17]FcPatternEqual -- Compare patterns
607a32e9e42Smrg
608a32e9e42Smrg   [18]FcPatternEqualSubset -- Compare portions of patterns
609a32e9e42Smrg
610a32e9e42Smrg   [19]FcPatternFilter -- Filter the objects of pattern
611a32e9e42Smrg
612a32e9e42Smrg   [20]FcPatternHash -- Compute a pattern hash value
613a32e9e42Smrg
614a32e9e42Smrg   [21]FcPatternAdd -- Add a value to a pattern
615a32e9e42Smrg
616a32e9e42Smrg   [22]FcPatternAddWeak -- Add a value to a pattern with weak binding
617a32e9e42Smrg
618a32e9e42Smrg   [23]FcPatternAdd-Type -- Add a typed value to a pattern
619a32e9e42Smrg
620a32e9e42Smrg   [24]FcPatternGetWithBinding -- Return a value with binding from a pattern
621a32e9e42Smrg
622a32e9e42Smrg   [25]FcPatternGet -- Return a value from a pattern
623a32e9e42Smrg
624a32e9e42Smrg   [26]FcPatternGet-Type -- Return a typed value from a pattern
625a32e9e42Smrg
626a32e9e42Smrg   [27]FcPatternBuild -- Create patterns from arguments
627a32e9e42Smrg
628a32e9e42Smrg   [28]FcPatternDel -- Delete a property from a pattern
629a32e9e42Smrg
630a32e9e42Smrg   [29]FcPatternRemove -- Remove one object of the specified type from the
631a32e9e42Smrg   pattern
632a32e9e42Smrg
633a32e9e42Smrg   [30]FcPatternIterStart -- Initialize the iterator with the first iterator
634a32e9e42Smrg   in the pattern
635a32e9e42Smrg
636a32e9e42Smrg   [31]FcPatternIterNext -- 
637a32e9e42Smrg
638a32e9e42Smrg   [32]FcPatternIterEqual -- Compare iterators
639a32e9e42Smrg
640a32e9e42Smrg   [33]FcPatternFindIter -- Set the iterator to point to the object in the
641a32e9e42Smrg   pattern
642a32e9e42Smrg
643a32e9e42Smrg   [34]FcPatternIterIsValid -- Check whether the iterator is valid or not
644a32e9e42Smrg
645a32e9e42Smrg   [35]FcPatternIterGetObject -- Returns an object name which the iterator
646a32e9e42Smrg   point to
647a32e9e42Smrg
648a32e9e42Smrg   [36]FcPatternIterValueCount -- Returns the number of the values which the
649a32e9e42Smrg   iterator point to
650a32e9e42Smrg
651a32e9e42Smrg   [37]FcPatternIterGetValue -- Returns a value which the iterator point to
652a32e9e42Smrg
653a32e9e42Smrg   [38]FcPatternPrint -- Print a pattern for debugging
654a32e9e42Smrg
655a32e9e42Smrg   [39]FcDefaultSubstitute -- Perform default substitutions in a pattern
656a32e9e42Smrg
657a32e9e42Smrg   [40]FcNameParse -- Parse a pattern string
658a32e9e42Smrg
659a32e9e42Smrg   [41]FcNameUnparse -- Convert a pattern back into a string that can be
660a32e9e42Smrg   parsed
661a32e9e42Smrg
662a32e9e42Smrg   [42]FcPatternFormat -- Format a pattern into a string according to a
663a32e9e42Smrg   format specifier
664a32e9e42Smrg
665a32e9e42Smrg   An FcPattern is an opaque type that holds both patterns to match against
666a32e9e42Smrg   the available fonts, as well as the information about each font.
667a32e9e42Smrg
668a32e9e42Smrg                                FcPatternCreate
6692c393a42Smrg
6702c393a42SmrgName
6712c393a42Smrg
672a32e9e42Smrg   FcPatternCreate -- Create a pattern
6732c393a42Smrg
6742c393a42SmrgSynopsis
6752c393a42Smrg
676a32e9e42Smrg   #include <fontconfig/fontconfig.h>
677a32e9e42Smrg
678a6844aabSmrg
679ca08ab68Smrg   FcPattern * FcPatternCreate(void);
6802c393a42Smrg
6812c393a42SmrgDescription
6822c393a42Smrg
683a32e9e42Smrg   Creates a pattern with no properties; used to build patterns from scratch.
6842c393a42Smrg
685a32e9e42Smrg                               FcPatternDuplicate
6862c393a42Smrg
6872c393a42SmrgName
6882c393a42Smrg
689a32e9e42Smrg   FcPatternDuplicate -- Copy a pattern
6902c393a42Smrg
6912c393a42SmrgSynopsis
6922c393a42Smrg
693a32e9e42Smrg   #include <fontconfig/fontconfig.h>
694a32e9e42Smrg
695a6844aabSmrg
696ca08ab68Smrg   FcPattern * FcPatternDuplicate(const FcPattern *p);
6972c393a42Smrg
6982c393a42SmrgDescription
6992c393a42Smrg
700a32e9e42Smrg   Copy a pattern, returning a new pattern that matches p. Each pattern may
701a32e9e42Smrg   be modified without affecting the other.
7022c393a42Smrg
703a32e9e42Smrg                               FcPatternReference
7042c393a42Smrg
7052c393a42SmrgName
7062c393a42Smrg
707a32e9e42Smrg   FcPatternReference -- Increment pattern reference count
7082c393a42Smrg
7092c393a42SmrgSynopsis
7102c393a42Smrg
711a32e9e42Smrg   #include <fontconfig/fontconfig.h>
712a32e9e42Smrg
713a6844aabSmrg
714ca08ab68Smrg   void FcPatternReference(FcPattern *p);
7152c393a42Smrg
7162c393a42SmrgDescription
7172c393a42Smrg
718a32e9e42Smrg   Add another reference to p. Patterns are freed only when the reference
719a32e9e42Smrg   count reaches zero.
7202c393a42Smrg
721a32e9e42Smrg                                FcPatternDestroy
7222c393a42Smrg
7232c393a42SmrgName
7242c393a42Smrg
725a32e9e42Smrg   FcPatternDestroy -- Destroy a pattern
7262c393a42Smrg
7272c393a42SmrgSynopsis
7282c393a42Smrg
729a32e9e42Smrg   #include <fontconfig/fontconfig.h>
730a32e9e42Smrg
731a6844aabSmrg
732ca08ab68Smrg   void FcPatternDestroy(FcPattern *p);
7332c393a42Smrg
7342c393a42SmrgDescription
7352c393a42Smrg
736a32e9e42Smrg   Decrement the pattern reference count. If all references are gone,
737a32e9e42Smrg   destroys the pattern, in the process destroying all related values.
738a32e9e42Smrg
739a32e9e42Smrg                              FcPatternObjectCount
740a32e9e42Smrg
741a32e9e42SmrgName
742a32e9e42Smrg
743a32e9e42Smrg   FcPatternObjectCount -- Returns the number of the object
744a32e9e42Smrg
745a32e9e42SmrgSynopsis
746a32e9e42Smrg
747a32e9e42Smrg   #include <fontconfig/fontconfig.h>
748a32e9e42Smrg
749a32e9e42Smrg
750a32e9e42Smrg   int FcPatternObjectCount(const FcPattern *p);
751a32e9e42Smrg
752a32e9e42SmrgDescription
753a32e9e42Smrg
754a32e9e42Smrg   Returns the number of the object p has.
755a32e9e42Smrg
756a32e9e42SmrgSince
757a32e9e42Smrg
758a32e9e42Smrg   version 2.13.1
7592c393a42Smrg
760a32e9e42Smrg                                 FcPatternEqual
7612c393a42Smrg
7622c393a42SmrgName
7632c393a42Smrg
764a32e9e42Smrg   FcPatternEqual -- Compare patterns
7652c393a42Smrg
7662c393a42SmrgSynopsis
7672c393a42Smrg
768a32e9e42Smrg   #include <fontconfig/fontconfig.h>
769a6844aabSmrg
770a32e9e42Smrg
771a32e9e42Smrg   FcBool FcPatternEqual(const FcPattern *pa, const FcPattern *pb);
7722c393a42Smrg
7732c393a42SmrgDescription
7742c393a42Smrg
775ca08ab68Smrg   Returns whether pa and pb are exactly alike.
7762c393a42Smrg
777a32e9e42Smrg                              FcPatternEqualSubset
7782c393a42Smrg
7792c393a42SmrgName
7802c393a42Smrg
781a32e9e42Smrg   FcPatternEqualSubset -- Compare portions of patterns
7822c393a42Smrg
7832c393a42SmrgSynopsis
7842c393a42Smrg
785a32e9e42Smrg   #include <fontconfig/fontconfig.h>
786a32e9e42Smrg
787a6844aabSmrg
788a32e9e42Smrg   FcBool FcPatternEqualSubset(const FcPattern *pa, const FcPattern *pb,
789a32e9e42Smrg   const FcObjectSet *os);
7902c393a42Smrg
7912c393a42SmrgDescription
7922c393a42Smrg
793a32e9e42Smrg   Returns whether pa and pb have exactly the same values for all of the
794a32e9e42Smrg   objects in os.
7952c393a42Smrg
796a32e9e42Smrg                                FcPatternFilter
797a6844aabSmrg
798a6844aabSmrgName
799a6844aabSmrg
800a32e9e42Smrg   FcPatternFilter -- Filter the objects of pattern
801a6844aabSmrg
802a6844aabSmrgSynopsis
803a6844aabSmrg
804a32e9e42Smrg   #include <fontconfig/fontconfig.h>
805a32e9e42Smrg
806a6844aabSmrg
807a4e54154Smrg   FcPattern * FcPatternFilter(FcPattern *p, const FcObjectSet *os);
808a6844aabSmrg
809a6844aabSmrgDescription
810a6844aabSmrg
811a32e9e42Smrg   Returns a new pattern that only has those objects from p that are in os.
812a32e9e42Smrg   If os is NULL, a duplicate of p is returned.
813a6844aabSmrg
814a32e9e42Smrg                                 FcPatternHash
8152c393a42Smrg
8162c393a42SmrgName
8172c393a42Smrg
818a32e9e42Smrg   FcPatternHash -- Compute a pattern hash value
8192c393a42Smrg
8202c393a42SmrgSynopsis
8212c393a42Smrg
822a32e9e42Smrg   #include <fontconfig/fontconfig.h>
823a32e9e42Smrg
824a6844aabSmrg
825ca08ab68Smrg   FcChar32 FcPatternHash(const FcPattern *p);
8262c393a42Smrg
8272c393a42SmrgDescription
8282c393a42Smrg
829a32e9e42Smrg   Returns a 32-bit number which is the same for any two patterns which are
830a32e9e42Smrg   equal.
8312c393a42Smrg
832a32e9e42Smrg                                  FcPatternAdd
8332c393a42Smrg
8342c393a42SmrgName
8352c393a42Smrg
836a32e9e42Smrg   FcPatternAdd -- Add a value to a pattern
8372c393a42Smrg
8382c393a42SmrgSynopsis
8392c393a42Smrg
840a32e9e42Smrg   #include <fontconfig/fontconfig.h>
8412c393a42Smrg
842a32e9e42Smrg
843a32e9e42Smrg   FcBool FcPatternAdd(FcPattern *p, const char *object, FcValue value,
844a32e9e42Smrg   FcBool append);
8452c393a42Smrg
8462c393a42SmrgDescription
8472c393a42Smrg
848a32e9e42Smrg   Adds a single value to the list of values associated with the property
849a32e9e42Smrg   named `object. If `append is FcTrue, the value is added at the end of any
850a32e9e42Smrg   existing list, otherwise it is inserted at the beginning. `value' is saved
851a32e9e42Smrg   (with FcValueSave) when inserted into the pattern so that the library
852a32e9e42Smrg   retains no reference to any application-supplied data structure.
8532c393a42Smrg
854a32e9e42Smrg                                FcPatternAddWeak
8552c393a42Smrg
8562c393a42SmrgName
8572c393a42Smrg
858a32e9e42Smrg   FcPatternAddWeak -- Add a value to a pattern with weak binding
8592c393a42Smrg
8602c393a42SmrgSynopsis
8612c393a42Smrg
862a32e9e42Smrg   #include <fontconfig/fontconfig.h>
863a32e9e42Smrg
864a6844aabSmrg
865a32e9e42Smrg   FcBool FcPatternAddWeak(FcPattern *p, const char *object, FcValue value,
866a32e9e42Smrg   FcBool append);
8672c393a42Smrg
8682c393a42SmrgDescription
8692c393a42Smrg
870a32e9e42Smrg   FcPatternAddWeak is essentially the same as FcPatternAdd except that any
871a32e9e42Smrg   values added to the list have binding weak instead of strong.
8722c393a42Smrg
873a32e9e42Smrg                               FcPatternAdd-Type
8742c393a42Smrg
8752c393a42SmrgName
8762c393a42Smrg
877ca08ab68Smrg   FcPatternAddInteger, FcPatternAddDouble, FcPatternAddString,
878ca08ab68Smrg   FcPatternAddMatrix, FcPatternAddCharSet, FcPatternAddBool,
879a32e9e42Smrg   FcPatternAddFTFace, FcPatternAddLangSet, FcPatternAddRange -- Add a typed
880a32e9e42Smrg   value to a pattern
8812c393a42Smrg
8822c393a42SmrgSynopsis
8832c393a42Smrg
884a32e9e42Smrg   #include <fontconfig/fontconfig.h>
885a32e9e42Smrg
8862c393a42Smrg
887a32e9e42Smrg   FcBool FcPatternAddInteger(FcPattern *p, const char *object, int i);
8882c393a42Smrg
889a32e9e42Smrg   FcBool FcPatternAddDouble(FcPattern *p, const char *object, double d);
890a6844aabSmrg
891a32e9e42Smrg   FcBool FcPatternAddString(FcPattern *p, const char *object, const FcChar8
892a32e9e42Smrg   *s);
8932c393a42Smrg
894a32e9e42Smrg   FcBool FcPatternAddMatrix(FcPattern *p, const char *object, const FcMatrix
895a32e9e42Smrg   *m);
8962c393a42Smrg
897a32e9e42Smrg   FcBool FcPatternAddCharSet(FcPattern *p, const char *object, const
898a32e9e42Smrg   FcCharSet *c);
8992c393a42Smrg
900a32e9e42Smrg   FcBool FcPatternAddBool(FcPattern *p, const char *object, FcBool b);
9012c393a42Smrg
902a32e9e42Smrg   FcBool FcPatternAddFTFace(FcPattern *p, const char *object, const
903a32e9e42Smrg   FT_Facef);
9042c393a42Smrg
905a32e9e42Smrg   FcBool FcPatternAddLangSet(FcPattern *p, const char *object, const
906a32e9e42Smrg   FcLangSet *l);
9072c393a42Smrg
908a32e9e42Smrg   FcBool FcPatternAddRange(FcPattern *p, const char *object, const FcRange
909a32e9e42Smrg   *r);
9102c393a42Smrg
9112c393a42SmrgDescription
9122c393a42Smrg
913a32e9e42Smrg   These are all convenience functions that insert objects of the specified
914a32e9e42Smrg   type into the pattern. Use these in preference to FcPatternAdd as they
915a32e9e42Smrg   will provide compile-time typechecking. These all append values to any
916a32e9e42Smrg   existing list of values. FcPatternAddRange are available since 2.11.91.
9172c393a42Smrg
918a32e9e42Smrg                            FcPatternGetWithBinding
9192c393a42Smrg
9202c393a42SmrgName
9212c393a42Smrg
922a32e9e42Smrg   FcPatternGetWithBinding -- Return a value with binding from a pattern
9232c393a42Smrg
9242c393a42SmrgSynopsis
9252c393a42Smrg
926a32e9e42Smrg   #include <fontconfig/fontconfig.h>
927a6844aabSmrg
928a32e9e42Smrg
929a32e9e42Smrg   FcResult FcPatternGetWithBinding(FcPattern *p, const char *object, int id,
930a32e9e42Smrg   FcValue *v, FcValueBinding *b);
9312c393a42Smrg
9322c393a42SmrgDescription
9332c393a42Smrg
934a32e9e42Smrg   Returns in v the id'th value and b binding for that associated with the
935a32e9e42Smrg   property object. The Value returned is not a copy, but rather refers to
936a32e9e42Smrg   the data stored within the pattern directly. Applications must not free
937a32e9e42Smrg   this value.
938a32e9e42Smrg
939a32e9e42SmrgSince
940a32e9e42Smrg
941a32e9e42Smrg   version 2.12.5
9422c393a42Smrg
943a32e9e42Smrg                                  FcPatternGet
944a32e9e42Smrg
945a32e9e42SmrgName
946a32e9e42Smrg
947a32e9e42Smrg   FcPatternGet -- Return a value from a pattern
948a32e9e42Smrg
949a32e9e42SmrgSynopsis
950a32e9e42Smrg
951a32e9e42Smrg   #include <fontconfig/fontconfig.h>
952a32e9e42Smrg
953a32e9e42Smrg
954a32e9e42Smrg   FcResult FcPatternGet(FcPattern *p, const char *object, int id, FcValue
955a32e9e42Smrg   *v);
956a32e9e42Smrg
957a32e9e42SmrgDescription
958a32e9e42Smrg
959a32e9e42Smrg   Returns in v the id'th value associated with the property object. The
960a32e9e42Smrg   value returned is not a copy, but rather refers to the data stored within
961a32e9e42Smrg   the pattern directly. Applications must not free this value.
962a32e9e42Smrg
963a32e9e42Smrg                               FcPatternGet-Type
9642c393a42Smrg
9652c393a42SmrgName
9662c393a42Smrg
967ca08ab68Smrg   FcPatternGetInteger, FcPatternGetDouble, FcPatternGetString,
968ca08ab68Smrg   FcPatternGetMatrix, FcPatternGetCharSet, FcPatternGetBool,
969a32e9e42Smrg   FcPatternGetFTFace, FcPatternGetLangSet, FcPatternGetRange -- Return a
970a32e9e42Smrg   typed value from a pattern
9712c393a42Smrg
9722c393a42SmrgSynopsis
9732c393a42Smrg
974a32e9e42Smrg   #include <fontconfig/fontconfig.h>
975a32e9e42Smrg
9762c393a42Smrg
977a32e9e42Smrg   FcResult FcPatternGetInteger(FcPattern *p, const char *object, int n, int
978a32e9e42Smrg   *i);
9792c393a42Smrg
980a32e9e42Smrg   FcResult FcPatternGetDouble(FcPattern *p, const char *object, int n,
981a32e9e42Smrg   double *d);
982a6844aabSmrg
983a32e9e42Smrg   FcResult FcPatternGetString(FcPattern *p, const char *object, int n,
984a32e9e42Smrg   FcChar8 **s);
9852c393a42Smrg
986a32e9e42Smrg   FcResult FcPatternGetMatrix(FcPattern *p, const char *object, int n,
987a32e9e42Smrg   FcMatrix **s);
9882c393a42Smrg
989a32e9e42Smrg   FcResult FcPatternGetCharSet(FcPattern *p, const char *object, int n,
990a32e9e42Smrg   FcCharSet **c);
9912c393a42Smrg
992a32e9e42Smrg   FcResult FcPatternGetBool(FcPattern *p, const char *object, int n, FcBool
993a32e9e42Smrg   *b);
9942c393a42Smrg
995a32e9e42Smrg   FcResult FcPatternGetFTFace(FcPattern *p, const char *object, int n,
996a32e9e42Smrg   FT_Face *f);
9972c393a42Smrg
998a32e9e42Smrg   FcResult FcPatternGetLangSet(FcPattern *p, const char *object, int n,
999a32e9e42Smrg   FcLangSet **l);
10002c393a42Smrg
1001a32e9e42Smrg   FcResult FcPatternGetRange(FcPattern *p, const char *object, int n,
1002a32e9e42Smrg   FcRange **r);
10032c393a42Smrg
10042c393a42SmrgDescription
10052c393a42Smrg
1006a32e9e42Smrg   These are convenience functions that call FcPatternGet and verify that the
1007a32e9e42Smrg   returned data is of the expected type. They return FcResultTypeMismatch if
1008a32e9e42Smrg   this is not the case. Note that these (like FcPatternGet) do not make a
1009a32e9e42Smrg   copy of any data structure referenced by the return value. Use these in
1010a32e9e42Smrg   preference to FcPatternGet to provide compile-time typechecking.
1011a32e9e42Smrg   FcPatternGetRange are available since 2.11.91.
10122c393a42Smrg
1013a32e9e42Smrg                                 FcPatternBuild
10142c393a42Smrg
10152c393a42SmrgName
10162c393a42Smrg
1017a32e9e42Smrg   FcPatternBuild, FcPatternVaBuild, FcPatternVapBuild -- Create patterns
1018a32e9e42Smrg   from arguments
10192c393a42Smrg
10202c393a42SmrgSynopsis
10212c393a42Smrg
1022a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1023a32e9e42Smrg
10242c393a42Smrg
1025ca08ab68Smrg   FcPattern * FcPatternBuild(FcPattern *pattern, ...);
10262c393a42Smrg
1027ca08ab68Smrg   FcPattern * FcPatternVaBuild(FcPattern *pattern, va_list va);
1028a6844aabSmrg
1029a32e9e42Smrg   void FcPatternVapBuild(FcPattern *result, FcPattern *pattern, va_list va);
10302c393a42Smrg
10312c393a42SmrgDescription
10322c393a42Smrg
1033a32e9e42Smrg   Builds a pattern using a list of objects, types and values. Each value to
1034a32e9e42Smrg   be entered in the pattern is specified with three arguments:
1035a32e9e42Smrg
1036a32e9e42Smrg    1. Object name, a string describing the property to be added.
1037a32e9e42Smrg
1038a32e9e42Smrg    2. Object type, one of the FcType enumerated values
10392c393a42Smrg
1040a32e9e42Smrg    3. Value, not an FcValue, but the raw type as passed to any of the
1041a32e9e42Smrg       FcPatternAdd<type> functions. Must match the type of the second
1042a32e9e42Smrg       argument.
10432c393a42Smrg
1044a32e9e42Smrg   The argument list is terminated by a null object name, no object type nor
1045a32e9e42Smrg   value need be passed for this. The values are added to `pattern', if
1046a32e9e42Smrg   `pattern' is null, a new pattern is created. In either case, the pattern
1047a32e9e42Smrg   is returned. Example
10482c393a42Smrg
1049a32e9e42Smrg   pattern = FcPatternBuild (0, FC_FAMILY, FcTypeString, "Times", (char *) 0);
1050a6844aabSmrg
1051a32e9e42Smrg   FcPatternVaBuild is used when the arguments are already in the form of a
1052a32e9e42Smrg   varargs value. FcPatternVapBuild is a macro version of FcPatternVaBuild
1053a32e9e42Smrg   which returns its result directly in the result variable.
1054a32e9e42Smrg
1055a32e9e42Smrg                                  FcPatternDel
10562c393a42Smrg
10572c393a42SmrgName
10582c393a42Smrg
1059a32e9e42Smrg   FcPatternDel -- Delete a property from a pattern
10602c393a42Smrg
10612c393a42SmrgSynopsis
10622c393a42Smrg
1063a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1064a32e9e42Smrg
1065a6844aabSmrg
1066ca08ab68Smrg   FcBool FcPatternDel(FcPattern *p, const char *object);
10672c393a42Smrg
10682c393a42SmrgDescription
10692c393a42Smrg
1070a32e9e42Smrg   Deletes all values associated with the property `object', returning
1071a32e9e42Smrg   whether the property existed or not.
1072a32e9e42Smrg
1073a32e9e42Smrg                                FcPatternRemove
1074a32e9e42Smrg
1075a32e9e42SmrgName
1076a32e9e42Smrg
1077a32e9e42Smrg   FcPatternRemove -- Remove one object of the specified type from the
1078a32e9e42Smrg   pattern
1079a32e9e42Smrg
1080a32e9e42SmrgSynopsis
1081a32e9e42Smrg
1082a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1083a32e9e42Smrg
1084a32e9e42Smrg
1085a32e9e42Smrg   FcBool FcPatternRemove(FcPattern *p, const char *object, int id);
1086a32e9e42Smrg
1087a32e9e42SmrgDescription
1088a32e9e42Smrg
1089a32e9e42Smrg   Removes the value associated with the property `object' at position `id',
1090a32e9e42Smrg   returning whether the property existed and had a value at that position or
1091a32e9e42Smrg   not.
10922c393a42Smrg
1093a32e9e42Smrg                               FcPatternIterStart
10942c393a42Smrg
10952c393a42SmrgName
10962c393a42Smrg
1097a32e9e42Smrg   FcPatternIterStart -- Initialize the iterator with the first iterator in
1098953daebaSmrg   the pattern
10992c393a42Smrg
11002c393a42SmrgSynopsis
11012c393a42Smrg
1102a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1103a6844aabSmrg
1104a32e9e42Smrg
1105a32e9e42Smrg   void FcPatternIterStart(const FcPattern *p, FcPatternIter *iter);
11062c393a42Smrg
11072c393a42SmrgDescription
11082c393a42Smrg
1109a32e9e42Smrg   Initialize iter with the first iterator in p. If there are no objects in
1110a32e9e42Smrg   p, iter will not have any valid data.
1111a32e9e42Smrg
1112a32e9e42SmrgSince
1113a32e9e42Smrg
1114a32e9e42Smrg   version 2.13.1
11152c393a42Smrg
1116a32e9e42Smrg                               FcPatternIterNext
11172c393a42Smrg
11182c393a42SmrgName
11192c393a42Smrg
1120a32e9e42Smrg   FcPatternIterNext -- 
11212c393a42Smrg
11222c393a42SmrgSynopsis
11232c393a42Smrg
1124a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1125a6844aabSmrg
1126a32e9e42Smrg
1127a32e9e42Smrg   FcBool FcPatternIterNext(const FcPattern *p, FcPatternIter *iter);
11282c393a42Smrg
11292c393a42SmrgDescription
11302c393a42Smrg
1131a32e9e42Smrg   Set iter to point to the next object in p and returns FcTrue if iter has
1132a32e9e42Smrg   been changed to the next object. returns FcFalse otherwise.
11332c393a42Smrg
1134a32e9e42SmrgSince
1135a32e9e42Smrg
1136a32e9e42Smrg   version 2.13.1
1137a32e9e42Smrg
1138a32e9e42Smrg                               FcPatternIterEqual
11392c393a42Smrg
11402c393a42SmrgName
11412c393a42Smrg
1142a32e9e42Smrg   FcPatternIterEqual -- Compare iterators
1143a32e9e42Smrg
1144a32e9e42SmrgSynopsis
1145a32e9e42Smrg
1146a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1147a32e9e42Smrg
1148a32e9e42Smrg
1149a32e9e42Smrg   FcBool FcPatternIterEqual(const FcPattern *p1, FcPatternIter *i1, const
1150a32e9e42Smrg   FcPattern *p2, FcPatternIter *i2);
1151a32e9e42Smrg
1152a32e9e42SmrgDescription
1153a32e9e42Smrg
1154a32e9e42Smrg   Return FcTrue if both i1 and i2 point to same object and contains same
1155a32e9e42Smrg   values. return FcFalse otherwise.
1156a32e9e42Smrg
1157a32e9e42SmrgSince
1158a32e9e42Smrg
1159a32e9e42Smrg   version 2.13.1
1160a32e9e42Smrg
1161a32e9e42Smrg                               FcPatternFindIter
1162a32e9e42Smrg
1163a32e9e42SmrgName
1164a32e9e42Smrg
1165a32e9e42Smrg   FcPatternFindIter -- Set the iterator to point to the object in the
1166953daebaSmrg   pattern
11672c393a42Smrg
11682c393a42SmrgSynopsis
11692c393a42Smrg
1170a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1171a32e9e42Smrg
1172a32e9e42Smrg
1173a32e9e42Smrg   FcBool FcPatternFindIter(const FcPattern *p, FcPatternIter *iter, const
1174a32e9e42Smrg   char *object);
1175a32e9e42Smrg
1176a32e9e42SmrgDescription
1177a32e9e42Smrg
1178a32e9e42Smrg   Set iter to point to object in p if any and returns FcTrue. returns
1179a32e9e42Smrg   FcFalse otherwise.
1180a32e9e42Smrg
1181a32e9e42SmrgSince
1182a32e9e42Smrg
1183a32e9e42Smrg   version 2.13.1
1184a32e9e42Smrg
1185a32e9e42Smrg                              FcPatternIterIsValid
1186a32e9e42Smrg
1187a32e9e42SmrgName
1188a32e9e42Smrg
1189a32e9e42Smrg   FcPatternIterIsValid -- Check whether the iterator is valid or not
1190a32e9e42Smrg
1191a32e9e42SmrgSynopsis
1192a32e9e42Smrg
1193a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1194a32e9e42Smrg
1195a32e9e42Smrg
1196a32e9e42Smrg   FcBool FcPatternIterIsValid(const FcPattern *p, FcPatternIter :iter);
1197a32e9e42Smrg
1198a32e9e42SmrgDescription
1199a32e9e42Smrg
1200a32e9e42Smrg   Returns FcTrue if iter point to the valid entry in p. returns FcFalse
1201a32e9e42Smrg   otherwise.
1202a32e9e42Smrg
1203a32e9e42SmrgSince
1204a32e9e42Smrg
1205a32e9e42Smrg   version 2.13.1
1206a32e9e42Smrg
1207a32e9e42Smrg                             FcPatternIterGetObject
1208a32e9e42Smrg
1209a32e9e42SmrgName
1210a32e9e42Smrg
1211a32e9e42Smrg   FcPatternIterGetObject -- Returns an object name which the iterator point
1212a32e9e42Smrg   to
1213a32e9e42Smrg
1214a32e9e42SmrgSynopsis
1215a32e9e42Smrg
1216a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1217a32e9e42Smrg
1218a32e9e42Smrg
1219a32e9e42Smrg   const char * FcPatternIterGetObject(const FcPattern *p, FcPatternIter
1220a32e9e42Smrg   *iter);
1221a32e9e42Smrg
1222a32e9e42SmrgDescription
1223a32e9e42Smrg
1224a32e9e42Smrg   Returns an object name in p which iter point to. returns NULL if iter
1225a32e9e42Smrg   isn't valid.
1226a32e9e42Smrg
1227a32e9e42SmrgSince
1228a32e9e42Smrg
1229a32e9e42Smrg   version 2.13.1
1230a32e9e42Smrg
1231a32e9e42Smrg                            FcPatternIterValueCount
1232a32e9e42Smrg
1233a32e9e42SmrgName
1234a32e9e42Smrg
1235a32e9e42Smrg   FcPatternIterValueCount -- Returns the number of the values which the
1236a32e9e42Smrg   iterator point to
1237a32e9e42Smrg
1238a32e9e42SmrgSynopsis
1239a32e9e42Smrg
1240a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1241a32e9e42Smrg
1242a32e9e42Smrg
1243a32e9e42Smrg   int FcPatternIterValueCount(const FcPattern *p, FcPatternIter *iter);
1244a32e9e42Smrg
1245a32e9e42SmrgDescription
1246a32e9e42Smrg
1247a32e9e42Smrg   Returns the number of the values in the object which iter point to. if
1248a32e9e42Smrg   iter isn't valid, returns 0.
1249a32e9e42Smrg
1250a32e9e42SmrgSince
1251a32e9e42Smrg
1252a32e9e42Smrg   version 2.13.1
1253a32e9e42Smrg
1254a32e9e42Smrg                             FcPatternIterGetValue
1255a32e9e42Smrg
1256a32e9e42SmrgName
1257a32e9e42Smrg
1258a32e9e42Smrg   FcPatternIterGetValue -- Returns a value which the iterator point to
1259a32e9e42Smrg
1260a32e9e42SmrgSynopsis
1261a32e9e42Smrg
1262a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1263a32e9e42Smrg
1264a32e9e42Smrg
1265a32e9e42Smrg   FcResult FcPatternIterGetValue(const FcPattern *p, FcPatternIter *iter,
1266a32e9e42Smrg   intid, FcValue *v, FcValueBinding *b);
1267a32e9e42Smrg
1268a32e9e42SmrgDescription
1269a32e9e42Smrg
1270a32e9e42Smrg   Returns in v the id'th value which iter point to. also binding to b if
1271a32e9e42Smrg   given. The value returned is not a copy, but rather refers to the data
1272a32e9e42Smrg   stored within the pattern directly. Applications must not free this value.
1273a32e9e42Smrg
1274a32e9e42SmrgSince
1275a32e9e42Smrg
1276a32e9e42Smrg   version 2.13.1
1277a32e9e42Smrg
1278a32e9e42Smrg                                 FcPatternPrint
1279a32e9e42Smrg
1280a32e9e42SmrgName
1281a32e9e42Smrg
1282a32e9e42Smrg   FcPatternPrint -- Print a pattern for debugging
1283a32e9e42Smrg
1284a32e9e42SmrgSynopsis
1285a32e9e42Smrg
1286a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1287a32e9e42Smrg
1288a32e9e42Smrg
1289a32e9e42Smrg   void FcPatternPrint(const FcPattern *p);
1290a32e9e42Smrg
1291a32e9e42SmrgDescription
1292a32e9e42Smrg
1293a32e9e42Smrg   Prints an easily readable version of the pattern to stdout. There is no
1294a32e9e42Smrg   provision for reparsing data in this format, it's just for diagnostics and
1295a32e9e42Smrg   debugging.
1296a32e9e42Smrg
1297a32e9e42Smrg                              FcDefaultSubstitute
1298a32e9e42Smrg
1299a32e9e42SmrgName
1300a32e9e42Smrg
1301a32e9e42Smrg   FcDefaultSubstitute -- Perform default substitutions in a pattern
1302a32e9e42Smrg
1303a32e9e42SmrgSynopsis
1304a32e9e42Smrg
1305a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1306a32e9e42Smrg
1307a6844aabSmrg
1308ca08ab68Smrg   void FcDefaultSubstitute(FcPattern *pattern);
13092c393a42Smrg
13102c393a42SmrgDescription
13112c393a42Smrg
1312ca08ab68Smrg   Supplies default values for underspecified font patterns:
1313a6844aabSmrg
1314a32e9e42Smrg     * Patterns without a specified style or weight are set to Medium
1315a32e9e42Smrg
1316a32e9e42Smrg     * Patterns without a specified style or slant are set to Roman
1317a32e9e42Smrg
1318a32e9e42Smrg     * Patterns without a specified pixel size are given one computed from
1319a32e9e42Smrg       any specified point size (default 12), dpi (default 75) and scale
1320a32e9e42Smrg       (default 1).
13212c393a42Smrg
1322a32e9e42Smrg                                  FcNameParse
13232c393a42Smrg
13242c393a42SmrgName
13252c393a42Smrg
1326a32e9e42Smrg   FcNameParse -- Parse a pattern string
13272c393a42Smrg
13282c393a42SmrgSynopsis
13292c393a42Smrg
1330a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1331a32e9e42Smrg
1332a6844aabSmrg
1333ca08ab68Smrg   FcPattern * FcNameParse(const FcChar8 *name);
13342c393a42Smrg
13352c393a42SmrgDescription
13362c393a42Smrg
1337a32e9e42Smrg   Converts name from the standard text format described above into a
1338a32e9e42Smrg   pattern.
13392c393a42Smrg
1340a32e9e42Smrg                                 FcNameUnparse
13412c393a42Smrg
13422c393a42SmrgName
13432c393a42Smrg
1344a32e9e42Smrg   FcNameUnparse -- Convert a pattern back into a string that can be parsed
13452c393a42Smrg
13462c393a42SmrgSynopsis
13472c393a42Smrg
1348a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1349a32e9e42Smrg
1350a6844aabSmrg
1351ca08ab68Smrg   FcChar8 * FcNameUnparse(FcPattern *pat);
13522c393a42Smrg
13532c393a42SmrgDescription
13542c393a42Smrg
1355a32e9e42Smrg   Converts the given pattern into the standard text format described above.
1356a32e9e42Smrg   The return value is not static, but instead refers to newly allocated
1357a32e9e42Smrg   memory which should be freed by the caller using free().
1358a32e9e42Smrg
1359a32e9e42Smrg                                FcPatternFormat
1360a32e9e42Smrg
1361a32e9e42SmrgName
1362a32e9e42Smrg
1363a32e9e42Smrg   FcPatternFormat -- Format a pattern into a string according to a format
1364a32e9e42Smrg   specifier
1365a32e9e42Smrg
1366a32e9e42SmrgSynopsis
1367a32e9e42Smrg
1368a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1369a32e9e42Smrg
1370a32e9e42Smrg
1371a32e9e42Smrg   FcChar8 * FcPatternFormat(FcPattern *pat, const FcChar8 *format);
1372a32e9e42Smrg
1373a32e9e42SmrgDescription
1374a32e9e42Smrg
1375a32e9e42Smrg   Converts given pattern pat into text described by the format specifier
1376a32e9e42Smrg   format. The return value refers to newly allocated memory which should be
1377a32e9e42Smrg   freed by the caller using free(), or NULL if format is invalid.
1378a32e9e42Smrg
1379a32e9e42Smrg    The format is loosely modeled after printf-style format string. The
1380a32e9e42Smrg   format string is composed of zero or more directives: ordinary characters
1381a32e9e42Smrg   (not "%"), which are copied unchanged to the output stream; and tags which
1382a32e9e42Smrg   are interpreted to construct text from the pattern in a variety of ways
1383a32e9e42Smrg   (explained below). Special characters can be escaped using backslash.
1384a32e9e42Smrg   C-string style special characters like \n and \r are also supported (this
1385a32e9e42Smrg   is useful when the format string is not a C string literal). It is
1386a32e9e42Smrg   advisable to always escape curly braces that are meant to be copied to the
1387a32e9e42Smrg   output as ordinary characters.
1388a32e9e42Smrg
1389a32e9e42Smrg    Each tag is introduced by the character "%", followed by an optional
1390a32e9e42Smrg   minimum field width, followed by tag contents in curly braces ({}). If the
1391a32e9e42Smrg   minimum field width value is provided the tag will be expanded and the
1392a32e9e42Smrg   result padded to achieve the minimum width. If the minimum field width is
1393a32e9e42Smrg   positive, the padding will right-align the text. Negative field width will
1394a32e9e42Smrg   left-align. The rest of this section describes various supported tag
1395a32e9e42Smrg   contents and their expansion.
1396a32e9e42Smrg
1397a32e9e42Smrg    A simple tag is one where the content is an identifier. When simple tags
1398a32e9e42Smrg   are expanded, the named identifier will be looked up in pattern and the
1399a32e9e42Smrg   resulting list of values returned, joined together using comma. For
1400a32e9e42Smrg   example, to print the family name and style of the pattern, use the format
1401a32e9e42Smrg   "%{family} %{style}\n". To extend the family column to forty characters
1402a32e9e42Smrg   use "%-40{family}%{style}\n".
1403a32e9e42Smrg
1404a32e9e42Smrg    Simple tags expand to list of all values for an element. To only choose
1405a32e9e42Smrg   one of the values, one can index using the syntax "%{elt[idx]}". For
1406a32e9e42Smrg   example, to get the first family name only, use "%{family[0]}".
1407a32e9e42Smrg
1408a32e9e42Smrg    If a simple tag ends with "=" and the element is found in the pattern,
1409a32e9e42Smrg   the name of the element followed by "=" will be output before the list of
1410a32e9e42Smrg   values. For example, "%{weight=}" may expand to the string "weight=80". Or
1411a32e9e42Smrg   to the empty string if pattern does not have weight set.
1412a32e9e42Smrg
1413a32e9e42Smrg    If a simple tag starts with ":" and the element is found in the pattern,
1414a32e9e42Smrg   ":" will be printed first. For example, combining this with the =, the
1415a32e9e42Smrg   format "%{:weight=}" may expand to ":weight=80" or to the empty string if
1416a32e9e42Smrg   pattern does not have weight set.
1417a32e9e42Smrg
1418a32e9e42Smrg    If a simple tag contains the string ":-", the rest of the the tag
1419a32e9e42Smrg   contents will be used as a default string. The default string is output if
1420a32e9e42Smrg   the element is not found in the pattern. For example, the format
1421a32e9e42Smrg   "%{:weight=:-123}" may expand to ":weight=80" or to the string
1422a32e9e42Smrg   ":weight=123" if pattern does not have weight set.
1423a32e9e42Smrg
1424a32e9e42Smrg    A count tag is one that starts with the character "#" followed by an
1425a32e9e42Smrg   element name, and expands to the number of values for the element in the
1426a32e9e42Smrg   pattern. For example, "%{#family}" expands to the number of family names
1427a32e9e42Smrg   pattern has set, which may be zero.
1428a32e9e42Smrg
1429a32e9e42Smrg    A sub-expression tag is one that expands a sub-expression. The tag
1430a32e9e42Smrg   contents are the sub-expression to expand placed inside another set of
1431a32e9e42Smrg   curly braces. Sub-expression tags are useful for aligning an entire
1432a32e9e42Smrg   sub-expression, or to apply converters (explained later) to the entire
1433a32e9e42Smrg   sub-expression output. For example, the format "%40{{%{family} %{style}}}"
1434a32e9e42Smrg   expands the sub-expression to construct the family name followed by the
1435a32e9e42Smrg   style, then takes the entire string and pads it on the left to be at least
1436a32e9e42Smrg   forty characters.
1437a32e9e42Smrg
1438a32e9e42Smrg    A filter-out tag is one starting with the character "-" followed by a
1439a32e9e42Smrg   comma-separated list of element names, followed by a sub-expression
1440a32e9e42Smrg   enclosed in curly braces. The sub-expression will be expanded but with a
1441a32e9e42Smrg   pattern that has the listed elements removed from it. For example, the
1442a32e9e42Smrg   format "%{-size,pixelsize{sub-expr}}" will expand "sub-expr" with pattern
1443a32e9e42Smrg   sans the size and pixelsize elements.
1444a32e9e42Smrg
1445a32e9e42Smrg    A filter-in tag is one starting with the character "+" followed by a
1446a32e9e42Smrg   comma-separated list of element names, followed by a sub-expression
1447a32e9e42Smrg   enclosed in curly braces. The sub-expression will be expanded but with a
1448a32e9e42Smrg   pattern that only has the listed elements from the surrounding pattern.
1449a32e9e42Smrg   For example, the format "%{+family,familylang{sub-expr}}" will expand
1450a32e9e42Smrg   "sub-expr" with a sub-pattern consisting only the family and family lang
1451a32e9e42Smrg   elements of pattern.
1452a32e9e42Smrg
1453a32e9e42Smrg    A conditional tag is one starting with the character "?" followed by a
1454a32e9e42Smrg   comma-separated list of element conditions, followed by two sub-expression
1455a32e9e42Smrg   enclosed in curly braces. An element condition can be an element name, in
1456a32e9e42Smrg   which case it tests whether the element is defined in pattern, or the
1457a32e9e42Smrg   character "!" followed by an element name, in which case the test is
1458a32e9e42Smrg   negated. The conditional passes if all the element conditions pass. The
1459a32e9e42Smrg   tag expands the first sub-expression if the conditional passes, and
1460a32e9e42Smrg   expands the second sub-expression otherwise. For example, the format
1461a32e9e42Smrg   "%{?size,dpi,!pixelsize{pass}{fail}}" will expand to "pass" if pattern has
1462a32e9e42Smrg   size and dpi elements but no pixelsize element, and to "fail" otherwise.
1463a32e9e42Smrg
1464a32e9e42Smrg    An enumerate tag is one starting with the string "[]" followed by a
1465a32e9e42Smrg   comma-separated list of element names, followed by a sub-expression
1466a32e9e42Smrg   enclosed in curly braces. The list of values for the named elements are
1467a32e9e42Smrg   walked in parallel and the sub-expression expanded each time with a
1468a32e9e42Smrg   pattern just having a single value for those elements, starting from the
1469a32e9e42Smrg   first value and continuing as long as any of those elements has a value.
1470ca08ab68Smrg   For example, the format "%{[]family,familylang{%{family}
1471a32e9e42Smrg   (%{familylang})\n}}" will expand the pattern "%{family} (%{familylang})\n"
1472a32e9e42Smrg   with a pattern having only the first value of the family and familylang
1473a32e9e42Smrg   elements, then expands it with the second values, then the third, etc.
1474a6844aabSmrg
1475a32e9e42Smrg    As a special case, if an enumerate tag has only one element, and that
1476a32e9e42Smrg   element has only one value in the pattern, and that value is of type
1477a32e9e42Smrg   FcLangSet, the individual languages in the language set are enumerated.
1478a6844aabSmrg
1479a32e9e42Smrg    A builtin tag is one starting with the character "=" followed by a
1480a32e9e42Smrg   builtin name. The following builtins are defined:
1481a6844aabSmrg
1482ca08ab68Smrg   unparse
1483a32e9e42Smrg
1484a32e9e42Smrg           Expands to the result of calling FcNameUnparse() on the pattern.
1485a6844aabSmrg
1486ca08ab68Smrg   fcmatch
1487a32e9e42Smrg
1488a32e9e42Smrg           Expands to the output of the default output format of the fc-match
1489a32e9e42Smrg           command on the pattern, without the final newline.
1490a6844aabSmrg
1491ca08ab68Smrg   fclist
1492a32e9e42Smrg
1493a32e9e42Smrg           Expands to the output of the default output format of the fc-list
1494a32e9e42Smrg           command on the pattern, without the final newline.
1495a6844aabSmrg
1496ca08ab68Smrg   fccat
1497a32e9e42Smrg
1498a32e9e42Smrg           Expands to the output of the default output format of the fc-cat
1499a32e9e42Smrg           command on the pattern, without the final newline.
1500a6844aabSmrg
1501ca08ab68Smrg   pkgkit
1502a32e9e42Smrg
1503a32e9e42Smrg           Expands to the list of PackageKit font() tags for the pattern.
1504a32e9e42Smrg           Currently this includes tags for each family name, and each
1505a32e9e42Smrg           language from the pattern, enumerated and sanitized into a set of
1506a32e9e42Smrg           tags terminated by newline. Package management systems can use
1507a32e9e42Smrg           these tags to tag their packages accordingly.
1508a32e9e42Smrg
1509a32e9e42Smrg   For example, the format "%{+family,style{%{=unparse}}}\n" will expand to
1510a32e9e42Smrg   an unparsed name containing only the family and style element values from
1511a32e9e42Smrg   pattern.
1512a32e9e42Smrg
1513a32e9e42Smrg    The contents of any tag can be followed by a set of zero or more
1514a32e9e42Smrg   converters. A converter is specified by the character "|" followed by the
1515a32e9e42Smrg   converter name and arguments. The following converters are defined:
1516a6844aabSmrg
1517ca08ab68Smrg   basename
1518a32e9e42Smrg
1519a32e9e42Smrg           Replaces text with the results of calling FcStrBasename() on it.
1520a6844aabSmrg
1521ca08ab68Smrg   dirname
1522a32e9e42Smrg
1523a32e9e42Smrg           Replaces text with the results of calling FcStrDirname() on it.
1524a6844aabSmrg
1525ca08ab68Smrg   downcase
1526a32e9e42Smrg
1527a32e9e42Smrg           Replaces text with the results of calling FcStrDowncase() on it.
1528a6844aabSmrg
1529ca08ab68Smrg   shescape
1530a32e9e42Smrg
1531a32e9e42Smrg           Escapes text for one level of shell expansion. (Escapes
1532a32e9e42Smrg           single-quotes, also encloses text in single-quotes.)
1533a6844aabSmrg
1534ca08ab68Smrg   cescape
1535a32e9e42Smrg
1536a32e9e42Smrg           Escapes text such that it can be used as part of a C string
1537a32e9e42Smrg           literal. (Escapes backslash and double-quotes.)
1538a6844aabSmrg
1539ca08ab68Smrg   xmlescape
1540a32e9e42Smrg
1541a32e9e42Smrg           Escapes text such that it can be used in XML and HTML. (Escapes
1542a32e9e42Smrg           less-than, greater-than, and ampersand.)
1543a6844aabSmrg
1544ca08ab68Smrg   delete(chars)
1545a32e9e42Smrg
1546a32e9e42Smrg           Deletes all occurrences of each of the characters in chars from
1547a32e9e42Smrg           the text. FIXME: This converter is not UTF-8 aware yet.
1548a6844aabSmrg
1549ca08ab68Smrg   escape(chars)
1550a32e9e42Smrg
1551a32e9e42Smrg           Escapes all occurrences of each of the characters in chars by
1552a32e9e42Smrg           prepending it by the first character in chars. FIXME: This
1553a32e9e42Smrg           converter is not UTF-8 aware yet.
1554a6844aabSmrg
1555ca08ab68Smrg   translate(from,to)
1556ca08ab68Smrg
1557a32e9e42Smrg           Translates all occurrences of each of the characters in from by
1558a32e9e42Smrg           replacing them with their corresponding character in to. If to has
1559a32e9e42Smrg           fewer characters than from, it will be extended by repeating its
1560a32e9e42Smrg           last character. FIXME: This converter is not UTF-8 aware yet.
1561a32e9e42Smrg
1562a32e9e42Smrg   For example, the format "%{family|downcase|delete( )}\n" will expand to
1563a32e9e42Smrg   the values of the family element in pattern, lower-cased and with spaces
1564a32e9e42Smrg   removed.
15652c393a42Smrg
1566b09479dcSmrgSince
15672c393a42Smrg
1568b09479dcSmrg   version 2.9.0
1569ca08ab68Smrg
1570a32e9e42Smrg   --------------------------------------------------------------------------
1571a32e9e42Smrg
1572a32e9e42Smrg  FcFontSet
1573ca08ab68Smrg
1574ca08ab68Smrg   Table of Contents
1575ca08ab68Smrg
1576a32e9e42Smrg   [43]FcFontSetCreate -- Create a font set
1577a32e9e42Smrg
1578a32e9e42Smrg   [44]FcFontSetDestroy -- Destroy a font set
1579a32e9e42Smrg
1580a32e9e42Smrg   [45]FcFontSetAdd -- Add to a font set
1581a6844aabSmrg
1582a32e9e42Smrg   [46]FcFontSetList -- List fonts from a set of font sets
1583a32e9e42Smrg
1584a32e9e42Smrg   [47]FcFontSetMatch -- Return the best font from a set of font sets
1585a32e9e42Smrg
1586a32e9e42Smrg   [48]FcFontSetPrint -- Print a set of patterns to stdout
1587a32e9e42Smrg
1588a32e9e42Smrg   [49]FcFontSetSort -- Add to a font set
1589a32e9e42Smrg
1590a32e9e42Smrg   [50]FcFontSetSortDestroy -- DEPRECATED destroy a font set
1591a32e9e42Smrg
1592a32e9e42Smrg   An FcFontSet simply holds a list of patterns; these are used to return the
1593a32e9e42Smrg   results of listing available fonts.
1594a32e9e42Smrg
1595a32e9e42Smrg                                FcFontSetCreate
15962c393a42Smrg
15972c393a42SmrgName
15982c393a42Smrg
1599a32e9e42Smrg   FcFontSetCreate -- Create a font set
16002c393a42Smrg
16012c393a42SmrgSynopsis
16022c393a42Smrg
1603a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1604a32e9e42Smrg
1605a6844aabSmrg
1606ca08ab68Smrg   FcFontSet * FcFontSetCreate(void);
16072c393a42Smrg
16082c393a42SmrgDescription
16092c393a42Smrg
1610ca08ab68Smrg   Creates an empty font set.
16112c393a42Smrg
1612a32e9e42Smrg                                FcFontSetDestroy
16132c393a42Smrg
16142c393a42SmrgName
16152c393a42Smrg
1616a32e9e42Smrg   FcFontSetDestroy -- Destroy a font set
16172c393a42Smrg
16182c393a42SmrgSynopsis
16192c393a42Smrg
1620a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1621a32e9e42Smrg
1622a6844aabSmrg
1623ca08ab68Smrg   void FcFontSetDestroy(FcFontSet *s);
16242c393a42Smrg
16252c393a42SmrgDescription
16262c393a42Smrg
1627a32e9e42Smrg   Destroys a font set. Note that this destroys any referenced patterns as
1628a32e9e42Smrg   well.
16292c393a42Smrg
1630a32e9e42Smrg                                  FcFontSetAdd
16312c393a42Smrg
16322c393a42SmrgName
16332c393a42Smrg
1634a32e9e42Smrg   FcFontSetAdd -- Add to a font set
16352c393a42Smrg
16362c393a42SmrgSynopsis
16372c393a42Smrg
1638a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1639a32e9e42Smrg
1640a6844aabSmrg
1641ca08ab68Smrg   FcBool FcFontSetAdd(FcFontSet *s, FcPattern *font);
16422c393a42Smrg
16432c393a42SmrgDescription
16442c393a42Smrg
1645a32e9e42Smrg   Adds a pattern to a font set. Note that the pattern is not copied before
1646a32e9e42Smrg   being inserted into the set. Returns FcFalse if the pattern cannot be
1647a32e9e42Smrg   inserted into the set (due to allocation failure). Otherwise returns
1648a32e9e42Smrg   FcTrue.
16492c393a42Smrg
1650a32e9e42Smrg                                 FcFontSetList
16512c393a42Smrg
16522c393a42SmrgName
16532c393a42Smrg
1654a32e9e42Smrg   FcFontSetList -- List fonts from a set of font sets
16552c393a42Smrg
16562c393a42SmrgSynopsis
16572c393a42Smrg
1658a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1659a32e9e42Smrg
1660a6844aabSmrg
1661a32e9e42Smrg   FcFontSet * FcFontSetList(FcConfig *config, FcFontSet **sets, intnsets,
1662a32e9e42Smrg   FcPattern *pattern, FcObjectSet *object_set);
16632c393a42Smrg
16642c393a42SmrgDescription
16652c393a42Smrg
1666a32e9e42Smrg   Selects fonts matching pattern from sets, creates patterns from those
1667a32e9e42Smrg   fonts containing only the objects in object_set and returns the set of
1668a32e9e42Smrg   unique such patterns. If config is NULL, the default configuration is
1669a32e9e42Smrg   checked to be up to date, and used.
16702c393a42Smrg
1671a32e9e42Smrg                                 FcFontSetMatch
16722c393a42Smrg
16732c393a42SmrgName
16742c393a42Smrg
1675a32e9e42Smrg   FcFontSetMatch -- Return the best font from a set of font sets
16762c393a42Smrg
16772c393a42SmrgSynopsis
16782c393a42Smrg
1679a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1680a6844aabSmrg
1681a32e9e42Smrg
1682a32e9e42Smrg   FcPattern * FcFontSetMatch(FcConfig *config, FcFontSet **sets, intnsets,
1683a32e9e42Smrg   FcPattern *pattern, FcResult *result);
16842c393a42Smrg
16852c393a42SmrgDescription
16862c393a42Smrg
1687a32e9e42Smrg   Finds the font in sets most closely matching pattern and returns the
1688a32e9e42Smrg   result of FcFontRenderPrepare for that font and the provided pattern. This
1689a32e9e42Smrg   function should be called only after FcConfigSubstitute and
1690a32e9e42Smrg   FcDefaultSubstitute have been called for pattern; otherwise the results
1691a32e9e42Smrg   will not be correct. If config is NULL, the current configuration is used.
1692a32e9e42Smrg   Returns NULL if an error occurs during this process.
16932c393a42Smrg
1694a32e9e42Smrg                                 FcFontSetPrint
16952c393a42Smrg
16962c393a42SmrgName
16972c393a42Smrg
1698a32e9e42Smrg   FcFontSetPrint -- Print a set of patterns to stdout
16992c393a42Smrg
17002c393a42SmrgSynopsis
17012c393a42Smrg
1702a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1703a32e9e42Smrg
1704a6844aabSmrg
1705ca08ab68Smrg   void FcFontSetPrint(FcFontSet *set);
17062c393a42Smrg
17072c393a42SmrgDescription
17082c393a42Smrg
1709a32e9e42Smrg   This function is useful for diagnosing font related issues, printing the
1710a32e9e42Smrg   complete contents of every pattern in set. The format of the output is
1711a32e9e42Smrg   designed to be of help to users and developers, and may change at any
1712a32e9e42Smrg   time.
17132c393a42Smrg
1714a32e9e42Smrg                                 FcFontSetSort
17152c393a42Smrg
17162c393a42SmrgName
17172c393a42Smrg
1718a32e9e42Smrg   FcFontSetSort -- Add to a font set
17192c393a42Smrg
17202c393a42SmrgSynopsis
17212c393a42Smrg
1722a32e9e42Smrg   #include <fontconfig/fontconfig.h>
17232c393a42Smrg
1724a32e9e42Smrg
1725a4e54154Smrg   FcFontSet * FcFontSetSort(FcConfig *config, FcFontSet **sets, intnsets,
1726a4e54154Smrg   FcPattern *pattern, FcBool trim, FcCharSet **csp, FcResult *result);
17272c393a42Smrg
17282c393a42SmrgDescription
17292c393a42Smrg
1730a32e9e42Smrg   Returns the list of fonts from sets sorted by closeness to pattern. If
1731a32e9e42Smrg   trim is FcTrue, elements in the list which don't include Unicode coverage
1732a32e9e42Smrg   not provided by earlier elements in the list are elided. The union of
1733a32e9e42Smrg   Unicode coverage of all of the fonts is returned in csp, if csp is not
1734a32e9e42Smrg   NULL. This function should be called only after FcConfigSubstitute and
1735a32e9e42Smrg   FcDefaultSubstitute have been called for p; otherwise the results will not
1736a32e9e42Smrg   be correct.
17372c393a42Smrg
1738a32e9e42Smrg   The returned FcFontSet references FcPattern structures which may be shared
1739a32e9e42Smrg   by the return value from multiple FcFontSort calls, applications cannot
1740a32e9e42Smrg   modify these patterns. Instead, they should be passed, along with pattern
1741a32e9e42Smrg   to FcFontRenderPrepare which combines them into a complete pattern.
17422c393a42Smrg
1743ca08ab68Smrg   The FcFontSet returned by FcFontSetSort is destroyed by calling
1744ca08ab68Smrg   FcFontSetDestroy.
17452c393a42Smrg
1746a32e9e42Smrg                              FcFontSetSortDestroy
17472c393a42Smrg
17482c393a42SmrgName
17492c393a42Smrg
1750a32e9e42Smrg   FcFontSetSortDestroy -- DEPRECATED destroy a font set
17512c393a42Smrg
17522c393a42SmrgSynopsis
17532c393a42Smrg
1754a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1755a32e9e42Smrg
1756a6844aabSmrg
1757a4e54154Smrg   void FcFontSetSortDestroy(FcFontSet *set);
17582c393a42Smrg
17592c393a42SmrgDescription
17602c393a42Smrg
1761a32e9e42Smrg   This function is DEPRECATED. FcFontSetSortDestroy destroys set by calling
1762a32e9e42Smrg   FcFontSetDestroy. Applications should use FcFontSetDestroy directly
1763a32e9e42Smrg   instead.
17642c393a42Smrg
1765a32e9e42Smrg   --------------------------------------------------------------------------
1766a32e9e42Smrg
1767a32e9e42Smrg  FcObjectSet
1768ca08ab68Smrg
1769ca08ab68Smrg   Table of Contents
1770ca08ab68Smrg
1771a32e9e42Smrg   [51]FcObjectSetCreate -- Create an object set
1772a32e9e42Smrg
1773a32e9e42Smrg   [52]FcObjectSetAdd -- Add to an object set
1774a32e9e42Smrg
1775a32e9e42Smrg   [53]FcObjectSetDestroy -- Destroy an object set
17762c393a42Smrg
1777a32e9e42Smrg   [54]FcObjectSetBuild -- Build object set from args
1778a32e9e42Smrg
1779a32e9e42Smrg   An FcObjectSet holds a list of pattern property names; it is used to
1780a32e9e42Smrg   indicate which properties are to be returned in the patterns from
1781a32e9e42Smrg   FcFontList.
1782a32e9e42Smrg
1783a32e9e42Smrg                               FcObjectSetCreate
17842c393a42Smrg
17852c393a42SmrgName
17862c393a42Smrg
1787a32e9e42Smrg   FcObjectSetCreate -- Create an object set
17882c393a42Smrg
17892c393a42SmrgSynopsis
17902c393a42Smrg
1791a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1792a32e9e42Smrg
1793a6844aabSmrg
1794ca08ab68Smrg   FcObjectSet * FcObjectSetCreate(void);
17952c393a42Smrg
17962c393a42SmrgDescription
17972c393a42Smrg
1798ca08ab68Smrg   Creates an empty set.
17992c393a42Smrg
1800a32e9e42Smrg                                 FcObjectSetAdd
18012c393a42Smrg
18022c393a42SmrgName
18032c393a42Smrg
1804a32e9e42Smrg   FcObjectSetAdd -- Add to an object set
18052c393a42Smrg
18062c393a42SmrgSynopsis
18072c393a42Smrg
1808a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1809a32e9e42Smrg
1810a6844aabSmrg
1811ca08ab68Smrg   FcBool FcObjectSetAdd(FcObjectSet *os, const char *object);
18122c393a42Smrg
18132c393a42SmrgDescription
18142c393a42Smrg
1815a32e9e42Smrg   Adds a property name to the set. Returns FcFalse if the property name
1816a32e9e42Smrg   cannot be inserted into the set (due to allocation failure). Otherwise
1817a32e9e42Smrg   returns FcTrue.
18182c393a42Smrg
1819a32e9e42Smrg                               FcObjectSetDestroy
18202c393a42Smrg
18212c393a42SmrgName
18222c393a42Smrg
1823a32e9e42Smrg   FcObjectSetDestroy -- Destroy an object set
18242c393a42Smrg
18252c393a42SmrgSynopsis
18262c393a42Smrg
1827a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1828a32e9e42Smrg
1829a6844aabSmrg
1830ca08ab68Smrg   void FcObjectSetDestroy(FcObjectSet *os);
18312c393a42Smrg
18322c393a42SmrgDescription
18332c393a42Smrg
1834ca08ab68Smrg   Destroys an object set.
18352c393a42Smrg
1836a32e9e42Smrg                                FcObjectSetBuild
18372c393a42Smrg
18382c393a42SmrgName
18392c393a42Smrg
1840a32e9e42Smrg   FcObjectSetBuild, FcObjectSetVaBuild, FcObjectSetVapBuild -- Build object
1841a32e9e42Smrg   set from args
18422c393a42Smrg
18432c393a42SmrgSynopsis
18442c393a42Smrg
1845a32e9e42Smrg   #include <fontconfig/fontconfig.h>
1846a32e9e42Smrg
18472c393a42Smrg
1848ca08ab68Smrg   FcObjectSet * FcObjectSetBuild(const char *first, ...);
18492c393a42Smrg
1850a32e9e42Smrg   FcObjectSet * FcObjectSetVaBuild(const char *first, va_list va);
18512c393a42Smrg
1852a32e9e42Smrg   void FcObjectSetVapBuild(FcObjectSet *result, const char *first, va_list
1853a32e9e42Smrg   va);
18542c393a42Smrg
1855953daebaSmrgDescription
18562c393a42Smrg
1857a32e9e42Smrg   These build an object set from a null-terminated list of property names.
1858a32e9e42Smrg   FcObjectSetVapBuild is a macro version of FcObjectSetVaBuild which returns
1859a32e9e42Smrg   the result in the result variable directly.
1860ca08ab68Smrg
1861a32e9e42Smrg   --------------------------------------------------------------------------
1862a32e9e42Smrg
1863a32e9e42Smrg  FreeType specific functions
1864ca08ab68Smrg
1865ca08ab68Smrg   Table of Contents
1866ca08ab68Smrg
1867a32e9e42Smrg   [55]FcFreeTypeCharIndex -- map Unicode to glyph id
1868a32e9e42Smrg
1869a32e9e42Smrg   [56]FcFreeTypeCharSet -- compute Unicode coverage
1870a32e9e42Smrg
1871a32e9e42Smrg   [57]FcFreeTypeCharSetAndSpacing -- compute Unicode coverage and spacing
1872a32e9e42Smrg   type
18732c393a42Smrg
1874a32e9e42Smrg   [58]FcFreeTypeQuery -- compute pattern from font file (and index)
18752c393a42Smrg
1876a32e9e42Smrg   [59]FcFreeTypeQueryAll -- compute all patterns from font file (and index)
1877a32e9e42Smrg
1878a32e9e42Smrg   [60]FcFreeTypeQueryFace -- compute pattern from FT_Face
1879a32e9e42Smrg
1880a32e9e42Smrg   While the fontconfig library doesn't insist that FreeType be used as the
1881a32e9e42Smrg   rasterization mechanism for fonts, it does provide some convenience
1882a32e9e42Smrg   functions.
1883a32e9e42Smrg
1884a32e9e42Smrg                              FcFreeTypeCharIndex
18852c393a42Smrg
18862c393a42SmrgName
18872c393a42Smrg
1888a32e9e42Smrg   FcFreeTypeCharIndex -- map Unicode to glyph id
18892c393a42Smrg
18902c393a42SmrgSynopsis
18912c393a42Smrg
1892a32e9e42Smrg   #include <fontconfig.h>
1893a32e9e42Smrg   #include <fcfreetype.h>
1894a32e9e42Smrg
1895a6844aabSmrg
1896ca08ab68Smrg   FT_UInt FcFreeTypeCharIndex(FT_Face face, FcChar32 ucs4);
18972c393a42Smrg
18982c393a42SmrgDescription
18992c393a42Smrg
1900a32e9e42Smrg   Maps a Unicode char to a glyph index. This function uses information from
1901a32e9e42Smrg   several possible underlying encoding tables to work around broken fonts.
1902a32e9e42Smrg   As a result, this function isn't designed to be used in performance
1903a32e9e42Smrg   sensitive areas; results from this function are intended to be cached by
1904a32e9e42Smrg   higher level functions.
19052c393a42Smrg
1906a32e9e42Smrg                               FcFreeTypeCharSet
19072c393a42Smrg
19082c393a42SmrgName
19092c393a42Smrg
1910a32e9e42Smrg   FcFreeTypeCharSet -- compute Unicode coverage
19112c393a42Smrg
19122c393a42SmrgSynopsis
19132c393a42Smrg
1914a32e9e42Smrg   #include <fontconfig.h>
1915a32e9e42Smrg   #include <fcfreetype.h>
1916a32e9e42Smrg
1917a6844aabSmrg
1918ca08ab68Smrg   FcCharSet * FcFreeTypeCharSet(FT_Face face, FcBlanks *blanks);
19192c393a42Smrg
19202c393a42SmrgDescription
19212c393a42Smrg
1922a32e9e42Smrg   Scans a FreeType face and returns the set of encoded Unicode chars.
1923a32e9e42Smrg   FcBlanks is deprecated, blanks is ignored and accepted only for
1924a32e9e42Smrg   compatibility with older code.
1925a32e9e42Smrg
1926a32e9e42Smrg                          FcFreeTypeCharSetAndSpacing
1927a32e9e42Smrg
1928a32e9e42SmrgName
1929a32e9e42Smrg
1930a32e9e42Smrg   FcFreeTypeCharSetAndSpacing -- compute Unicode coverage and spacing type
1931a32e9e42Smrg
1932a32e9e42SmrgSynopsis
1933a32e9e42Smrg
1934a32e9e42Smrg   #include <fontconfig.h>
1935a32e9e42Smrg   #include <fcfreetype.h>
1936a32e9e42Smrg
1937a32e9e42Smrg
1938a32e9e42Smrg   FcCharSet * FcFreeTypeCharSetAndSpacing(FT_Face face, FcBlanks *blanks,
1939a32e9e42Smrg   int *spacing);
1940a32e9e42Smrg
1941a32e9e42SmrgDescription
1942a32e9e42Smrg
1943a32e9e42Smrg   Scans a FreeType face and returns the set of encoded Unicode chars.
1944a32e9e42Smrg   FcBlanks is deprecated, blanks is ignored and accepted only for
1945a32e9e42Smrg   compatibility with older code. spacing receives the computed spacing type
1946a32e9e42Smrg   of the font, one of FC_MONO for a font where all glyphs have the same
1947a32e9e42Smrg   width, FC_DUAL, where the font has glyphs in precisely two widths, one
1948a32e9e42Smrg   twice as wide as the other, or FC_PROPORTIONAL where the font has glyphs
1949a32e9e42Smrg   of many widths.
19502c393a42Smrg
1951a32e9e42Smrg                                FcFreeTypeQuery
19522c393a42Smrg
19532c393a42SmrgName
19542c393a42Smrg
1955a32e9e42Smrg   FcFreeTypeQuery -- compute pattern from font file (and index)
19562c393a42Smrg
19572c393a42SmrgSynopsis
19582c393a42Smrg
1959a32e9e42Smrg   #include <fontconfig.h>
1960a32e9e42Smrg   #include <fcfreetype.h>
1961a32e9e42Smrg
1962a6844aabSmrg
1963a32e9e42Smrg   FcPattern * FcFreeTypeQuery(const FcChar8 *file, int id, FcBlanks *blanks,
1964a32e9e42Smrg   int *count);
19652c393a42Smrg
19662c393a42SmrgDescription
19672c393a42Smrg
1968a32e9e42Smrg   Constructs a pattern representing the 'id'th face in 'file'. The number of
1969a32e9e42Smrg   faces in 'file' is returned in 'count'. FcBlanks is deprecated, blanks is
1970a32e9e42Smrg   ignored and accepted only for compatibility with older code.
19712c393a42Smrg
1972a32e9e42Smrg                               FcFreeTypeQueryAll
19732c393a42Smrg
19742c393a42SmrgName
19752c393a42Smrg
1976a32e9e42Smrg   FcFreeTypeQueryAll -- compute all patterns from font file (and index)
19772c393a42Smrg
19782c393a42SmrgSynopsis
19792c393a42Smrg
1980a32e9e42Smrg   #include <fontconfig.h>
1981a32e9e42Smrg   #include <fcfreetype.h>
1982a32e9e42Smrg
1983a6844aabSmrg
1984a32e9e42Smrg   unsigned int FcFreeTypeQueryAll(const FcChar8 *file, int id, FcBlanks
1985a32e9e42Smrg   *blanks, int *count, FcFontSet *set);
19862c393a42Smrg
19872c393a42SmrgDescription
19882c393a42Smrg
1989a32e9e42Smrg   Constructs patterns found in 'file'. If id is -1, then all patterns found
1990a32e9e42Smrg   in 'file' are added to 'set'. Otherwise, this function works exactly like
1991a32e9e42Smrg   FcFreeTypeQuery(). The number of faces in 'file' is returned in 'count'.
1992a32e9e42Smrg   The number of patterns added to 'set' is returned. FcBlanks is deprecated,
1993a32e9e42Smrg   blanks is ignored and accepted only for compatibility with older code.
1994a32e9e42Smrg
1995a32e9e42SmrgSince
1996a32e9e42Smrg
1997a32e9e42Smrg   version 2.12.91
19982c393a42Smrg
1999a32e9e42Smrg                              FcFreeTypeQueryFace
20002c393a42Smrg
20012c393a42SmrgName
20022c393a42Smrg
2003a32e9e42Smrg   FcFreeTypeQueryFace -- compute pattern from FT_Face
20042c393a42Smrg
20052c393a42SmrgSynopsis
20062c393a42Smrg
2007a32e9e42Smrg   #include <fontconfig.h>
2008a32e9e42Smrg   #include <fcfreetype.h>
20092c393a42Smrg
2010a32e9e42Smrg
2011a32e9e42Smrg   FcPattern * FcFreeTypeQueryFace(const FT_Face face, const FcChar8 *file,
2012a32e9e42Smrg   int id, FcBlanks *blanks);
20132c393a42Smrg
20142c393a42SmrgDescription
20152c393a42Smrg
2016a32e9e42Smrg   Constructs a pattern representing 'face'. 'file' and 'id' are used solely
2017a32e9e42Smrg   as data for pattern elements (FC_FILE, FC_INDEX and sometimes FC_FAMILY).
2018a32e9e42Smrg   FcBlanks is deprecated, blanks is ignored and accepted only for
2019a32e9e42Smrg   compatibility with older code.
2020a32e9e42Smrg
2021a32e9e42Smrg   --------------------------------------------------------------------------
2022ca08ab68Smrg
2023a32e9e42Smrg  FcValue
2024ca08ab68Smrg
2025ca08ab68Smrg   Table of Contents
2026ca08ab68Smrg
2027a32e9e42Smrg   [61]FcValueDestroy -- Free a value
2028a32e9e42Smrg
2029a32e9e42Smrg   [62]FcValueSave -- Copy a value
2030a32e9e42Smrg
2031a32e9e42Smrg   [63]FcValuePrint -- Print a value to stdout
2032a32e9e42Smrg
2033a32e9e42Smrg   [64]FcValueEqual -- Test two values for equality
2034a32e9e42Smrg
2035a32e9e42Smrg   FcValue is a structure containing a type tag and a union of all possible
2036a32e9e42Smrg   datatypes. The tag is an enum of type FcType and is intended to provide a
2037a32e9e42Smrg   measure of run-time typechecking, although that depends on careful
2038a32e9e42Smrg   programming.
2039a6844aabSmrg
2040a32e9e42Smrg                                 FcValueDestroy
20412c393a42Smrg
20422c393a42SmrgName
20432c393a42Smrg
2044a32e9e42Smrg   FcValueDestroy -- Free a value
20452c393a42Smrg
20462c393a42SmrgSynopsis
20472c393a42Smrg
2048a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2049a32e9e42Smrg
2050a6844aabSmrg
2051ca08ab68Smrg   void FcValueDestroy(FcValue v);
20522c393a42Smrg
20532c393a42SmrgDescription
20542c393a42Smrg
2055ca08ab68Smrg   Frees any memory referenced by v. Values of type FcTypeString,
2056a32e9e42Smrg   FcTypeMatrix and FcTypeCharSet reference memory, the other types do not.
20572c393a42Smrg
2058a32e9e42Smrg                                  FcValueSave
20592c393a42Smrg
20602c393a42SmrgName
20612c393a42Smrg
2062a32e9e42Smrg   FcValueSave -- Copy a value
20632c393a42Smrg
20642c393a42SmrgSynopsis
20652c393a42Smrg
2066a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2067a32e9e42Smrg
2068a6844aabSmrg
2069ca08ab68Smrg   FcValue FcValueSave(FcValue v);
20702c393a42Smrg
20712c393a42SmrgDescription
20722c393a42Smrg
2073a32e9e42Smrg   Returns a copy of v duplicating any object referenced by it so that v may
2074a32e9e42Smrg   be safely destroyed without harming the new value.
20752c393a42Smrg
2076a32e9e42Smrg                                  FcValuePrint
20772c393a42Smrg
20782c393a42SmrgName
20792c393a42Smrg
2080a32e9e42Smrg   FcValuePrint -- Print a value to stdout
20812c393a42Smrg
20822c393a42SmrgSynopsis
20832c393a42Smrg
2084a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2085a32e9e42Smrg
2086a6844aabSmrg
2087ca08ab68Smrg   void FcValuePrint(FcValue v);
20882c393a42Smrg
20892c393a42SmrgDescription
20902c393a42Smrg
2091a32e9e42Smrg   Prints a human-readable representation of v to stdout. The format should
2092a32e9e42Smrg   not be considered part of the library specification as it may change in
2093a32e9e42Smrg   the future.
20942c393a42Smrg
2095a32e9e42Smrg                                  FcValueEqual
20962c393a42Smrg
20972c393a42SmrgName
20982c393a42Smrg
2099a32e9e42Smrg   FcValueEqual -- Test two values for equality
21002c393a42Smrg
21012c393a42SmrgSynopsis
21022c393a42Smrg
2103a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2104a32e9e42Smrg
2105a6844aabSmrg
2106ca08ab68Smrg   FcBool FcValueEqual(FcValue v_a, FcValue v_b);
21072c393a42Smrg
21082c393a42SmrgDescription
21092c393a42Smrg
2110a32e9e42Smrg   Compares two values. Integers and Doubles are compared as numbers;
2111a32e9e42Smrg   otherwise the two values have to be the same type to be considered equal.
2112a32e9e42Smrg   Strings are compared ignoring case.
21132c393a42Smrg
2114a32e9e42Smrg   --------------------------------------------------------------------------
2115a32e9e42Smrg
2116a32e9e42Smrg  FcCharSet
2117ca08ab68Smrg
2118ca08ab68Smrg   Table of Contents
2119ca08ab68Smrg
2120a32e9e42Smrg   [65]FcCharSetCreate -- Create an empty character set
2121a32e9e42Smrg
2122a32e9e42Smrg   [66]FcCharSetDestroy -- Destroy a character set
2123a32e9e42Smrg
2124a32e9e42Smrg   [67]FcCharSetAddChar -- Add a character to a charset
2125a32e9e42Smrg
2126a32e9e42Smrg   [68]FcCharSetDelChar -- Add a character to a charset
2127a32e9e42Smrg
2128a32e9e42Smrg   [69]FcCharSetCopy -- Copy a charset
2129a32e9e42Smrg
2130a32e9e42Smrg   [70]FcCharSetEqual -- Compare two charsets
2131a32e9e42Smrg
2132a32e9e42Smrg   [71]FcCharSetIntersect -- Intersect charsets
2133a32e9e42Smrg
2134a32e9e42Smrg   [72]FcCharSetUnion -- Add charsets
2135a32e9e42Smrg
2136a32e9e42Smrg   [73]FcCharSetSubtract -- Subtract charsets
2137a32e9e42Smrg
2138a32e9e42Smrg   [74]FcCharSetMerge -- Merge charsets
2139a32e9e42Smrg
2140a32e9e42Smrg   [75]FcCharSetHasChar -- Check a charset for a char
2141a32e9e42Smrg
2142a32e9e42Smrg   [76]FcCharSetCount -- Count entries in a charset
2143ca08ab68Smrg
2144a32e9e42Smrg   [77]FcCharSetIntersectCount -- Intersect and count charsets
2145ca08ab68Smrg
2146a32e9e42Smrg   [78]FcCharSetSubtractCount -- Subtract and count charsets
2147a32e9e42Smrg
2148a32e9e42Smrg   [79]FcCharSetIsSubset -- Test for charset inclusion
2149a32e9e42Smrg
2150a32e9e42Smrg   [80]FcCharSetFirstPage -- Start enumerating charset contents
2151a32e9e42Smrg
2152a32e9e42Smrg   [81]FcCharSetNextPage -- Continue enumerating charset contents
2153a32e9e42Smrg
2154a32e9e42Smrg   [82]FcCharSetCoverage -- DEPRECATED return coverage for a Unicode page
2155a32e9e42Smrg
2156a32e9e42Smrg   [83]FcCharSetNew -- DEPRECATED alias for FcCharSetCreate
2157a32e9e42Smrg
2158a32e9e42Smrg   An FcCharSet is a boolean array indicating a set of Unicode chars. Those
2159a32e9e42Smrg   associated with a font are marked constant and cannot be edited.
2160a32e9e42Smrg   FcCharSets may be reference counted internally to reduce memory
2161a32e9e42Smrg   consumption; this may be visible to applications as the result of
2162a32e9e42Smrg   FcCharSetCopy may return it's argument, and that CharSet may remain
2163a32e9e42Smrg   unmodifiable.
2164a32e9e42Smrg
2165a32e9e42Smrg                                FcCharSetCreate
2166ca08ab68Smrg
2167ca08ab68SmrgName
2168ca08ab68Smrg
2169a32e9e42Smrg   FcCharSetCreate -- Create an empty character set
2170ca08ab68Smrg
2171ca08ab68SmrgSynopsis
2172ca08ab68Smrg
2173a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2174a32e9e42Smrg
2175ca08ab68Smrg
2176ca08ab68Smrg   FcCharSet * FcCharSetCreate(void);
2177ca08ab68Smrg
2178ca08ab68SmrgDescription
2179ca08ab68Smrg
2180a32e9e42Smrg   FcCharSetCreate allocates and initializes a new empty character set
2181a32e9e42Smrg   object.
2182ca08ab68Smrg
2183a32e9e42Smrg                                FcCharSetDestroy
21842c393a42Smrg
21852c393a42SmrgName
21862c393a42Smrg
2187a32e9e42Smrg   FcCharSetDestroy -- Destroy a character set
21882c393a42Smrg
21892c393a42SmrgSynopsis
21902c393a42Smrg
2191a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2192a32e9e42Smrg
2193a6844aabSmrg
2194ca08ab68Smrg   void FcCharSetDestroy(FcCharSet *fcs);
21952c393a42Smrg
21962c393a42SmrgDescription
21972c393a42Smrg
2198a32e9e42Smrg   FcCharSetDestroy decrements the reference count fcs. If the reference
2199a32e9e42Smrg   count becomes zero, all memory referenced is freed.
22002c393a42Smrg
2201a32e9e42Smrg                                FcCharSetAddChar
22022c393a42Smrg
22032c393a42SmrgName
22042c393a42Smrg
2205a32e9e42Smrg   FcCharSetAddChar -- Add a character to a charset
22062c393a42Smrg
22072c393a42SmrgSynopsis
22082c393a42Smrg
2209a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2210a32e9e42Smrg
2211a6844aabSmrg
2212ca08ab68Smrg   FcBool FcCharSetAddChar(FcCharSet *fcs, FcChar32 ucs4);
22132c393a42Smrg
22142c393a42SmrgDescription
22152c393a42Smrg
2216a32e9e42Smrg   FcCharSetAddChar adds a single Unicode char to the set, returning FcFalse
2217a32e9e42Smrg   on failure, either as a result of a constant set or from running out of
2218a32e9e42Smrg   memory.
22192c393a42Smrg
2220a32e9e42Smrg                                FcCharSetDelChar
22212c393a42Smrg
22222c393a42SmrgName
22232c393a42Smrg
2224a32e9e42Smrg   FcCharSetDelChar -- Add a character to a charset
22252c393a42Smrg
22262c393a42SmrgSynopsis
22272c393a42Smrg
2228a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2229a32e9e42Smrg
2230a6844aabSmrg
2231ca08ab68Smrg   FcBool FcCharSetDelChar(FcCharSet *fcs, FcChar32 ucs4);
22322c393a42Smrg
22332c393a42SmrgDescription
22342c393a42Smrg
2235a32e9e42Smrg   FcCharSetDelChar deletes a single Unicode char from the set, returning
2236a32e9e42Smrg   FcFalse on failure, either as a result of a constant set or from running
2237a32e9e42Smrg   out of memory.
22382c393a42Smrg
2239b09479dcSmrgSince
22402c393a42Smrg
2241b09479dcSmrg   version 2.9.0
22422c393a42Smrg
2243a32e9e42Smrg                                 FcCharSetCopy
22442c393a42Smrg
22452c393a42SmrgName
22462c393a42Smrg
2247a32e9e42Smrg   FcCharSetCopy -- Copy a charset
22482c393a42Smrg
22492c393a42SmrgSynopsis
22502c393a42Smrg
2251a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2252a32e9e42Smrg
2253a6844aabSmrg
2254ca08ab68Smrg   FcCharSet * FcCharSetCopy(FcCharSet *src);
22552c393a42Smrg
22562c393a42SmrgDescription
22572c393a42Smrg
2258a32e9e42Smrg   Makes a copy of src; note that this may not actually do anything more than
2259a32e9e42Smrg   increment the reference count on src.
22602c393a42Smrg
2261a32e9e42Smrg                                 FcCharSetEqual
22622c393a42Smrg
22632c393a42SmrgName
22642c393a42Smrg
2265a32e9e42Smrg   FcCharSetEqual -- Compare two charsets
22662c393a42Smrg
22672c393a42SmrgSynopsis
22682c393a42Smrg
2269a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2270a32e9e42Smrg
2271a6844aabSmrg
2272ca08ab68Smrg   FcBool FcCharSetEqual(const FcCharSet *a, const FcCharSet *b);
22732c393a42Smrg
22742c393a42SmrgDescription
22752c393a42Smrg
2276ca08ab68Smrg   Returns whether a and b contain the same set of Unicode chars.
22772c393a42Smrg
2278a32e9e42Smrg                               FcCharSetIntersect
22792c393a42Smrg
22802c393a42SmrgName
22812c393a42Smrg
2282a32e9e42Smrg   FcCharSetIntersect -- Intersect charsets
22832c393a42Smrg
22842c393a42SmrgSynopsis
22852c393a42Smrg
2286a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2287a32e9e42Smrg
22882c393a42Smrg
2289a32e9e42Smrg   FcCharSet * FcCharSetIntersect(const FcCharSet *a, const FcCharSet *b);
22902c393a42Smrg
22912c393a42SmrgDescription
22922c393a42Smrg
2293ca08ab68Smrg   Returns a set including only those chars found in both a and b.
22942c393a42Smrg
2295a32e9e42Smrg                                 FcCharSetUnion
22962c393a42Smrg
22972c393a42SmrgName
22982c393a42Smrg
2299a32e9e42Smrg   FcCharSetUnion -- Add charsets
23002c393a42Smrg
23012c393a42SmrgSynopsis
23022c393a42Smrg
2303a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2304a6844aabSmrg
2305a32e9e42Smrg
2306a32e9e42Smrg   FcCharSet * FcCharSetUnion(const FcCharSet *a, const FcCharSet *b);
23072c393a42Smrg
23082c393a42SmrgDescription
23092c393a42Smrg
2310a32e9e42Smrg   Returns a set including only those chars found in either a or b.
23112c393a42Smrg
2312a32e9e42Smrg                               FcCharSetSubtract
23132c393a42Smrg
23142c393a42SmrgName
23152c393a42Smrg
2316a32e9e42Smrg   FcCharSetSubtract -- Subtract charsets
23172c393a42Smrg
23182c393a42SmrgSynopsis
23192c393a42Smrg
2320a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2321a6844aabSmrg
2322a32e9e42Smrg
2323a32e9e42Smrg   FcCharSet * FcCharSetSubtract(const FcCharSet *a, const FcCharSet *b);
23242c393a42Smrg
23252c393a42SmrgDescription
23262c393a42Smrg
2327ca08ab68Smrg   Returns a set including only those chars found in a but not b.
23282c393a42Smrg
2329a32e9e42Smrg                                 FcCharSetMerge
2330a6844aabSmrg
2331a6844aabSmrgName
2332a6844aabSmrg
2333a32e9e42Smrg   FcCharSetMerge -- Merge charsets
2334a6844aabSmrg
2335a6844aabSmrgSynopsis
2336a6844aabSmrg
2337a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2338a32e9e42Smrg
2339a6844aabSmrg
2340a32e9e42Smrg   FcBool FcCharSetMerge(FcCharSet *a, const FcCharSet *b, FcBool *changed);
2341a6844aabSmrg
2342a6844aabSmrgDescription
2343a6844aabSmrg
2344a32e9e42Smrg   Adds all chars in b to a. In other words, this is an in-place version of
2345a32e9e42Smrg   FcCharSetUnion. If changed is not NULL, then it returns whether any new
2346a32e9e42Smrg   chars from b were added to a. Returns FcFalse on failure, either when a is
2347a32e9e42Smrg   a constant set or from running out of memory.
2348a6844aabSmrg
2349a32e9e42Smrg                                FcCharSetHasChar
23502c393a42Smrg
23512c393a42SmrgName
23522c393a42Smrg
2353a32e9e42Smrg   FcCharSetHasChar -- Check a charset for a char
23542c393a42Smrg
23552c393a42SmrgSynopsis
23562c393a42Smrg
2357a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2358a32e9e42Smrg
2359a6844aabSmrg
2360ca08ab68Smrg   FcBool FcCharSetHasChar(const FcCharSet *fcs, FcChar32 ucs4);
23612c393a42Smrg
23622c393a42SmrgDescription
23632c393a42Smrg
2364ca08ab68Smrg   Returns whether fcs contains the char ucs4.
23652c393a42Smrg
2366a32e9e42Smrg                                 FcCharSetCount
23672c393a42Smrg
23682c393a42SmrgName
23692c393a42Smrg
2370a32e9e42Smrg   FcCharSetCount -- Count entries in a charset
23712c393a42Smrg
23722c393a42SmrgSynopsis
23732c393a42Smrg
2374a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2375a32e9e42Smrg
2376a6844aabSmrg
2377ca08ab68Smrg   FcChar32 FcCharSetCount(const FcCharSet *a);
23782c393a42Smrg
23792c393a42SmrgDescription
23802c393a42Smrg
2381ca08ab68Smrg   Returns the total number of Unicode chars in a.
23822c393a42Smrg
2383a32e9e42Smrg                            FcCharSetIntersectCount
23842c393a42Smrg
23852c393a42SmrgName
23862c393a42Smrg
2387a32e9e42Smrg   FcCharSetIntersectCount -- Intersect and count charsets
23882c393a42Smrg
23892c393a42SmrgSynopsis
23902c393a42Smrg
2391a32e9e42Smrg   #include <fontconfig/fontconfig.h>
23922c393a42Smrg
2393a32e9e42Smrg
2394a32e9e42Smrg   FcChar32 FcCharSetIntersectCount(const FcCharSet *a, const FcCharSet *b);
23952c393a42Smrg
23962c393a42SmrgDescription
23972c393a42Smrg
2398ca08ab68Smrg   Returns the number of chars that are in both a and b.
23992c393a42Smrg
2400a32e9e42Smrg                             FcCharSetSubtractCount
24012c393a42Smrg
24022c393a42SmrgName
24032c393a42Smrg
2404a32e9e42Smrg   FcCharSetSubtractCount -- Subtract and count charsets
24052c393a42Smrg
24062c393a42SmrgSynopsis
24072c393a42Smrg
2408a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2409a32e9e42Smrg
2410a6844aabSmrg
2411a32e9e42Smrg   FcChar32 FcCharSetSubtractCount(const FcCharSet *a, const FcCharSet *b);
24122c393a42Smrg
24132c393a42SmrgDescription
24142c393a42Smrg
2415ca08ab68Smrg   Returns the number of chars that are in a but not in b.
24162c393a42Smrg
2417a32e9e42Smrg                               FcCharSetIsSubset
24182c393a42Smrg
24192c393a42SmrgName
24202c393a42Smrg
2421a32e9e42Smrg   FcCharSetIsSubset -- Test for charset inclusion
24222c393a42Smrg
24232c393a42SmrgSynopsis
24242c393a42Smrg
2425a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2426a6844aabSmrg
2427a32e9e42Smrg
2428a32e9e42Smrg   FcBool FcCharSetIsSubset(const FcCharSet *a, const FcCharSet *b);
24292c393a42Smrg
24302c393a42SmrgDescription
24312c393a42Smrg
2432ca08ab68Smrg   Returns whether a is a subset of b.
24332c393a42Smrg
2434a32e9e42Smrg                               FcCharSetFirstPage
24352c393a42Smrg
24362c393a42SmrgName
24372c393a42Smrg
2438a32e9e42Smrg   FcCharSetFirstPage -- Start enumerating charset contents
24392c393a42Smrg
24402c393a42SmrgSynopsis
24412c393a42Smrg
2442a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2443a32e9e42Smrg
2444a6844aabSmrg
2445ca08ab68Smrg   FcChar32 FcCharSetFirstPage(const FcCharSet *a,
2446ca08ab68Smrg   FcChar32[FC_CHARSET_MAP_SIZE] map, FcChar32 *next);
24472c393a42Smrg
24482c393a42SmrgDescription
24492c393a42Smrg
2450a32e9e42Smrg   Builds an array of bits in map marking the first page of Unicode coverage
2451a32e9e42Smrg   of a. *next is set to contains the base code point for the next page in a.
2452a32e9e42Smrg   Returns the base code point for the page, or FC_CHARSET_DONE if a contains
2453a32e9e42Smrg   no pages. As an example, if FcCharSetFirstPage returns 0x300 and fills map
2454a32e9e42Smrg   with
2455a32e9e42Smrg
2456a32e9e42Smrg0xffffffff 0xffffffff 0x01000008 0x44300002 0xffffd7f0 0xfffffffb 0xffff7fff 0xffff0003
24576fc018e4Smrg
2458a32e9e42Smrg   Then the page contains code points 0x300 through 0x33f (the first 64 code
2459a32e9e42Smrg   points on the page) because map[0] and map[1] both have all their bits
2460a32e9e42Smrg   set. It also contains code points 0x343 (0x300 + 32*2 + (4-1)) and 0x35e
2461a32e9e42Smrg   (0x300 + 32*2 + (31-1)) because map[2] has the 4th and 31st bits set. The
2462a4e54154Smrg   code points represented by map[3] and later are left as an exercise for
24636fc018e4Smrg   the reader ;).
24642c393a42Smrg
2465a32e9e42Smrg                               FcCharSetNextPage
24662c393a42Smrg
24672c393a42SmrgName
24682c393a42Smrg
2469a32e9e42Smrg   FcCharSetNextPage -- Continue enumerating charset contents
24702c393a42Smrg
24712c393a42SmrgSynopsis
24722c393a42Smrg
2473a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2474a32e9e42Smrg
2475a6844aabSmrg
2476ca08ab68Smrg   FcChar32 FcCharSetNextPage(const FcCharSet *a,
2477ca08ab68Smrg   FcChar32[FC_CHARSET_MAP_SIZE] map, FcChar32 *next);
24782c393a42Smrg
24792c393a42SmrgDescription
24802c393a42Smrg
2481a32e9e42Smrg   Builds an array of bits in map marking the Unicode coverage of a for page
2482a32e9e42Smrg   containing *next (see the FcCharSetFirstPage description for details).
2483a32e9e42Smrg   *next is set to contains the base code point for the next page in a.
2484a32e9e42Smrg   Returns the base of code point for the page, or FC_CHARSET_DONE if a does
2485a32e9e42Smrg   not contain *next.
24862c393a42Smrg
2487a32e9e42Smrg                               FcCharSetCoverage
24882c393a42Smrg
24892c393a42SmrgName
24902c393a42Smrg
2491a32e9e42Smrg   FcCharSetCoverage -- DEPRECATED return coverage for a Unicode page
24922c393a42Smrg
24932c393a42SmrgSynopsis
24942c393a42Smrg
2495a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2496a32e9e42Smrg
2497a6844aabSmrg
2498ca08ab68Smrg   FcChar32 FcCharSetCoverage(const FcCharSet *a, FcChar32page,
2499ca08ab68Smrg   FcChar32[8]result);
25002c393a42Smrg
25012c393a42SmrgDescription
25022c393a42Smrg
2503a32e9e42Smrg   DEPRECATED This function returns a bitmask in result which indicates which
2504a32e9e42Smrg   code points in page are included in a. FcCharSetCoverage returns the next
2505a32e9e42Smrg   page in the charset which has any coverage.
25062c393a42Smrg
2507a32e9e42Smrg                                  FcCharSetNew
25082c393a42Smrg
25092c393a42SmrgName
25102c393a42Smrg
2511a32e9e42Smrg   FcCharSetNew -- DEPRECATED alias for FcCharSetCreate
25122c393a42Smrg
25132c393a42SmrgSynopsis
25142c393a42Smrg
2515a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2516a32e9e42Smrg
2517a6844aabSmrg
2518ca08ab68Smrg   FcCharSet * FcCharSetNew(void);
25192c393a42Smrg
25202c393a42SmrgDescription
25212c393a42Smrg
2522ca08ab68Smrg   FcCharSetNew is a DEPRECATED alias for FcCharSetCreate.
25232c393a42Smrg
2524a32e9e42Smrg   --------------------------------------------------------------------------
2525a32e9e42Smrg
2526a32e9e42Smrg  FcLangSet
2527ca08ab68Smrg
2528ca08ab68Smrg   Table of Contents
2529ca08ab68Smrg
2530a32e9e42Smrg   [84]FcLangSetCreate -- create a langset object
2531a32e9e42Smrg
2532a32e9e42Smrg   [85]FcLangSetDestroy -- destroy a langset object
2533a32e9e42Smrg
2534a32e9e42Smrg   [86]FcLangSetCopy -- copy a langset object
2535ca08ab68Smrg
2536a32e9e42Smrg   [87]FcLangSetAdd -- add a language to a langset
2537a32e9e42Smrg
2538a32e9e42Smrg   [88]FcLangSetDel -- delete a language from a langset
2539a32e9e42Smrg
2540a32e9e42Smrg   [89]FcLangSetUnion -- Add langsets
2541a32e9e42Smrg
2542a32e9e42Smrg   [90]FcLangSetSubtract -- Subtract langsets
2543a32e9e42Smrg
2544a32e9e42Smrg   [91]FcLangSetCompare -- compare language sets
2545a32e9e42Smrg
2546a32e9e42Smrg   [92]FcLangSetContains -- check langset subset relation
2547a32e9e42Smrg
2548a32e9e42Smrg   [93]FcLangSetEqual -- test for matching langsets
2549a32e9e42Smrg
2550a32e9e42Smrg   [94]FcLangSetHash -- return a hash value for a langset
2551a32e9e42Smrg
2552a32e9e42Smrg   [95]FcLangSetHasLang -- test langset for language support
2553a32e9e42Smrg
2554a32e9e42Smrg   [96]FcGetDefaultLangs -- Get the default languages list
2555a32e9e42Smrg
2556a32e9e42Smrg   [97]FcLangSetGetLangs -- get the list of languages in the langset
2557a32e9e42Smrg
2558a32e9e42Smrg   [98]FcGetLangs -- Get list of languages
2559a32e9e42Smrg
2560a32e9e42Smrg   [99]FcLangNormalize -- Normalize the language string
2561a32e9e42Smrg
2562a32e9e42Smrg   [100]FcLangGetCharSet -- Get character map for a language
2563a32e9e42Smrg
2564a32e9e42Smrg   An FcLangSet is a set of language names (each of which include language
2565a32e9e42Smrg   and an optional territory). They are used when selecting fonts to indicate
2566a32e9e42Smrg   which languages the fonts need to support. Each font is marked, using
2567a32e9e42Smrg   language orthography information built into fontconfig, with the set of
2568a32e9e42Smrg   supported languages.
2569a32e9e42Smrg
2570a32e9e42Smrg                                FcLangSetCreate
2571ca08ab68Smrg
2572ca08ab68SmrgName
2573ca08ab68Smrg
2574a32e9e42Smrg   FcLangSetCreate -- create a langset object
2575ca08ab68Smrg
2576ca08ab68SmrgSynopsis
2577ca08ab68Smrg
2578a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2579a32e9e42Smrg
2580ca08ab68Smrg
2581ca08ab68Smrg   FcLangSet * FcLangSetCreate(void);
2582ca08ab68Smrg
2583ca08ab68SmrgDescription
2584ca08ab68Smrg
2585ca08ab68Smrg   FcLangSetCreate creates a new FcLangSet object.
2586ca08ab68Smrg
2587a32e9e42Smrg                                FcLangSetDestroy
2588ca08ab68Smrg
2589ca08ab68SmrgName
2590ca08ab68Smrg
2591a32e9e42Smrg   FcLangSetDestroy -- destroy a langset object
2592ca08ab68Smrg
2593ca08ab68SmrgSynopsis
2594ca08ab68Smrg
2595a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2596a32e9e42Smrg
2597ca08ab68Smrg
2598ca08ab68Smrg   void FcLangSetDestroy(FcLangSet *ls);
2599ca08ab68Smrg
2600ca08ab68SmrgDescription
2601ca08ab68Smrg
2602a32e9e42Smrg   FcLangSetDestroy destroys a FcLangSet object, freeing all memory
2603a32e9e42Smrg   associated with it.
2604ca08ab68Smrg
2605a32e9e42Smrg                                 FcLangSetCopy
2606a6844aabSmrg
2607ca08ab68SmrgName
2608ca08ab68Smrg
2609a32e9e42Smrg   FcLangSetCopy -- copy a langset object
2610ca08ab68Smrg
2611ca08ab68SmrgSynopsis
2612ca08ab68Smrg
2613a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2614a32e9e42Smrg
2615ca08ab68Smrg
2616ca08ab68Smrg   FcLangSet * FcLangSetCopy(const FcLangSet *ls);
2617ca08ab68Smrg
2618ca08ab68SmrgDescription
26192c393a42Smrg
2620a32e9e42Smrg   FcLangSetCopy creates a new FcLangSet object and populates it with the
2621a32e9e42Smrg   contents of ls.
26222c393a42Smrg
2623a32e9e42Smrg                                  FcLangSetAdd
26242c393a42Smrg
26252c393a42SmrgName
26262c393a42Smrg
2627a32e9e42Smrg   FcLangSetAdd -- add a language to a langset
26282c393a42Smrg
26292c393a42SmrgSynopsis
26302c393a42Smrg
2631a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2632a32e9e42Smrg
2633a6844aabSmrg
2634ca08ab68Smrg   FcBool FcLangSetAdd(FcLangSet *ls, const FcChar8 *lang);
26352c393a42Smrg
26362c393a42SmrgDescription
26372c393a42Smrg
2638a32e9e42Smrg   lang is added to ls. lang should be of the form Ll-Tt where Ll is a two or
2639a32e9e42Smrg   three letter language from ISO 639 and Tt is a territory from ISO 3166.
26402c393a42Smrg
2641a32e9e42Smrg                                  FcLangSetDel
26422c393a42Smrg
26432c393a42SmrgName
26442c393a42Smrg
2645a32e9e42Smrg   FcLangSetDel -- delete a language from a langset
26462c393a42Smrg
26472c393a42SmrgSynopsis
26482c393a42Smrg
2649a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2650a32e9e42Smrg
2651a6844aabSmrg
2652ca08ab68Smrg   FcBool FcLangSetDel(FcLangSet *ls, const FcChar8 *lang);
26532c393a42Smrg
26542c393a42SmrgDescription
26552c393a42Smrg
2656a32e9e42Smrg   lang is removed from ls. lang should be of the form Ll-Tt where Ll is a
2657a32e9e42Smrg   two or three letter language from ISO 639 and Tt is a territory from ISO
2658a32e9e42Smrg   3166.
26592c393a42Smrg
2660b09479dcSmrgSince
26612c393a42Smrg
2662b09479dcSmrg   version 2.9.0
26632c393a42Smrg
2664a32e9e42Smrg                                 FcLangSetUnion
26652c393a42Smrg
26662c393a42SmrgName
26672c393a42Smrg
2668a32e9e42Smrg   FcLangSetUnion -- Add langsets
26692c393a42Smrg
26702c393a42SmrgSynopsis
26712c393a42Smrg
2672a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2673a32e9e42Smrg
26742c393a42Smrg
2675a32e9e42Smrg   FcLangSet * FcLangSetUnion(const FcLangSet *ls_a, const FcLangSet *ls_b);
26762c393a42Smrg
26772c393a42SmrgDescription
26782c393a42Smrg
2679a32e9e42Smrg   Returns a set including only those languages found in either ls_a or ls_b.
26802c393a42Smrg
2681b09479dcSmrgSince
26822c393a42Smrg
2683b09479dcSmrg   version 2.9.0
26842c393a42Smrg
2685a32e9e42Smrg                               FcLangSetSubtract
26862c393a42Smrg
26872c393a42SmrgName
26882c393a42Smrg
2689a32e9e42Smrg   FcLangSetSubtract -- Subtract langsets
26902c393a42Smrg
26912c393a42SmrgSynopsis
26922c393a42Smrg
2693a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2694a6844aabSmrg
2695a32e9e42Smrg
2696a32e9e42Smrg   FcLangSet * FcLangSetSubtract(const FcLangSet *ls_a, const FcLangSet
2697a32e9e42Smrg   *ls_b);
26982c393a42Smrg
26992c393a42SmrgDescription
27002c393a42Smrg
2701a32e9e42Smrg   Returns a set including only those languages found in ls_a but not in
2702a32e9e42Smrg   ls_b.
27032c393a42Smrg
2704b09479dcSmrgSince
27052c393a42Smrg
2706b09479dcSmrg   version 2.9.0
27072c393a42Smrg
2708a32e9e42Smrg                                FcLangSetCompare
27092c393a42Smrg
27102c393a42SmrgName
27112c393a42Smrg
2712a32e9e42Smrg   FcLangSetCompare -- compare language sets
27132c393a42Smrg
27142c393a42SmrgSynopsis
27152c393a42Smrg
2716a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2717a6844aabSmrg
2718a32e9e42Smrg
2719a32e9e42Smrg   FcLangResult FcLangSetCompare(const FcLangSet *ls_a, const FcLangSet
2720a32e9e42Smrg   *ls_b);
27212c393a42Smrg
27222c393a42SmrgDescription
27232c393a42Smrg
2724a32e9e42Smrg   FcLangSetCompare compares language coverage for ls_a and ls_b. If they
2725a32e9e42Smrg   share any language and territory pair, this function returns FcLangEqual.
2726a32e9e42Smrg   If they share a language but differ in which territory that language is
2727a32e9e42Smrg   for, this function returns FcLangDifferentTerritory. If they share no
2728a32e9e42Smrg   languages in common, this function returns FcLangDifferentLang.
27292c393a42Smrg
2730a32e9e42Smrg                               FcLangSetContains
27312c393a42Smrg
27322c393a42SmrgName
27332c393a42Smrg
2734a32e9e42Smrg   FcLangSetContains -- check langset subset relation
27352c393a42Smrg
27362c393a42SmrgSynopsis
27372c393a42Smrg
2738a32e9e42Smrg   #include <fontconfig/fontconfig.h>
27392c393a42Smrg
2740a32e9e42Smrg
2741a32e9e42Smrg   FcBool FcLangSetContains(const FcLangSet *ls_a, const FcLangSet *ls_b);
27422c393a42Smrg
27432c393a42SmrgDescription
27442c393a42Smrg
2745a32e9e42Smrg   FcLangSetContains returns FcTrue if ls_a contains every language in ls_b.
2746a32e9e42Smrg   ls_a will 'contain' a language from ls_b if ls_a has exactly the language,
2747a32e9e42Smrg   or either the language or ls_a has no territory.
27482c393a42Smrg
2749a32e9e42Smrg                                 FcLangSetEqual
27502c393a42Smrg
27512c393a42SmrgName
27522c393a42Smrg
2753a32e9e42Smrg   FcLangSetEqual -- test for matching langsets
27542c393a42Smrg
27552c393a42SmrgSynopsis
27562c393a42Smrg
2757a32e9e42Smrg   #include <fontconfig/fontconfig.h>
27582c393a42Smrg
2759a32e9e42Smrg
2760a32e9e42Smrg   FcBool FcLangSetEqual(const FcLangSet *ls_a, const FcLangSet *ls_b);
27612c393a42Smrg
27622c393a42SmrgDescription
27632c393a42Smrg
2764a32e9e42Smrg   Returns FcTrue if and only if ls_a supports precisely the same language
2765a32e9e42Smrg   and territory combinations as ls_b.
27662c393a42Smrg
2767a32e9e42Smrg                                 FcLangSetHash
27682c393a42Smrg
27692c393a42SmrgName
27702c393a42Smrg
2771a32e9e42Smrg   FcLangSetHash -- return a hash value for a langset
27722c393a42Smrg
27732c393a42SmrgSynopsis
27742c393a42Smrg
2775a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2776a32e9e42Smrg
2777a6844aabSmrg
2778ca08ab68Smrg   FcChar32 FcLangSetHash(const FcLangSet *ls);
27792c393a42Smrg
27802c393a42SmrgDescription
27812c393a42Smrg
2782a32e9e42Smrg   This function returns a value which depends solely on the languages
2783a32e9e42Smrg   supported by ls. Any language which equals ls will have the same result
2784a32e9e42Smrg   from FcLangSetHash. However, two langsets with the same hash value may not
2785a32e9e42Smrg   be equal.
27862c393a42Smrg
2787a32e9e42Smrg                                FcLangSetHasLang
27882c393a42Smrg
27892c393a42SmrgName
27902c393a42Smrg
2791a32e9e42Smrg   FcLangSetHasLang -- test langset for language support
2792a6844aabSmrg
2793a6844aabSmrgSynopsis
2794a6844aabSmrg
2795a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2796a32e9e42Smrg
2797a6844aabSmrg
2798a32e9e42Smrg   FcLangResult FcLangSetHasLang(const FcLangSet *ls, const FcChar8 *lang);
2799a6844aabSmrg
2800a6844aabSmrgDescription
2801a6844aabSmrg
2802a32e9e42Smrg   FcLangSetHasLang checks whether ls supports lang. If ls has a matching
2803a32e9e42Smrg   language and territory pair, this function returns FcLangEqual. If ls has
2804a32e9e42Smrg   a matching language but differs in which territory that language is for,
2805a32e9e42Smrg   this function returns FcLangDifferentTerritory. If ls has no matching
2806a32e9e42Smrg   language, this function returns FcLangDifferentLang.
2807a6844aabSmrg
2808a32e9e42Smrg                               FcGetDefaultLangs
2809a6844aabSmrg
2810a6844aabSmrgName
2811a6844aabSmrg
2812a32e9e42Smrg   FcGetDefaultLangs -- Get the default languages list
28132c393a42Smrg
28142c393a42SmrgSynopsis
28152c393a42Smrg
2816a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2817a32e9e42Smrg
2818a6844aabSmrg
2819b09479dcSmrg   FcStrSet * FcGetDefaultLangs(void);
28202c393a42Smrg
28212c393a42SmrgDescription
28222c393a42Smrg
2823a32e9e42Smrg   Returns a string set of the default languages according to the environment
2824a32e9e42Smrg   variables on the system. This function looks for them in order of FC_LANG,
2825a32e9e42Smrg   LC_ALL, LC_CTYPE and LANG then. If there are no valid values in those
2826a32e9e42Smrg   environment variables, "en" will be set as fallback.
28272c393a42Smrg
2828b09479dcSmrgSince
2829b09479dcSmrg
2830b09479dcSmrg   version 2.9.91
2831b09479dcSmrg
2832a32e9e42Smrg                               FcLangSetGetLangs
2833b09479dcSmrg
2834b09479dcSmrgName
2835b09479dcSmrg
2836a32e9e42Smrg   FcLangSetGetLangs -- get the list of languages in the langset
2837b09479dcSmrg
2838b09479dcSmrgSynopsis
2839b09479dcSmrg
2840a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2841a32e9e42Smrg
2842b09479dcSmrg
2843b09479dcSmrg   FcStrSet * FcLangSetGetLangs(const FcLangSet *ls);
2844b09479dcSmrg
2845b09479dcSmrgDescription
2846b09479dcSmrg
2847b09479dcSmrg   Returns a string set of all languages in langset.
28482c393a42Smrg
2849a32e9e42Smrg                                   FcGetLangs
28502c393a42Smrg
28512c393a42SmrgName
28522c393a42Smrg
2853a32e9e42Smrg   FcGetLangs -- Get list of languages
28542c393a42Smrg
28552c393a42SmrgSynopsis
28562c393a42Smrg
2857a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2858a32e9e42Smrg
2859a6844aabSmrg
2860ca08ab68Smrg   FcStrSet * FcGetLangs(void);
28612c393a42Smrg
28622c393a42SmrgDescription
28632c393a42Smrg
2864ca08ab68Smrg   Returns a string set of all known languages.
28652c393a42Smrg
2866a32e9e42Smrg                                FcLangNormalize
2867c9710b42Smrg
2868c9710b42SmrgName
2869c9710b42Smrg
2870a32e9e42Smrg   FcLangNormalize -- Normalize the language string
2871c9710b42Smrg
2872c9710b42SmrgSynopsis
2873c9710b42Smrg
2874a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2875a32e9e42Smrg
2876c9710b42Smrg
2877c9710b42Smrg   FcChar8 * FcLangNormalize(const FcChar8 *lang);
2878c9710b42Smrg
2879c9710b42SmrgDescription
2880c9710b42Smrg
2881c9710b42Smrg   Returns a string to make lang suitable on fontconfig.
2882c9710b42Smrg
2883b09479dcSmrgSince
2884c9710b42Smrg
2885b09479dcSmrg   version 2.10.91
28862c393a42Smrg
2887a32e9e42Smrg                                FcLangGetCharSet
28882c393a42Smrg
28892c393a42SmrgName
28902c393a42Smrg
2891a32e9e42Smrg   FcLangGetCharSet -- Get character map for a language
28922c393a42Smrg
28932c393a42SmrgSynopsis
28942c393a42Smrg
2895a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2896a32e9e42Smrg
2897a6844aabSmrg
2898ca08ab68Smrg   const FcCharSet * FcLangGetCharSet(const FcChar8 *lang);
28992c393a42Smrg
29002c393a42SmrgDescription
29012c393a42Smrg
2902ca08ab68Smrg   Returns the FcCharMap for a language.
29032c393a42Smrg
2904a32e9e42Smrg   --------------------------------------------------------------------------
2905a32e9e42Smrg
2906a32e9e42Smrg  FcMatrix
2907ca08ab68Smrg
2908ca08ab68Smrg   Table of Contents
2909ca08ab68Smrg
2910a32e9e42Smrg   [101]FcMatrixInit -- initialize an FcMatrix structure
2911a32e9e42Smrg
2912a32e9e42Smrg   [102]FcMatrixCopy -- Copy a matrix
2913a32e9e42Smrg
2914a32e9e42Smrg   [103]FcMatrixEqual -- Compare two matrices
2915a6844aabSmrg
2916a32e9e42Smrg   [104]FcMatrixMultiply -- Multiply matrices
2917a32e9e42Smrg
2918a32e9e42Smrg   [105]FcMatrixRotate -- Rotate a matrix
2919a32e9e42Smrg
2920a32e9e42Smrg   [106]FcMatrixScale -- Scale a matrix
2921a32e9e42Smrg
2922a32e9e42Smrg   [107]FcMatrixShear -- Shear a matrix
2923a32e9e42Smrg
2924a32e9e42Smrg   FcMatrix structures hold an affine transformation in matrix form.
2925a32e9e42Smrg
2926a32e9e42Smrg                                  FcMatrixInit
29272c393a42Smrg
2928953daebaSmrgName
29292c393a42Smrg
2930a32e9e42Smrg   FcMatrixInit -- initialize an FcMatrix structure
29312c393a42Smrg
2932953daebaSmrgSynopsis
29332c393a42Smrg
2934a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2935a32e9e42Smrg
2936ca08ab68Smrg
2937953daebaSmrg   void FcMatrixInit(FcMatrix *matrix);
2938953daebaSmrg
2939953daebaSmrgDescription
2940ca08ab68Smrg
2941953daebaSmrg   FcMatrixInit initializes matrix to the identity matrix.
2942ca08ab68Smrg
2943a32e9e42Smrg                                  FcMatrixCopy
29442c393a42Smrg
29452c393a42SmrgName
29462c393a42Smrg
2947a32e9e42Smrg   FcMatrixCopy -- Copy a matrix
29482c393a42Smrg
29492c393a42SmrgSynopsis
29502c393a42Smrg
2951a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2952a32e9e42Smrg
2953a6844aabSmrg
2954953daebaSmrg   void FcMatrixCopy(const FcMatrix *matrix);
29552c393a42Smrg
29562c393a42SmrgDescription
29572c393a42Smrg
2958953daebaSmrg   FcMatrixCopy allocates a new FcMatrix and copies mat into it.
29592c393a42Smrg
2960a32e9e42Smrg                                 FcMatrixEqual
29612c393a42Smrg
29622c393a42SmrgName
29632c393a42Smrg
2964a32e9e42Smrg   FcMatrixEqual -- Compare two matrices
29652c393a42Smrg
29662c393a42SmrgSynopsis
29672c393a42Smrg
2968a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2969a32e9e42Smrg
2970a6844aabSmrg
2971a32e9e42Smrg   void FcMatrixEqual(const FcMatrix *matrix1, const FcMatrix *matrix2);
29722c393a42Smrg
29732c393a42SmrgDescription
29742c393a42Smrg
2975a32e9e42Smrg   FcMatrixEqual compares matrix1 and matrix2 returning FcTrue when they are
2976a32e9e42Smrg   equal and FcFalse when they are not.
29772c393a42Smrg
2978a32e9e42Smrg                                FcMatrixMultiply
29792c393a42Smrg
29802c393a42SmrgName
29812c393a42Smrg
2982a32e9e42Smrg   FcMatrixMultiply -- Multiply matrices
29832c393a42Smrg
29842c393a42SmrgSynopsis
29852c393a42Smrg
2986a32e9e42Smrg   #include <fontconfig/fontconfig.h>
2987a6844aabSmrg
2988a32e9e42Smrg
2989a32e9e42Smrg   void FcMatrixMultiply(FcMatrix *result, const FcMatrix *matrix1, const
2990a32e9e42Smrg   FcMatrix *matrix2);
29912c393a42Smrg
29922c393a42SmrgDescription
29932c393a42Smrg
2994a32e9e42Smrg   FcMatrixMultiply multiplies matrix1 and matrix2 storing the result in
2995a32e9e42Smrg   result.
29962c393a42Smrg
2997a32e9e42Smrg                                 FcMatrixRotate
29982c393a42Smrg
29992c393a42SmrgName
30002c393a42Smrg
3001a32e9e42Smrg   FcMatrixRotate -- Rotate a matrix
30022c393a42Smrg
30032c393a42SmrgSynopsis
30042c393a42Smrg
3005a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3006a32e9e42Smrg
30072c393a42Smrg
3008953daebaSmrg   void FcMatrixRotate(FcMatrix *matrix, double cos, double sin);
30092c393a42Smrg
30102c393a42SmrgDescription
30112c393a42Smrg
3012a32e9e42Smrg   FcMatrixRotate rotates matrix by the angle who's sine is sin and cosine is
3013a32e9e42Smrg   cos. This is done by multiplying by the matrix:
30142c393a42Smrg
3015a32e9e42Smrg     cos -sin
3016a32e9e42Smrg     sin  cos
3017a32e9e42Smrg
3018a32e9e42Smrg                                 FcMatrixScale
30192c393a42Smrg
30202c393a42SmrgName
30212c393a42Smrg
3022a32e9e42Smrg   FcMatrixScale -- Scale a matrix
30232c393a42Smrg
30242c393a42SmrgSynopsis
30252c393a42Smrg
3026a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3027a32e9e42Smrg
30282c393a42Smrg
3029953daebaSmrg   void FcMatrixScale(FcMatrix *matrix, double sx, double dy);
30302c393a42Smrg
30312c393a42SmrgDescription
30322c393a42Smrg
3033a32e9e42Smrg   FcMatrixScale multiplies matrix x values by sx and y values by dy. This is
3034a32e9e42Smrg   done by multiplying by the matrix:
30352c393a42Smrg
3036a32e9e42Smrg      sx  0
3037a32e9e42Smrg      0   dy
3038a32e9e42Smrg
3039a32e9e42Smrg                                 FcMatrixShear
30402c393a42Smrg
30412c393a42SmrgName
30422c393a42Smrg
3043a32e9e42Smrg   FcMatrixShear -- Shear a matrix
30442c393a42Smrg
30452c393a42SmrgSynopsis
30462c393a42Smrg
3047a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3048a32e9e42Smrg
30492c393a42Smrg
3050953daebaSmrg   void FcMatrixShear(FcMatrix *matrix, double sh, double sv);
30512c393a42Smrg
30522c393a42SmrgDescription
30532c393a42Smrg
3054a32e9e42Smrg   FcMatrixShare shears matrix horizontally by sh and vertically by sv. This
3055a32e9e42Smrg   is done by multiplying by the matrix:
3056a32e9e42Smrg
3057a32e9e42Smrg     1  sh
3058a32e9e42Smrg     sv  1
3059a32e9e42Smrg
3060a32e9e42Smrg   --------------------------------------------------------------------------
3061953daebaSmrg
3062a32e9e42Smrg  FcRange
3063953daebaSmrg
3064953daebaSmrg   Table of Contents
3065a32e9e42Smrg
3066a32e9e42Smrg   [108]FcRangeCopy -- Copy a range object
3067a32e9e42Smrg
3068a32e9e42Smrg   [109]FcRangeCreateDouble -- create a range object for double
3069a32e9e42Smrg
3070a32e9e42Smrg   [110]FcRangeCreateInteger -- create a range object for integer
3071a32e9e42Smrg
3072a32e9e42Smrg   [111]FcRangeDestroy -- destroy a range object
3073a32e9e42Smrg
3074a32e9e42Smrg   [112]FcRangeGetDouble -- Get the range in double
3075a6844aabSmrg
3076953daebaSmrg   An FcRange holds two variables to indicate a range in between.
30772c393a42Smrg
3078a32e9e42Smrg                                  FcRangeCopy
30792c393a42Smrg
30802c393a42SmrgName
30812c393a42Smrg
3082a32e9e42Smrg   FcRangeCopy -- Copy a range object
30832c393a42Smrg
30842c393a42SmrgSynopsis
30852c393a42Smrg
3086a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3087a32e9e42Smrg
30882c393a42Smrg
3089953daebaSmrg   FcRange * FcRangeCopy(const FcRange *range);
30902c393a42Smrg
30912c393a42SmrgDescription
30922c393a42Smrg
3093a32e9e42Smrg   FcRangeCopy creates a new FcRange object and populates it with the
3094a32e9e42Smrg   contents of range.
3095a6844aabSmrg
3096953daebaSmrgSince
30972c393a42Smrg
3098953daebaSmrg   version 2.11.91
3099ca08ab68Smrg
3100a32e9e42Smrg                              FcRangeCreateDouble
3101ca08ab68Smrg
3102953daebaSmrgName
3103953daebaSmrg
3104a32e9e42Smrg   FcRangeCreateDouble -- create a range object for double
3105ca08ab68Smrg
3106953daebaSmrgSynopsis
3107ca08ab68Smrg
3108a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3109a32e9e42Smrg
3110ca08ab68Smrg
3111953daebaSmrg   FcRange * FcRangeCreateDouble(doublebegin, doubleend);
3112ca08ab68Smrg
3113953daebaSmrgDescription
3114ca08ab68Smrg
3115a32e9e42Smrg   FcRangeCreateDouble creates a new FcRange object with double sized value.
3116ca08ab68Smrg
3117953daebaSmrgSince
3118ca08ab68Smrg
3119953daebaSmrg   version 2.11.91
3120ca08ab68Smrg
3121a32e9e42Smrg                              FcRangeCreateInteger
3122ca08ab68Smrg
3123953daebaSmrgName
3124ca08ab68Smrg
3125a32e9e42Smrg   FcRangeCreateInteger -- create a range object for integer
3126ca08ab68Smrg
3127953daebaSmrgSynopsis
3128ca08ab68Smrg
3129a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3130a32e9e42Smrg
3131ca08ab68Smrg
3132953daebaSmrg   FcRange * FcRangeCreateInteger(intbegin, intend);
3133ca08ab68Smrg
3134953daebaSmrgDescription
3135ca08ab68Smrg
3136a32e9e42Smrg   FcRangeCreateInteger creates a new FcRange object with integer sized
3137a32e9e42Smrg   value.
3138ca08ab68Smrg
3139953daebaSmrgSince
3140a6844aabSmrg
3141953daebaSmrg   version 2.11.91
3142a6844aabSmrg
3143a32e9e42Smrg                                 FcRangeDestroy
3144a6844aabSmrg
3145953daebaSmrgName
3146a6844aabSmrg
3147a32e9e42Smrg   FcRangeDestroy -- destroy a range object
31482c393a42Smrg
3149953daebaSmrgSynopsis
3150ca08ab68Smrg
3151a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3152a32e9e42Smrg
3153ca08ab68Smrg
3154953daebaSmrg   void FcRangeDestroy(FcRange *range);
3155ca08ab68Smrg
3156953daebaSmrgDescription
3157ca08ab68Smrg
3158a32e9e42Smrg   FcRangeDestroy destroys a FcRange object, freeing all memory associated
3159a32e9e42Smrg   with it.
3160ca08ab68Smrg
3161953daebaSmrgSince
3162ca08ab68Smrg
3163953daebaSmrg   version 2.11.91
3164ca08ab68Smrg
3165a32e9e42Smrg                                FcRangeGetDouble
3166ca08ab68Smrg
3167953daebaSmrgName
3168c9710b42Smrg
3169a32e9e42Smrg   FcRangeGetDouble -- Get the range in double
3170c9710b42Smrg
3171953daebaSmrgSynopsis
3172ca08ab68Smrg
3173a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3174ca08ab68Smrg
3175a32e9e42Smrg
3176a32e9e42Smrg   FcBool FcRangeGetDouble(const FcRange *range, double *begin, double *end);
31772c393a42Smrg
3178953daebaSmrgDescription
31792c393a42Smrg
3180953daebaSmrg   Returns in begin and end as the range.
31812c393a42Smrg
3182953daebaSmrgSince
31832c393a42Smrg
3184953daebaSmrg   version 2.11.91
31852c393a42Smrg
3186a32e9e42Smrg   --------------------------------------------------------------------------
3187a32e9e42Smrg
3188a32e9e42Smrg  FcConfig
3189953daebaSmrg
3190953daebaSmrg   Table of Contents
3191a32e9e42Smrg
3192a32e9e42Smrg   [113]FcConfigCreate -- Create a configuration
3193a32e9e42Smrg
3194a32e9e42Smrg   [114]FcConfigReference -- Increment config reference count
3195a32e9e42Smrg
3196a32e9e42Smrg   [115]FcConfigDestroy -- Destroy a configuration
3197a32e9e42Smrg
3198a32e9e42Smrg   [116]FcConfigSetCurrent -- Set configuration as default
3199a32e9e42Smrg
3200a32e9e42Smrg   [117]FcConfigGetCurrent -- Return current configuration
3201a32e9e42Smrg
3202a32e9e42Smrg   [118]FcConfigUptoDate -- Check timestamps on config files
3203a32e9e42Smrg
3204a32e9e42Smrg   [119]FcConfigHome -- return the current home directory.
3205a32e9e42Smrg
3206a32e9e42Smrg   [120]FcConfigEnableHome -- controls use of the home directory.
3207a32e9e42Smrg
3208a32e9e42Smrg   [121]FcConfigBuildFonts -- Build font database
3209a32e9e42Smrg
3210a32e9e42Smrg   [122]FcConfigGetConfigDirs -- Get config directories
3211a32e9e42Smrg
3212a32e9e42Smrg   [123]FcConfigGetFontDirs -- Get font directories
3213a32e9e42Smrg
3214a32e9e42Smrg   [124]FcConfigGetConfigFiles -- Get config files
3215a32e9e42Smrg
3216a32e9e42Smrg   [125]FcConfigGetCache -- DEPRECATED used to return per-user cache filename
3217a32e9e42Smrg
3218a32e9e42Smrg   [126]FcConfigGetCacheDirs -- return the list of directories searched for
3219a32e9e42Smrg   cache files
3220a32e9e42Smrg
3221a32e9e42Smrg   [127]FcConfigGetFonts -- Get config font set
3222a32e9e42Smrg
3223a32e9e42Smrg   [128]FcConfigGetBlanks -- Get config blanks
3224a32e9e42Smrg
3225a32e9e42Smrg   [129]FcConfigGetRescanInterval -- Get config rescan interval
3226a32e9e42Smrg
3227a32e9e42Smrg   [130]FcConfigSetRescanInterval -- Set config rescan interval
3228a32e9e42Smrg
3229a32e9e42Smrg   [131]FcConfigAppFontAddFile -- Add font file to font database
3230a32e9e42Smrg
3231a32e9e42Smrg   [132]FcConfigAppFontAddDir -- Add fonts from directory to font database
3232a32e9e42Smrg
3233a32e9e42Smrg   [133]FcConfigAppFontClear -- Remove all app fonts from font database
3234a32e9e42Smrg
3235a32e9e42Smrg   [134]FcConfigSubstituteWithPat -- Execute substitutions
3236a32e9e42Smrg
3237a32e9e42Smrg   [135]FcConfigSubstitute -- Execute substitutions
3238a32e9e42Smrg
3239a32e9e42Smrg   [136]FcFontMatch -- Return best font
3240a32e9e42Smrg
3241a32e9e42Smrg   [137]FcFontSort -- Return list of matching fonts
3242a32e9e42Smrg
3243a32e9e42Smrg   [138]FcFontRenderPrepare -- Prepare pattern for loading font file
3244a32e9e42Smrg
3245a32e9e42Smrg   [139]FcFontList -- List fonts
3246a32e9e42Smrg
3247a32e9e42Smrg   [140]FcConfigFilename -- Find a config file
3248a32e9e42Smrg
3249a4e54154Smrg   [141]FcConfigGetFilename -- Find a config file
3250a4e54154Smrg
3251a4e54154Smrg   [142]FcConfigParseAndLoad -- load a configuration file
3252a32e9e42Smrg
3253a4e54154Smrg   [143]FcConfigParseAndLoadFromMemory -- load a configuration from memory
3254a32e9e42Smrg
3255a4e54154Smrg   [144]FcConfigGetSysRoot -- Obtain the system root directory
3256a32e9e42Smrg
3257a4e54154Smrg   [145]FcConfigSetSysRoot -- Set the system root directory
3258a32e9e42Smrg
3259a4e54154Smrg   [146]FcConfigFileInfoIterInit -- Initialize the iterator
3260a32e9e42Smrg
3261a4e54154Smrg   [147]FcConfigFileInfoIterNext -- Set the iterator to point to the next
3262a32e9e42Smrg   list
3263a32e9e42Smrg
3264a4e54154Smrg   [148]FcConfigFileInfoIterGet -- Obtain the configuration file information
3265a32e9e42Smrg
3266a32e9e42Smrg   An FcConfig object holds the internal representation of a configuration.
3267a32e9e42Smrg   There is a default configuration which applications may use by passing 0
3268a32e9e42Smrg   to any function using the data within an FcConfig.
3269a32e9e42Smrg
3270a32e9e42Smrg                                 FcConfigCreate
3271a32e9e42Smrg
3272a32e9e42SmrgName
3273a32e9e42Smrg
3274a32e9e42Smrg   FcConfigCreate -- Create a configuration
3275a32e9e42Smrg
3276a32e9e42SmrgSynopsis
3277a32e9e42Smrg
3278a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3279a32e9e42Smrg
3280a6844aabSmrg
3281ca08ab68Smrg   FcConfig * FcConfigCreate(void);
32822c393a42Smrg
32832c393a42SmrgDescription
32842c393a42Smrg
3285ca08ab68Smrg   Creates an empty configuration.
32862c393a42Smrg
3287a32e9e42Smrg                               FcConfigReference
3288a6844aabSmrg
3289a6844aabSmrgName
3290a6844aabSmrg
3291a32e9e42Smrg   FcConfigReference -- Increment config reference count
3292a6844aabSmrg
3293a6844aabSmrgSynopsis
3294a6844aabSmrg
3295a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3296a32e9e42Smrg
3297a6844aabSmrg
3298ca08ab68Smrg   FcConfig * FcConfigReference(FcConfig *config);
3299a6844aabSmrg
3300a6844aabSmrgDescription
3301a6844aabSmrg
3302a32e9e42Smrg   Add another reference to config. Configs are freed only when the reference
3303a32e9e42Smrg   count reaches zero. If config is NULL, the current configuration is used.
3304a32e9e42Smrg   In that case this function will be similar to FcConfigGetCurrent() except
3305a32e9e42Smrg   that it increments the reference count before returning and the user is
3306a32e9e42Smrg   responsible for destroying the configuration when not needed anymore.
3307a6844aabSmrg
3308a32e9e42Smrg                                FcConfigDestroy
33092c393a42Smrg
33102c393a42SmrgName
33112c393a42Smrg
3312a32e9e42Smrg   FcConfigDestroy -- Destroy a configuration
33132c393a42Smrg
33142c393a42SmrgSynopsis
33152c393a42Smrg
3316a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3317a32e9e42Smrg
3318a6844aabSmrg
3319ca08ab68Smrg   void FcConfigDestroy(FcConfig *config);
33202c393a42Smrg
33212c393a42SmrgDescription
33222c393a42Smrg
3323a32e9e42Smrg   Decrements the config reference count. If all references are gone,
3324a32e9e42Smrg   destroys the configuration and any data associated with it. Note that
3325a32e9e42Smrg   calling this function with the return from FcConfigGetCurrent will cause a
3326a32e9e42Smrg   new configuration to be created for use as current configuration.
33272c393a42Smrg
3328a32e9e42Smrg                               FcConfigSetCurrent
33292c393a42Smrg
33302c393a42SmrgName
33312c393a42Smrg
3332a32e9e42Smrg   FcConfigSetCurrent -- Set configuration as default
33332c393a42Smrg
33342c393a42SmrgSynopsis
33352c393a42Smrg
3336a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3337a32e9e42Smrg
3338a6844aabSmrg
3339ca08ab68Smrg   FcBool FcConfigSetCurrent(FcConfig *config);
33402c393a42Smrg
33412c393a42SmrgDescription
33422c393a42Smrg
3343a32e9e42Smrg   Sets the current default configuration to config. Implicitly calls
3344a32e9e42Smrg   FcConfigBuildFonts if necessary, and FcConfigReference() to inrease the
3345a32e9e42Smrg   reference count in config since 2.12.0, returning FcFalse if that call
3346a32e9e42Smrg   fails.
33472c393a42Smrg
3348a32e9e42Smrg                               FcConfigGetCurrent
33492c393a42Smrg
33502c393a42SmrgName
33512c393a42Smrg
3352a32e9e42Smrg   FcConfigGetCurrent -- Return current configuration
33532c393a42Smrg
33542c393a42SmrgSynopsis
33552c393a42Smrg
3356a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3357a32e9e42Smrg
3358a6844aabSmrg
3359ca08ab68Smrg   FcConfig * FcConfigGetCurrent(void);
33602c393a42Smrg
33612c393a42SmrgDescription
33622c393a42Smrg
3363ca08ab68Smrg   Returns the current default configuration.
33642c393a42Smrg
3365a32e9e42Smrg                                FcConfigUptoDate
33662c393a42Smrg
33672c393a42SmrgName
33682c393a42Smrg
3369a32e9e42Smrg   FcConfigUptoDate -- Check timestamps on config files
33702c393a42Smrg
33712c393a42SmrgSynopsis
33722c393a42Smrg
3373a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3374a32e9e42Smrg
3375a6844aabSmrg
3376ca08ab68Smrg   FcBool FcConfigUptoDate(FcConfig *config);
33772c393a42Smrg
33782c393a42SmrgDescription
33792c393a42Smrg
3380a32e9e42Smrg   Checks all of the files related to config and returns whether any of them
3381a32e9e42Smrg   has been modified since the configuration was created. If config is NULL,
3382a32e9e42Smrg   the current configuration is used.
33832c393a42Smrg
3384a32e9e42Smrg                                  FcConfigHome
33852c393a42Smrg
33862c393a42SmrgName
33872c393a42Smrg
3388a32e9e42Smrg   FcConfigHome -- return the current home directory.
33892c393a42Smrg
33902c393a42SmrgSynopsis
33912c393a42Smrg
3392a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3393a32e9e42Smrg
3394a6844aabSmrg
3395ca08ab68Smrg   FcChar8 * FcConfigHome(void);
33962c393a42Smrg
33972c393a42SmrgDescription
33982c393a42Smrg
3399a32e9e42Smrg   Return the current user's home directory, if it is available, and if using
3400a32e9e42Smrg   it is enabled, and NULL otherwise. See also FcConfigEnableHome).
34012c393a42Smrg
3402a32e9e42Smrg                               FcConfigEnableHome
34032c393a42Smrg
34042c393a42SmrgName
34052c393a42Smrg
3406a32e9e42Smrg   FcConfigEnableHome -- controls use of the home directory.
34072c393a42Smrg
34082c393a42SmrgSynopsis
34092c393a42Smrg
3410a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3411a32e9e42Smrg
3412a6844aabSmrg
3413ca08ab68Smrg   FcBool FcConfigEnableHome(FcBool enable);
34142c393a42Smrg
34152c393a42SmrgDescription
34162c393a42Smrg
3417a32e9e42Smrg   If enable is FcTrue, then Fontconfig will use various files which are
3418a32e9e42Smrg   specified relative to the user's home directory (using the ~ notation in
3419a32e9e42Smrg   the configuration). When enable is FcFalse, then all use of the home
3420a32e9e42Smrg   directory in these contexts will be disabled. The previous setting of the
3421a32e9e42Smrg   value is returned.
34222c393a42Smrg
3423a32e9e42Smrg                               FcConfigBuildFonts
34242c393a42Smrg
34252c393a42SmrgName
34262c393a42Smrg
3427a32e9e42Smrg   FcConfigBuildFonts -- Build font database
34282c393a42Smrg
34292c393a42SmrgSynopsis
34302c393a42Smrg
3431a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3432a32e9e42Smrg
3433a6844aabSmrg
3434ca08ab68Smrg   FcBool FcConfigBuildFonts(FcConfig *config);
34352c393a42Smrg
34362c393a42SmrgDescription
34372c393a42Smrg
3438a32e9e42Smrg   Builds the set of available fonts for the given configuration. Note that
3439a32e9e42Smrg   any changes to the configuration after this call have indeterminate
3440a32e9e42Smrg   effects. Returns FcFalse if this operation runs out of memory. If config
3441a32e9e42Smrg   is NULL, the current configuration is used.
34422c393a42Smrg
3443a32e9e42Smrg                             FcConfigGetConfigDirs
34442c393a42Smrg
34452c393a42SmrgName
34462c393a42Smrg
3447a32e9e42Smrg   FcConfigGetConfigDirs -- Get config directories
34482c393a42Smrg
34492c393a42SmrgSynopsis
34502c393a42Smrg
3451a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3452a32e9e42Smrg
3453a6844aabSmrg
3454ca08ab68Smrg   FcStrList * FcConfigGetConfigDirs(FcConfig *config);
34552c393a42Smrg
34562c393a42SmrgDescription
34572c393a42Smrg
3458a32e9e42Smrg   Returns the list of font directories specified in the configuration files
3459a32e9e42Smrg   for config. Does not include any subdirectories. If config is NULL, the
3460a32e9e42Smrg   current configuration is used.
34612c393a42Smrg
3462a32e9e42Smrg                              FcConfigGetFontDirs
34632c393a42Smrg
34642c393a42SmrgName
34652c393a42Smrg
3466a32e9e42Smrg   FcConfigGetFontDirs -- Get font directories
34672c393a42Smrg
34682c393a42SmrgSynopsis
34692c393a42Smrg
3470a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3471a32e9e42Smrg
3472a6844aabSmrg
3473ca08ab68Smrg   FcStrList * FcConfigGetFontDirs(FcConfig *config);
34742c393a42Smrg
34752c393a42SmrgDescription
34762c393a42Smrg
3477a32e9e42Smrg   Returns the list of font directories in config. This includes the
3478a32e9e42Smrg   configured font directories along with any directories below those in the
3479a32e9e42Smrg   filesystem. If config is NULL, the current configuration is used.
34802c393a42Smrg
3481a32e9e42Smrg                             FcConfigGetConfigFiles
34822c393a42Smrg
34832c393a42SmrgName
34842c393a42Smrg
3485a32e9e42Smrg   FcConfigGetConfigFiles -- Get config files
34862c393a42Smrg
34872c393a42SmrgSynopsis
34882c393a42Smrg
3489a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3490a32e9e42Smrg
3491a6844aabSmrg
3492ca08ab68Smrg   FcStrList * FcConfigGetConfigFiles(FcConfig *config);
34932c393a42Smrg
34942c393a42SmrgDescription
34952c393a42Smrg
3496a32e9e42Smrg   Returns the list of known configuration files used to generate config. If
3497a32e9e42Smrg   config is NULL, the current configuration is used.
34982c393a42Smrg
3499a32e9e42Smrg                                FcConfigGetCache
35002c393a42Smrg
35012c393a42SmrgName
35022c393a42Smrg
3503a32e9e42Smrg   FcConfigGetCache -- DEPRECATED used to return per-user cache filename
35042c393a42Smrg
35052c393a42SmrgSynopsis
35062c393a42Smrg
3507a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3508a32e9e42Smrg
3509a6844aabSmrg
3510ca08ab68Smrg   FcChar8 * FcConfigGetCache(FcConfig *config);
35112c393a42Smrg
35122c393a42SmrgDescription
35132c393a42Smrg
3514a32e9e42Smrg   With fontconfig no longer using per-user cache files, this function now
3515a32e9e42Smrg   simply returns NULL to indicate that no per-user file exists.
35162c393a42Smrg
3517a32e9e42Smrg                              FcConfigGetCacheDirs
35182c393a42Smrg
35192c393a42SmrgName
35202c393a42Smrg
3521a32e9e42Smrg   FcConfigGetCacheDirs -- return the list of directories searched for cache
3522a32e9e42Smrg   files
35232c393a42Smrg
35242c393a42SmrgSynopsis
35252c393a42Smrg
3526a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3527a32e9e42Smrg
3528a6844aabSmrg
3529ca08ab68Smrg   FcStrList * FcConfigGetCacheDirs(const FcConfig *config);
35302c393a42Smrg
35312c393a42SmrgDescription
35322c393a42Smrg
3533a32e9e42Smrg   FcConfigGetCacheDirs returns a string list containing all of the
3534a32e9e42Smrg   directories that fontconfig will search when attempting to load a cache
3535a32e9e42Smrg   file for a font directory. If config is NULL, the current configuration is
3536a32e9e42Smrg   used.
35372c393a42Smrg
3538a32e9e42Smrg                                FcConfigGetFonts
35392c393a42Smrg
35402c393a42SmrgName
35412c393a42Smrg
3542a32e9e42Smrg   FcConfigGetFonts -- Get config font set
35432c393a42Smrg
35442c393a42SmrgSynopsis
35452c393a42Smrg
3546a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3547a32e9e42Smrg
3548a6844aabSmrg
3549ca08ab68Smrg   FcFontSet * FcConfigGetFonts(FcConfig *config, FcSetName set);
35502c393a42Smrg
35512c393a42SmrgDescription
35522c393a42Smrg
3553a32e9e42Smrg   Returns one of the two sets of fonts from the configuration as specified
3554a32e9e42Smrg   by set. This font set is owned by the library and must not be modified or
3555a32e9e42Smrg   freed. If config is NULL, the current configuration is used.
35562c393a42Smrg
3557a4e54154Smrg   This function isn't MT-safe. FcConfigReference must be called before using
3558a4e54154Smrg   this and then FcConfigDestroy when the return value is no longer
3559a4e54154Smrg   referenced.
3560a4e54154Smrg
3561a32e9e42Smrg                               FcConfigGetBlanks
35622c393a42Smrg
35632c393a42SmrgName
35642c393a42Smrg
3565a32e9e42Smrg   FcConfigGetBlanks -- Get config blanks
35662c393a42Smrg
35672c393a42SmrgSynopsis
35682c393a42Smrg
3569a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3570a32e9e42Smrg
3571a6844aabSmrg
3572ca08ab68Smrg   FcBlanks * FcConfigGetBlanks(FcConfig *config);
35732c393a42Smrg
35742c393a42SmrgDescription
35752c393a42Smrg
3576a32e9e42Smrg   FcBlanks is deprecated. This function always returns NULL.
35772c393a42Smrg
3578a32e9e42Smrg                           FcConfigGetRescanInterval
35792c393a42Smrg
35802c393a42SmrgName
35812c393a42Smrg
3582a32e9e42Smrg   FcConfigGetRescanInterval -- Get config rescan interval
35832c393a42Smrg
35842c393a42SmrgSynopsis
35852c393a42Smrg
3586a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3587a32e9e42Smrg
3588a6844aabSmrg
3589ca08ab68Smrg   int FcConfigGetRescanInterval(FcConfig *config);
35902c393a42Smrg
35912c393a42SmrgDescription
35922c393a42Smrg
3593a32e9e42Smrg   Returns the interval between automatic checks of the configuration (in
3594a32e9e42Smrg   seconds) specified in config. The configuration is checked during a call
3595a32e9e42Smrg   to FcFontList when this interval has passed since the last check. An
3596a32e9e42Smrg   interval setting of zero disables automatic checks. If config is NULL, the
3597ca08ab68Smrg   current configuration is used.
35982c393a42Smrg
3599a32e9e42Smrg                           FcConfigSetRescanInterval
36002c393a42Smrg
36012c393a42SmrgName
36022c393a42Smrg
3603a32e9e42Smrg   FcConfigSetRescanInterval -- Set config rescan interval
36042c393a42Smrg
36052c393a42SmrgSynopsis
36062c393a42Smrg
3607a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3608a32e9e42Smrg
3609a6844aabSmrg
3610a32e9e42Smrg   FcBool FcConfigSetRescanInterval(FcConfig *config, int rescanInterval);
36112c393a42Smrg
36122c393a42SmrgDescription
36132c393a42Smrg
3614a32e9e42Smrg   Sets the rescan interval. Returns FcFalse if the interval cannot be set
3615a32e9e42Smrg   (due to allocation failure). Otherwise returns FcTrue. An interval setting
3616a32e9e42Smrg   of zero disables automatic checks. If config is NULL, the current
3617a32e9e42Smrg   configuration is used.
36182c393a42Smrg
3619a32e9e42Smrg                             FcConfigAppFontAddFile
36202c393a42Smrg
36212c393a42SmrgName
36222c393a42Smrg
3623a32e9e42Smrg   FcConfigAppFontAddFile -- Add font file to font database
36242c393a42Smrg
36252c393a42SmrgSynopsis
36262c393a42Smrg
3627a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3628a32e9e42Smrg
3629a6844aabSmrg
3630a32e9e42Smrg   FcBool FcConfigAppFontAddFile(FcConfig *config, const FcChar8 *file);
36312c393a42Smrg
36322c393a42SmrgDescription
36332c393a42Smrg
3634a32e9e42Smrg   Adds an application-specific font to the configuration. Returns FcFalse if
3635a32e9e42Smrg   the fonts cannot be added (due to allocation failure or no fonts found).
3636a32e9e42Smrg   Otherwise returns FcTrue. If config is NULL, the current configuration is
3637a32e9e42Smrg   used.
36382c393a42Smrg
3639a32e9e42Smrg                             FcConfigAppFontAddDir
36402c393a42Smrg
36412c393a42SmrgName
36422c393a42Smrg
3643a32e9e42Smrg   FcConfigAppFontAddDir -- Add fonts from directory to font database
36442c393a42Smrg
36452c393a42SmrgSynopsis
36462c393a42Smrg
3647a32e9e42Smrg   #include <fontconfig/fontconfig.h>
36482c393a42Smrg
3649a32e9e42Smrg
3650a32e9e42Smrg   FcBool FcConfigAppFontAddDir(FcConfig *config, const FcChar8 *dir);
36512c393a42Smrg
36522c393a42SmrgDescription
36532c393a42Smrg
3654a32e9e42Smrg   Scans the specified directory for fonts, adding each one found to the
3655a32e9e42Smrg   application-specific set of fonts. Returns FcFalse if the fonts cannot be
3656a32e9e42Smrg   added (due to allocation failure). Otherwise returns FcTrue. If config is
3657a32e9e42Smrg   NULL, the current configuration is used.
36582c393a42Smrg
3659a32e9e42Smrg                              FcConfigAppFontClear
36602c393a42Smrg
36612c393a42SmrgName
36622c393a42Smrg
3663a32e9e42Smrg   FcConfigAppFontClear -- Remove all app fonts from font database
36642c393a42Smrg
36652c393a42SmrgSynopsis
36662c393a42Smrg
3667a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3668a32e9e42Smrg
3669a6844aabSmrg
3670ca08ab68Smrg   void FcConfigAppFontClear(FcConfig *config);
36712c393a42Smrg
36722c393a42SmrgDescription
36732c393a42Smrg
3674a32e9e42Smrg   Clears the set of application-specific fonts. If config is NULL, the
3675a32e9e42Smrg   current configuration is used.
36762c393a42Smrg
3677a32e9e42Smrg                           FcConfigSubstituteWithPat
36782c393a42Smrg
36792c393a42SmrgName
36802c393a42Smrg
3681a32e9e42Smrg   FcConfigSubstituteWithPat -- Execute substitutions
36822c393a42Smrg
36832c393a42SmrgSynopsis
36842c393a42Smrg
3685a32e9e42Smrg   #include <fontconfig/fontconfig.h>
36862c393a42Smrg
3687a32e9e42Smrg
3688a32e9e42Smrg   FcBool FcConfigSubstituteWithPat(FcConfig *config, FcPattern *p, FcPattern
3689a32e9e42Smrg   *p_pat, FcMatchKind kind);
36902c393a42Smrg
36912c393a42SmrgDescription
36922c393a42Smrg
3693a32e9e42Smrg   Performs the sequence of pattern modification operations, if kind is
3694a32e9e42Smrg   FcMatchPattern, then those tagged as pattern operations are applied, else
3695a32e9e42Smrg   if kind is FcMatchFont, those tagged as font operations are applied and
3696a32e9e42Smrg   p_pat is used for <test> elements with target=pattern. Returns FcFalse if
3697a32e9e42Smrg   the substitution cannot be performed (due to allocation failure).
3698a32e9e42Smrg   Otherwise returns FcTrue. If config is NULL, the current configuration is
3699a32e9e42Smrg   used.
37002c393a42Smrg
3701a32e9e42Smrg                               FcConfigSubstitute
37022c393a42Smrg
37032c393a42SmrgName
37042c393a42Smrg
3705a32e9e42Smrg   FcConfigSubstitute -- Execute substitutions
37062c393a42Smrg
37072c393a42SmrgSynopsis
37082c393a42Smrg
3709a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3710a6844aabSmrg
3711a32e9e42Smrg
3712a32e9e42Smrg   FcBool FcConfigSubstitute(FcConfig *config, FcPattern *p, FcMatchKind
3713a32e9e42Smrg   kind);
37142c393a42Smrg
37152c393a42SmrgDescription
37162c393a42Smrg
3717a32e9e42Smrg   Calls FcConfigSubstituteWithPat setting p_pat to NULL. Returns FcFalse if
3718a32e9e42Smrg   the substitution cannot be performed (due to allocation failure).
3719a32e9e42Smrg   Otherwise returns FcTrue. If config is NULL, the current configuration is
3720a32e9e42Smrg   used.
3721a32e9e42Smrg
3722a32e9e42Smrg                                  FcFontMatch
3723a32e9e42Smrg
3724a32e9e42SmrgName
3725a32e9e42Smrg
3726a32e9e42Smrg   FcFontMatch -- Return best font
3727a32e9e42Smrg
3728a32e9e42SmrgSynopsis
3729a32e9e42Smrg
3730a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3731a32e9e42Smrg
3732a32e9e42Smrg
3733a32e9e42Smrg   FcPattern * FcFontMatch(FcConfig *config, FcPattern *p, FcResult *result);
3734a32e9e42Smrg
3735a32e9e42SmrgDescription
3736a32e9e42Smrg
3737a32e9e42Smrg   Finds the font in sets most closely matching pattern and returns the
3738a32e9e42Smrg   result of FcFontRenderPrepare for that font and the provided pattern. This
3739a32e9e42Smrg   function should be called only after FcConfigSubstitute and
3740a32e9e42Smrg   FcDefaultSubstitute have been called for p; otherwise the results will not
3741a32e9e42Smrg   be correct. If config is NULL, the current configuration is used.
3742a32e9e42Smrg
3743a32e9e42Smrg                                   FcFontSort
3744a32e9e42Smrg
3745a32e9e42SmrgName
3746a32e9e42Smrg
3747a32e9e42Smrg   FcFontSort -- Return list of matching fonts
3748a32e9e42Smrg
3749a32e9e42SmrgSynopsis
3750a32e9e42Smrg
3751a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3752a32e9e42Smrg
3753a32e9e42Smrg
3754a32e9e42Smrg   FcFontSet * FcFontSort(FcConfig *config, FcPattern *p, FcBool trim,
3755a32e9e42Smrg   FcCharSet **csp, FcResult *result);
3756a32e9e42Smrg
3757a32e9e42SmrgDescription
37582c393a42Smrg
3759a32e9e42Smrg   Returns the list of fonts sorted by closeness to p. If trim is FcTrue,
3760a32e9e42Smrg   elements in the list which don't include Unicode coverage not provided by
3761a32e9e42Smrg   earlier elements in the list are elided. The union of Unicode coverage of
3762a32e9e42Smrg   all of the fonts is returned in csp, if csp is not NULL. This function
3763a32e9e42Smrg   should be called only after FcConfigSubstitute and FcDefaultSubstitute
3764a32e9e42Smrg   have been called for p; otherwise the results will not be correct.
3765a32e9e42Smrg
3766a32e9e42Smrg   The returned FcFontSet references FcPattern structures which may be shared
3767a32e9e42Smrg   by the return value from multiple FcFontSort calls, applications must not
3768a32e9e42Smrg   modify these patterns. Instead, they should be passed, along with p to
3769a32e9e42Smrg   FcFontRenderPrepare which combines them into a complete pattern.
3770a32e9e42Smrg
3771a32e9e42Smrg   The FcFontSet returned by FcFontSort is destroyed by calling
3772a32e9e42Smrg   FcFontSetDestroy. If config is NULL, the current configuration is used.
3773a32e9e42Smrg
3774a32e9e42Smrg                              FcFontRenderPrepare
3775a32e9e42Smrg
3776a32e9e42SmrgName
3777a32e9e42Smrg
3778a32e9e42Smrg   FcFontRenderPrepare -- Prepare pattern for loading font file
3779a32e9e42Smrg
3780a32e9e42SmrgSynopsis
3781a32e9e42Smrg
3782a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3783a32e9e42Smrg
3784a32e9e42Smrg
3785a32e9e42Smrg   FcPattern * FcFontRenderPrepare(FcConfig *config, FcPattern *pat,
3786a32e9e42Smrg   FcPattern *font);
3787a32e9e42Smrg
3788a32e9e42SmrgDescription
3789a32e9e42Smrg
3790a32e9e42Smrg   Creates a new pattern consisting of elements of font not appearing in pat,
3791a32e9e42Smrg   elements of pat not appearing in font and the best matching value from pat
3792a32e9e42Smrg   for elements appearing in both. The result is passed to
3793a32e9e42Smrg   FcConfigSubstituteWithPat with kind FcMatchFont and then returned.
3794a32e9e42Smrg
3795a32e9e42Smrg                                   FcFontList
37962c393a42Smrg
37972c393a42SmrgName
37982c393a42Smrg
3799a32e9e42Smrg   FcFontList -- List fonts
38002c393a42Smrg
38012c393a42SmrgSynopsis
38022c393a42Smrg
3803a32e9e42Smrg   #include <fontconfig/fontconfig.h>
38042c393a42Smrg
3805a32e9e42Smrg
3806a32e9e42Smrg   FcFontSet * FcFontList(FcConfig *config, FcPattern *p, FcObjectSet *os);
3807a32e9e42Smrg
3808a32e9e42SmrgDescription
3809a32e9e42Smrg
3810a32e9e42Smrg   Selects fonts matching p, creates patterns from those fonts containing
3811a32e9e42Smrg   only the objects in os and returns the set of unique such patterns. If
3812a32e9e42Smrg   config is NULL, the default configuration is checked to be up to date, and
3813a32e9e42Smrg   used.
3814a32e9e42Smrg
3815a32e9e42Smrg                                FcConfigFilename
3816a32e9e42Smrg
3817a32e9e42SmrgName
3818a32e9e42Smrg
3819a32e9e42Smrg   FcConfigFilename -- Find a config file
3820a32e9e42Smrg
3821a32e9e42SmrgSynopsis
3822a32e9e42Smrg
3823a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3824a32e9e42Smrg
3825a32e9e42Smrg
3826a32e9e42Smrg   FcChar8 * FcConfigFilename(const FcChar8 *name);
38272c393a42Smrg
3828a4e54154SmrgDescription
3829a4e54154Smrg
3830a4e54154Smrg   This function is deprecated and is replaced by FcConfigGetFilename.
3831a4e54154Smrg
3832a4e54154Smrg                              FcConfigGetFilename
3833a4e54154Smrg
3834a4e54154SmrgName
3835a4e54154Smrg
3836a4e54154Smrg   FcConfigGetFilename -- Find a config file
3837a4e54154Smrg
3838a4e54154SmrgSynopsis
3839a4e54154Smrg
3840a4e54154Smrg   #include <fontconfig/fontconfig.h>
3841a4e54154Smrg
3842a4e54154Smrg
3843a4e54154Smrg   FcChar8 * FcConfigGetFilename(FcConfig *config, const FcChar8 *name);
3844a4e54154Smrg
38452c393a42SmrgDescription
38462c393a42Smrg
3847a32e9e42Smrg   Given the specified external entity name, return the associated filename.
3848a32e9e42Smrg   This provides applications a way to convert various configuration file
3849a32e9e42Smrg   references into filename form.
3850a32e9e42Smrg
3851a32e9e42Smrg   A null or empty name indicates that the default configuration file should
3852a32e9e42Smrg   be used; which file this references can be overridden with the
3853a32e9e42Smrg   FONTCONFIG_FILE environment variable. Next, if the name starts with ~, it
3854a32e9e42Smrg   refers to a file in the current users home directory. Otherwise if the
3855a32e9e42Smrg   name doesn't start with '/', it refers to a file in the default
3856a32e9e42Smrg   configuration directory; the built-in default directory can be overridden
3857a32e9e42Smrg   with the FONTCONFIG_PATH environment variable.
38582c393a42Smrg
3859a4e54154Smrg   The result of this function is affected by the FONTCONFIG_SYSROOT
3860a4e54154Smrg   environment variable or equivalent functionality.
3861a4e54154Smrg
3862a32e9e42Smrg                              FcConfigParseAndLoad
38632c393a42Smrg
38642c393a42SmrgName
38652c393a42Smrg
3866a32e9e42Smrg   FcConfigParseAndLoad -- load a configuration file
38672c393a42Smrg
38682c393a42SmrgSynopsis
38692c393a42Smrg
3870a32e9e42Smrg   #include <fontconfig/fontconfig.h>
38712c393a42Smrg
38722c393a42Smrg
3873a32e9e42Smrg   FcBool FcConfigParseAndLoad(FcConfig *config, const FcChar8 *file, FcBool
3874a32e9e42Smrg   complain);
38752c393a42Smrg
3876a32e9e42SmrgDescription
38772c393a42Smrg
3878a32e9e42Smrg   Walks the configuration in 'file' and constructs the internal
3879a32e9e42Smrg   representation in 'config'. Any include files referenced from within
3880a32e9e42Smrg   'file' will be loaded and parsed. If 'complain' is FcFalse, no warning
3881a32e9e42Smrg   will be displayed if 'file' does not exist. Error and warning messages
3882a32e9e42Smrg   will be output to stderr. Returns FcFalse if some error occurred while
3883a32e9e42Smrg   loading the file, either a parse error, semantic error or allocation
3884a32e9e42Smrg   failure. Otherwise returns FcTrue.
38852c393a42Smrg
3886a32e9e42Smrg                         FcConfigParseAndLoadFromMemory
38872c393a42Smrg
38882c393a42SmrgName
38892c393a42Smrg
3890a32e9e42Smrg   FcConfigParseAndLoadFromMemory -- load a configuration from memory
38912c393a42Smrg
38922c393a42SmrgSynopsis
38932c393a42Smrg
3894a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3895a32e9e42Smrg
3896a6844aabSmrg
3897a32e9e42Smrg   FcBool FcConfigParseAndLoadFromMemory(FcConfig *config, const FcChar8
3898a32e9e42Smrg   *buffer, FcBool complain);
38992c393a42Smrg
39002c393a42SmrgDescription
39012c393a42Smrg
3902a32e9e42Smrg   Walks the configuration in 'memory' and constructs the internal
3903a32e9e42Smrg   representation in 'config'. Any includes files referenced from within
3904a32e9e42Smrg   'memory' will be loaded and dparsed. If 'complain' is FcFalse, no warning
3905a32e9e42Smrg   will be displayed if 'file' does not exist. Error and warning messages
3906a32e9e42Smrg   will be output to stderr. Returns FcFalse if fsome error occurred while
3907a32e9e42Smrg   loading the file, either a parse error, semantic error or allocation
3908a32e9e42Smrg   failure. Otherwise returns FcTrue.
39092c393a42Smrg
3910a32e9e42SmrgSince
3911a32e9e42Smrg
3912a32e9e42Smrg   version 2.12.5
3913a32e9e42Smrg
3914a32e9e42Smrg                               FcConfigGetSysRoot
39152c393a42Smrg
39162c393a42SmrgName
39172c393a42Smrg
3918a32e9e42Smrg   FcConfigGetSysRoot -- Obtain the system root directory
39192c393a42Smrg
39202c393a42SmrgSynopsis
39212c393a42Smrg
3922a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3923a32e9e42Smrg
39242c393a42Smrg
3925a32e9e42Smrg   const FcChar8 * FcConfigGetSysRoot(const FcConfig *config);
39262c393a42Smrg
39272c393a42SmrgDescription
39282c393a42Smrg
3929a4e54154Smrg   Obtains the system root directory in 'config' if available. All files
3930a4e54154Smrg   (including file properties in patterns) obtained from this 'config' are
3931a4e54154Smrg   relative to this system root directory.
3932a4e54154Smrg
3933a4e54154Smrg   This function isn't MT-safe. FcConfigReference must be called before using
3934a4e54154Smrg   this and then FcConfigDestroy when the return value is no longer
3935a4e54154Smrg   referenced.
3936a32e9e42Smrg
3937a32e9e42SmrgSince
3938a32e9e42Smrg
3939a32e9e42Smrg   version 2.10.92
39402c393a42Smrg
3941a32e9e42Smrg                               FcConfigSetSysRoot
39422c393a42Smrg
39432c393a42SmrgName
39442c393a42Smrg
3945a32e9e42Smrg   FcConfigSetSysRoot -- Set the system root directory
39462c393a42Smrg
39472c393a42SmrgSynopsis
39482c393a42Smrg
3949a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3950a6844aabSmrg
3951a32e9e42Smrg
3952a32e9e42Smrg   void FcConfigSetSysRoot(FcConfig *config, const FcChar8 *sysroot);
39532c393a42Smrg
39542c393a42SmrgDescription
39552c393a42Smrg
3956a4e54154Smrg   Set 'sysroot' as the system root directory. All file paths used or created
3957a4e54154Smrg   with this 'config' (including file properties in patterns) will be
3958a4e54154Smrg   considered or made relative to this 'sysroot'. This allows a host to
3959a4e54154Smrg   generate caches for targets at build time. This also allows a cache to be
3960a4e54154Smrg   re-targeted to a different base directory if 'FcConfigGetSysRoot' is used
3961a4e54154Smrg   to resolve file paths. When setting this on the current config this causes
3962a4e54154Smrg   changing current config (calls FcConfigSetCurrent()).
39632c393a42Smrg
3964a32e9e42SmrgSince
3965a32e9e42Smrg
3966a32e9e42Smrg   version 2.10.92
39672c393a42Smrg
3968a32e9e42Smrg                            FcConfigFileInfoIterInit
39692c393a42Smrg
39702c393a42SmrgName
39712c393a42Smrg
3972a32e9e42Smrg   FcConfigFileInfoIterInit -- Initialize the iterator
39732c393a42Smrg
39742c393a42SmrgSynopsis
39752c393a42Smrg
3976a32e9e42Smrg   #include <fontconfig/fontconfig.h>
3977a32e9e42Smrg
39782c393a42Smrg
3979a32e9e42Smrg   void FcConfigFileInfoIterInit(FcConfig *config, FcConfigFileInfoIter
3980a32e9e42Smrg   *iter);
39812c393a42Smrg
39822c393a42SmrgDescription
39832c393a42Smrg
3984a32e9e42Smrg   Initialize 'iter' with the first iterator in the config file information
3985a32e9e42Smrg   list.
39862c393a42Smrg
3987a4e54154Smrg   The config file information list is stored in numerical order for
3988a4e54154Smrg   filenames i.e. how fontconfig actually read them.
3989a4e54154Smrg
3990a4e54154Smrg   This function isn't MT-safe. FcConfigReference must be called before using
3991a4e54154Smrg   this and then FcConfigDestroy when the relevant values are no longer
3992a4e54154Smrg   referenced.
3993a4e54154Smrg
3994a32e9e42SmrgSince
3995a32e9e42Smrg
3996a32e9e42Smrg   version 2.12.91
3997a32e9e42Smrg
3998a32e9e42Smrg                            FcConfigFileInfoIterNext
3999c9710b42Smrg
4000c9710b42SmrgName
4001c9710b42Smrg
4002a32e9e42Smrg   FcConfigFileInfoIterNext -- Set the iterator to point to the next list
4003c9710b42Smrg
4004c9710b42SmrgSynopsis
4005c9710b42Smrg
4006a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4007c9710b42Smrg
4008a32e9e42Smrg
4009a32e9e42Smrg   FcBool FcConfigFileInfoIterNext(FcConfig *config, FcConfigFileInfoIter
4010a32e9e42Smrg   *iter);
4011c9710b42Smrg
4012c9710b42SmrgDescription
4013c9710b42Smrg
4014a32e9e42Smrg   Set 'iter' to point to the next node in the config file information list.
4015a32e9e42Smrg   If there is no next node, FcFalse is returned.
4016c9710b42Smrg
4017a4e54154Smrg   This function isn't MT-safe. FcConfigReference must be called before using
4018a4e54154Smrg   FcConfigFileInfoIterInit and then FcConfigDestroy when the relevant values
4019a4e54154Smrg   are no longer referenced.
4020a4e54154Smrg
4021b09479dcSmrgSince
4022c9710b42Smrg
4023a32e9e42Smrg   version 2.12.91
4024c9710b42Smrg
4025a32e9e42Smrg                            FcConfigFileInfoIterGet
4026c9710b42Smrg
4027c9710b42SmrgName
4028c9710b42Smrg
4029a32e9e42Smrg   FcConfigFileInfoIterGet -- Obtain the configuration file information
4030c9710b42Smrg
4031c9710b42SmrgSynopsis
4032c9710b42Smrg
4033a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4034a32e9e42Smrg
4035c9710b42Smrg
4036a32e9e42Smrg   FcBool FcConfigFileInfoIterGet(FcConfig *config, FcConfigFileInfoIter
4037a32e9e42Smrg   *iter, FcChar8 **name, FcChar8 **description, FcBool *enabled);
4038c9710b42Smrg
4039c9710b42SmrgDescription
4040c9710b42Smrg
4041a32e9e42Smrg   Obtain the filename, the description and the flag whether it is enabled or
4042a32e9e42Smrg   not for 'iter' where points to current configuration file information. If
4043a32e9e42Smrg   the iterator is invalid, FcFalse is returned.
4044c9710b42Smrg
4045a4e54154Smrg   This function isn't MT-safe. FcConfigReference must be called before using
4046a4e54154Smrg   FcConfigFileInfoIterInit and then FcConfigDestroy when the relevant values
4047a4e54154Smrg   are no longer referenced.
4048a4e54154Smrg
4049b09479dcSmrgSince
4050c9710b42Smrg
4051a32e9e42Smrg   version 2.12.91
4052a32e9e42Smrg
4053a32e9e42Smrg   --------------------------------------------------------------------------
4054ca08ab68Smrg
4055a32e9e42Smrg  FcObjectType
40562c393a42Smrg
4057ca08ab68Smrg   Table of Contents
40582c393a42Smrg
4059a4e54154Smrg   [149]FcNameRegisterObjectTypes -- Register object types
4060a32e9e42Smrg
4061a4e54154Smrg   [150]FcNameUnregisterObjectTypes -- Unregister object types
4062a32e9e42Smrg
4063a4e54154Smrg   [151]FcNameGetObjectType -- Lookup an object type
4064ca08ab68Smrg
4065a32e9e42Smrg   Provides for application-specified font name object types so that new
4066a32e9e42Smrg   pattern elements can be generated from font names.
4067a32e9e42Smrg
4068a32e9e42Smrg                           FcNameRegisterObjectTypes
40692c393a42Smrg
40702c393a42SmrgName
40712c393a42Smrg
4072a32e9e42Smrg   FcNameRegisterObjectTypes -- Register object types
40732c393a42Smrg
40742c393a42SmrgSynopsis
40752c393a42Smrg
4076a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4077a32e9e42Smrg
40782c393a42Smrg
4079a32e9e42Smrg   FcBool FcNameRegisterObjectTypes(const FcObjectType *types, int ntype);
40802c393a42Smrg
40812c393a42SmrgDescription
40822c393a42Smrg
4083c9710b42Smrg   Deprecated. Does nothing. Returns FcFalse.
40842c393a42Smrg
4085a32e9e42Smrg                          FcNameUnregisterObjectTypes
40862c393a42Smrg
40872c393a42SmrgName
40882c393a42Smrg
4089a32e9e42Smrg   FcNameUnregisterObjectTypes -- Unregister object types
40902c393a42Smrg
40912c393a42SmrgSynopsis
40922c393a42Smrg
4093a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4094a6844aabSmrg
4095a32e9e42Smrg
4096a32e9e42Smrg   FcBool FcNameUnregisterObjectTypes(const FcObjectType *types, int ntype);
40972c393a42Smrg
40982c393a42SmrgDescription
40992c393a42Smrg
4100c9710b42Smrg   Deprecated. Does nothing. Returns FcFalse.
41012c393a42Smrg
4102a32e9e42Smrg                              FcNameGetObjectType
41032c393a42Smrg
41042c393a42SmrgName
41052c393a42Smrg
4106a32e9e42Smrg   FcNameGetObjectType -- Lookup an object type
41072c393a42Smrg
41082c393a42SmrgSynopsis
41092c393a42Smrg
4110a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4111a32e9e42Smrg
4112a6844aabSmrg
4113ca08ab68Smrg   const FcObjectType * FcNameGetObjectType(const char *object);
41142c393a42Smrg
41152c393a42SmrgDescription
41162c393a42Smrg
4117ca08ab68Smrg   Return the object type for the pattern element named object.
41182c393a42Smrg
4119a32e9e42Smrg   --------------------------------------------------------------------------
4120a32e9e42Smrg
4121a32e9e42Smrg  FcConstant
41222c393a42Smrg
4123ca08ab68Smrg   Table of Contents
41242c393a42Smrg
4125a4e54154Smrg   [152]FcNameRegisterConstants -- Register symbolic constants
4126a32e9e42Smrg
4127a4e54154Smrg   [153]FcNameUnregisterConstants -- Unregister symbolic constants
4128a32e9e42Smrg
4129a4e54154Smrg   [154]FcNameGetConstant -- Lookup symbolic constant
4130a32e9e42Smrg
4131a4e54154Smrg   [155]FcNameConstant -- Get the value for a symbolic constant
41322c393a42Smrg
4133a32e9e42Smrg   Provides for application-specified symbolic constants for font names.
4134a32e9e42Smrg
4135a32e9e42Smrg                            FcNameRegisterConstants
41362c393a42Smrg
41372c393a42SmrgName
41382c393a42Smrg
4139a32e9e42Smrg   FcNameRegisterConstants -- Register symbolic constants
41402c393a42Smrg
41412c393a42SmrgSynopsis
41422c393a42Smrg
4143a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4144a32e9e42Smrg
41452c393a42Smrg
4146a32e9e42Smrg   FcBool FcNameRegisterConstants(const FcConstant *consts, int nconsts);
41472c393a42Smrg
41482c393a42SmrgDescription
41492c393a42Smrg
4150c9710b42Smrg   Deprecated. Does nothing. Returns FcFalse.
41512c393a42Smrg
4152a32e9e42Smrg                           FcNameUnregisterConstants
41532c393a42Smrg
41542c393a42SmrgName
41552c393a42Smrg
4156a32e9e42Smrg   FcNameUnregisterConstants -- Unregister symbolic constants
41572c393a42Smrg
41582c393a42SmrgSynopsis
41592c393a42Smrg
4160a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4161a6844aabSmrg
4162a32e9e42Smrg
4163a32e9e42Smrg   FcBool FcNameUnregisterConstants(const FcConstant *consts, int nconsts);
41642c393a42Smrg
41652c393a42SmrgDescription
41662c393a42Smrg
4167c9710b42Smrg   Deprecated. Does nothing. Returns FcFalse.
41682c393a42Smrg
4169a32e9e42Smrg                               FcNameGetConstant
41702c393a42Smrg
41712c393a42SmrgName
41722c393a42Smrg
4173a32e9e42Smrg   FcNameGetConstant -- Lookup symbolic constant
41742c393a42Smrg
41752c393a42SmrgSynopsis
41762c393a42Smrg
4177a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4178a32e9e42Smrg
4179a6844aabSmrg
4180ca08ab68Smrg   const FcConstant * FcNameGetConstant(FcChar8 *string);
41812c393a42Smrg
41822c393a42SmrgDescription
41832c393a42Smrg
4184a32e9e42Smrg   Return the FcConstant structure related to symbolic constant string.
41852c393a42Smrg
4186a32e9e42Smrg                                 FcNameConstant
41872c393a42Smrg
41882c393a42SmrgName
41892c393a42Smrg
4190a32e9e42Smrg   FcNameConstant -- Get the value for a symbolic constant
41912c393a42Smrg
41922c393a42SmrgSynopsis
41932c393a42Smrg
4194a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4195a32e9e42Smrg
4196a6844aabSmrg
4197ca08ab68Smrg   FcBool FcNameConstant(FcChar8 *string, int *result);
41982c393a42Smrg
41992c393a42SmrgDescription
42002c393a42Smrg
4201a32e9e42Smrg   Returns whether a symbolic constant with name string is registered,
4202a32e9e42Smrg   placing the value of the constant in result if present.
4203a32e9e42Smrg
4204a32e9e42Smrg   --------------------------------------------------------------------------
42052c393a42Smrg
4206a32e9e42Smrg  FcWeight
42072c393a42Smrg
4208ca08ab68Smrg   Table of Contents
4209953daebaSmrg
4210a4e54154Smrg   [156]FcWeightFromOpenTypeDouble -- Convert from OpenType weight values to
4211a32e9e42Smrg   fontconfig ones
4212a32e9e42Smrg
4213a4e54154Smrg   [157]FcWeightToOpenTypeDouble -- Convert from fontconfig weight values to
4214a32e9e42Smrg   OpenType ones
4215a32e9e42Smrg
4216a4e54154Smrg   [158]FcWeightFromOpenType -- Convert from OpenType weight values to
4217a32e9e42Smrg   fontconfig ones
4218a32e9e42Smrg
4219a4e54154Smrg   [159]FcWeightToOpenType -- Convert from fontconfig weight values to
4220a32e9e42Smrg   OpenType ones
4221953daebaSmrg
4222953daebaSmrg   Maps weights to and from OpenType weights.
4223953daebaSmrg
4224a32e9e42Smrg                           FcWeightFromOpenTypeDouble
4225953daebaSmrg
4226953daebaSmrgName
4227953daebaSmrg
4228a32e9e42Smrg   FcWeightFromOpenTypeDouble -- Convert from OpenType weight values to
4229953daebaSmrg   fontconfig ones
4230953daebaSmrg
4231953daebaSmrgSynopsis
4232953daebaSmrg
4233a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4234a32e9e42Smrg
4235a32e9e42Smrg
4236a32e9e42Smrg   double FcWeightFromOpenTypeDouble(doubleot_weight);
4237a32e9e42Smrg
4238a32e9e42SmrgDescription
4239a32e9e42Smrg
4240a32e9e42Smrg   FcWeightFromOpenTypeDouble returns an double value to use with FC_WEIGHT,
4241a32e9e42Smrg   from an double in the 1..1000 range, resembling the numbers from OpenType
4242a32e9e42Smrg   specification's OS/2 usWeight numbers, which are also similar to CSS
4243a32e9e42Smrg   font-weight numbers. If input is negative, zero, or greater than 1000,
4244a4e54154Smrg   returns -1. This function linearly interpolates between various
4245a32e9e42Smrg   FC_WEIGHT_* constants. As such, the returned value does not necessarily
4246a32e9e42Smrg   match any of the predefined constants.
4247a32e9e42Smrg
4248a32e9e42SmrgSince
4249a32e9e42Smrg
4250a32e9e42Smrg   version 2.12.92
4251a32e9e42Smrg
4252a32e9e42Smrg                            FcWeightToOpenTypeDouble
4253a32e9e42Smrg
4254a32e9e42SmrgName
4255a32e9e42Smrg
4256a32e9e42Smrg   FcWeightToOpenTypeDouble -- Convert from fontconfig weight values to
4257a32e9e42Smrg   OpenType ones
4258a32e9e42Smrg
4259a32e9e42SmrgSynopsis
4260a32e9e42Smrg
4261a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4262a32e9e42Smrg
4263a32e9e42Smrg
4264a32e9e42Smrg   double FcWeightToOpenTypeDouble(doubleot_weight);
4265a32e9e42Smrg
4266a32e9e42SmrgDescription
4267a32e9e42Smrg
4268a32e9e42Smrg   FcWeightToOpenTypeDouble is the inverse of FcWeightFromOpenType. If the
4269a32e9e42Smrg   input is less than FC_WEIGHT_THIN or greater than FC_WEIGHT_EXTRABLACK,
4270a32e9e42Smrg   returns -1. Otherwise returns a number in the range 1 to 1000.
4271a32e9e42Smrg
4272a32e9e42SmrgSince
4273a32e9e42Smrg
4274a32e9e42Smrg   version 2.12.92
4275a32e9e42Smrg
4276a32e9e42Smrg                              FcWeightFromOpenType
4277a32e9e42Smrg
4278a32e9e42SmrgName
4279a32e9e42Smrg
4280a32e9e42Smrg   FcWeightFromOpenType -- Convert from OpenType weight values to fontconfig
4281a32e9e42Smrg   ones
4282a32e9e42Smrg
4283a32e9e42SmrgSynopsis
4284a32e9e42Smrg
4285a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4286a32e9e42Smrg
42872c393a42Smrg
4288953daebaSmrg   int FcWeightFromOpenType(intot_weight);
42892c393a42Smrg
4290953daebaSmrgDescription
42912c393a42Smrg
4292a32e9e42Smrg   FcWeightFromOpenType is like FcWeightFromOpenTypeDouble but with integer
4293a32e9e42Smrg   arguments. Use the other function instead.
4294ca08ab68Smrg
4295953daebaSmrgSince
4296ca08ab68Smrg
4297953daebaSmrg   version 2.11.91
4298ca08ab68Smrg
4299a32e9e42Smrg                               FcWeightToOpenType
43002c393a42Smrg
43012c393a42SmrgName
43022c393a42Smrg
4303a32e9e42Smrg   FcWeightToOpenType -- Convert from fontconfig weight values to OpenType
4304a32e9e42Smrg   ones
43052c393a42Smrg
43062c393a42SmrgSynopsis
43072c393a42Smrg
4308a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4309a32e9e42Smrg
43102c393a42Smrg
4311953daebaSmrg   int FcWeightToOpenType(intot_weight);
43122c393a42Smrg
43132c393a42SmrgDescription
43142c393a42Smrg
4315a32e9e42Smrg   FcWeightToOpenType is like FcWeightToOpenTypeDouble but with integer
4316a32e9e42Smrg   arguments. Use the other function instead.
4317953daebaSmrg
4318953daebaSmrgSince
4319953daebaSmrg
4320953daebaSmrg   version 2.11.91
4321953daebaSmrg
4322a32e9e42Smrg   --------------------------------------------------------------------------
4323a32e9e42Smrg
4324a32e9e42Smrg  FcBlanks
4325953daebaSmrg
4326953daebaSmrg   Table of Contents
4327953daebaSmrg
4328a4e54154Smrg   [160]FcBlanksCreate -- Create an FcBlanks
43292c393a42Smrg
4330a4e54154Smrg   [161]FcBlanksDestroy -- Destroy and FcBlanks
4331a32e9e42Smrg
4332a4e54154Smrg   [162]FcBlanksAdd -- Add a character to an FcBlanks
4333a32e9e42Smrg
4334a4e54154Smrg   [163]FcBlanksIsMember -- Query membership in an FcBlanks
4335a32e9e42Smrg
4336a32e9e42Smrg   An FcBlanks object holds a list of Unicode chars which are expected to be
4337a32e9e42Smrg   blank when drawn. When scanning new fonts, any glyphs which are empty and
4338a32e9e42Smrg   not in this list will be assumed to be broken and not placed in the
4339a32e9e42Smrg   FcCharSet associated with the font. This provides a significantly more
4340a32e9e42Smrg   accurate CharSet for applications.
4341a32e9e42Smrg
4342a32e9e42Smrg   FcBlanks is deprecated and should not be used in newly written code. It is
4343a32e9e42Smrg   still accepted by some functions for compatibility with older code but
4344a32e9e42Smrg   will be removed in the future.
4345a32e9e42Smrg
4346a32e9e42Smrg                                 FcBlanksCreate
43472c393a42Smrg
43482c393a42SmrgName
43492c393a42Smrg
4350a32e9e42Smrg   FcBlanksCreate -- Create an FcBlanks
43512c393a42Smrg
43522c393a42SmrgSynopsis
43532c393a42Smrg
4354a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4355a32e9e42Smrg
43562c393a42Smrg
4357953daebaSmrg   FcBlanks * FcBlanksCreate(void);
43582c393a42Smrg
43592c393a42SmrgDescription
43602c393a42Smrg
4361a32e9e42Smrg   FcBlanks is deprecated. This function always returns NULL.
43622c393a42Smrg
4363a32e9e42Smrg                                FcBlanksDestroy
43642c393a42Smrg
43652c393a42SmrgName
43662c393a42Smrg
4367a32e9e42Smrg   FcBlanksDestroy -- Destroy and FcBlanks
43682c393a42Smrg
43692c393a42SmrgSynopsis
43702c393a42Smrg
4371a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4372a32e9e42Smrg
4373a6844aabSmrg
4374953daebaSmrg   void FcBlanksDestroy(FcBlanks *b);
43752c393a42Smrg
43762c393a42SmrgDescription
43772c393a42Smrg
4378a32e9e42Smrg   FcBlanks is deprecated. This function does nothing.
43792c393a42Smrg
4380a32e9e42Smrg                                  FcBlanksAdd
43812c393a42Smrg
43822c393a42SmrgName
43832c393a42Smrg
4384a32e9e42Smrg   FcBlanksAdd -- Add a character to an FcBlanks
43852c393a42Smrg
43862c393a42SmrgSynopsis
43872c393a42Smrg
4388a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4389a32e9e42Smrg
4390a6844aabSmrg
4391953daebaSmrg   FcBool FcBlanksAdd(FcBlanks *b, FcChar32 ucs4);
43922c393a42Smrg
43932c393a42SmrgDescription
43942c393a42Smrg
4395a32e9e42Smrg   FcBlanks is deprecated. This function always returns FALSE.
43962c393a42Smrg
4397a32e9e42Smrg                                FcBlanksIsMember
4398ca08ab68Smrg
4399953daebaSmrgName
4400ca08ab68Smrg
4401a32e9e42Smrg   FcBlanksIsMember -- Query membership in an FcBlanks
4402ca08ab68Smrg
4403953daebaSmrgSynopsis
4404ca08ab68Smrg
4405a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4406a32e9e42Smrg
4407a6844aabSmrg
4408953daebaSmrg   FcBool FcBlanksIsMember(FcBlanks *b, FcChar32 ucs4);
44092c393a42Smrg
4410953daebaSmrgDescription
44112c393a42Smrg
4412a32e9e42Smrg   FcBlanks is deprecated. This function always returns FALSE.
4413a32e9e42Smrg
4414a32e9e42Smrg   --------------------------------------------------------------------------
44152c393a42Smrg
4416a32e9e42Smrg  FcAtomic
44172c393a42Smrg
4418953daebaSmrg   Table of Contents
4419ca08ab68Smrg
4420a4e54154Smrg   [164]FcAtomicCreate -- create an FcAtomic object
4421a32e9e42Smrg
4422a4e54154Smrg   [165]FcAtomicLock -- lock a file
4423a32e9e42Smrg
4424a4e54154Smrg   [166]FcAtomicNewFile -- return new temporary file name
4425a32e9e42Smrg
4426a4e54154Smrg   [167]FcAtomicOrigFile -- return original file name
4427a32e9e42Smrg
4428a4e54154Smrg   [168]FcAtomicReplaceOrig -- replace original with new
4429a32e9e42Smrg
4430a4e54154Smrg   [169]FcAtomicDeleteNew -- delete new file
4431a32e9e42Smrg
4432a4e54154Smrg   [170]FcAtomicUnlock -- unlock a file
4433ca08ab68Smrg
4434a4e54154Smrg   [171]FcAtomicDestroy -- destroy an FcAtomic object
4435a32e9e42Smrg
4436a32e9e42Smrg   These functions provide a safe way to update configuration files, allowing
4437a32e9e42Smrg   ongoing reading of the old configuration file while locked for writing and
4438a32e9e42Smrg   ensuring that a consistent and complete version of the configuration file
4439a32e9e42Smrg   is always available.
4440a32e9e42Smrg
4441a32e9e42Smrg                                 FcAtomicCreate
44422c393a42Smrg
44432c393a42SmrgName
44442c393a42Smrg
4445a32e9e42Smrg   FcAtomicCreate -- create an FcAtomic object
44462c393a42Smrg
44472c393a42SmrgSynopsis
44482c393a42Smrg
4449a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4450a32e9e42Smrg
4451a6844aabSmrg
4452ca08ab68Smrg   FcAtomic * FcAtomicCreate(const FcChar8 *file);
44532c393a42Smrg
44542c393a42SmrgDescription
44552c393a42Smrg
4456a32e9e42Smrg   Creates a data structure containing data needed to control access to file.
4457a32e9e42Smrg   Writing is done to a separate file. Once that file is complete, the
4458a32e9e42Smrg   original configuration file is atomically replaced so that reading process
4459a32e9e42Smrg   always see a consistent and complete file without the need to lock for
4460a32e9e42Smrg   reading.
44612c393a42Smrg
4462a32e9e42Smrg                                  FcAtomicLock
44632c393a42Smrg
44642c393a42SmrgName
44652c393a42Smrg
4466a32e9e42Smrg   FcAtomicLock -- lock a file
44672c393a42Smrg
44682c393a42SmrgSynopsis
44692c393a42Smrg
4470a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4471a32e9e42Smrg
4472a6844aabSmrg
4473ca08ab68Smrg   FcBool FcAtomicLock(FcAtomic *atomic);
44742c393a42Smrg
44752c393a42SmrgDescription
44762c393a42Smrg
4477a32e9e42Smrg   Attempts to lock the file referenced by atomic. Returns FcFalse if the
4478a32e9e42Smrg   file is already locked, else returns FcTrue and leaves the file locked.
44792c393a42Smrg
4480a32e9e42Smrg                                FcAtomicNewFile
44812c393a42Smrg
44822c393a42SmrgName
44832c393a42Smrg
4484a32e9e42Smrg   FcAtomicNewFile -- return new temporary file name
44852c393a42Smrg
44862c393a42SmrgSynopsis
44872c393a42Smrg
4488a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4489a32e9e42Smrg
4490a6844aabSmrg
4491ca08ab68Smrg   FcChar8 * FcAtomicNewFile(FcAtomic *atomic);
44922c393a42Smrg
44932c393a42SmrgDescription
44942c393a42Smrg
4495a32e9e42Smrg   Returns the filename for writing a new version of the file referenced by
4496a32e9e42Smrg   atomic.
44972c393a42Smrg
4498a32e9e42Smrg                                FcAtomicOrigFile
44992c393a42Smrg
45002c393a42SmrgName
45012c393a42Smrg
4502a32e9e42Smrg   FcAtomicOrigFile -- return original file name
45032c393a42Smrg
45042c393a42SmrgSynopsis
45052c393a42Smrg
4506a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4507a32e9e42Smrg
4508a6844aabSmrg
4509ca08ab68Smrg   FcChar8 * FcAtomicOrigFile(FcAtomic *atomic);
45102c393a42Smrg
45112c393a42SmrgDescription
45122c393a42Smrg
4513ca08ab68Smrg   Returns the file referenced by atomic.
45142c393a42Smrg
4515a32e9e42Smrg                              FcAtomicReplaceOrig
45162c393a42Smrg
45172c393a42SmrgName
45182c393a42Smrg
4519a32e9e42Smrg   FcAtomicReplaceOrig -- replace original with new
45202c393a42Smrg
45212c393a42SmrgSynopsis
45222c393a42Smrg
4523a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4524a32e9e42Smrg
4525a6844aabSmrg
4526ca08ab68Smrg   FcBool FcAtomicReplaceOrig(FcAtomic *atomic);
45272c393a42Smrg
45282c393a42SmrgDescription
45292c393a42Smrg
4530a32e9e42Smrg   Replaces the original file referenced by atomic with the new file. Returns
4531a32e9e42Smrg   FcFalse if the file cannot be replaced due to permission issues in the
4532a32e9e42Smrg   filesystem. Otherwise returns FcTrue.
45332c393a42Smrg
4534a32e9e42Smrg                               FcAtomicDeleteNew
45352c393a42Smrg
45362c393a42SmrgName
45372c393a42Smrg
4538a32e9e42Smrg   FcAtomicDeleteNew -- delete new file
45392c393a42Smrg
45402c393a42SmrgSynopsis
45412c393a42Smrg
4542a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4543a32e9e42Smrg
4544a6844aabSmrg
4545ca08ab68Smrg   void FcAtomicDeleteNew(FcAtomic *atomic);
45462c393a42Smrg
45472c393a42SmrgDescription
45482c393a42Smrg
4549a32e9e42Smrg   Deletes the new file. Used in error recovery to back out changes.
45502c393a42Smrg
4551a32e9e42Smrg                                 FcAtomicUnlock
45522c393a42Smrg
45532c393a42SmrgName
45542c393a42Smrg
4555a32e9e42Smrg   FcAtomicUnlock -- unlock a file
45562c393a42Smrg
45572c393a42SmrgSynopsis
45582c393a42Smrg
4559a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4560a32e9e42Smrg
4561a6844aabSmrg
4562ca08ab68Smrg   void FcAtomicUnlock(FcAtomic *atomic);
45632c393a42Smrg
45642c393a42SmrgDescription
45652c393a42Smrg
4566ca08ab68Smrg   Unlocks the file.
45672c393a42Smrg
4568a32e9e42Smrg                                FcAtomicDestroy
45692c393a42Smrg
45702c393a42SmrgName
45712c393a42Smrg
4572a32e9e42Smrg   FcAtomicDestroy -- destroy an FcAtomic object
45732c393a42Smrg
45742c393a42SmrgSynopsis
45752c393a42Smrg
4576a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4577a32e9e42Smrg
4578a6844aabSmrg
4579ca08ab68Smrg   void FcAtomicDestroy(FcAtomic *atomic);
45802c393a42Smrg
45812c393a42SmrgDescription
45822c393a42Smrg
4583ca08ab68Smrg   Destroys atomic.
45842c393a42Smrg
4585a32e9e42Smrg   --------------------------------------------------------------------------
4586a32e9e42Smrg
4587a32e9e42Smrg  File and Directory routines
4588ca08ab68Smrg
4589ca08ab68Smrg   Table of Contents
4590ca08ab68Smrg
4591a4e54154Smrg   [172]FcFileScan -- scan a font file
4592a32e9e42Smrg
4593a4e54154Smrg   [173]FcFileIsDir -- check whether a file is a directory
4594a32e9e42Smrg
4595a4e54154Smrg   [174]FcDirScan -- scan a font directory without caching it
4596a32e9e42Smrg
4597a4e54154Smrg   [175]FcDirSave -- DEPRECATED: formerly used to save a directory cache
4598a32e9e42Smrg
4599a4e54154Smrg   [176]FcDirCacheUnlink -- Remove all caches related to dir
4600a32e9e42Smrg
4601a4e54154Smrg   [177]FcDirCacheValid -- check directory cache
46022c393a42Smrg
4603a4e54154Smrg   [178]FcDirCacheLoad -- load a directory cache
46042c393a42Smrg
4605a4e54154Smrg   [179]FcDirCacheRescan -- Re-scan a directory cache
4606a32e9e42Smrg
4607a4e54154Smrg   [180]FcDirCacheRead -- read or construct a directory cache
4608a32e9e42Smrg
4609a4e54154Smrg   [181]FcDirCacheLoadFile -- load a cache file
4610a32e9e42Smrg
4611a4e54154Smrg   [182]FcDirCacheUnload -- unload a cache file
4612a32e9e42Smrg
4613a32e9e42Smrg   These routines work with font files and directories, including font
4614a32e9e42Smrg   directory cache files.
4615a32e9e42Smrg
4616a32e9e42Smrg                                   FcFileScan
46172c393a42Smrg
46182c393a42SmrgName
46192c393a42Smrg
4620a32e9e42Smrg   FcFileScan -- scan a font file
46212c393a42Smrg
46222c393a42SmrgSynopsis
46232c393a42Smrg
4624a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4625a32e9e42Smrg
46262c393a42Smrg
4627a32e9e42Smrg   FcBool FcFileScan(FcFontSet *set, FcStrSet *dirs, FcFileCache *cache,
4628a32e9e42Smrg   FcBlanks *blanks, const FcChar8 *file, FcBool force);
46292c393a42Smrg
46302c393a42SmrgDescription
46312c393a42Smrg
4632a32e9e42Smrg   Scans a single file and adds all fonts found to set. If force is FcTrue,
4633a32e9e42Smrg   then the file is scanned even if associated information is found in cache.
4634a32e9e42Smrg   If file is a directory, it is added to dirs. Whether fonts are found
4635a32e9e42Smrg   depends on fontconfig policy as well as the current configuration.
4636a32e9e42Smrg   Internally, fontconfig will ignore BDF and PCF fonts which are not in
4637a32e9e42Smrg   Unicode (or the effectively equivalent ISO Latin-1) encoding as those are
4638a32e9e42Smrg   not usable by Unicode-based applications. The configuration can ignore
4639a32e9e42Smrg   fonts based on filename or contents of the font file itself. Returns
4640a32e9e42Smrg   FcFalse if any of the fonts cannot be added (due to allocation failure).
4641a32e9e42Smrg   Otherwise returns FcTrue.
46422c393a42Smrg
4643a32e9e42Smrg                                  FcFileIsDir
46442c393a42Smrg
46452c393a42SmrgName
46462c393a42Smrg
4647a32e9e42Smrg   FcFileIsDir -- check whether a file is a directory
46482c393a42Smrg
46492c393a42SmrgSynopsis
46502c393a42Smrg
4651a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4652a32e9e42Smrg
4653a6844aabSmrg
4654ca08ab68Smrg   FcBool FcFileIsDir(const FcChar8 *file);
46552c393a42Smrg
46562c393a42SmrgDescription
46572c393a42Smrg
4658a32e9e42Smrg   Returns FcTrue if file is a directory, otherwise returns FcFalse.
46592c393a42Smrg
4660a32e9e42Smrg                                   FcDirScan
46612c393a42Smrg
46622c393a42SmrgName
46632c393a42Smrg
4664a32e9e42Smrg   FcDirScan -- scan a font directory without caching it
46652c393a42Smrg
46662c393a42SmrgSynopsis
46672c393a42Smrg
4668a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4669a6844aabSmrg
4670a32e9e42Smrg
4671a32e9e42Smrg   FcBool FcDirScan(FcFontSet *set, FcStrSet *dirs, FcFileCache *cache,
4672a32e9e42Smrg   FcBlanks *blanks, const FcChar8 *dir, FcBool force);
46732c393a42Smrg
46742c393a42SmrgDescription
46752c393a42Smrg
4676a32e9e42Smrg   If cache is not zero or if force is FcFalse, this function currently
4677a32e9e42Smrg   returns FcFalse. Otherwise, it scans an entire directory and adds all
4678a32e9e42Smrg   fonts found to set. Any subdirectories found are added to dirs. Calling
4679a32e9e42Smrg   this function does not create any cache files. Use FcDirCacheRead() if
4680a32e9e42Smrg   caching is desired.
46812c393a42Smrg
4682a32e9e42Smrg                                   FcDirSave
46832c393a42Smrg
46842c393a42SmrgName
46852c393a42Smrg
4686a32e9e42Smrg   FcDirSave -- DEPRECATED: formerly used to save a directory cache
46872c393a42Smrg
46882c393a42SmrgSynopsis
46892c393a42Smrg
4690a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4691a32e9e42Smrg
46922c393a42Smrg
4693a32e9e42Smrg   FcBool FcDirSave(FcFontSet *set, FcStrSet *dirs, const FcChar8 *dir);
46942c393a42Smrg
46952c393a42SmrgDescription
46962c393a42Smrg
4697a32e9e42Smrg   This function now does nothing aside from returning FcFalse. It used to
4698a32e9e42Smrg   creates the per-directory cache file for dir and populates it with the
4699a32e9e42Smrg   fonts in set and subdirectories in dirs. All of this functionality is now
4700a32e9e42Smrg   automatically managed by FcDirCacheLoad and FcDirCacheRead.
47012c393a42Smrg
4702a32e9e42Smrg                                FcDirCacheUnlink
47032c393a42Smrg
47042c393a42SmrgName
47052c393a42Smrg
4706a32e9e42Smrg   FcDirCacheUnlink -- Remove all caches related to dir
47072c393a42Smrg
47082c393a42SmrgSynopsis
47092c393a42Smrg
4710a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4711a32e9e42Smrg
4712a6844aabSmrg
4713ca08ab68Smrg   FcBool FcDirCacheUnlink(const FcChar8 *dir, FcConfig *config);
47142c393a42Smrg
47152c393a42SmrgDescription
47162c393a42Smrg
4717a32e9e42Smrg   Scans the cache directories in config, removing any instances of the cache
4718a32e9e42Smrg   file for dir. Returns FcFalse when some internal error occurs (out of
4719a32e9e42Smrg   memory, etc). Errors actually unlinking any files are ignored.
47202c393a42Smrg
4721a32e9e42Smrg                                FcDirCacheValid
47222c393a42Smrg
47232c393a42SmrgName
47242c393a42Smrg
4725a32e9e42Smrg   FcDirCacheValid -- check directory cache
47262c393a42Smrg
47272c393a42SmrgSynopsis
47282c393a42Smrg
4729a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4730a32e9e42Smrg
4731a6844aabSmrg
4732ca08ab68Smrg   FcBool FcDirCacheValid(const FcChar8 *dir);
47332c393a42Smrg
47342c393a42SmrgDescription
47352c393a42Smrg
4736a32e9e42Smrg   Returns FcTrue if dir has an associated valid cache file, else returns
4737a32e9e42Smrg   FcFalse
47382c393a42Smrg
4739a32e9e42Smrg                                 FcDirCacheLoad
47402c393a42Smrg
47412c393a42SmrgName
47422c393a42Smrg
4743a32e9e42Smrg   FcDirCacheLoad -- load a directory cache
47442c393a42Smrg
47452c393a42SmrgSynopsis
47462c393a42Smrg
4747a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4748a6844aabSmrg
4749a32e9e42Smrg
4750a32e9e42Smrg   FcCache * FcDirCacheLoad(const FcChar8 *dir, FcConfig *config, FcChar8
4751a32e9e42Smrg   **cache_file);
47522c393a42Smrg
47532c393a42SmrgDescription
47542c393a42Smrg
4755a32e9e42Smrg   Loads the cache related to dir. If no cache file exists, returns NULL. The
4756a32e9e42Smrg   name of the cache file is returned in cache_file, unless that is NULL. See
4757a32e9e42Smrg   also FcDirCacheRead.
47582c393a42Smrg
4759a32e9e42Smrg                                FcDirCacheRescan
4760b09479dcSmrg
4761b09479dcSmrgName
4762b09479dcSmrg
4763a32e9e42Smrg   FcDirCacheRescan -- Re-scan a directory cache
4764b09479dcSmrg
4765b09479dcSmrgSynopsis
4766b09479dcSmrg
4767a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4768b09479dcSmrg
4769a32e9e42Smrg
4770a32e9e42Smrg   FcCache * FcDirCacheRescan(const FcChar8 *dir, FcConfig *config);
4771b09479dcSmrg
4772b09479dcSmrgDescription
4773b09479dcSmrg
4774a32e9e42Smrg   Re-scan directories only at dir and update the cache. returns NULL if
4775a32e9e42Smrg   failed.
4776b09479dcSmrg
4777b09479dcSmrgSince
47782c393a42Smrg
4779b09479dcSmrg   version 2.11.1
47802c393a42Smrg
4781a32e9e42Smrg                                 FcDirCacheRead
47822c393a42Smrg
47832c393a42SmrgName
47842c393a42Smrg
4785a32e9e42Smrg   FcDirCacheRead -- read or construct a directory cache
47862c393a42Smrg
47872c393a42SmrgSynopsis
47882c393a42Smrg
4789a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4790a32e9e42Smrg
47912c393a42Smrg
4792a32e9e42Smrg   FcCache * FcDirCacheRead(const FcChar8 *dir, FcBool force, FcConfig
4793a32e9e42Smrg   *config);
47942c393a42Smrg
47952c393a42SmrgDescription
47962c393a42Smrg
4797a32e9e42Smrg   This returns a cache for dir. If force is FcFalse, then an existing, valid
4798a32e9e42Smrg   cache file will be used. Otherwise, a new cache will be created by
4799a32e9e42Smrg   scanning the directory and that returned.
48002c393a42Smrg
4801a32e9e42Smrg                               FcDirCacheLoadFile
48022c393a42Smrg
48032c393a42SmrgName
48042c393a42Smrg
4805a32e9e42Smrg   FcDirCacheLoadFile -- load a cache file
48062c393a42Smrg
48072c393a42SmrgSynopsis
48082c393a42Smrg
4809a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4810a32e9e42Smrg
48112c393a42Smrg
4812a32e9e42Smrg   FcCache * FcDirCacheLoadFile(const FcChar8 *cache_file, struct stat
4813a32e9e42Smrg   *file_stat);
48142c393a42Smrg
48152c393a42SmrgDescription
48162c393a42Smrg
4817a32e9e42Smrg   This function loads a directory cache from cache_file. If file_stat is
4818a32e9e42Smrg   non-NULL, it will be filled with the results of stat(2) on the cache file.
48192c393a42Smrg
4820a32e9e42Smrg                                FcDirCacheUnload
48212c393a42Smrg
48222c393a42SmrgName
48232c393a42Smrg
4824a32e9e42Smrg   FcDirCacheUnload -- unload a cache file
48252c393a42Smrg
48262c393a42SmrgSynopsis
48272c393a42Smrg
4828a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4829a32e9e42Smrg
4830a6844aabSmrg
4831ca08ab68Smrg   void FcDirCacheUnload(FcCache *cache);
48322c393a42Smrg
48332c393a42SmrgDescription
48342c393a42Smrg
4835a32e9e42Smrg   This function dereferences cache. When no other references to it remain,
4836a32e9e42Smrg   all memory associated with the cache will be freed.
4837a32e9e42Smrg
4838a32e9e42Smrg   --------------------------------------------------------------------------
48392c393a42Smrg
4840a32e9e42Smrg  FcCache routines
4841ca08ab68Smrg
4842ca08ab68Smrg   Table of Contents
4843ca08ab68Smrg
4844a4e54154Smrg   [183]FcCacheDir -- Return directory of cache
4845a32e9e42Smrg
4846a4e54154Smrg   [184]FcCacheCopySet -- Returns a copy of the fontset from cache
4847a32e9e42Smrg
4848a4e54154Smrg   [185]FcCacheSubdir -- Return the i'th subdirectory.
4849a32e9e42Smrg
4850a4e54154Smrg   [186]FcCacheNumSubdir -- Return the number of subdirectories in cache.
4851a32e9e42Smrg
4852a4e54154Smrg   [187]FcCacheNumFont -- Returns the number of fonts in cache.
48532c393a42Smrg
4854a4e54154Smrg   [188]FcDirCacheClean -- Clean up a cache directory
48552c393a42Smrg
4856a4e54154Smrg   [189]FcCacheCreateTagFile -- Create CACHEDIR.TAG at cache directory.
4857ca08ab68Smrg
4858a4e54154Smrg   [190]FcDirCacheCreateUUID -- Create .uuid file at a directory
4859a32e9e42Smrg
4860a4e54154Smrg   [191]FcDirCacheDeleteUUID -- Delete .uuid file
4861a32e9e42Smrg
4862a32e9e42Smrg   These routines work with font directory caches, accessing their contents
4863a32e9e42Smrg   in limited ways. It is not expected that normal applications will need to
4864a32e9e42Smrg   use these functions.
4865a32e9e42Smrg
4866a32e9e42Smrg                                   FcCacheDir
48672c393a42Smrg
48682c393a42SmrgName
48692c393a42Smrg
4870a32e9e42Smrg   FcCacheDir -- Return directory of cache
48712c393a42Smrg
48722c393a42SmrgSynopsis
48732c393a42Smrg
4874a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4875a32e9e42Smrg
4876a6844aabSmrg
4877ca08ab68Smrg   const FcChar8 * FcCacheDir(const FcCache *cache);
48782c393a42Smrg
48792c393a42SmrgDescription
48802c393a42Smrg
4881a32e9e42Smrg   This function returns the directory from which the cache was constructed.
48822c393a42Smrg
4883a32e9e42Smrg                                 FcCacheCopySet
48842c393a42Smrg
48852c393a42SmrgName
48862c393a42Smrg
4887a32e9e42Smrg   FcCacheCopySet -- Returns a copy of the fontset from cache
48882c393a42Smrg
48892c393a42SmrgSynopsis
48902c393a42Smrg
4891a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4892a32e9e42Smrg
4893a6844aabSmrg
4894ca08ab68Smrg   FcFontSet * FcCacheCopySet(const FcCache *cache);
48952c393a42Smrg
48962c393a42SmrgDescription
48972c393a42Smrg
4898a32e9e42Smrg   The returned fontset contains each of the font patterns from cache. This
4899a32e9e42Smrg   fontset may be modified, but the patterns from the cache are read-only.
49002c393a42Smrg
4901a32e9e42Smrg                                 FcCacheSubdir
49022c393a42Smrg
49032c393a42SmrgName
49042c393a42Smrg
4905a32e9e42Smrg   FcCacheSubdir -- Return the i'th subdirectory.
49062c393a42Smrg
49072c393a42SmrgSynopsis
49082c393a42Smrg
4909a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4910a32e9e42Smrg
4911a6844aabSmrg
4912ca08ab68Smrg   const FcChar8 * FcCacheSubdir(const FcCache *cache, inti);
49132c393a42Smrg
49142c393a42SmrgDescription
49152c393a42Smrg
4916a32e9e42Smrg   The set of subdirectories stored in a cache file are indexed by this
4917a32e9e42Smrg   function, i should range from 0 to n-1, where n is the return value from
4918a32e9e42Smrg   FcCacheNumSubdir.
49192c393a42Smrg
4920a32e9e42Smrg                                FcCacheNumSubdir
49212c393a42Smrg
49222c393a42SmrgName
49232c393a42Smrg
4924a32e9e42Smrg   FcCacheNumSubdir -- Return the number of subdirectories in cache.
49252c393a42Smrg
49262c393a42SmrgSynopsis
49272c393a42Smrg
4928a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4929a32e9e42Smrg
4930a6844aabSmrg
4931ca08ab68Smrg   int FcCacheNumSubdir(const FcCache *cache);
49322c393a42Smrg
49332c393a42SmrgDescription
49342c393a42Smrg
4935ca08ab68Smrg   This returns the total number of subdirectories in the cache.
49362c393a42Smrg
4937a32e9e42Smrg                                 FcCacheNumFont
49382c393a42Smrg
49392c393a42SmrgName
49402c393a42Smrg
4941a32e9e42Smrg   FcCacheNumFont -- Returns the number of fonts in cache.
49422c393a42Smrg
49432c393a42SmrgSynopsis
49442c393a42Smrg
4945a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4946a32e9e42Smrg
4947a6844aabSmrg
4948ca08ab68Smrg   int FcCacheNumFont(const FcCache *cache);
49492c393a42Smrg
49502c393a42SmrgDescription
49512c393a42Smrg
4952a32e9e42Smrg   This returns the number of fonts which would be included in the return
4953a32e9e42Smrg   from FcCacheCopySet.
49542c393a42Smrg
4955a32e9e42Smrg                                FcDirCacheClean
4956ca08ab68Smrg
4957ca08ab68SmrgName
4958ca08ab68Smrg
4959a32e9e42Smrg   FcDirCacheClean -- Clean up a cache directory
4960ca08ab68Smrg
4961ca08ab68SmrgSynopsis
4962ca08ab68Smrg
4963a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4964a6844aabSmrg
4965a32e9e42Smrg
4966a32e9e42Smrg   FcBool FcDirCacheClean(const FcChar8 *cache_dir, FcBoolverbose);
4967ca08ab68Smrg
4968ca08ab68SmrgDescription
49692c393a42Smrg
4970a32e9e42Smrg   This tries to clean up the cache directory of cache_dir. This returns
4971a32e9e42Smrg   FcTrue if the operation is successfully complete. otherwise FcFalse.
4972a32e9e42Smrg
4973b09479dcSmrgSince
49742c393a42Smrg
4975b09479dcSmrg   version 2.9.91
4976ca08ab68Smrg
4977a32e9e42Smrg                              FcCacheCreateTagFile
49782c393a42Smrg
49792c393a42SmrgName
49802c393a42Smrg
4981a32e9e42Smrg   FcCacheCreateTagFile -- Create CACHEDIR.TAG at cache directory.
49822c393a42Smrg
49832c393a42SmrgSynopsis
49842c393a42Smrg
4985a32e9e42Smrg   #include <fontconfig/fontconfig.h>
4986a32e9e42Smrg
4987a6844aabSmrg
4988ca08ab68Smrg   void FcCacheCreateTagFile(const FcConfig *config);
49892c393a42Smrg
49902c393a42SmrgDescription
49912c393a42Smrg
4992a32e9e42Smrg   This tries to create CACHEDIR.TAG file at the cache directory registered
4993a32e9e42Smrg   to config.
49942c393a42Smrg
4995b09479dcSmrgSince
49962c393a42Smrg
4997b09479dcSmrg   version 2.9.91
4998ca08ab68Smrg
4999a32e9e42Smrg                              FcDirCacheCreateUUID
5000a32e9e42Smrg
5001a32e9e42SmrgName
5002a32e9e42Smrg
5003a32e9e42Smrg   FcDirCacheCreateUUID -- Create .uuid file at a directory
5004a32e9e42Smrg
5005a32e9e42SmrgSynopsis
5006a32e9e42Smrg
5007a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5008a32e9e42Smrg
5009a32e9e42Smrg
5010a32e9e42Smrg   FcBool FcDirCacheCreateUUID(FcChar8 *dir, FcBoolforce, FcConfig *config);
5011a32e9e42Smrg
5012a32e9e42SmrgDescription
5013a32e9e42Smrg
5014a4e54154Smrg   This function is deprecated. it doesn't take any effects.
5015a32e9e42Smrg
5016a32e9e42SmrgSince
5017a32e9e42Smrg
5018a32e9e42Smrg   version 2.12.92
5019a32e9e42Smrg
5020a32e9e42Smrg                              FcDirCacheDeleteUUID
5021a32e9e42Smrg
5022a32e9e42SmrgName
5023a32e9e42Smrg
5024a32e9e42Smrg   FcDirCacheDeleteUUID -- Delete .uuid file
5025a32e9e42Smrg
5026a32e9e42SmrgSynopsis
5027a32e9e42Smrg
5028a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5029a32e9e42Smrg
5030a32e9e42Smrg
5031a32e9e42Smrg   FcBool FcDirCacheDeleteUUID(const FcChar8 *dir, FcConfig *config);
5032a32e9e42Smrg
5033a32e9e42SmrgDescription
5034a32e9e42Smrg
5035a32e9e42Smrg   This is to delete .uuid file containing an UUID at a font directory of
5036a32e9e42Smrg   dir.
5037a32e9e42Smrg
5038a32e9e42SmrgSince
5039a32e9e42Smrg
5040a32e9e42Smrg   version 2.13.1
5041a32e9e42Smrg
5042a32e9e42Smrg   --------------------------------------------------------------------------
5043a32e9e42Smrg
5044a32e9e42Smrg  FcStrSet and FcStrList
5045ca08ab68Smrg
5046ca08ab68Smrg   Table of Contents
5047ca08ab68Smrg
5048a4e54154Smrg   [192]FcStrSetCreate -- create a string set
5049a32e9e42Smrg
5050a4e54154Smrg   [193]FcStrSetMember -- check set for membership
5051a32e9e42Smrg
5052a4e54154Smrg   [194]FcStrSetEqual -- check sets for equality
5053a32e9e42Smrg
5054a4e54154Smrg   [195]FcStrSetAdd -- add to a string set
5055a32e9e42Smrg
5056a4e54154Smrg   [196]FcStrSetAddFilename -- add a filename to a string set
5057a32e9e42Smrg
5058a4e54154Smrg   [197]FcStrSetDel -- delete from a string set
5059a32e9e42Smrg
5060a4e54154Smrg   [198]FcStrSetDestroy -- destroy a string set
5061ca08ab68Smrg
5062a4e54154Smrg   [199]FcStrListCreate -- create a string iterator
5063a32e9e42Smrg
5064a4e54154Smrg   [200]FcStrListFirst -- get first string in iteration
5065a32e9e42Smrg
5066a4e54154Smrg   [201]FcStrListNext -- get next string in iteration
5067a32e9e42Smrg
5068a4e54154Smrg   [202]FcStrListDone -- destroy a string iterator
5069a32e9e42Smrg
5070a32e9e42Smrg   A data structure for enumerating strings, used to list directories while
5071a32e9e42Smrg   scanning the configuration as directories are added while scanning.
5072a32e9e42Smrg
5073a32e9e42Smrg                                 FcStrSetCreate
50742c393a42Smrg
50752c393a42SmrgName
50762c393a42Smrg
5077a32e9e42Smrg   FcStrSetCreate -- create a string set
50782c393a42Smrg
50792c393a42SmrgSynopsis
50802c393a42Smrg
5081a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5082a32e9e42Smrg
5083a6844aabSmrg
5084ca08ab68Smrg   FcStrSet * FcStrSetCreate(void);
50852c393a42Smrg
50862c393a42SmrgDescription
50872c393a42Smrg
5088ca08ab68Smrg   Create an empty set.
50892c393a42Smrg
5090a32e9e42Smrg                                 FcStrSetMember
50912c393a42Smrg
50922c393a42SmrgName
50932c393a42Smrg
5094a32e9e42Smrg   FcStrSetMember -- check set for membership
50952c393a42Smrg
50962c393a42SmrgSynopsis
50972c393a42Smrg
5098a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5099a32e9e42Smrg
5100a6844aabSmrg
5101ca08ab68Smrg   FcBool FcStrSetMember(FcStrSet *set, const FcChar8 *s);
51022c393a42Smrg
51032c393a42SmrgDescription
51042c393a42Smrg
5105ca08ab68Smrg   Returns whether s is a member of set.
51062c393a42Smrg
5107a32e9e42Smrg                                 FcStrSetEqual
51082c393a42Smrg
51092c393a42SmrgName
51102c393a42Smrg
5111a32e9e42Smrg   FcStrSetEqual -- check sets for equality
51122c393a42Smrg
51132c393a42SmrgSynopsis
51142c393a42Smrg
5115a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5116a32e9e42Smrg
5117a6844aabSmrg
5118ca08ab68Smrg   FcBool FcStrSetEqual(FcStrSet *set_a, FcStrSet *set_b);
51192c393a42Smrg
51202c393a42SmrgDescription
51212c393a42Smrg
5122a32e9e42Smrg   Returns whether set_a contains precisely the same strings as set_b.
5123a32e9e42Smrg   Ordering of strings within the two sets is not considered.
51242c393a42Smrg
5125a32e9e42Smrg                                  FcStrSetAdd
51262c393a42Smrg
51272c393a42SmrgName
51282c393a42Smrg
5129a32e9e42Smrg   FcStrSetAdd -- add to a string set
51302c393a42Smrg
51312c393a42SmrgSynopsis
51322c393a42Smrg
5133a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5134a32e9e42Smrg
5135a6844aabSmrg
5136ca08ab68Smrg   FcBool FcStrSetAdd(FcStrSet *set, const FcChar8 *s);
51372c393a42Smrg
51382c393a42SmrgDescription
51392c393a42Smrg
5140ca08ab68Smrg   Adds a copy of s to set.
51412c393a42Smrg
5142a32e9e42Smrg                              FcStrSetAddFilename
51432c393a42Smrg
51442c393a42SmrgName
51452c393a42Smrg
5146a32e9e42Smrg   FcStrSetAddFilename -- add a filename to a string set
51472c393a42Smrg
51482c393a42SmrgSynopsis
51492c393a42Smrg
5150a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5151a32e9e42Smrg
5152a6844aabSmrg
5153ca08ab68Smrg   FcBool FcStrSetAddFilename(FcStrSet *set, const FcChar8 *s);
51542c393a42Smrg
51552c393a42SmrgDescription
51562c393a42Smrg
5157a32e9e42Smrg   Adds a copy s to set, The copy is created with FcStrCopyFilename so that
5158a32e9e42Smrg   leading '~' values are replaced with the value of the HOME environment
5159a32e9e42Smrg   variable.
51602c393a42Smrg
5161a32e9e42Smrg                                  FcStrSetDel
51622c393a42Smrg
51632c393a42SmrgName
51642c393a42Smrg
5165a32e9e42Smrg   FcStrSetDel -- delete from a string set
51662c393a42Smrg
51672c393a42SmrgSynopsis
51682c393a42Smrg
5169a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5170a32e9e42Smrg
5171a6844aabSmrg
5172ca08ab68Smrg   FcBool FcStrSetDel(FcStrSet *set, const FcChar8 *s);
51732c393a42Smrg
51742c393a42SmrgDescription
51752c393a42Smrg
5176a32e9e42Smrg   Removes s from set, returning FcTrue if s was a member else FcFalse.
51772c393a42Smrg
5178a32e9e42Smrg                                FcStrSetDestroy
51792c393a42Smrg
51802c393a42SmrgName
51812c393a42Smrg
5182a32e9e42Smrg   FcStrSetDestroy -- destroy a string set
51832c393a42Smrg
51842c393a42SmrgSynopsis
51852c393a42Smrg
5186a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5187a32e9e42Smrg
5188a6844aabSmrg
5189ca08ab68Smrg   void FcStrSetDestroy(FcStrSet *set);
51902c393a42Smrg
51912c393a42SmrgDescription
51922c393a42Smrg
5193ca08ab68Smrg   Destroys set.
51942c393a42Smrg
5195a32e9e42Smrg                                FcStrListCreate
51962c393a42Smrg
51972c393a42SmrgName
51982c393a42Smrg
5199a32e9e42Smrg   FcStrListCreate -- create a string iterator
52002c393a42Smrg
52012c393a42SmrgSynopsis
52022c393a42Smrg
5203a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5204a32e9e42Smrg
5205a6844aabSmrg
5206ca08ab68Smrg   FcStrList * FcStrListCreate(FcStrSet *set);
52072c393a42Smrg
52082c393a42SmrgDescription
52092c393a42Smrg
5210ca08ab68Smrg   Creates an iterator to list the strings in set.
52112c393a42Smrg
5212a32e9e42Smrg                                 FcStrListFirst
52136fc018e4Smrg
52146fc018e4SmrgName
52156fc018e4Smrg
5216a32e9e42Smrg   FcStrListFirst -- get first string in iteration
52176fc018e4Smrg
52186fc018e4SmrgSynopsis
52196fc018e4Smrg
5220a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5221a32e9e42Smrg
52226fc018e4Smrg
52236fc018e4Smrg   void FcStrListFirst(FcStrList *list);
52246fc018e4Smrg
52256fc018e4SmrgDescription
52266fc018e4Smrg
52276fc018e4Smrg   Returns the first string in list.
52286fc018e4Smrg
5229b09479dcSmrgSince
52306fc018e4Smrg
5231b09479dcSmrg   version 2.11.0
52322c393a42Smrg
5233a32e9e42Smrg                                 FcStrListNext
52342c393a42Smrg
52352c393a42SmrgName
52362c393a42Smrg
5237a32e9e42Smrg   FcStrListNext -- get next string in iteration
52382c393a42Smrg
52392c393a42SmrgSynopsis
52402c393a42Smrg
5241a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5242a32e9e42Smrg
5243a6844aabSmrg
5244ca08ab68Smrg   FcChar8 * FcStrListNext(FcStrList *list);
52452c393a42Smrg
52462c393a42SmrgDescription
52472c393a42Smrg
52486fc018e4Smrg   Returns the next string in list.
52492c393a42Smrg
5250a32e9e42Smrg                                 FcStrListDone
52512c393a42Smrg
5252ca08ab68SmrgName
5253ca08ab68Smrg
5254a32e9e42Smrg   FcStrListDone -- destroy a string iterator
5255ca08ab68Smrg
5256ca08ab68SmrgSynopsis
5257ca08ab68Smrg
5258a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5259a32e9e42Smrg
5260ca08ab68Smrg
5261ca08ab68Smrg   void FcStrListDone(FcStrList *list);
5262ca08ab68Smrg
5263ca08ab68SmrgDescription
5264ca08ab68Smrg
5265ca08ab68Smrg   Destroys the enumerator list.
5266ca08ab68Smrg
5267a32e9e42Smrg   --------------------------------------------------------------------------
5268a32e9e42Smrg
5269a32e9e42Smrg  String utilities
5270ca08ab68Smrg
5271ca08ab68Smrg   Table of Contents
5272ca08ab68Smrg
5273a4e54154Smrg   [203]FcUtf8ToUcs4 -- convert UTF-8 to UCS4
5274a4e54154Smrg
5275a4e54154Smrg   [204]FcUcs4ToUtf8 -- convert UCS4 to UTF-8
5276a32e9e42Smrg
5277a4e54154Smrg   [205]FcUtf8Len -- count UTF-8 encoded chars
5278a32e9e42Smrg
5279a4e54154Smrg   [206]FcUtf16ToUcs4 -- convert UTF-16 to UCS4
5280a32e9e42Smrg
5281a4e54154Smrg   [207]FcUtf16Len -- count UTF-16 encoded chars
5282a32e9e42Smrg
5283a4e54154Smrg   [208]FcIsLower -- check for lower case ASCII character
5284a32e9e42Smrg
5285a4e54154Smrg   [209]FcIsUpper -- check for upper case ASCII character
5286a32e9e42Smrg
5287a4e54154Smrg   [210]FcToLower -- convert upper case ASCII to lower case
5288a32e9e42Smrg
5289a4e54154Smrg   [211]FcStrCopy -- duplicate a string
5290ca08ab68Smrg
5291a4e54154Smrg   [212]FcStrDowncase -- create a lower case translation of a string
5292ca08ab68Smrg
5293a4e54154Smrg   [213]FcStrCopyFilename -- create a complete path from a filename
5294a32e9e42Smrg
5295a4e54154Smrg   [214]FcStrCmp -- compare UTF-8 strings
5296a32e9e42Smrg
5297a4e54154Smrg   [215]FcStrCmpIgnoreCase -- compare UTF-8 strings ignoring case
5298a32e9e42Smrg
5299a4e54154Smrg   [216]FcStrStr -- locate UTF-8 substring
5300a32e9e42Smrg
5301a4e54154Smrg   [217]FcStrStrIgnoreCase -- locate UTF-8 substring ignoring case
5302a32e9e42Smrg
5303a4e54154Smrg   [218]FcStrPlus -- concatenate two strings
5304a32e9e42Smrg
5305a4e54154Smrg   [219]FcStrFree -- free a string
5306a32e9e42Smrg
5307a4e54154Smrg   [220]FcStrBuildFilename -- Concatenate strings as a file path
5308a32e9e42Smrg
5309a4e54154Smrg   [221]FcStrDirname -- directory part of filename
5310a32e9e42Smrg
5311a4e54154Smrg   [222]FcStrBasename -- last component of filename
5312a32e9e42Smrg
5313a32e9e42Smrg   Fontconfig manipulates many UTF-8 strings represented with the FcChar8
5314a32e9e42Smrg   type. These functions are exposed to help applications deal with these
5315a32e9e42Smrg   UTF-8 strings in a locale-insensitive manner.
5316a32e9e42Smrg
5317a32e9e42Smrg                                  FcUtf8ToUcs4
53182c393a42Smrg
53192c393a42SmrgName
53202c393a42Smrg
5321a32e9e42Smrg   FcUtf8ToUcs4 -- convert UTF-8 to UCS4
53222c393a42Smrg
53232c393a42SmrgSynopsis
53242c393a42Smrg
5325a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5326a32e9e42Smrg
5327a6844aabSmrg
5328ca08ab68Smrg   int FcUtf8ToUcs4(FcChar8 *src, FcChar32 *dst, int len);
53292c393a42Smrg
53302c393a42SmrgDescription
53312c393a42Smrg
5332a32e9e42Smrg   Converts the next Unicode char from src into dst and returns the number of
5333a32e9e42Smrg   bytes containing the char. src must be at least len bytes long.
53342c393a42Smrg
5335a32e9e42Smrg                                  FcUcs4ToUtf8
53362c393a42Smrg
53372c393a42SmrgName
53382c393a42Smrg
5339a32e9e42Smrg   FcUcs4ToUtf8 -- convert UCS4 to UTF-8
53402c393a42Smrg
53412c393a42SmrgSynopsis
53422c393a42Smrg
5343a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5344a32e9e42Smrg
5345a6844aabSmrg
5346ca08ab68Smrg   int FcUcs4ToUtf8(FcChar32 src, FcChar8 dst[FC_UTF8_MAX_LEN]);
53472c393a42Smrg
53482c393a42SmrgDescription
53492c393a42Smrg
5350a32e9e42Smrg   Converts the Unicode char from src into dst and returns the number of
5351a32e9e42Smrg   bytes needed to encode the char.
53522c393a42Smrg
5353a32e9e42Smrg                                   FcUtf8Len
53542c393a42Smrg
53552c393a42SmrgName
53562c393a42Smrg
5357a32e9e42Smrg   FcUtf8Len -- count UTF-8 encoded chars
53582c393a42Smrg
53592c393a42SmrgSynopsis
53602c393a42Smrg
5361a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5362a6844aabSmrg
5363a32e9e42Smrg
5364a32e9e42Smrg   FcBool FcUtf8Len(FcChar8 *src, int len, int *nchar, int *wchar);
53652c393a42Smrg
53662c393a42SmrgDescription
53672c393a42Smrg
5368a32e9e42Smrg   Counts the number of Unicode chars in len bytes of src. Places that count
5369a32e9e42Smrg   in nchar. wchar contains 1, 2 or 4 depending on the number of bytes needed
5370a32e9e42Smrg   to hold the largest Unicode char counted. The return value indicates
5371a32e9e42Smrg   whether src is a well-formed UTF8 string.
53722c393a42Smrg
5373a32e9e42Smrg                                 FcUtf16ToUcs4
53742c393a42Smrg
53752c393a42SmrgName
53762c393a42Smrg
5377a32e9e42Smrg   FcUtf16ToUcs4 -- convert UTF-16 to UCS4
53782c393a42Smrg
53792c393a42SmrgSynopsis
53802c393a42Smrg
5381a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5382a32e9e42Smrg
5383a6844aabSmrg
5384a32e9e42Smrg   int FcUtf16ToUcs4(FcChar8 *src, FcEndian endian, FcChar32 *dst, int len);
53852c393a42Smrg
53862c393a42SmrgDescription
53872c393a42Smrg
5388a32e9e42Smrg   Converts the next Unicode char from src into dst and returns the number of
5389a32e9e42Smrg   bytes containing the char. src must be at least len bytes long. Bytes of
5390a32e9e42Smrg   src are combined into 16-bit units according to endian.
53912c393a42Smrg
5392a32e9e42Smrg                                   FcUtf16Len
53932c393a42Smrg
53942c393a42SmrgName
53952c393a42Smrg
5396a32e9e42Smrg   FcUtf16Len -- count UTF-16 encoded chars
53972c393a42Smrg
53982c393a42SmrgSynopsis
53992c393a42Smrg
5400a32e9e42Smrg   #include <fontconfig/fontconfig.h>
54012c393a42Smrg
5402a32e9e42Smrg
5403a32e9e42Smrg   FcBool FcUtf16Len(FcChar8 *src, FcEndian endian, int len, int *nchar, int
5404a32e9e42Smrg   *wchar);
54052c393a42Smrg
54062c393a42SmrgDescription
54072c393a42Smrg
5408a32e9e42Smrg   Counts the number of Unicode chars in len bytes of src. Bytes of src are
5409a32e9e42Smrg   combined into 16-bit units according to endian. Places that count in
5410a32e9e42Smrg   nchar. wchar contains 1, 2 or 4 depending on the number of bytes needed to
5411a32e9e42Smrg   hold the largest Unicode char counted. The return value indicates whether
5412a32e9e42Smrg   string is a well-formed UTF16 string.
54132c393a42Smrg
5414a32e9e42Smrg                                   FcIsLower
54152c393a42Smrg
54162c393a42SmrgName
54172c393a42Smrg
5418a32e9e42Smrg   FcIsLower -- check for lower case ASCII character
54192c393a42Smrg
54202c393a42SmrgSynopsis
54212c393a42Smrg
5422a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5423a32e9e42Smrg
5424a6844aabSmrg
5425ca08ab68Smrg   FcBool FcIsLower(FcChar8c);
54262c393a42Smrg
54272c393a42SmrgDescription
54282c393a42Smrg
5429ca08ab68Smrg   This macro checks whether c is an lower case ASCII letter.
54302c393a42Smrg
5431a32e9e42Smrg                                   FcIsUpper
54322c393a42Smrg
54332c393a42SmrgName
54342c393a42Smrg
5435a32e9e42Smrg   FcIsUpper -- check for upper case ASCII character
54362c393a42Smrg
54372c393a42SmrgSynopsis
54382c393a42Smrg
5439a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5440a32e9e42Smrg
5441a6844aabSmrg
5442ca08ab68Smrg   FcBool FcIsUpper(FcChar8c);
54432c393a42Smrg
54442c393a42SmrgDescription
54452c393a42Smrg
5446ca08ab68Smrg   This macro checks whether c is a upper case ASCII letter.
54472c393a42Smrg
5448a32e9e42Smrg                                   FcToLower
54492c393a42Smrg
54502c393a42SmrgName
54512c393a42Smrg
5452a32e9e42Smrg   FcToLower -- convert upper case ASCII to lower case
54532c393a42Smrg
54542c393a42SmrgSynopsis
54552c393a42Smrg
5456a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5457a32e9e42Smrg
5458a6844aabSmrg
5459ca08ab68Smrg   FcChar8 FcToLower(FcChar8c);
54602c393a42Smrg
54612c393a42SmrgDescription
54622c393a42Smrg
5463a32e9e42Smrg   This macro converts upper case ASCII c to the equivalent lower case
5464a32e9e42Smrg   letter.
54652c393a42Smrg
5466a32e9e42Smrg                                   FcStrCopy
54672c393a42Smrg
54682c393a42SmrgName
54692c393a42Smrg
5470a32e9e42Smrg   FcStrCopy -- duplicate a string
54712c393a42Smrg
54722c393a42SmrgSynopsis
54732c393a42Smrg
5474a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5475a32e9e42Smrg
5476a6844aabSmrg
5477ca08ab68Smrg   FcChar8 * FcStrCopy(const FcChar8 *s);
54782c393a42Smrg
54792c393a42SmrgDescription
54802c393a42Smrg
5481a32e9e42Smrg   Allocates memory, copies s and returns the resulting buffer. Yes, this is
5482a32e9e42Smrg   strdup, but that function isn't available on every platform.
54832c393a42Smrg
5484a32e9e42Smrg                                 FcStrDowncase
54852c393a42Smrg
54862c393a42SmrgName
54872c393a42Smrg
5488a32e9e42Smrg   FcStrDowncase -- create a lower case translation of a string
54892c393a42Smrg
54902c393a42SmrgSynopsis
54912c393a42Smrg
5492a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5493a32e9e42Smrg
5494a6844aabSmrg
5495ca08ab68Smrg   FcChar8 * FcStrDowncase(const FcChar8 *s);
54962c393a42Smrg
54972c393a42SmrgDescription
54982c393a42Smrg
5499a32e9e42Smrg   Allocates memory, copies s, converting upper case letters to lower case
5500a32e9e42Smrg   and returns the allocated buffer.
55012c393a42Smrg
5502a32e9e42Smrg                               FcStrCopyFilename
55032c393a42Smrg
55042c393a42SmrgName
55052c393a42Smrg
5506a32e9e42Smrg   FcStrCopyFilename -- create a complete path from a filename
55072c393a42Smrg
55082c393a42SmrgSynopsis
55092c393a42Smrg
5510a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5511a32e9e42Smrg
5512a6844aabSmrg
5513ca08ab68Smrg   FcChar8 * FcStrCopyFilename(const FcChar8 *s);
55142c393a42Smrg
55152c393a42SmrgDescription
55162c393a42Smrg
5517a32e9e42Smrg   FcStrCopyFilename constructs an absolute pathname from s. It converts any
5518a32e9e42Smrg   leading '~' characters in to the value of the HOME environment variable,
5519a32e9e42Smrg   and any relative paths are converted to absolute paths using the current
5520a32e9e42Smrg   working directory. Sequences of '/' characters are converted to a single
5521a32e9e42Smrg   '/', and names containing the current directory '.' or parent directory
5522a32e9e42Smrg   '..' are correctly reconstructed. Returns NULL if '~' is the leading
5523a32e9e42Smrg   character and HOME is unset or disabled (see FcConfigEnableHome).
55242c393a42Smrg
5525a32e9e42Smrg                                    FcStrCmp
55262c393a42Smrg
55272c393a42SmrgName
55282c393a42Smrg
5529a32e9e42Smrg   FcStrCmp -- compare UTF-8 strings
55302c393a42Smrg
55312c393a42SmrgSynopsis
55322c393a42Smrg
5533a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5534a32e9e42Smrg
5535a6844aabSmrg
5536ca08ab68Smrg   int FcStrCmp(const FcChar8 *s1, const FcChar8 *s2);
55372c393a42Smrg
55382c393a42SmrgDescription
55392c393a42Smrg
5540ca08ab68Smrg   Returns the usual <0, 0, >0 result of comparing s1 and s2.
55412c393a42Smrg
5542a32e9e42Smrg                               FcStrCmpIgnoreCase
55432c393a42Smrg
55442c393a42SmrgName
55452c393a42Smrg
5546a32e9e42Smrg   FcStrCmpIgnoreCase -- compare UTF-8 strings ignoring case
55472c393a42Smrg
55482c393a42SmrgSynopsis
55492c393a42Smrg
5550a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5551a32e9e42Smrg
5552a6844aabSmrg
5553ca08ab68Smrg   int FcStrCmpIgnoreCase(const FcChar8 *s1, const FcChar8 *s2);
55542c393a42Smrg
55552c393a42SmrgDescription
55562c393a42Smrg
5557a32e9e42Smrg   Returns the usual <0, 0, >0 result of comparing s1 and s2. This test is
5558a32e9e42Smrg   case-insensitive for all proper UTF-8 encoded strings.
55592c393a42Smrg
5560a32e9e42Smrg                                    FcStrStr
55612c393a42Smrg
55622c393a42SmrgName
55632c393a42Smrg
5564a32e9e42Smrg   FcStrStr -- locate UTF-8 substring
55652c393a42Smrg
55662c393a42SmrgSynopsis
55672c393a42Smrg
5568a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5569a32e9e42Smrg
5570a6844aabSmrg
5571ca08ab68Smrg   FcChar8 * FcStrStr(const FcChar8 *s1, const FcChar8 *s2);
55722c393a42Smrg
55732c393a42SmrgDescription
55742c393a42Smrg
5575a32e9e42Smrg   Returns the location of s2 in s1. Returns NULL if s2 is not present in s1.
5576a32e9e42Smrg   This test will operate properly with UTF8 encoded strings.
55772c393a42Smrg
5578a32e9e42Smrg                               FcStrStrIgnoreCase
55792c393a42Smrg
55802c393a42SmrgName
55812c393a42Smrg
5582a4e54154Smrg   FcStrStrIgnoreCase -- locate UTF-8 substring ignoring case
55832c393a42Smrg
55842c393a42SmrgSynopsis
55852c393a42Smrg
5586a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5587a32e9e42Smrg
5588a6844aabSmrg
5589a32e9e42Smrg   FcChar8 * FcStrStrIgnoreCase(const FcChar8 *s1, const FcChar8 *s2);
55902c393a42Smrg
55912c393a42SmrgDescription
55922c393a42Smrg
5593a32e9e42Smrg   Returns the location of s2 in s1, ignoring case. Returns NULL if s2 is not
5594a32e9e42Smrg   present in s1. This test is case-insensitive for all proper UTF-8 encoded
5595a32e9e42Smrg   strings.
55962c393a42Smrg
5597a32e9e42Smrg                                   FcStrPlus
55982c393a42Smrg
55992c393a42SmrgName
56002c393a42Smrg
5601a32e9e42Smrg   FcStrPlus -- concatenate two strings
56022c393a42Smrg
56032c393a42SmrgSynopsis
56042c393a42Smrg
5605a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5606a32e9e42Smrg
5607a6844aabSmrg
5608ca08ab68Smrg   FcChar8 * FcStrPlus(const FcChar8 *s1, const FcChar8 *s2);
56092c393a42Smrg
56102c393a42SmrgDescription
56112c393a42Smrg
5612a32e9e42Smrg   This function allocates new storage and places the concatenation of s1 and
5613a32e9e42Smrg   s2 there, returning the new string.
56142c393a42Smrg
5615a32e9e42Smrg                                   FcStrFree
56162c393a42Smrg
56172c393a42SmrgName
56182c393a42Smrg
5619a32e9e42Smrg   FcStrFree -- free a string
56202c393a42Smrg
56212c393a42SmrgSynopsis
56222c393a42Smrg
5623a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5624a32e9e42Smrg
5625a6844aabSmrg
5626ca08ab68Smrg   void FcStrFree(FcChar8 *s);
56272c393a42Smrg
56282c393a42SmrgDescription
56292c393a42Smrg
5630a32e9e42Smrg   This is just a wrapper around free(3) which helps track memory usage of
5631a32e9e42Smrg   strings within the fontconfig library.
56322c393a42Smrg
5633a4e54154Smrg                               FcStrBuildFilename
5634a4e54154Smrg
5635a4e54154SmrgName
5636a4e54154Smrg
5637a4e54154Smrg   FcStrBuildFilename -- Concatenate strings as a file path
5638a4e54154Smrg
5639a4e54154SmrgSynopsis
5640a4e54154Smrg
5641a4e54154Smrg   #include <fontconfig/fontconfig.h>
5642a4e54154Smrg
5643a4e54154Smrg
5644a4e54154Smrg   FcChar8 * FcStrBuildFilename(const FcChar8 *path, ...);
5645a4e54154Smrg
5646a4e54154SmrgDescription
5647a4e54154Smrg
5648a4e54154Smrg   Creates a filename from the given elements of strings as file paths and
5649a4e54154Smrg   concatenate them with the appropriate file separator. Arguments must be
5650a4e54154Smrg   null-terminated. This returns a newly-allocated memory which should be
5651a4e54154Smrg   freed when no longer needed.
5652a4e54154Smrg
5653a32e9e42Smrg                                  FcStrDirname
56542c393a42Smrg
56552c393a42SmrgName
56562c393a42Smrg
5657a32e9e42Smrg   FcStrDirname -- directory part of filename
56582c393a42Smrg
56592c393a42SmrgSynopsis
56602c393a42Smrg
5661a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5662a32e9e42Smrg
5663a6844aabSmrg
5664ca08ab68Smrg   FcChar8 * FcStrDirname(const FcChar8 *file);
56652c393a42Smrg
56662c393a42SmrgDescription
56672c393a42Smrg
5668a32e9e42Smrg   Returns the directory containing file. This is returned in newly allocated
5669a32e9e42Smrg   storage which should be freed when no longer needed.
56702c393a42Smrg
5671a32e9e42Smrg                                 FcStrBasename
56722c393a42Smrg
56732c393a42SmrgName
56742c393a42Smrg
5675a32e9e42Smrg   FcStrBasename -- last component of filename
56762c393a42Smrg
56772c393a42SmrgSynopsis
56782c393a42Smrg
5679a32e9e42Smrg   #include <fontconfig/fontconfig.h>
5680a32e9e42Smrg
5681a6844aabSmrg
5682ca08ab68Smrg   FcChar8 * FcStrBasename(const FcChar8 *file);
56832c393a42Smrg
56842c393a42SmrgDescription
56852c393a42Smrg
5686a32e9e42Smrg   Returns the filename of file stripped of any leading directory names. This
5687a32e9e42Smrg   is returned in newly allocated storage which should be freed when no
5688a32e9e42Smrg   longer needed.
5689a32e9e42Smrg
5690a32e9e42SmrgReferences
5691a32e9e42Smrg
5692a32e9e42Smrg   Visible links
5693a4e54154Smrg   1. file:///tmp/html-aqrcjl#AEN16
5694a4e54154Smrg   2. file:///tmp/html-aqrcjl#AEN19
5695a4e54154Smrg   3. file:///tmp/html-aqrcjl#AEN31
5696a4e54154Smrg   4. file:///tmp/html-aqrcjl#AEN103
5697a4e54154Smrg   5. file:///tmp/html-aqrcjl#FCINITLOADCONFIG
5698a4e54154Smrg   6. file:///tmp/html-aqrcjl#FCINITLOADCONFIGANDFONTS
5699a4e54154Smrg   7. file:///tmp/html-aqrcjl#FCINIT
5700a4e54154Smrg   8. file:///tmp/html-aqrcjl#FCFINI
5701a4e54154Smrg   9. file:///tmp/html-aqrcjl#FCGETVERSION
5702a4e54154Smrg  10. file:///tmp/html-aqrcjl#FCINITREINITIALIZE
5703a4e54154Smrg  11. file:///tmp/html-aqrcjl#FCINITBRINGUPTODATE
5704a4e54154Smrg  12. file:///tmp/html-aqrcjl#FCPATTERNCREATE
5705a4e54154Smrg  13. file:///tmp/html-aqrcjl#FCPATTERNDUPLICATE
5706a4e54154Smrg  14. file:///tmp/html-aqrcjl#FCPATTERNREFERENCE
5707a4e54154Smrg  15. file:///tmp/html-aqrcjl#FCPATTERNDESTROY
5708a4e54154Smrg  16. file:///tmp/html-aqrcjl#FCPATTERNOBJECTCOUNT
5709a4e54154Smrg  17. file:///tmp/html-aqrcjl#FCPATTERNEQUAL
5710a4e54154Smrg  18. file:///tmp/html-aqrcjl#FCPATTERNEQUALSUBSET
5711a4e54154Smrg  19. file:///tmp/html-aqrcjl#FCPATTERNFILTER
5712a4e54154Smrg  20. file:///tmp/html-aqrcjl#FCPATTERNHASH
5713a4e54154Smrg  21. file:///tmp/html-aqrcjl#FCPATTERNADD
5714a4e54154Smrg  22. file:///tmp/html-aqrcjl#FCPATTERNADDWEAK
5715a4e54154Smrg  23. file:///tmp/html-aqrcjl#FCPATTERNADD-TYPE
5716a4e54154Smrg  24. file:///tmp/html-aqrcjl#FCPATTERNGETWITHBINDING
5717a4e54154Smrg  25. file:///tmp/html-aqrcjl#FCPATTERNGET
5718a4e54154Smrg  26. file:///tmp/html-aqrcjl#FCPATTERNGET-TYPE
5719a4e54154Smrg  27. file:///tmp/html-aqrcjl#FCPATTERNBUILD
5720a4e54154Smrg  28. file:///tmp/html-aqrcjl#FCPATTERNDEL
5721a4e54154Smrg  29. file:///tmp/html-aqrcjl#FCPATTERNREMOVE
5722a4e54154Smrg  30. file:///tmp/html-aqrcjl#FCPATTERNITERSTART
5723a4e54154Smrg  31. file:///tmp/html-aqrcjl#FCPATTERNITERNEXT
5724a4e54154Smrg  32. file:///tmp/html-aqrcjl#FCPATTERNITEREQUAL
5725a4e54154Smrg  33. file:///tmp/html-aqrcjl#FCPATTERNFINDITER
5726a4e54154Smrg  34. file:///tmp/html-aqrcjl#FCPATTERNITERISVALID
5727a4e54154Smrg  35. file:///tmp/html-aqrcjl#FCPATTERNITERGETOBJECT
5728a4e54154Smrg  36. file:///tmp/html-aqrcjl#FCPATTERNITERVALUECOUNT
5729a4e54154Smrg  37. file:///tmp/html-aqrcjl#FCPATTERNITERGETVALUE
5730a4e54154Smrg  38. file:///tmp/html-aqrcjl#FCPATTERNPRINT
5731a4e54154Smrg  39. file:///tmp/html-aqrcjl#FCDEFAULTSUBSTITUTE
5732a4e54154Smrg  40. file:///tmp/html-aqrcjl#FCNAMEPARSE
5733a4e54154Smrg  41. file:///tmp/html-aqrcjl#FCNAMEUNPARSE
5734a4e54154Smrg  42. file:///tmp/html-aqrcjl#FCPATTERNFORMAT
5735a4e54154Smrg  43. file:///tmp/html-aqrcjl#FCFONTSETCREATE
5736a4e54154Smrg  44. file:///tmp/html-aqrcjl#FCFONTSETDESTROY
5737a4e54154Smrg  45. file:///tmp/html-aqrcjl#FCFONTSETADD
5738a4e54154Smrg  46. file:///tmp/html-aqrcjl#FCFONTSETLIST
5739a4e54154Smrg  47. file:///tmp/html-aqrcjl#FCFONTSETMATCH
5740a4e54154Smrg  48. file:///tmp/html-aqrcjl#FCFONTSETPRINT
5741a4e54154Smrg  49. file:///tmp/html-aqrcjl#FCFONTSETSORT
5742a4e54154Smrg  50. file:///tmp/html-aqrcjl#FCFONTSETSORTDESTROY
5743a4e54154Smrg  51. file:///tmp/html-aqrcjl#FCOBJECTSETCREATE
5744a4e54154Smrg  52. file:///tmp/html-aqrcjl#FCOBJECTSETADD
5745a4e54154Smrg  53. file:///tmp/html-aqrcjl#FCOBJECTSETDESTROY
5746a4e54154Smrg  54. file:///tmp/html-aqrcjl#FCOBJECTSETBUILD
5747a4e54154Smrg  55. file:///tmp/html-aqrcjl#FCFREETYPECHARINDEX
5748a4e54154Smrg  56. file:///tmp/html-aqrcjl#FCFREETYPECHARSET
5749a4e54154Smrg  57. file:///tmp/html-aqrcjl#FCFREETYPECHARSETANDSPACING
5750a4e54154Smrg  58. file:///tmp/html-aqrcjl#FCFREETYPEQUERY
5751a4e54154Smrg  59. file:///tmp/html-aqrcjl#FCFREETYPEQUERYALL
5752a4e54154Smrg  60. file:///tmp/html-aqrcjl#FCFREETYPEQUERYFACE
5753a4e54154Smrg  61. file:///tmp/html-aqrcjl#FCVALUEDESTROY
5754a4e54154Smrg  62. file:///tmp/html-aqrcjl#FCVALUESAVE
5755a4e54154Smrg  63. file:///tmp/html-aqrcjl#FCVALUEPRINT
5756a4e54154Smrg  64. file:///tmp/html-aqrcjl#FCVALUEEQUAL
5757a4e54154Smrg  65. file:///tmp/html-aqrcjl#FCCHARSETCREATE
5758a4e54154Smrg  66. file:///tmp/html-aqrcjl#FCCHARSETDESTROY
5759a4e54154Smrg  67. file:///tmp/html-aqrcjl#FCCHARSETADDCHAR
5760a4e54154Smrg  68. file:///tmp/html-aqrcjl#FCCHARSETDELCHAR
5761a4e54154Smrg  69. file:///tmp/html-aqrcjl#FCCHARSETCOPY
5762a4e54154Smrg  70. file:///tmp/html-aqrcjl#FCCHARSETEQUAL
5763a4e54154Smrg  71. file:///tmp/html-aqrcjl#FCCHARSETINTERSECT
5764a4e54154Smrg  72. file:///tmp/html-aqrcjl#FCCHARSETUNION
5765a4e54154Smrg  73. file:///tmp/html-aqrcjl#FCCHARSETSUBTRACT
5766a4e54154Smrg  74. file:///tmp/html-aqrcjl#FCCHARSETMERGE
5767a4e54154Smrg  75. file:///tmp/html-aqrcjl#FCCHARSETHASCHAR
5768a4e54154Smrg  76. file:///tmp/html-aqrcjl#FCCHARSETCOUNT
5769a4e54154Smrg  77. file:///tmp/html-aqrcjl#FCCHARSETINTERSECTCOUNT
5770a4e54154Smrg  78. file:///tmp/html-aqrcjl#FCCHARSETSUBTRACTCOUNT
5771a4e54154Smrg  79. file:///tmp/html-aqrcjl#FCCHARSETISSUBSET
5772a4e54154Smrg  80. file:///tmp/html-aqrcjl#FCCHARSETFIRSTPAGE
5773a4e54154Smrg  81. file:///tmp/html-aqrcjl#FCCHARSETNEXTPAGE
5774a4e54154Smrg  82. file:///tmp/html-aqrcjl#FCCHARSETCOVERAGE
5775a4e54154Smrg  83. file:///tmp/html-aqrcjl#FCCHARSETNEW
5776a4e54154Smrg  84. file:///tmp/html-aqrcjl#FCLANGSETCREATE
5777a4e54154Smrg  85. file:///tmp/html-aqrcjl#FCLANGSETDESTROY
5778a4e54154Smrg  86. file:///tmp/html-aqrcjl#FCLANGSETCOPY
5779a4e54154Smrg  87. file:///tmp/html-aqrcjl#FCLANGSETADD
5780a4e54154Smrg  88. file:///tmp/html-aqrcjl#FCLANGSETDEL
5781a4e54154Smrg  89. file:///tmp/html-aqrcjl#FCLANGSETUNION
5782a4e54154Smrg  90. file:///tmp/html-aqrcjl#FCLANGSETSUBTRACT
5783a4e54154Smrg  91. file:///tmp/html-aqrcjl#FCLANGSETCOMPARE
5784a4e54154Smrg  92. file:///tmp/html-aqrcjl#FCLANGSETCONTAINS
5785a4e54154Smrg  93. file:///tmp/html-aqrcjl#FCLANGSETEQUAL
5786a4e54154Smrg  94. file:///tmp/html-aqrcjl#FCLANGSETHASH
5787a4e54154Smrg  95. file:///tmp/html-aqrcjl#FCLANGSETHASLANG
5788a4e54154Smrg  96. file:///tmp/html-aqrcjl#FCGETDEFAULTLANGS
5789a4e54154Smrg  97. file:///tmp/html-aqrcjl#FCLANGSETGETLANGS
5790a4e54154Smrg  98. file:///tmp/html-aqrcjl#FCGETLANGS
5791a4e54154Smrg  99. file:///tmp/html-aqrcjl#FCLANGNORMALIZE
5792a4e54154Smrg 100. file:///tmp/html-aqrcjl#FCLANGGETCHARSET
5793a4e54154Smrg 101. file:///tmp/html-aqrcjl#FCMATRIXINIT
5794a4e54154Smrg 102. file:///tmp/html-aqrcjl#FCMATRIXCOPY
5795a4e54154Smrg 103. file:///tmp/html-aqrcjl#FCMATRIXEQUAL
5796a4e54154Smrg 104. file:///tmp/html-aqrcjl#FCMATRIXMULTIPLY
5797a4e54154Smrg 105. file:///tmp/html-aqrcjl#FCMATRIXROTATE
5798a4e54154Smrg 106. file:///tmp/html-aqrcjl#FCMATRIXSCALE
5799a4e54154Smrg 107. file:///tmp/html-aqrcjl#FCMATRIXSHEAR
5800a4e54154Smrg 108. file:///tmp/html-aqrcjl#FCRANGECOPY
5801a4e54154Smrg 109. file:///tmp/html-aqrcjl#FCRANGECREATEDOUBLE
5802a4e54154Smrg 110. file:///tmp/html-aqrcjl#FCRANGECREATEINTEGER
5803a4e54154Smrg 111. file:///tmp/html-aqrcjl#FCRANGEDESTROY
5804a4e54154Smrg 112. file:///tmp/html-aqrcjl#FCRANGEGETDOUBLE
5805a4e54154Smrg 113. file:///tmp/html-aqrcjl#FCCONFIGCREATE
5806a4e54154Smrg 114. file:///tmp/html-aqrcjl#FCCONFIGREFERENCE
5807a4e54154Smrg 115. file:///tmp/html-aqrcjl#FCCONFIGDESTROY
5808a4e54154Smrg 116. file:///tmp/html-aqrcjl#FCCONFIGSETCURRENT
5809a4e54154Smrg 117. file:///tmp/html-aqrcjl#FCCONFIGGETCURRENT
5810a4e54154Smrg 118. file:///tmp/html-aqrcjl#FCCONFIGUPTODATE
5811a4e54154Smrg 119. file:///tmp/html-aqrcjl#FCCONFIGHOME
5812a4e54154Smrg 120. file:///tmp/html-aqrcjl#FCCONFIGENABLEHOME
5813a4e54154Smrg 121. file:///tmp/html-aqrcjl#FCCONFIGBUILDFONTS
5814a4e54154Smrg 122. file:///tmp/html-aqrcjl#FCCONFIGGETCONFIGDIRS
5815a4e54154Smrg 123. file:///tmp/html-aqrcjl#FCCONFIGGETFONTDIRS
5816a4e54154Smrg 124. file:///tmp/html-aqrcjl#FCCONFIGGETCONFIGFILES
5817a4e54154Smrg 125. file:///tmp/html-aqrcjl#FCCONFIGGETCACHE
5818a4e54154Smrg 126. file:///tmp/html-aqrcjl#FCCONFIGGETCACHEDIRS
5819a4e54154Smrg 127. file:///tmp/html-aqrcjl#FCCONFIGGETFONTS
5820a4e54154Smrg 128. file:///tmp/html-aqrcjl#FCCONFIGGETBLANKS
5821a4e54154Smrg 129. file:///tmp/html-aqrcjl#FCCONFIGGETRESCANINTERVAL
5822a4e54154Smrg 130. file:///tmp/html-aqrcjl#FCCONFIGSETRESCANINTERVAL
5823a4e54154Smrg 131. file:///tmp/html-aqrcjl#FCCONFIGAPPFONTADDFILE
5824a4e54154Smrg 132. file:///tmp/html-aqrcjl#FCCONFIGAPPFONTADDDIR
5825a4e54154Smrg 133. file:///tmp/html-aqrcjl#FCCONFIGAPPFONTCLEAR
5826a4e54154Smrg 134. file:///tmp/html-aqrcjl#FCCONFIGSUBSTITUTEWITHPAT
5827a4e54154Smrg 135. file:///tmp/html-aqrcjl#FCCONFIGSUBSTITUTE
5828a4e54154Smrg 136. file:///tmp/html-aqrcjl#FCFONTMATCH
5829a4e54154Smrg 137. file:///tmp/html-aqrcjl#FCFONTSORT
5830a4e54154Smrg 138. file:///tmp/html-aqrcjl#FCFONTRENDERPREPARE
5831a4e54154Smrg 139. file:///tmp/html-aqrcjl#FCFONTLIST
5832a4e54154Smrg 140. file:///tmp/html-aqrcjl#FCCONFIGFILENAME
5833a4e54154Smrg 141. file:///tmp/html-aqrcjl#FCCONFIGGETFILENAME
5834a4e54154Smrg 142. file:///tmp/html-aqrcjl#FCCONFIGPARSEANDLOAD
5835a4e54154Smrg 143. file:///tmp/html-aqrcjl#FCCONFIGPARSEANDLOADFROMMEMORY
5836a4e54154Smrg 144. file:///tmp/html-aqrcjl#FCCONFIGGETSYSROOT
5837a4e54154Smrg 145. file:///tmp/html-aqrcjl#FCCONFIGSETSYSROOT
5838a4e54154Smrg 146. file:///tmp/html-aqrcjl#FCCONFIGFILEINFOITERINIT
5839a4e54154Smrg 147. file:///tmp/html-aqrcjl#FCCONFIGFILEINFOITERNEXT
5840a4e54154Smrg 148. file:///tmp/html-aqrcjl#FCCONFIGFILEINFOITERGET
5841a4e54154Smrg 149. file:///tmp/html-aqrcjl#FCNAMEREGISTEROBJECTTYPES
5842a4e54154Smrg 150. file:///tmp/html-aqrcjl#FCNAMEUNREGISTEROBJECTTYPES
5843a4e54154Smrg 151. file:///tmp/html-aqrcjl#FCNAMEGETOBJECTTYPE
5844a4e54154Smrg 152. file:///tmp/html-aqrcjl#FCNAMEREGISTERCONSTANTS
5845a4e54154Smrg 153. file:///tmp/html-aqrcjl#FCNAMEUNREGISTERCONSTANTS
5846a4e54154Smrg 154. file:///tmp/html-aqrcjl#FCNAMEGETCONSTANT
5847a4e54154Smrg 155. file:///tmp/html-aqrcjl#FCNAMECONSTANT
5848a4e54154Smrg 156. file:///tmp/html-aqrcjl#FCWEIGHTFROMOPENTYPEDOUBLE
5849a4e54154Smrg 157. file:///tmp/html-aqrcjl#FCWEIGHTTOOPENTYPEDOUBLE
5850a4e54154Smrg 158. file:///tmp/html-aqrcjl#FCWEIGHTFROMOPENTYPE
5851a4e54154Smrg 159. file:///tmp/html-aqrcjl#FCWEIGHTTOOPENTYPE
5852a4e54154Smrg 160. file:///tmp/html-aqrcjl#FCBLANKSCREATE
5853a4e54154Smrg 161. file:///tmp/html-aqrcjl#FCBLANKSDESTROY
5854a4e54154Smrg 162. file:///tmp/html-aqrcjl#FCBLANKSADD
5855a4e54154Smrg 163. file:///tmp/html-aqrcjl#FCBLANKSISMEMBER
5856a4e54154Smrg 164. file:///tmp/html-aqrcjl#FCATOMICCREATE
5857a4e54154Smrg 165. file:///tmp/html-aqrcjl#FCATOMICLOCK
5858a4e54154Smrg 166. file:///tmp/html-aqrcjl#FCATOMICNEWFILE
5859a4e54154Smrg 167. file:///tmp/html-aqrcjl#FCATOMICORIGFILE
5860a4e54154Smrg 168. file:///tmp/html-aqrcjl#FCATOMICREPLACEORIG
5861a4e54154Smrg 169. file:///tmp/html-aqrcjl#FCATOMICDELETENEW
5862a4e54154Smrg 170. file:///tmp/html-aqrcjl#FCATOMICUNLOCK
5863a4e54154Smrg 171. file:///tmp/html-aqrcjl#FCATOMICDESTROY
5864a4e54154Smrg 172. file:///tmp/html-aqrcjl#FCFILESCAN
5865a4e54154Smrg 173. file:///tmp/html-aqrcjl#FCFILEISDIR
5866a4e54154Smrg 174. file:///tmp/html-aqrcjl#FCDIRSCAN
5867a4e54154Smrg 175. file:///tmp/html-aqrcjl#FCDIRSAVE
5868a4e54154Smrg 176. file:///tmp/html-aqrcjl#FCDIRCACHEUNLINK
5869a4e54154Smrg 177. file:///tmp/html-aqrcjl#FCDIRCACHEVALID
5870a4e54154Smrg 178. file:///tmp/html-aqrcjl#FCDIRCACHELOAD
5871a4e54154Smrg 179. file:///tmp/html-aqrcjl#FCDIRCACHERESCAN
5872a4e54154Smrg 180. file:///tmp/html-aqrcjl#FCDIRCACHEREAD
5873a4e54154Smrg 181. file:///tmp/html-aqrcjl#FCDIRCACHELOADFILE
5874a4e54154Smrg 182. file:///tmp/html-aqrcjl#FCDIRCACHEUNLOAD
5875a4e54154Smrg 183. file:///tmp/html-aqrcjl#FCCACHEDIR
5876a4e54154Smrg 184. file:///tmp/html-aqrcjl#FCCACHECOPYSET
5877a4e54154Smrg 185. file:///tmp/html-aqrcjl#FCCACHESUBDIR
5878a4e54154Smrg 186. file:///tmp/html-aqrcjl#FCCACHENUMSUBDIR
5879a4e54154Smrg 187. file:///tmp/html-aqrcjl#FCCACHENUMFONT
5880a4e54154Smrg 188. file:///tmp/html-aqrcjl#FCDIRCACHECLEAN
5881a4e54154Smrg 189. file:///tmp/html-aqrcjl#FCCACHECREATETAGFILE
5882a4e54154Smrg 190. file:///tmp/html-aqrcjl#FCDIRCACHECREATEUUID
5883a4e54154Smrg 191. file:///tmp/html-aqrcjl#FCDIRCACHEDELETEUUID
5884a4e54154Smrg 192. file:///tmp/html-aqrcjl#FCSTRSETCREATE
5885a4e54154Smrg 193. file:///tmp/html-aqrcjl#FCSTRSETMEMBER
5886a4e54154Smrg 194. file:///tmp/html-aqrcjl#FCSTRSETEQUAL
5887a4e54154Smrg 195. file:///tmp/html-aqrcjl#FCSTRSETADD
5888a4e54154Smrg 196. file:///tmp/html-aqrcjl#FCSTRSETADDFILENAME
5889a4e54154Smrg 197. file:///tmp/html-aqrcjl#FCSTRSETDEL
5890a4e54154Smrg 198. file:///tmp/html-aqrcjl#FCSTRSETDESTROY
5891a4e54154Smrg 199. file:///tmp/html-aqrcjl#FCSTRLISTCREATE
5892a4e54154Smrg 200. file:///tmp/html-aqrcjl#FCSTRLISTFIRST
5893a4e54154Smrg 201. file:///tmp/html-aqrcjl#FCSTRLISTNEXT
5894a4e54154Smrg 202. file:///tmp/html-aqrcjl#FCSTRLISTDONE
5895a4e54154Smrg 203. file:///tmp/html-aqrcjl#FCUTF8TOUCS4
5896a4e54154Smrg 204. file:///tmp/html-aqrcjl#FCUCS4TOUTF8
5897a4e54154Smrg 205. file:///tmp/html-aqrcjl#FCUTF8LEN
5898a4e54154Smrg 206. file:///tmp/html-aqrcjl#FCUTF16TOUCS4
5899a4e54154Smrg 207. file:///tmp/html-aqrcjl#FCUTF16LEN
5900a4e54154Smrg 208. file:///tmp/html-aqrcjl#FCISLOWER
5901a4e54154Smrg 209. file:///tmp/html-aqrcjl#FCISUPPER
5902a4e54154Smrg 210. file:///tmp/html-aqrcjl#FCTOLOWER
5903a4e54154Smrg 211. file:///tmp/html-aqrcjl#FCSTRCOPY
5904a4e54154Smrg 212. file:///tmp/html-aqrcjl#FCSTRDOWNCASE
5905a4e54154Smrg 213. file:///tmp/html-aqrcjl#FCSTRCOPYFILENAME
5906a4e54154Smrg 214. file:///tmp/html-aqrcjl#FCSTRCMP
5907a4e54154Smrg 215. file:///tmp/html-aqrcjl#FCSTRCMPIGNORECASE
5908a4e54154Smrg 216. file:///tmp/html-aqrcjl#FCSTRSTR
5909a4e54154Smrg 217. file:///tmp/html-aqrcjl#FCSTRSTRIGNORECASE
5910a4e54154Smrg 218. file:///tmp/html-aqrcjl#FCSTRPLUS
5911a4e54154Smrg 219. file:///tmp/html-aqrcjl#FCSTRFREE
5912a4e54154Smrg 220. file:///tmp/html-aqrcjl#FCSTRBUILDFILENAME
5913a4e54154Smrg 221. file:///tmp/html-aqrcjl#FCSTRDIRNAME
5914a4e54154Smrg 222. file:///tmp/html-aqrcjl#FCSTRBASENAME
5915