1 Fontconfig Developers Reference, Version 2.13.1
3 Copyright © 2002 Keith Packard
5 Permission to use, copy, modify, distribute, and sell this software and
6 its documentation for any purpose is hereby granted without fee, provided
7 that the above copyright notice appear in all copies and that both that
8 copyright notice and this permission notice appear in supporting
9 documentation, and that the name of the author(s) not be used in
10 advertising or publicity pertaining to distribution of the software
11 without specific, written prior permission. The authors make no
12 representations about the suitability of this software for any purpose. It
13 is provided "as is" without express or implied warranty.
15 THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
16 INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
17 EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
18 CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
19 USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
20 OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
21 PERFORMANCE OF THIS SOFTWARE.
23 -------------------------------------------------------
29 [2]FUNCTIONAL OVERVIEW
37 Fontconfig is a library designed to provide system-wide font
38 configuration, customization and application access.
40 --------------------------------------------------------------------------
44 Fontconfig contains two essential modules, the configuration module which
45 builds an internal configuration from XML files and the matching module
46 which accepts font patterns and returns the nearest matching font.
48 --------------------------------------------------------------------------
52 The configuration module consists of the FcConfig datatype, libexpat and
53 FcConfigParse which walks over an XML tree and amends a configuration with
54 data found within. From an external perspective, configuration of the
55 library consists of generating a valid XML tree and feeding that to
56 FcConfigParse. The only other mechanism provided to applications for
57 changing the running configuration is to add fonts and directories to the
58 list of application-provided font files.
60 The intent is to make font configurations relatively static, and shared by
61 as many applications as possible. It is hoped that this will lead to more
62 stable font selection when passing names from one application to another.
63 XML was chosen as a configuration file format because it provides a format
64 which is easy for external agents to edit while retaining the correct
67 Font configuration is separate from font matching; applications needing to
68 do their own matching can access the available fonts from the library and
69 perform private matching. The intent is to permit applications to pick and
70 choose appropriate functionality from the library instead of forcing them
71 to choose between this library and a private configuration mechanism. The
72 hope is that this will ensure that configuration of fonts for all
73 applications can be centralized in one place. Centralizing font
74 configuration will simplify and regularize font installation and
77 --------------------------------------------------------------------------
81 While font patterns may contain essentially any properties, there are some
82 well known properties with associated types. Fontconfig uses some of these
83 properties for font matching and font completion. Others are provided as a
84 convenience for the application's rendering mechanism.
88 Property C Preprocessor Symbol Type Description
89 ----------------------------------------------------
90 family FC_FAMILY String Font family names
91 familylang FC_FAMILYLANG String Language corresponding to
93 style FC_STYLE String Font style. Overrides weight
95 stylelang FC_STYLELANG String Language corresponding to
97 fullname FC_FULLNAME String Font face full name where
98 different from family and
100 fullnamelang FC_FULLNAMELANG String Language corresponding to
102 slant FC_SLANT Int Italic, oblique or roman
103 weight FC_WEIGHT Int Light, medium, demibold,
105 size FC_SIZE Double Point size
106 width FC_WIDTH Int Condensed, normal or expanded
107 aspect FC_ASPECT Double Stretches glyphs horizontally
109 pixelsize FC_PIXEL_SIZE Double Pixel size
110 spacing FC_SPACING Int Proportional, dual-width,
111 monospace or charcell
112 foundry FC_FOUNDRY String Font foundry name
113 antialias FC_ANTIALIAS Bool Whether glyphs can be
115 hinting FC_HINTING Bool Whether the rasterizer should
117 hintstyle FC_HINT_STYLE Int Automatic hinting style
118 verticallayout FC_VERTICAL_LAYOUT Bool Use vertical layout
119 autohint FC_AUTOHINT Bool Use autohinter instead of
121 globaladvance FC_GLOBAL_ADVANCE Bool Use font global advance data (deprecated)
122 file FC_FILE String The filename holding the font
123 index FC_INDEX Int The index of the font within
125 ftface FC_FT_FACE FT_Face Use the specified FreeType
127 rasterizer FC_RASTERIZER String Which rasterizer is in use (deprecated)
128 outline FC_OUTLINE Bool Whether the glyphs are outlines
129 scalable FC_SCALABLE Bool Whether glyphs can be scaled
130 scale FC_SCALE Double Scale factor for point->pixel
131 conversions (deprecated)
132 symbol FC_SYMBOL Bool Whether font uses MS symbol-font encoding
133 color FC_COLOR Bool Whether any glyphs have color
134 dpi FC_DPI Double Target dots per inch
135 rgba FC_RGBA Int unknown, rgb, bgr, vrgb,
136 vbgr, none - subpixel geometry
137 lcdfilter FC_LCD_FILTER Int Type of LCD filter
138 minspace FC_MINSPACE Bool Eliminate leading from line
140 charset FC_CHARSET CharSet Unicode chars encoded by
142 lang FC_LANG LangSet Set of RFC-3066-style
143 languages this font supports
144 fontversion FC_FONTVERSION Int Version number of the font
145 capability FC_CAPABILITY String List of layout capabilities in
147 fontformat FC_FONTFORMAT String String name of the font format
148 embolden FC_EMBOLDEN Bool Rasterizer should
149 synthetically embolden the font
150 embeddedbitmap FC_EMBEDDED_BITMAP Bool Use the embedded bitmap instead
152 decorative FC_DECORATIVE Bool Whether the style is a decorative
154 fontfeatures FC_FONT_FEATURES String List of extra feature tags in
155 OpenType to be enabled
156 namelang FC_NAMELANG String Language name to be used for the
157 default value of familylang,
158 stylelang and fullnamelang
159 prgname FC_PRGNAME String Name of the running program
160 hash FC_HASH String SHA256 hash value of the font data
161 with "sha256:" prefix (deprecated)
162 postscriptname FC_POSTSCRIPT_NAME String Font name in PostScript
165 --------------------------------------------------------------------------
169 Fontconfig uses abstract data types to hide internal implementation
170 details for most data structures. A few structures are exposed where
173 --------------------------------------------------------------------------
175 FcChar8, FcChar16, FcChar32, FcBool
177 These are primitive data types; the FcChar* types hold precisely the
178 number of bits stated (if supported by the C implementation). FcBool holds
179 one of two C preprocessor symbols: FcFalse or FcTrue.
181 --------------------------------------------------------------------------
185 An FcMatrix holds an affine transformation, usually used to reshape
186 glyphs. A small set of matrix operations are provided to manipulate these.
188 typedef struct _FcMatrix {
189 double xx, xy, yx, yy;
193 --------------------------------------------------------------------------
197 An FcCharSet is an abstract type that holds the set of encoded Unicode
198 chars in a font. Operations to build and compare these sets are provided.
200 --------------------------------------------------------------------------
204 An FcLangSet is an abstract type that holds the set of languages supported
205 by a font. Operations to build and compare these sets are provided. These
206 are computed for a font based on orthographic information built into the
207 fontconfig library. Fontconfig has orthographies for all of the ISO 639-1
208 languages except for MS, NA, PA, PS, QU, RN, RW, SD, SG, SN, SU and ZA. If
209 you have orthographic information for any of these languages, please
212 --------------------------------------------------------------------------
216 An FcLangResult is an enumeration used to return the results of comparing
217 two language strings or FcLangSet objects. FcLangEqual means the objects
218 match language and territory. FcLangDifferentTerritory means the objects
219 match in language but differ in territory. FcLangDifferentLang means the
220 objects differ in language.
222 --------------------------------------------------------------------------
226 Tags the kind of data stored in an FcValue.
228 --------------------------------------------------------------------------
232 An FcValue object holds a single value with one of a number of different
233 types. The 'type' tag indicates which member is valid.
235 typedef struct _FcValue {
252 Type Union member Datatype
253 --------------------------------
254 FcTypeVoid (none) (none)
256 FcTypeDouble d double
257 FcTypeString s FcChar8 *
259 FcTypeMatrix m FcMatrix *
260 FcTypeCharSet c FcCharSet *
261 FcTypeFTFace f void * (FT_Face)
262 FcTypeLangSet l FcLangSet *
265 --------------------------------------------------------------------------
269 holds a set of names with associated value lists; each name refers to a
270 property of a font. FcPatterns are used as inputs to the matching code as
271 well as holding information about specific fonts. Each property can hold
272 one or more values; conventionally all of the same type, although the
273 interface doesn't demand that.
275 --------------------------------------------------------------------------
279 typedef struct _FcFontSet {
286 An FcFontSet contains a list of FcPatterns. Internally fontconfig uses
287 this data structure to hold sets of fonts. Externally, fontconfig returns
288 the results of listing fonts in this format. 'nfont' holds the number of
289 patterns in the 'fonts' array; 'sfont' is used to indicate the size of
292 --------------------------------------------------------------------------
296 FcStrSet holds a list of strings that can be appended to and enumerated.
297 Its unique characteristic is that the enumeration works even while strings
298 are appended during enumeration. FcStrList is used during enumeration to
299 safely and correctly walk the list of strings even while that list is
300 edited in the middle of enumeration.
302 --------------------------------------------------------------------------
306 typedef struct _FcObjectSet {
309 const char **objects;
313 holds a set of names and is used to specify which fields from fonts are
314 placed in the the list of returned patterns when listing fonts.
316 --------------------------------------------------------------------------
320 typedef struct _FcObjectType {
326 marks the type of a pattern element generated when parsing font names.
327 Applications can add new object types so that font names may contain the
330 --------------------------------------------------------------------------
334 typedef struct _FcConstant {
341 Provides for symbolic constants for new pattern elements. When 'name' is
342 seen in a font name, an 'object' element is created with value 'value'.
344 --------------------------------------------------------------------------
348 holds a list of Unicode chars which are expected to be blank; unexpectedly
349 blank chars are assumed to be invalid and are elided from the charset
350 associated with the font.
352 FcBlanks is deprecated and should not be used in newly written code. It is
353 still accepted by some functions for compatibility with older code but
354 will be removed in the future.
356 --------------------------------------------------------------------------
360 holds the per-user cache information for use while loading the font
361 database. This is built automatically for the current configuration when
362 that is loaded. Applications must always pass '0' when one is requested.
364 --------------------------------------------------------------------------
368 holds a complete configuration of the library; there is one default
369 configuration, other can be constructed from XML data structures. All
370 public entry points that need global data can take an optional FcConfig*
371 argument; passing 0 uses the default configuration. FcConfig objects hold
372 two sets of fonts, the first contains those specified by the
373 configuration, the second set holds those added by the application at
374 run-time. Interfaces that need to reference a particular set use one of
375 the FcSetName enumerated values.
377 --------------------------------------------------------------------------
381 Specifies one of the two sets of fonts available in a configuration;
382 FcSetSystem for those fonts specified in the configuration and
383 FcSetApplication which holds fonts provided by the application.
385 --------------------------------------------------------------------------
389 Used as a return type for functions manipulating FcPattern objects.
393 -----------------------------------------------------------
394 FcResultMatch Object exists with the specified ID
395 FcResultNoMatch Object doesn't exist at all
396 FcResultTypeMismatch Object exists, but the type doesn't match
397 FcResultNoId Object exists, but has fewer values
399 FcResultOutOfMemory malloc failed
402 --------------------------------------------------------------------------
406 Used for locking access to configuration files. Provides a safe way to
407 update configuration files.
409 --------------------------------------------------------------------------
413 Holds information about the fonts contained in a single directory. Normal
414 applications need not worry about this as caches for font access are
415 automatically managed by the library. Applications dealing with cache
416 management may want to use some of these objects in their work, however
417 the included 'fc-cache' program generally suffices for all of that.
419 --------------------------------------------------------------------------
423 These are grouped by functionality, often using the main data type being
426 --------------------------------------------------------------------------
432 [5]FcInitLoadConfig -- load configuration
434 [6]FcInitLoadConfigAndFonts -- load configuration and font data
436 [7]FcInit -- initialize fontconfig library
438 [8]FcFini -- finalize fontconfig library
440 [9]FcGetVersion -- library version number
442 [10]FcInitReinitialize -- re-initialize library
444 [11]FcInitBringUptoDate -- reload configuration files if needed
446 These functions provide some control over how the library is initialized.
452 FcInitLoadConfig -- load configuration
456 #include <fontconfig/fontconfig.h>
459 FcConfig * FcInitLoadConfig(void);
463 Loads the default configuration file and returns the resulting
464 configuration. Does not load any font information.
466 FcInitLoadConfigAndFonts
470 FcInitLoadConfigAndFonts -- load configuration and font data
474 #include <fontconfig/fontconfig.h>
477 FcConfig * FcInitLoadConfigAndFonts(void);
481 Loads the default configuration file and builds information about the
482 available fonts. Returns the resulting configuration.
488 FcInit -- initialize fontconfig library
492 #include <fontconfig/fontconfig.h>
499 Loads the default configuration file and the fonts referenced therein and
500 sets the default configuration to that result. Returns whether this
501 process succeeded or not. If the default configuration has already been
502 loaded, this routine does nothing and returns FcTrue.
508 FcFini -- finalize fontconfig library
512 #include <fontconfig/fontconfig.h>
519 Frees all data structures allocated by previous calls to fontconfig
520 functions. Fontconfig returns to an uninitialized state, requiring a new
521 call to one of the FcInit functions before any other fontconfig function
528 FcGetVersion -- library version number
532 #include <fontconfig/fontconfig.h>
535 int FcGetVersion(void);
539 Returns the version number of the library.
545 FcInitReinitialize -- re-initialize library
549 #include <fontconfig/fontconfig.h>
552 FcBool FcInitReinitialize(void);
556 Forces the default configuration file to be reloaded and resets the
557 default configuration. Returns FcFalse if the configuration cannot be
558 reloaded (due to configuration file errors, allocation failures or other
559 issues) and leaves the existing configuration unchanged. Otherwise returns
566 FcInitBringUptoDate -- reload configuration files if needed
570 #include <fontconfig/fontconfig.h>
573 FcBool FcInitBringUptoDate(void);
577 Checks the rescan interval in the default configuration, checking the
578 configuration if the interval has passed and reloading the configuration
579 if when any changes are detected. Returns FcFalse if the configuration
580 cannot be reloaded (see FcInitReinitialize). Otherwise returns FcTrue.
582 --------------------------------------------------------------------------
588 [12]FcPatternCreate -- Create a pattern
590 [13]FcPatternDuplicate -- Copy a pattern
592 [14]FcPatternReference -- Increment pattern reference count
594 [15]FcPatternDestroy -- Destroy a pattern
596 [16]FcPatternObjectCount -- Returns the number of the object
598 [17]FcPatternEqual -- Compare patterns
600 [18]FcPatternEqualSubset -- Compare portions of patterns
602 [19]FcPatternFilter -- Filter the objects of pattern
604 [20]FcPatternHash -- Compute a pattern hash value
606 [21]FcPatternAdd -- Add a value to a pattern
608 [22]FcPatternAddWeak -- Add a value to a pattern with weak binding
610 [23]FcPatternAdd-Type -- Add a typed value to a pattern
612 [24]FcPatternGetWithBinding -- Return a value with binding from a pattern
614 [25]FcPatternGet -- Return a value from a pattern
616 [26]FcPatternGet-Type -- Return a typed value from a pattern
618 [27]FcPatternBuild -- Create patterns from arguments
620 [28]FcPatternDel -- Delete a property from a pattern
622 [29]FcPatternRemove -- Remove one object of the specified type from the
625 [30]FcPatternIterStart -- Initialize the iterator with the first iterator
628 [31]FcPatternIterNext --
630 [32]FcPatternIterEqual -- Compare iterators
632 [33]FcPatternFindIter -- Set the iterator to point to the object in the
635 [34]FcPatternIterIsValid -- Check whether the iterator is valid or not
637 [35]FcPatternIterGetObject -- Returns an object name which the iterator
640 [36]FcPatternIterValueCount -- Returns the number of the values which the
643 [37]FcPatternIterGetValue -- Returns a value which the iterator point to
645 [38]FcPatternPrint -- Print a pattern for debugging
647 [39]FcDefaultSubstitute -- Perform default substitutions in a pattern
649 [40]FcNameParse -- Parse a pattern string
651 [41]FcNameUnparse -- Convert a pattern back into a string that can be
654 [42]FcPatternFormat -- Format a pattern into a string according to a
657 An FcPattern is an opaque type that holds both patterns to match against
658 the available fonts, as well as the information about each font.
664 FcPatternCreate -- Create a pattern
668 #include <fontconfig/fontconfig.h>
671 FcPattern * FcPatternCreate(void);
675 Creates a pattern with no properties; used to build patterns from scratch.
681 FcPatternDuplicate -- Copy a pattern
685 #include <fontconfig/fontconfig.h>
688 FcPattern * FcPatternDuplicate(const FcPattern *p);
692 Copy a pattern, returning a new pattern that matches p. Each pattern may
693 be modified without affecting the other.
699 FcPatternReference -- Increment pattern reference count
703 #include <fontconfig/fontconfig.h>
706 void FcPatternReference(FcPattern *p);
710 Add another reference to p. Patterns are freed only when the reference
717 FcPatternDestroy -- Destroy a pattern
721 #include <fontconfig/fontconfig.h>
724 void FcPatternDestroy(FcPattern *p);
728 Decrement the pattern reference count. If all references are gone,
729 destroys the pattern, in the process destroying all related values.
735 FcPatternObjectCount -- Returns the number of the object
739 #include <fontconfig/fontconfig.h>
742 int FcPatternObjectCount(const FcPattern *p);
746 Returns the number of the object p has.
756 FcPatternEqual -- Compare patterns
760 #include <fontconfig/fontconfig.h>
763 FcBool FcPatternEqual(const FcPattern *pa, const FcPattern *pb);
767 Returns whether pa and pb are exactly alike.
773 FcPatternEqualSubset -- Compare portions of patterns
777 #include <fontconfig/fontconfig.h>
780 FcBool FcPatternEqualSubset(const FcPattern *pa, const FcPattern *pb,
781 const FcObjectSet *os);
785 Returns whether pa and pb have exactly the same values for all of the
792 FcPatternFilter -- Filter the objects of pattern
796 #include <fontconfig/fontconfig.h>
799 FcPattern * FcPatternFilter(FcPattern *p, const FcObjectSet *);
803 Returns a new pattern that only has those objects from p that are in os.
804 If os is NULL, a duplicate of p is returned.
810 FcPatternHash -- Compute a pattern hash value
814 #include <fontconfig/fontconfig.h>
817 FcChar32 FcPatternHash(const FcPattern *p);
821 Returns a 32-bit number which is the same for any two patterns which are
828 FcPatternAdd -- Add a value to a pattern
832 #include <fontconfig/fontconfig.h>
835 FcBool FcPatternAdd(FcPattern *p, const char *object, FcValue value,
840 Adds a single value to the list of values associated with the property
841 named `object. If `append is FcTrue, the value is added at the end of any
842 existing list, otherwise it is inserted at the beginning. `value' is saved
843 (with FcValueSave) when inserted into the pattern so that the library
844 retains no reference to any application-supplied data structure.
850 FcPatternAddWeak -- Add a value to a pattern with weak binding
854 #include <fontconfig/fontconfig.h>
857 FcBool FcPatternAddWeak(FcPattern *p, const char *object, FcValue value,
862 FcPatternAddWeak is essentially the same as FcPatternAdd except that any
863 values added to the list have binding weak instead of strong.
869 FcPatternAddInteger, FcPatternAddDouble, FcPatternAddString,
870 FcPatternAddMatrix, FcPatternAddCharSet, FcPatternAddBool,
871 FcPatternAddFTFace, FcPatternAddLangSet, FcPatternAddRange -- Add a typed
876 #include <fontconfig/fontconfig.h>
879 FcBool FcPatternAddInteger(FcPattern *p, const char *object, int i);
881 FcBool FcPatternAddDouble(FcPattern *p, const char *object, double d);
883 FcBool FcPatternAddString(FcPattern *p, const char *object, const FcChar8
886 FcBool FcPatternAddMatrix(FcPattern *p, const char *object, const FcMatrix
889 FcBool FcPatternAddCharSet(FcPattern *p, const char *object, const
892 FcBool FcPatternAddBool(FcPattern *p, const char *object, FcBool b);
894 FcBool FcPatternAddFTFace(FcPattern *p, const char *object, const
897 FcBool FcPatternAddLangSet(FcPattern *p, const char *object, const
900 FcBool FcPatternAddRange(FcPattern *p, const char *object, const FcRange
905 These are all convenience functions that insert objects of the specified
906 type into the pattern. Use these in preference to FcPatternAdd as they
907 will provide compile-time typechecking. These all append values to any
908 existing list of values. FcPatternAddRange are available since 2.11.91.
910 FcPatternGetWithBinding
914 FcPatternGetWithBinding -- Return a value with binding from a pattern
918 #include <fontconfig/fontconfig.h>
921 FcResult FcPatternGetWithBinding(FcPattern *p, const char *object, int id,
922 FcValue *v, FcValueBinding *b);
926 Returns in v the id'th value and b binding for that associated with the
927 property object. The Value returned is not a copy, but rather refers to
928 the data stored within the pattern directly. Applications must not free
939 FcPatternGet -- Return a value from a pattern
943 #include <fontconfig/fontconfig.h>
946 FcResult FcPatternGet(FcPattern *p, const char *object, int id, FcValue
951 Returns in v the id'th value associated with the property object. The
952 value returned is not a copy, but rather refers to the data stored within
953 the pattern directly. Applications must not free this value.
959 FcPatternGetInteger, FcPatternGetDouble, FcPatternGetString,
960 FcPatternGetMatrix, FcPatternGetCharSet, FcPatternGetBool,
961 FcPatternGetFTFace, FcPatternGetLangSet, FcPatternGetRange -- Return a
962 typed value from a pattern
966 #include <fontconfig/fontconfig.h>
969 FcResult FcPatternGetInteger(FcPattern *p, const char *object, int n, int
972 FcResult FcPatternGetDouble(FcPattern *p, const char *object, int n,
975 FcResult FcPatternGetString(FcPattern *p, const char *object, int n,
978 FcResult FcPatternGetMatrix(FcPattern *p, const char *object, int n,
981 FcResult FcPatternGetCharSet(FcPattern *p, const char *object, int n,
984 FcResult FcPatternGetBool(FcPattern *p, const char *object, int n, FcBool
987 FcResult FcPatternGetFTFace(FcPattern *p, const char *object, int n,
990 FcResult FcPatternGetLangSet(FcPattern *p, const char *object, int n,
993 FcResult FcPatternGetRange(FcPattern *p, const char *object, int n,
998 These are convenience functions that call FcPatternGet and verify that the
999 returned data is of the expected type. They return FcResultTypeMismatch if
1000 this is not the case. Note that these (like FcPatternGet) do not make a
1001 copy of any data structure referenced by the return value. Use these in
1002 preference to FcPatternGet to provide compile-time typechecking.
1003 FcPatternGetRange are available since 2.11.91.
1009 FcPatternBuild, FcPatternVaBuild, FcPatternVapBuild -- Create patterns
1014 #include <fontconfig/fontconfig.h>
1017 FcPattern * FcPatternBuild(FcPattern *pattern, ...);
1019 FcPattern * FcPatternVaBuild(FcPattern *pattern, va_list va);
1021 void FcPatternVapBuild(FcPattern *result, FcPattern *pattern, va_list va);
1025 Builds a pattern using a list of objects, types and values. Each value to
1026 be entered in the pattern is specified with three arguments:
1028 1. Object name, a string describing the property to be added.
1030 2. Object type, one of the FcType enumerated values
1032 3. Value, not an FcValue, but the raw type as passed to any of the
1033 FcPatternAdd<type> functions. Must match the type of the second
1036 The argument list is terminated by a null object name, no object type nor
1037 value need be passed for this. The values are added to `pattern', if
1038 `pattern' is null, a new pattern is created. In either case, the pattern
1039 is returned. Example
1041 pattern = FcPatternBuild (0, FC_FAMILY, FcTypeString, "Times", (char *) 0);
1043 FcPatternVaBuild is used when the arguments are already in the form of a
1044 varargs value. FcPatternVapBuild is a macro version of FcPatternVaBuild
1045 which returns its result directly in the result variable.
1051 FcPatternDel -- Delete a property from a pattern
1055 #include <fontconfig/fontconfig.h>
1058 FcBool FcPatternDel(FcPattern *p, const char *object);
1062 Deletes all values associated with the property `object', returning
1063 whether the property existed or not.
1069 FcPatternRemove -- Remove one object of the specified type from the
1074 #include <fontconfig/fontconfig.h>
1077 FcBool FcPatternRemove(FcPattern *p, const char *object, int id);
1081 Removes the value associated with the property `object' at position `id',
1082 returning whether the property existed and had a value at that position or
1089 FcPatternIterStart -- Initialize the iterator with the first iterator in
1094 #include <fontconfig/fontconfig.h>
1097 void FcPatternIterStart(const FcPattern *p, FcPatternIter *iter);
1101 Initialize iter with the first iterator in p. If there are no objects in
1102 p, iter will not have any valid data.
1112 FcPatternIterNext --
1116 #include <fontconfig/fontconfig.h>
1119 FcBool FcPatternIterNext(const FcPattern *p, FcPatternIter *iter);
1123 Set iter to point to the next object in p and returns FcTrue if iter has
1124 been changed to the next object. returns FcFalse otherwise.
1134 FcPatternIterEqual -- Compare iterators
1138 #include <fontconfig/fontconfig.h>
1141 FcBool FcPatternIterEqual(const FcPattern *p1, FcPatternIter *i1, const
1142 FcPattern *p2, FcPatternIter *i2);
1146 Return FcTrue if both i1 and i2 point to same object and contains same
1147 values. return FcFalse otherwise.
1157 FcPatternFindIter -- Set the iterator to point to the object in the
1162 #include <fontconfig/fontconfig.h>
1165 FcBool FcPatternFindIter(const FcPattern *p, FcPatternIter *iter, const
1170 Set iter to point to object in p if any and returns FcTrue. returns
1177 FcPatternIterIsValid
1181 FcPatternIterIsValid -- Check whether the iterator is valid or not
1185 #include <fontconfig/fontconfig.h>
1188 FcBool FcPatternIterIsValid(const FcPattern *p, FcPatternIter :iter);
1192 Returns FcTrue if iter point to the valid entry in p. returns FcFalse
1199 FcPatternIterGetObject
1203 FcPatternIterGetObject -- Returns an object name which the iterator point
1208 #include <fontconfig/fontconfig.h>
1211 const char * FcPatternIterGetObject(const FcPattern *p, FcPatternIter
1216 Returns an object name in p which iter point to. returns NULL if iter
1223 FcPatternIterValueCount
1227 FcPatternIterValueCount -- Returns the number of the values which the
1232 #include <fontconfig/fontconfig.h>
1235 int FcPatternIterValueCount(const FcPattern *p, FcPatternIter *iter);
1239 Returns the number of the values in the object which iter point to. if
1240 iter isn't valid, returns 0.
1246 FcPatternIterGetValue
1250 FcPatternIterGetValue -- Returns a value which the iterator point to
1254 #include <fontconfig/fontconfig.h>
1257 FcResult FcPatternIterGetValue(const FcPattern *p, FcPatternIter *iter,
1258 intid, FcValue *v, FcValueBinding *b);
1262 Returns in v the id'th value which iter point to. also binding to b if
1263 given. The value returned is not a copy, but rather refers to the data
1264 stored within the pattern directly. Applications must not free this value.
1274 FcPatternPrint -- Print a pattern for debugging
1278 #include <fontconfig/fontconfig.h>
1281 void FcPatternPrint(const FcPattern *p);
1285 Prints an easily readable version of the pattern to stdout. There is no
1286 provision for reparsing data in this format, it's just for diagnostics and
1293 FcDefaultSubstitute -- Perform default substitutions in a pattern
1297 #include <fontconfig/fontconfig.h>
1300 void FcDefaultSubstitute(FcPattern *pattern);
1304 Supplies default values for underspecified font patterns:
1306 * Patterns without a specified style or weight are set to Medium
1308 * Patterns without a specified style or slant are set to Roman
1310 * Patterns without a specified pixel size are given one computed from
1311 any specified point size (default 12), dpi (default 75) and scale
1318 FcNameParse -- Parse a pattern string
1322 #include <fontconfig/fontconfig.h>
1325 FcPattern * FcNameParse(const FcChar8 *name);
1329 Converts name from the standard text format described above into a
1336 FcNameUnparse -- Convert a pattern back into a string that can be parsed
1340 #include <fontconfig/fontconfig.h>
1343 FcChar8 * FcNameUnparse(FcPattern *pat);
1347 Converts the given pattern into the standard text format described above.
1348 The return value is not static, but instead refers to newly allocated
1349 memory which should be freed by the caller using free().
1355 FcPatternFormat -- Format a pattern into a string according to a format
1360 #include <fontconfig/fontconfig.h>
1363 FcChar8 * FcPatternFormat(FcPattern *pat, const FcChar8 *format);
1367 Converts given pattern pat into text described by the format specifier
1368 format. The return value refers to newly allocated memory which should be
1369 freed by the caller using free(), or NULL if format is invalid.
1371 The format is loosely modeled after printf-style format string. The
1372 format string is composed of zero or more directives: ordinary characters
1373 (not "%"), which are copied unchanged to the output stream; and tags which
1374 are interpreted to construct text from the pattern in a variety of ways
1375 (explained below). Special characters can be escaped using backslash.
1376 C-string style special characters like \n and \r are also supported (this
1377 is useful when the format string is not a C string literal). It is
1378 advisable to always escape curly braces that are meant to be copied to the
1379 output as ordinary characters.
1381 Each tag is introduced by the character "%", followed by an optional
1382 minimum field width, followed by tag contents in curly braces ({}). If the
1383 minimum field width value is provided the tag will be expanded and the
1384 result padded to achieve the minimum width. If the minimum field width is
1385 positive, the padding will right-align the text. Negative field width will
1386 left-align. The rest of this section describes various supported tag
1387 contents and their expansion.
1389 A simple tag is one where the content is an identifier. When simple tags
1390 are expanded, the named identifier will be looked up in pattern and the
1391 resulting list of values returned, joined together using comma. For
1392 example, to print the family name and style of the pattern, use the format
1393 "%{family} %{style}\n". To extend the family column to forty characters
1394 use "%-40{family}%{style}\n".
1396 Simple tags expand to list of all values for an element. To only choose
1397 one of the values, one can index using the syntax "%{elt[idx]}". For
1398 example, to get the first family name only, use "%{family[0]}".
1400 If a simple tag ends with "=" and the element is found in the pattern,
1401 the name of the element followed by "=" will be output before the list of
1402 values. For example, "%{weight=}" may expand to the string "weight=80". Or
1403 to the empty string if pattern does not have weight set.
1405 If a simple tag starts with ":" and the element is found in the pattern,
1406 ":" will be printed first. For example, combining this with the =, the
1407 format "%{:weight=}" may expand to ":weight=80" or to the empty string if
1408 pattern does not have weight set.
1410 If a simple tag contains the string ":-", the rest of the the tag
1411 contents will be used as a default string. The default string is output if
1412 the element is not found in the pattern. For example, the format
1413 "%{:weight=:-123}" may expand to ":weight=80" or to the string
1414 ":weight=123" if pattern does not have weight set.
1416 A count tag is one that starts with the character "#" followed by an
1417 element name, and expands to the number of values for the element in the
1418 pattern. For example, "%{#family}" expands to the number of family names
1419 pattern has set, which may be zero.
1421 A sub-expression tag is one that expands a sub-expression. The tag
1422 contents are the sub-expression to expand placed inside another set of
1423 curly braces. Sub-expression tags are useful for aligning an entire
1424 sub-expression, or to apply converters (explained later) to the entire
1425 sub-expression output. For example, the format "%40{{%{family} %{style}}}"
1426 expands the sub-expression to construct the family name followed by the
1427 style, then takes the entire string and pads it on the left to be at least
1430 A filter-out tag is one starting with the character "-" followed by a
1431 comma-separated list of element names, followed by a sub-expression
1432 enclosed in curly braces. The sub-expression will be expanded but with a
1433 pattern that has the listed elements removed from it. For example, the
1434 format "%{-size,pixelsize{sub-expr}}" will expand "sub-expr" with pattern
1435 sans the size and pixelsize elements.
1437 A filter-in tag is one starting with the character "+" followed by a
1438 comma-separated list of element names, followed by a sub-expression
1439 enclosed in curly braces. The sub-expression will be expanded but with a
1440 pattern that only has the listed elements from the surrounding pattern.
1441 For example, the format "%{+family,familylang{sub-expr}}" will expand
1442 "sub-expr" with a sub-pattern consisting only the family and family lang
1443 elements of pattern.
1445 A conditional tag is one starting with the character "?" followed by a
1446 comma-separated list of element conditions, followed by two sub-expression
1447 enclosed in curly braces. An element condition can be an element name, in
1448 which case it tests whether the element is defined in pattern, or the
1449 character "!" followed by an element name, in which case the test is
1450 negated. The conditional passes if all the element conditions pass. The
1451 tag expands the first sub-expression if the conditional passes, and
1452 expands the second sub-expression otherwise. For example, the format
1453 "%{?size,dpi,!pixelsize{pass}{fail}}" will expand to "pass" if pattern has
1454 size and dpi elements but no pixelsize element, and to "fail" otherwise.
1456 An enumerate tag is one starting with the string "[]" followed by a
1457 comma-separated list of element names, followed by a sub-expression
1458 enclosed in curly braces. The list of values for the named elements are
1459 walked in parallel and the sub-expression expanded each time with a
1460 pattern just having a single value for those elements, starting from the
1461 first value and continuing as long as any of those elements has a value.
1462 For example, the format "%{[]family,familylang{%{family}
1463 (%{familylang})\n}}" will expand the pattern "%{family} (%{familylang})\n"
1464 with a pattern having only the first value of the family and familylang
1465 elements, then expands it with the second values, then the third, etc.
1467 As a special case, if an enumerate tag has only one element, and that
1468 element has only one value in the pattern, and that value is of type
1469 FcLangSet, the individual languages in the language set are enumerated.
1471 A builtin tag is one starting with the character "=" followed by a
1472 builtin name. The following builtins are defined:
1476 Expands to the result of calling FcNameUnparse() on the pattern.
1480 Expands to the output of the default output format of the fc-match
1481 command on the pattern, without the final newline.
1485 Expands to the output of the default output format of the fc-list
1486 command on the pattern, without the final newline.
1490 Expands to the output of the default output format of the fc-cat
1491 command on the pattern, without the final newline.
1495 Expands to the list of PackageKit font() tags for the pattern.
1496 Currently this includes tags for each family name, and each
1497 language from the pattern, enumerated and sanitized into a set of
1498 tags terminated by newline. Package management systems can use
1499 these tags to tag their packages accordingly.
1501 For example, the format "%{+family,style{%{=unparse}}}\n" will expand to
1502 an unparsed name containing only the family and style element values from
1505 The contents of any tag can be followed by a set of zero or more
1506 converters. A converter is specified by the character "|" followed by the
1507 converter name and arguments. The following converters are defined:
1511 Replaces text with the results of calling FcStrBasename() on it.
1515 Replaces text with the results of calling FcStrDirname() on it.
1519 Replaces text with the results of calling FcStrDowncase() on it.
1523 Escapes text for one level of shell expansion. (Escapes
1524 single-quotes, also encloses text in single-quotes.)
1528 Escapes text such that it can be used as part of a C string
1529 literal. (Escapes backslash and double-quotes.)
1533 Escapes text such that it can be used in XML and HTML. (Escapes
1534 less-than, greater-than, and ampersand.)
1538 Deletes all occurrences of each of the characters in chars from
1539 the text. FIXME: This converter is not UTF-8 aware yet.
1543 Escapes all occurrences of each of the characters in chars by
1544 prepending it by the first character in chars. FIXME: This
1545 converter is not UTF-8 aware yet.
1549 Translates all occurrences of each of the characters in from by
1550 replacing them with their corresponding character in to. If to has
1551 fewer characters than from, it will be extended by repeating its
1552 last character. FIXME: This converter is not UTF-8 aware yet.
1554 For example, the format "%{family|downcase|delete( )}\n" will expand to
1555 the values of the family element in pattern, lower-cased and with spaces
1562 --------------------------------------------------------------------------
1568 [43]FcFontSetCreate -- Create a font set
1570 [44]FcFontSetDestroy -- Destroy a font set
1572 [45]FcFontSetAdd -- Add to a font set
1574 [46]FcFontSetList -- List fonts from a set of font sets
1576 [47]FcFontSetMatch -- Return the best font from a set of font sets
1578 [48]FcFontSetPrint -- Print a set of patterns to stdout
1580 [49]FcFontSetSort -- Add to a font set
1582 [50]FcFontSetSortDestroy -- DEPRECATED destroy a font set
1584 An FcFontSet simply holds a list of patterns; these are used to return the
1585 results of listing available fonts.
1591 FcFontSetCreate -- Create a font set
1595 #include <fontconfig/fontconfig.h>
1598 FcFontSet * FcFontSetCreate(void);
1602 Creates an empty font set.
1608 FcFontSetDestroy -- Destroy a font set
1612 #include <fontconfig/fontconfig.h>
1615 void FcFontSetDestroy(FcFontSet *s);
1619 Destroys a font set. Note that this destroys any referenced patterns as
1626 FcFontSetAdd -- Add to a font set
1630 #include <fontconfig/fontconfig.h>
1633 FcBool FcFontSetAdd(FcFontSet *s, FcPattern *font);
1637 Adds a pattern to a font set. Note that the pattern is not copied before
1638 being inserted into the set. Returns FcFalse if the pattern cannot be
1639 inserted into the set (due to allocation failure). Otherwise returns
1646 FcFontSetList -- List fonts from a set of font sets
1650 #include <fontconfig/fontconfig.h>
1653 FcFontSet * FcFontSetList(FcConfig *config, FcFontSet **sets, intnsets,
1654 FcPattern *pattern, FcObjectSet *object_set);
1658 Selects fonts matching pattern from sets, creates patterns from those
1659 fonts containing only the objects in object_set and returns the set of
1660 unique such patterns. If config is NULL, the default configuration is
1661 checked to be up to date, and used.
1667 FcFontSetMatch -- Return the best font from a set of font sets
1671 #include <fontconfig/fontconfig.h>
1674 FcPattern * FcFontSetMatch(FcConfig *config, FcFontSet **sets, intnsets,
1675 FcPattern *pattern, FcResult *result);
1679 Finds the font in sets most closely matching pattern and returns the
1680 result of FcFontRenderPrepare for that font and the provided pattern. This
1681 function should be called only after FcConfigSubstitute and
1682 FcDefaultSubstitute have been called for pattern; otherwise the results
1683 will not be correct. If config is NULL, the current configuration is used.
1684 Returns NULL if an error occurs during this process.
1690 FcFontSetPrint -- Print a set of patterns to stdout
1694 #include <fontconfig/fontconfig.h>
1697 void FcFontSetPrint(FcFontSet *set);
1701 This function is useful for diagnosing font related issues, printing the
1702 complete contents of every pattern in set. The format of the output is
1703 designed to be of help to users and developers, and may change at any
1710 FcFontSetSort -- Add to a font set
1714 #include <fontconfig/fontconfig.h>
1717 FcFontSetSort(FcConfig *config, FcFontSet **sets, intnsets, FcPattern
1718 *pattern, FcBool trim, FcCharSet **csp, FcResult *result);
1722 Returns the list of fonts from sets sorted by closeness to pattern. If
1723 trim is FcTrue, elements in the list which don't include Unicode coverage
1724 not provided by earlier elements in the list are elided. The union of
1725 Unicode coverage of all of the fonts is returned in csp, if csp is not
1726 NULL. This function should be called only after FcConfigSubstitute and
1727 FcDefaultSubstitute have been called for p; otherwise the results will not
1730 The returned FcFontSet references FcPattern structures which may be shared
1731 by the return value from multiple FcFontSort calls, applications cannot
1732 modify these patterns. Instead, they should be passed, along with pattern
1733 to FcFontRenderPrepare which combines them into a complete pattern.
1735 The FcFontSet returned by FcFontSetSort is destroyed by calling
1738 FcFontSetSortDestroy
1742 FcFontSetSortDestroy -- DEPRECATED destroy a font set
1746 #include <fontconfig/fontconfig.h>
1749 FcFontSetSortDestroy(FcFontSet *set);
1753 This function is DEPRECATED. FcFontSetSortDestroy destroys set by calling
1754 FcFontSetDestroy. Applications should use FcFontSetDestroy directly
1757 --------------------------------------------------------------------------
1763 [51]FcObjectSetCreate -- Create an object set
1765 [52]FcObjectSetAdd -- Add to an object set
1767 [53]FcObjectSetDestroy -- Destroy an object set
1769 [54]FcObjectSetBuild -- Build object set from args
1771 An FcObjectSet holds a list of pattern property names; it is used to
1772 indicate which properties are to be returned in the patterns from
1779 FcObjectSetCreate -- Create an object set
1783 #include <fontconfig/fontconfig.h>
1786 FcObjectSet * FcObjectSetCreate(void);
1790 Creates an empty set.
1796 FcObjectSetAdd -- Add to an object set
1800 #include <fontconfig/fontconfig.h>
1803 FcBool FcObjectSetAdd(FcObjectSet *os, const char *object);
1807 Adds a property name to the set. Returns FcFalse if the property name
1808 cannot be inserted into the set (due to allocation failure). Otherwise
1815 FcObjectSetDestroy -- Destroy an object set
1819 #include <fontconfig/fontconfig.h>
1822 void FcObjectSetDestroy(FcObjectSet *os);
1826 Destroys an object set.
1832 FcObjectSetBuild, FcObjectSetVaBuild, FcObjectSetVapBuild -- Build object
1837 #include <fontconfig/fontconfig.h>
1840 FcObjectSet * FcObjectSetBuild(const char *first, ...);
1842 FcObjectSet * FcObjectSetVaBuild(const char *first, va_list va);
1844 void FcObjectSetVapBuild(FcObjectSet *result, const char *first, va_list
1849 These build an object set from a null-terminated list of property names.
1850 FcObjectSetVapBuild is a macro version of FcObjectSetVaBuild which returns
1851 the result in the result variable directly.
1853 --------------------------------------------------------------------------
1855 FreeType specific functions
1859 [55]FcFreeTypeCharIndex -- map Unicode to glyph id
1861 [56]FcFreeTypeCharSet -- compute Unicode coverage
1863 [57]FcFreeTypeCharSetAndSpacing -- compute Unicode coverage and spacing
1866 [58]FcFreeTypeQuery -- compute pattern from font file (and index)
1868 [59]FcFreeTypeQueryAll -- compute all patterns from font file (and index)
1870 [60]FcFreeTypeQueryFace -- compute pattern from FT_Face
1872 While the fontconfig library doesn't insist that FreeType be used as the
1873 rasterization mechanism for fonts, it does provide some convenience
1880 FcFreeTypeCharIndex -- map Unicode to glyph id
1884 #include <fontconfig.h>
1885 #include <fcfreetype.h>
1888 FT_UInt FcFreeTypeCharIndex(FT_Face face, FcChar32 ucs4);
1892 Maps a Unicode char to a glyph index. This function uses information from
1893 several possible underlying encoding tables to work around broken fonts.
1894 As a result, this function isn't designed to be used in performance
1895 sensitive areas; results from this function are intended to be cached by
1896 higher level functions.
1902 FcFreeTypeCharSet -- compute Unicode coverage
1906 #include <fontconfig.h>
1907 #include <fcfreetype.h>
1910 FcCharSet * FcFreeTypeCharSet(FT_Face face, FcBlanks *blanks);
1914 Scans a FreeType face and returns the set of encoded Unicode chars.
1915 FcBlanks is deprecated, blanks is ignored and accepted only for
1916 compatibility with older code.
1918 FcFreeTypeCharSetAndSpacing
1922 FcFreeTypeCharSetAndSpacing -- compute Unicode coverage and spacing type
1926 #include <fontconfig.h>
1927 #include <fcfreetype.h>
1930 FcCharSet * FcFreeTypeCharSetAndSpacing(FT_Face face, FcBlanks *blanks,
1935 Scans a FreeType face and returns the set of encoded Unicode chars.
1936 FcBlanks is deprecated, blanks is ignored and accepted only for
1937 compatibility with older code. spacing receives the computed spacing type
1938 of the font, one of FC_MONO for a font where all glyphs have the same
1939 width, FC_DUAL, where the font has glyphs in precisely two widths, one
1940 twice as wide as the other, or FC_PROPORTIONAL where the font has glyphs
1947 FcFreeTypeQuery -- compute pattern from font file (and index)
1951 #include <fontconfig.h>
1952 #include <fcfreetype.h>
1955 FcPattern * FcFreeTypeQuery(const FcChar8 *file, int id, FcBlanks *blanks,
1960 Constructs a pattern representing the 'id'th face in 'file'. The number of
1961 faces in 'file' is returned in 'count'. FcBlanks is deprecated, blanks is
1962 ignored and accepted only for compatibility with older code.
1968 FcFreeTypeQueryAll -- compute all patterns from font file (and index)
1972 #include <fontconfig.h>
1973 #include <fcfreetype.h>
1976 unsigned int FcFreeTypeQueryAll(const FcChar8 *file, int id, FcBlanks
1977 *blanks, int *count, FcFontSet *set);
1981 Constructs patterns found in 'file'. If id is -1, then all patterns found
1982 in 'file' are added to 'set'. Otherwise, this function works exactly like
1983 FcFreeTypeQuery(). The number of faces in 'file' is returned in 'count'.
1984 The number of patterns added to 'set' is returned. FcBlanks is deprecated,
1985 blanks is ignored and accepted only for compatibility with older code.
1995 FcFreeTypeQueryFace -- compute pattern from FT_Face
1999 #include <fontconfig.h>
2000 #include <fcfreetype.h>
2003 FcPattern * FcFreeTypeQueryFace(const FT_Face face, const FcChar8 *file,
2004 int id, FcBlanks *blanks);
2008 Constructs a pattern representing 'face'. 'file' and 'id' are used solely
2009 as data for pattern elements (FC_FILE, FC_INDEX and sometimes FC_FAMILY).
2010 FcBlanks is deprecated, blanks is ignored and accepted only for
2011 compatibility with older code.
2013 --------------------------------------------------------------------------
2019 [61]FcValueDestroy -- Free a value
2021 [62]FcValueSave -- Copy a value
2023 [63]FcValuePrint -- Print a value to stdout
2025 [64]FcValueEqual -- Test two values for equality
2027 FcValue is a structure containing a type tag and a union of all possible
2028 datatypes. The tag is an enum of type FcType and is intended to provide a
2029 measure of run-time typechecking, although that depends on careful
2036 FcValueDestroy -- Free a value
2040 #include <fontconfig/fontconfig.h>
2043 void FcValueDestroy(FcValue v);
2047 Frees any memory referenced by v. Values of type FcTypeString,
2048 FcTypeMatrix and FcTypeCharSet reference memory, the other types do not.
2054 FcValueSave -- Copy a value
2058 #include <fontconfig/fontconfig.h>
2061 FcValue FcValueSave(FcValue v);
2065 Returns a copy of v duplicating any object referenced by it so that v may
2066 be safely destroyed without harming the new value.
2072 FcValuePrint -- Print a value to stdout
2076 #include <fontconfig/fontconfig.h>
2079 void FcValuePrint(FcValue v);
2083 Prints a human-readable representation of v to stdout. The format should
2084 not be considered part of the library specification as it may change in
2091 FcValueEqual -- Test two values for equality
2095 #include <fontconfig/fontconfig.h>
2098 FcBool FcValueEqual(FcValue v_a, FcValue v_b);
2102 Compares two values. Integers and Doubles are compared as numbers;
2103 otherwise the two values have to be the same type to be considered equal.
2104 Strings are compared ignoring case.
2106 --------------------------------------------------------------------------
2112 [65]FcCharSetCreate -- Create an empty character set
2114 [66]FcCharSetDestroy -- Destroy a character set
2116 [67]FcCharSetAddChar -- Add a character to a charset
2118 [68]FcCharSetDelChar -- Add a character to a charset
2120 [69]FcCharSetCopy -- Copy a charset
2122 [70]FcCharSetEqual -- Compare two charsets
2124 [71]FcCharSetIntersect -- Intersect charsets
2126 [72]FcCharSetUnion -- Add charsets
2128 [73]FcCharSetSubtract -- Subtract charsets
2130 [74]FcCharSetMerge -- Merge charsets
2132 [75]FcCharSetHasChar -- Check a charset for a char
2134 [76]FcCharSetCount -- Count entries in a charset
2136 [77]FcCharSetIntersectCount -- Intersect and count charsets
2138 [78]FcCharSetSubtractCount -- Subtract and count charsets
2140 [79]FcCharSetIsSubset -- Test for charset inclusion
2142 [80]FcCharSetFirstPage -- Start enumerating charset contents
2144 [81]FcCharSetNextPage -- Continue enumerating charset contents
2146 [82]FcCharSetCoverage -- DEPRECATED return coverage for a Unicode page
2148 [83]FcCharSetNew -- DEPRECATED alias for FcCharSetCreate
2150 An FcCharSet is a boolean array indicating a set of Unicode chars. Those
2151 associated with a font are marked constant and cannot be edited.
2152 FcCharSets may be reference counted internally to reduce memory
2153 consumption; this may be visible to applications as the result of
2154 FcCharSetCopy may return it's argument, and that CharSet may remain
2161 FcCharSetCreate -- Create an empty character set
2165 #include <fontconfig/fontconfig.h>
2168 FcCharSet * FcCharSetCreate(void);
2172 FcCharSetCreate allocates and initializes a new empty character set
2179 FcCharSetDestroy -- Destroy a character set
2183 #include <fontconfig/fontconfig.h>
2186 void FcCharSetDestroy(FcCharSet *fcs);
2190 FcCharSetDestroy decrements the reference count fcs. If the reference
2191 count becomes zero, all memory referenced is freed.
2197 FcCharSetAddChar -- Add a character to a charset
2201 #include <fontconfig/fontconfig.h>
2204 FcBool FcCharSetAddChar(FcCharSet *fcs, FcChar32 ucs4);
2208 FcCharSetAddChar adds a single Unicode char to the set, returning FcFalse
2209 on failure, either as a result of a constant set or from running out of
2216 FcCharSetDelChar -- Add a character to a charset
2220 #include <fontconfig/fontconfig.h>
2223 FcBool FcCharSetDelChar(FcCharSet *fcs, FcChar32 ucs4);
2227 FcCharSetDelChar deletes a single Unicode char from the set, returning
2228 FcFalse on failure, either as a result of a constant set or from running
2239 FcCharSetCopy -- Copy a charset
2243 #include <fontconfig/fontconfig.h>
2246 FcCharSet * FcCharSetCopy(FcCharSet *src);
2250 Makes a copy of src; note that this may not actually do anything more than
2251 increment the reference count on src.
2257 FcCharSetEqual -- Compare two charsets
2261 #include <fontconfig/fontconfig.h>
2264 FcBool FcCharSetEqual(const FcCharSet *a, const FcCharSet *b);
2268 Returns whether a and b contain the same set of Unicode chars.
2274 FcCharSetIntersect -- Intersect charsets
2278 #include <fontconfig/fontconfig.h>
2281 FcCharSet * FcCharSetIntersect(const FcCharSet *a, const FcCharSet *b);
2285 Returns a set including only those chars found in both a and b.
2291 FcCharSetUnion -- Add charsets
2295 #include <fontconfig/fontconfig.h>
2298 FcCharSet * FcCharSetUnion(const FcCharSet *a, const FcCharSet *b);
2302 Returns a set including only those chars found in either a or b.
2308 FcCharSetSubtract -- Subtract charsets
2312 #include <fontconfig/fontconfig.h>
2315 FcCharSet * FcCharSetSubtract(const FcCharSet *a, const FcCharSet *b);
2319 Returns a set including only those chars found in a but not b.
2325 FcCharSetMerge -- Merge charsets
2329 #include <fontconfig/fontconfig.h>
2332 FcBool FcCharSetMerge(FcCharSet *a, const FcCharSet *b, FcBool *changed);
2336 Adds all chars in b to a. In other words, this is an in-place version of
2337 FcCharSetUnion. If changed is not NULL, then it returns whether any new
2338 chars from b were added to a. Returns FcFalse on failure, either when a is
2339 a constant set or from running out of memory.
2345 FcCharSetHasChar -- Check a charset for a char
2349 #include <fontconfig/fontconfig.h>
2352 FcBool FcCharSetHasChar(const FcCharSet *fcs, FcChar32 ucs4);
2356 Returns whether fcs contains the char ucs4.
2362 FcCharSetCount -- Count entries in a charset
2366 #include <fontconfig/fontconfig.h>
2369 FcChar32 FcCharSetCount(const FcCharSet *a);
2373 Returns the total number of Unicode chars in a.
2375 FcCharSetIntersectCount
2379 FcCharSetIntersectCount -- Intersect and count charsets
2383 #include <fontconfig/fontconfig.h>
2386 FcChar32 FcCharSetIntersectCount(const FcCharSet *a, const FcCharSet *b);
2390 Returns the number of chars that are in both a and b.
2392 FcCharSetSubtractCount
2396 FcCharSetSubtractCount -- Subtract and count charsets
2400 #include <fontconfig/fontconfig.h>
2403 FcChar32 FcCharSetSubtractCount(const FcCharSet *a, const FcCharSet *b);
2407 Returns the number of chars that are in a but not in b.
2413 FcCharSetIsSubset -- Test for charset inclusion
2417 #include <fontconfig/fontconfig.h>
2420 FcBool FcCharSetIsSubset(const FcCharSet *a, const FcCharSet *b);
2424 Returns whether a is a subset of b.
2430 FcCharSetFirstPage -- Start enumerating charset contents
2434 #include <fontconfig/fontconfig.h>
2437 FcChar32 FcCharSetFirstPage(const FcCharSet *a,
2438 FcChar32[FC_CHARSET_MAP_SIZE] map, FcChar32 *next);
2442 Builds an array of bits in map marking the first page of Unicode coverage
2443 of a. *next is set to contains the base code point for the next page in a.
2444 Returns the base code point for the page, or FC_CHARSET_DONE if a contains
2445 no pages. As an example, if FcCharSetFirstPage returns 0x300 and fills map
2448 0xffffffff 0xffffffff 0x01000008 0x44300002 0xffffd7f0 0xfffffffb 0xffff7fff 0xffff0003
2450 Then the page contains code points 0x300 through 0x33f (the first 64 code
2451 points on the page) because map[0] and map[1] both have all their bits
2452 set. It also contains code points 0x343 (0x300 + 32*2 + (4-1)) and 0x35e
2453 (0x300 + 32*2 + (31-1)) because map[2] has the 4th and 31st bits set. The
2454 code points represented by map[3] and later are left as an excercise for
2461 FcCharSetNextPage -- Continue enumerating charset contents
2465 #include <fontconfig/fontconfig.h>
2468 FcChar32 FcCharSetNextPage(const FcCharSet *a,
2469 FcChar32[FC_CHARSET_MAP_SIZE] map, FcChar32 *next);
2473 Builds an array of bits in map marking the Unicode coverage of a for page
2474 containing *next (see the FcCharSetFirstPage description for details).
2475 *next is set to contains the base code point for the next page in a.
2476 Returns the base of code point for the page, or FC_CHARSET_DONE if a does
2483 FcCharSetCoverage -- DEPRECATED return coverage for a Unicode page
2487 #include <fontconfig/fontconfig.h>
2490 FcChar32 FcCharSetCoverage(const FcCharSet *a, FcChar32page,
2495 DEPRECATED This function returns a bitmask in result which indicates which
2496 code points in page are included in a. FcCharSetCoverage returns the next
2497 page in the charset which has any coverage.
2503 FcCharSetNew -- DEPRECATED alias for FcCharSetCreate
2507 #include <fontconfig/fontconfig.h>
2510 FcCharSet * FcCharSetNew(void);
2514 FcCharSetNew is a DEPRECATED alias for FcCharSetCreate.
2516 --------------------------------------------------------------------------
2522 [84]FcLangSetCreate -- create a langset object
2524 [85]FcLangSetDestroy -- destroy a langset object
2526 [86]FcLangSetCopy -- copy a langset object
2528 [87]FcLangSetAdd -- add a language to a langset
2530 [88]FcLangSetDel -- delete a language from a langset
2532 [89]FcLangSetUnion -- Add langsets
2534 [90]FcLangSetSubtract -- Subtract langsets
2536 [91]FcLangSetCompare -- compare language sets
2538 [92]FcLangSetContains -- check langset subset relation
2540 [93]FcLangSetEqual -- test for matching langsets
2542 [94]FcLangSetHash -- return a hash value for a langset
2544 [95]FcLangSetHasLang -- test langset for language support
2546 [96]FcGetDefaultLangs -- Get the default languages list
2548 [97]FcLangSetGetLangs -- get the list of languages in the langset
2550 [98]FcGetLangs -- Get list of languages
2552 [99]FcLangNormalize -- Normalize the language string
2554 [100]FcLangGetCharSet -- Get character map for a language
2556 An FcLangSet is a set of language names (each of which include language
2557 and an optional territory). They are used when selecting fonts to indicate
2558 which languages the fonts need to support. Each font is marked, using
2559 language orthography information built into fontconfig, with the set of
2560 supported languages.
2566 FcLangSetCreate -- create a langset object
2570 #include <fontconfig/fontconfig.h>
2573 FcLangSet * FcLangSetCreate(void);
2577 FcLangSetCreate creates a new FcLangSet object.
2583 FcLangSetDestroy -- destroy a langset object
2587 #include <fontconfig/fontconfig.h>
2590 void FcLangSetDestroy(FcLangSet *ls);
2594 FcLangSetDestroy destroys a FcLangSet object, freeing all memory
2601 FcLangSetCopy -- copy a langset object
2605 #include <fontconfig/fontconfig.h>
2608 FcLangSet * FcLangSetCopy(const FcLangSet *ls);
2612 FcLangSetCopy creates a new FcLangSet object and populates it with the
2619 FcLangSetAdd -- add a language to a langset
2623 #include <fontconfig/fontconfig.h>
2626 FcBool FcLangSetAdd(FcLangSet *ls, const FcChar8 *lang);
2630 lang is added to ls. lang should be of the form Ll-Tt where Ll is a two or
2631 three letter language from ISO 639 and Tt is a territory from ISO 3166.
2637 FcLangSetDel -- delete a language from a langset
2641 #include <fontconfig/fontconfig.h>
2644 FcBool FcLangSetDel(FcLangSet *ls, const FcChar8 *lang);
2648 lang is removed from ls. lang should be of the form Ll-Tt where Ll is a
2649 two or three letter language from ISO 639 and Tt is a territory from ISO
2660 FcLangSetUnion -- Add langsets
2664 #include <fontconfig/fontconfig.h>
2667 FcLangSet * FcLangSetUnion(const FcLangSet *ls_a, const FcLangSet *ls_b);
2671 Returns a set including only those languages found in either ls_a or ls_b.
2681 FcLangSetSubtract -- Subtract langsets
2685 #include <fontconfig/fontconfig.h>
2688 FcLangSet * FcLangSetSubtract(const FcLangSet *ls_a, const FcLangSet
2693 Returns a set including only those languages found in ls_a but not in
2704 FcLangSetCompare -- compare language sets
2708 #include <fontconfig/fontconfig.h>
2711 FcLangResult FcLangSetCompare(const FcLangSet *ls_a, const FcLangSet
2716 FcLangSetCompare compares language coverage for ls_a and ls_b. If they
2717 share any language and territory pair, this function returns FcLangEqual.
2718 If they share a language but differ in which territory that language is
2719 for, this function returns FcLangDifferentTerritory. If they share no
2720 languages in common, this function returns FcLangDifferentLang.
2726 FcLangSetContains -- check langset subset relation
2730 #include <fontconfig/fontconfig.h>
2733 FcBool FcLangSetContains(const FcLangSet *ls_a, const FcLangSet *ls_b);
2737 FcLangSetContains returns FcTrue if ls_a contains every language in ls_b.
2738 ls_a will 'contain' a language from ls_b if ls_a has exactly the language,
2739 or either the language or ls_a has no territory.
2745 FcLangSetEqual -- test for matching langsets
2749 #include <fontconfig/fontconfig.h>
2752 FcBool FcLangSetEqual(const FcLangSet *ls_a, const FcLangSet *ls_b);
2756 Returns FcTrue if and only if ls_a supports precisely the same language
2757 and territory combinations as ls_b.
2763 FcLangSetHash -- return a hash value for a langset
2767 #include <fontconfig/fontconfig.h>
2770 FcChar32 FcLangSetHash(const FcLangSet *ls);
2774 This function returns a value which depends solely on the languages
2775 supported by ls. Any language which equals ls will have the same result
2776 from FcLangSetHash. However, two langsets with the same hash value may not
2783 FcLangSetHasLang -- test langset for language support
2787 #include <fontconfig/fontconfig.h>
2790 FcLangResult FcLangSetHasLang(const FcLangSet *ls, const FcChar8 *lang);
2794 FcLangSetHasLang checks whether ls supports lang. If ls has a matching
2795 language and territory pair, this function returns FcLangEqual. If ls has
2796 a matching language but differs in which territory that language is for,
2797 this function returns FcLangDifferentTerritory. If ls has no matching
2798 language, this function returns FcLangDifferentLang.
2804 FcGetDefaultLangs -- Get the default languages list
2808 #include <fontconfig/fontconfig.h>
2811 FcStrSet * FcGetDefaultLangs(void);
2815 Returns a string set of the default languages according to the environment
2816 variables on the system. This function looks for them in order of FC_LANG,
2817 LC_ALL, LC_CTYPE and LANG then. If there are no valid values in those
2818 environment variables, "en" will be set as fallback.
2828 FcLangSetGetLangs -- get the list of languages in the langset
2832 #include <fontconfig/fontconfig.h>
2835 FcStrSet * FcLangSetGetLangs(const FcLangSet *ls);
2839 Returns a string set of all languages in langset.
2845 FcGetLangs -- Get list of languages
2849 #include <fontconfig/fontconfig.h>
2852 FcStrSet * FcGetLangs(void);
2856 Returns a string set of all known languages.
2862 FcLangNormalize -- Normalize the language string
2866 #include <fontconfig/fontconfig.h>
2869 FcChar8 * FcLangNormalize(const FcChar8 *lang);
2873 Returns a string to make lang suitable on fontconfig.
2883 FcLangGetCharSet -- Get character map for a language
2887 #include <fontconfig/fontconfig.h>
2890 const FcCharSet * FcLangGetCharSet(const FcChar8 *lang);
2894 Returns the FcCharMap for a language.
2896 --------------------------------------------------------------------------
2902 [101]FcMatrixInit -- initialize an FcMatrix structure
2904 [102]FcMatrixCopy -- Copy a matrix
2906 [103]FcMatrixEqual -- Compare two matrices
2908 [104]FcMatrixMultiply -- Multiply matrices
2910 [105]FcMatrixRotate -- Rotate a matrix
2912 [106]FcMatrixScale -- Scale a matrix
2914 [107]FcMatrixShear -- Shear a matrix
2916 FcMatrix structures hold an affine transformation in matrix form.
2922 FcMatrixInit -- initialize an FcMatrix structure
2926 #include <fontconfig/fontconfig.h>
2929 void FcMatrixInit(FcMatrix *matrix);
2933 FcMatrixInit initializes matrix to the identity matrix.
2939 FcMatrixCopy -- Copy a matrix
2943 #include <fontconfig/fontconfig.h>
2946 void FcMatrixCopy(const FcMatrix *matrix);
2950 FcMatrixCopy allocates a new FcMatrix and copies mat into it.
2956 FcMatrixEqual -- Compare two matrices
2960 #include <fontconfig/fontconfig.h>
2963 void FcMatrixEqual(const FcMatrix *matrix1, const FcMatrix *matrix2);
2967 FcMatrixEqual compares matrix1 and matrix2 returning FcTrue when they are
2968 equal and FcFalse when they are not.
2974 FcMatrixMultiply -- Multiply matrices
2978 #include <fontconfig/fontconfig.h>
2981 void FcMatrixMultiply(FcMatrix *result, const FcMatrix *matrix1, const
2986 FcMatrixMultiply multiplies matrix1 and matrix2 storing the result in
2993 FcMatrixRotate -- Rotate a matrix
2997 #include <fontconfig/fontconfig.h>
3000 void FcMatrixRotate(FcMatrix *matrix, double cos, double sin);
3004 FcMatrixRotate rotates matrix by the angle who's sine is sin and cosine is
3005 cos. This is done by multiplying by the matrix:
3014 FcMatrixScale -- Scale a matrix
3018 #include <fontconfig/fontconfig.h>
3021 void FcMatrixScale(FcMatrix *matrix, double sx, double dy);
3025 FcMatrixScale multiplies matrix x values by sx and y values by dy. This is
3026 done by multiplying by the matrix:
3035 FcMatrixShear -- Shear a matrix
3039 #include <fontconfig/fontconfig.h>
3042 void FcMatrixShear(FcMatrix *matrix, double sh, double sv);
3046 FcMatrixShare shears matrix horizontally by sh and vertically by sv. This
3047 is done by multiplying by the matrix:
3052 --------------------------------------------------------------------------
3058 [108]FcRangeCopy -- Copy a range object
3060 [109]FcRangeCreateDouble -- create a range object for double
3062 [110]FcRangeCreateInteger -- create a range object for integer
3064 [111]FcRangeDestroy -- destroy a range object
3066 [112]FcRangeGetDouble -- Get the range in double
3068 An FcRange holds two variables to indicate a range in between.
3074 FcRangeCopy -- Copy a range object
3078 #include <fontconfig/fontconfig.h>
3081 FcRange * FcRangeCopy(const FcRange *range);
3085 FcRangeCopy creates a new FcRange object and populates it with the
3096 FcRangeCreateDouble -- create a range object for double
3100 #include <fontconfig/fontconfig.h>
3103 FcRange * FcRangeCreateDouble(doublebegin, doubleend);
3107 FcRangeCreateDouble creates a new FcRange object with double sized value.
3113 FcRangeCreateInteger
3117 FcRangeCreateInteger -- create a range object for integer
3121 #include <fontconfig/fontconfig.h>
3124 FcRange * FcRangeCreateInteger(intbegin, intend);
3128 FcRangeCreateInteger creates a new FcRange object with integer sized
3139 FcRangeDestroy -- destroy a range object
3143 #include <fontconfig/fontconfig.h>
3146 void FcRangeDestroy(FcRange *range);
3150 FcRangeDestroy destroys a FcRange object, freeing all memory associated
3161 FcRangeGetDouble -- Get the range in double
3165 #include <fontconfig/fontconfig.h>
3168 FcBool FcRangeGetDouble(const FcRange *range, double *begin, double *end);
3172 Returns in begin and end as the range.
3178 --------------------------------------------------------------------------
3184 [113]FcConfigCreate -- Create a configuration
3186 [114]FcConfigReference -- Increment config reference count
3188 [115]FcConfigDestroy -- Destroy a configuration
3190 [116]FcConfigSetCurrent -- Set configuration as default
3192 [117]FcConfigGetCurrent -- Return current configuration
3194 [118]FcConfigUptoDate -- Check timestamps on config files
3196 [119]FcConfigHome -- return the current home directory.
3198 [120]FcConfigEnableHome -- controls use of the home directory.
3200 [121]FcConfigBuildFonts -- Build font database
3202 [122]FcConfigGetConfigDirs -- Get config directories
3204 [123]FcConfigGetFontDirs -- Get font directories
3206 [124]FcConfigGetConfigFiles -- Get config files
3208 [125]FcConfigGetCache -- DEPRECATED used to return per-user cache filename
3210 [126]FcConfigGetCacheDirs -- return the list of directories searched for
3213 [127]FcConfigGetFonts -- Get config font set
3215 [128]FcConfigGetBlanks -- Get config blanks
3217 [129]FcConfigGetRescanInterval -- Get config rescan interval
3219 [130]FcConfigSetRescanInterval -- Set config rescan interval
3221 [131]FcConfigAppFontAddFile -- Add font file to font database
3223 [132]FcConfigAppFontAddDir -- Add fonts from directory to font database
3225 [133]FcConfigAppFontClear -- Remove all app fonts from font database
3227 [134]FcConfigSubstituteWithPat -- Execute substitutions
3229 [135]FcConfigSubstitute -- Execute substitutions
3231 [136]FcFontMatch -- Return best font
3233 [137]FcFontSort -- Return list of matching fonts
3235 [138]FcFontRenderPrepare -- Prepare pattern for loading font file
3237 [139]FcFontList -- List fonts
3239 [140]FcConfigFilename -- Find a config file
3241 [141]FcConfigParseAndLoad -- load a configuration file
3243 [142]FcConfigParseAndLoadFromMemory -- load a configuration from memory
3245 [143]FcConfigGetSysRoot -- Obtain the system root directory
3247 [144]FcConfigSetSysRoot -- Set the system root directory
3249 [145]FcConfigFileInfoIterInit -- Initialize the iterator
3251 [146]FcConfigFileInfoIterNext -- Set the iterator to point to the next
3254 [147]FcConfigFileInfoIterGet -- Obtain the configuration file information
3256 An FcConfig object holds the internal representation of a configuration.
3257 There is a default configuration which applications may use by passing 0
3258 to any function using the data within an FcConfig.
3264 FcConfigCreate -- Create a configuration
3268 #include <fontconfig/fontconfig.h>
3271 FcConfig * FcConfigCreate(void);
3275 Creates an empty configuration.
3281 FcConfigReference -- Increment config reference count
3285 #include <fontconfig/fontconfig.h>
3288 FcConfig * FcConfigReference(FcConfig *config);
3292 Add another reference to config. Configs are freed only when the reference
3293 count reaches zero. If config is NULL, the current configuration is used.
3294 In that case this function will be similar to FcConfigGetCurrent() except
3295 that it increments the reference count before returning and the user is
3296 responsible for destroying the configuration when not needed anymore.
3302 FcConfigDestroy -- Destroy a configuration
3306 #include <fontconfig/fontconfig.h>
3309 void FcConfigDestroy(FcConfig *config);
3313 Decrements the config reference count. If all references are gone,
3314 destroys the configuration and any data associated with it. Note that
3315 calling this function with the return from FcConfigGetCurrent will cause a
3316 new configuration to be created for use as current configuration.
3322 FcConfigSetCurrent -- Set configuration as default
3326 #include <fontconfig/fontconfig.h>
3329 FcBool FcConfigSetCurrent(FcConfig *config);
3333 Sets the current default configuration to config. Implicitly calls
3334 FcConfigBuildFonts if necessary, and FcConfigReference() to inrease the
3335 reference count in config since 2.12.0, returning FcFalse if that call
3342 FcConfigGetCurrent -- Return current configuration
3346 #include <fontconfig/fontconfig.h>
3349 FcConfig * FcConfigGetCurrent(void);
3353 Returns the current default configuration.
3359 FcConfigUptoDate -- Check timestamps on config files
3363 #include <fontconfig/fontconfig.h>
3366 FcBool FcConfigUptoDate(FcConfig *config);
3370 Checks all of the files related to config and returns whether any of them
3371 has been modified since the configuration was created. If config is NULL,
3372 the current configuration is used.
3378 FcConfigHome -- return the current home directory.
3382 #include <fontconfig/fontconfig.h>
3385 FcChar8 * FcConfigHome(void);
3389 Return the current user's home directory, if it is available, and if using
3390 it is enabled, and NULL otherwise. See also FcConfigEnableHome).
3396 FcConfigEnableHome -- controls use of the home directory.
3400 #include <fontconfig/fontconfig.h>
3403 FcBool FcConfigEnableHome(FcBool enable);
3407 If enable is FcTrue, then Fontconfig will use various files which are
3408 specified relative to the user's home directory (using the ~ notation in
3409 the configuration). When enable is FcFalse, then all use of the home
3410 directory in these contexts will be disabled. The previous setting of the
3417 FcConfigBuildFonts -- Build font database
3421 #include <fontconfig/fontconfig.h>
3424 FcBool FcConfigBuildFonts(FcConfig *config);
3428 Builds the set of available fonts for the given configuration. Note that
3429 any changes to the configuration after this call have indeterminate
3430 effects. Returns FcFalse if this operation runs out of memory. If config
3431 is NULL, the current configuration is used.
3433 FcConfigGetConfigDirs
3437 FcConfigGetConfigDirs -- Get config directories
3441 #include <fontconfig/fontconfig.h>
3444 FcStrList * FcConfigGetConfigDirs(FcConfig *config);
3448 Returns the list of font directories specified in the configuration files
3449 for config. Does not include any subdirectories. If config is NULL, the
3450 current configuration is used.
3456 FcConfigGetFontDirs -- Get font directories
3460 #include <fontconfig/fontconfig.h>
3463 FcStrList * FcConfigGetFontDirs(FcConfig *config);
3467 Returns the list of font directories in config. This includes the
3468 configured font directories along with any directories below those in the
3469 filesystem. If config is NULL, the current configuration is used.
3471 FcConfigGetConfigFiles
3475 FcConfigGetConfigFiles -- Get config files
3479 #include <fontconfig/fontconfig.h>
3482 FcStrList * FcConfigGetConfigFiles(FcConfig *config);
3486 Returns the list of known configuration files used to generate config. If
3487 config is NULL, the current configuration is used.
3493 FcConfigGetCache -- DEPRECATED used to return per-user cache filename
3497 #include <fontconfig/fontconfig.h>
3500 FcChar8 * FcConfigGetCache(FcConfig *config);
3504 With fontconfig no longer using per-user cache files, this function now
3505 simply returns NULL to indicate that no per-user file exists.
3507 FcConfigGetCacheDirs
3511 FcConfigGetCacheDirs -- return the list of directories searched for cache
3516 #include <fontconfig/fontconfig.h>
3519 FcStrList * FcConfigGetCacheDirs(const FcConfig *config);
3523 FcConfigGetCacheDirs returns a string list containing all of the
3524 directories that fontconfig will search when attempting to load a cache
3525 file for a font directory. If config is NULL, the current configuration is
3532 FcConfigGetFonts -- Get config font set
3536 #include <fontconfig/fontconfig.h>
3539 FcFontSet * FcConfigGetFonts(FcConfig *config, FcSetName set);
3543 Returns one of the two sets of fonts from the configuration as specified
3544 by set. This font set is owned by the library and must not be modified or
3545 freed. If config is NULL, the current configuration is used.
3551 FcConfigGetBlanks -- Get config blanks
3555 #include <fontconfig/fontconfig.h>
3558 FcBlanks * FcConfigGetBlanks(FcConfig *config);
3562 FcBlanks is deprecated. This function always returns NULL.
3564 FcConfigGetRescanInterval
3568 FcConfigGetRescanInterval -- Get config rescan interval
3572 #include <fontconfig/fontconfig.h>
3575 int FcConfigGetRescanInterval(FcConfig *config);
3579 Returns the interval between automatic checks of the configuration (in
3580 seconds) specified in config. The configuration is checked during a call
3581 to FcFontList when this interval has passed since the last check. An
3582 interval setting of zero disables automatic checks. If config is NULL, the
3583 current configuration is used.
3585 FcConfigSetRescanInterval
3589 FcConfigSetRescanInterval -- Set config rescan interval
3593 #include <fontconfig/fontconfig.h>
3596 FcBool FcConfigSetRescanInterval(FcConfig *config, int rescanInterval);
3600 Sets the rescan interval. Returns FcFalse if the interval cannot be set
3601 (due to allocation failure). Otherwise returns FcTrue. An interval setting
3602 of zero disables automatic checks. If config is NULL, the current
3603 configuration is used.
3605 FcConfigAppFontAddFile
3609 FcConfigAppFontAddFile -- Add font file to font database
3613 #include <fontconfig/fontconfig.h>
3616 FcBool FcConfigAppFontAddFile(FcConfig *config, const FcChar8 *file);
3620 Adds an application-specific font to the configuration. Returns FcFalse if
3621 the fonts cannot be added (due to allocation failure or no fonts found).
3622 Otherwise returns FcTrue. If config is NULL, the current configuration is
3625 FcConfigAppFontAddDir
3629 FcConfigAppFontAddDir -- Add fonts from directory to font database
3633 #include <fontconfig/fontconfig.h>
3636 FcBool FcConfigAppFontAddDir(FcConfig *config, const FcChar8 *dir);
3640 Scans the specified directory for fonts, adding each one found to the
3641 application-specific set of fonts. Returns FcFalse if the fonts cannot be
3642 added (due to allocation failure). Otherwise returns FcTrue. If config is
3643 NULL, the current configuration is used.
3645 FcConfigAppFontClear
3649 FcConfigAppFontClear -- Remove all app fonts from font database
3653 #include <fontconfig/fontconfig.h>
3656 void FcConfigAppFontClear(FcConfig *config);
3660 Clears the set of application-specific fonts. If config is NULL, the
3661 current configuration is used.
3663 FcConfigSubstituteWithPat
3667 FcConfigSubstituteWithPat -- Execute substitutions
3671 #include <fontconfig/fontconfig.h>
3674 FcBool FcConfigSubstituteWithPat(FcConfig *config, FcPattern *p, FcPattern
3675 *p_pat, FcMatchKind kind);
3679 Performs the sequence of pattern modification operations, if kind is
3680 FcMatchPattern, then those tagged as pattern operations are applied, else
3681 if kind is FcMatchFont, those tagged as font operations are applied and
3682 p_pat is used for <test> elements with target=pattern. Returns FcFalse if
3683 the substitution cannot be performed (due to allocation failure).
3684 Otherwise returns FcTrue. If config is NULL, the current configuration is
3691 FcConfigSubstitute -- Execute substitutions
3695 #include <fontconfig/fontconfig.h>
3698 FcBool FcConfigSubstitute(FcConfig *config, FcPattern *p, FcMatchKind
3703 Calls FcConfigSubstituteWithPat setting p_pat to NULL. Returns FcFalse if
3704 the substitution cannot be performed (due to allocation failure).
3705 Otherwise returns FcTrue. If config is NULL, the current configuration is
3712 FcFontMatch -- Return best font
3716 #include <fontconfig/fontconfig.h>
3719 FcPattern * FcFontMatch(FcConfig *config, FcPattern *p, FcResult *result);
3723 Finds the font in sets most closely matching pattern and returns the
3724 result of FcFontRenderPrepare for that font and the provided pattern. This
3725 function should be called only after FcConfigSubstitute and
3726 FcDefaultSubstitute have been called for p; otherwise the results will not
3727 be correct. If config is NULL, the current configuration is used.
3733 FcFontSort -- Return list of matching fonts
3737 #include <fontconfig/fontconfig.h>
3740 FcFontSet * FcFontSort(FcConfig *config, FcPattern *p, FcBool trim,
3741 FcCharSet **csp, FcResult *result);
3745 Returns the list of fonts sorted by closeness to p. If trim is FcTrue,
3746 elements in the list which don't include Unicode coverage not provided by
3747 earlier elements in the list are elided. The union of Unicode coverage of
3748 all of the fonts is returned in csp, if csp is not NULL. This function
3749 should be called only after FcConfigSubstitute and FcDefaultSubstitute
3750 have been called for p; otherwise the results will not be correct.
3752 The returned FcFontSet references FcPattern structures which may be shared
3753 by the return value from multiple FcFontSort calls, applications must not
3754 modify these patterns. Instead, they should be passed, along with p to
3755 FcFontRenderPrepare which combines them into a complete pattern.
3757 The FcFontSet returned by FcFontSort is destroyed by calling
3758 FcFontSetDestroy. If config is NULL, the current configuration is used.
3764 FcFontRenderPrepare -- Prepare pattern for loading font file
3768 #include <fontconfig/fontconfig.h>
3771 FcPattern * FcFontRenderPrepare(FcConfig *config, FcPattern *pat,
3776 Creates a new pattern consisting of elements of font not appearing in pat,
3777 elements of pat not appearing in font and the best matching value from pat
3778 for elements appearing in both. The result is passed to
3779 FcConfigSubstituteWithPat with kind FcMatchFont and then returned.
3785 FcFontList -- List fonts
3789 #include <fontconfig/fontconfig.h>
3792 FcFontSet * FcFontList(FcConfig *config, FcPattern *p, FcObjectSet *os);
3796 Selects fonts matching p, creates patterns from those fonts containing
3797 only the objects in os and returns the set of unique such patterns. If
3798 config is NULL, the default configuration is checked to be up to date, and
3805 FcConfigFilename -- Find a config file
3809 #include <fontconfig/fontconfig.h>
3812 FcChar8 * FcConfigFilename(const FcChar8 *name);
3816 Given the specified external entity name, return the associated filename.
3817 This provides applications a way to convert various configuration file
3818 references into filename form.
3820 A null or empty name indicates that the default configuration file should
3821 be used; which file this references can be overridden with the
3822 FONTCONFIG_FILE environment variable. Next, if the name starts with ~, it
3823 refers to a file in the current users home directory. Otherwise if the
3824 name doesn't start with '/', it refers to a file in the default
3825 configuration directory; the built-in default directory can be overridden
3826 with the FONTCONFIG_PATH environment variable.
3828 FcConfigParseAndLoad
3832 FcConfigParseAndLoad -- load a configuration file
3836 #include <fontconfig/fontconfig.h>
3839 FcBool FcConfigParseAndLoad(FcConfig *config, const FcChar8 *file, FcBool
3844 Walks the configuration in 'file' and constructs the internal
3845 representation in 'config'. Any include files referenced from within
3846 'file' will be loaded and parsed. If 'complain' is FcFalse, no warning
3847 will be displayed if 'file' does not exist. Error and warning messages
3848 will be output to stderr. Returns FcFalse if some error occurred while
3849 loading the file, either a parse error, semantic error or allocation
3850 failure. Otherwise returns FcTrue.
3852 FcConfigParseAndLoadFromMemory
3856 FcConfigParseAndLoadFromMemory -- load a configuration from memory
3860 #include <fontconfig/fontconfig.h>
3863 FcBool FcConfigParseAndLoadFromMemory(FcConfig *config, const FcChar8
3864 *buffer, FcBool complain);
3868 Walks the configuration in 'memory' and constructs the internal
3869 representation in 'config'. Any includes files referenced from within
3870 'memory' will be loaded and dparsed. If 'complain' is FcFalse, no warning
3871 will be displayed if 'file' does not exist. Error and warning messages
3872 will be output to stderr. Returns FcFalse if fsome error occurred while
3873 loading the file, either a parse error, semantic error or allocation
3874 failure. Otherwise returns FcTrue.
3884 FcConfigGetSysRoot -- Obtain the system root directory
3888 #include <fontconfig/fontconfig.h>
3891 const FcChar8 * FcConfigGetSysRoot(const FcConfig *config);
3895 Obtrains the system root directory in 'config' if available.
3905 FcConfigSetSysRoot -- Set the system root directory
3909 #include <fontconfig/fontconfig.h>
3912 void FcConfigSetSysRoot(FcConfig *config, const FcChar8 *sysroot);
3916 Set 'sysroot' as the system root directory. fontconfig prepend 'sysroot'
3917 to the cache directories in order to allow people to generate caches at
3918 the build time. Note that this causes changing current config. i.e. this
3919 function calls FcConfigSetCurrent() internally.
3925 FcConfigFileInfoIterInit
3929 FcConfigFileInfoIterInit -- Initialize the iterator
3933 #include <fontconfig/fontconfig.h>
3936 void FcConfigFileInfoIterInit(FcConfig *config, FcConfigFileInfoIter
3941 Initialize 'iter' with the first iterator in the config file information
3948 FcConfigFileInfoIterNext
3952 FcConfigFileInfoIterNext -- Set the iterator to point to the next list
3956 #include <fontconfig/fontconfig.h>
3959 FcBool FcConfigFileInfoIterNext(FcConfig *config, FcConfigFileInfoIter
3964 Set 'iter' to point to the next node in the config file information list.
3965 If there is no next node, FcFalse is returned.
3971 FcConfigFileInfoIterGet
3975 FcConfigFileInfoIterGet -- Obtain the configuration file information
3979 #include <fontconfig/fontconfig.h>
3982 FcBool FcConfigFileInfoIterGet(FcConfig *config, FcConfigFileInfoIter
3983 *iter, FcChar8 **name, FcChar8 **description, FcBool *enabled);
3987 Obtain the filename, the description and the flag whether it is enabled or
3988 not for 'iter' where points to current configuration file information. If
3989 the iterator is invalid, FcFalse is returned.
3995 --------------------------------------------------------------------------
4001 [148]FcNameRegisterObjectTypes -- Register object types
4003 [149]FcNameUnregisterObjectTypes -- Unregister object types
4005 [150]FcNameGetObjectType -- Lookup an object type
4007 Provides for application-specified font name object types so that new
4008 pattern elements can be generated from font names.
4010 FcNameRegisterObjectTypes
4014 FcNameRegisterObjectTypes -- Register object types
4018 #include <fontconfig/fontconfig.h>
4021 FcBool FcNameRegisterObjectTypes(const FcObjectType *types, int ntype);
4025 Deprecated. Does nothing. Returns FcFalse.
4027 FcNameUnregisterObjectTypes
4031 FcNameUnregisterObjectTypes -- Unregister object types
4035 #include <fontconfig/fontconfig.h>
4038 FcBool FcNameUnregisterObjectTypes(const FcObjectType *types, int ntype);
4042 Deprecated. Does nothing. Returns FcFalse.
4048 FcNameGetObjectType -- Lookup an object type
4052 #include <fontconfig/fontconfig.h>
4055 const FcObjectType * FcNameGetObjectType(const char *object);
4059 Return the object type for the pattern element named object.
4061 --------------------------------------------------------------------------
4067 [151]FcNameRegisterConstants -- Register symbolic constants
4069 [152]FcNameUnregisterConstants -- Unregister symbolic constants
4071 [153]FcNameGetConstant -- Lookup symbolic constant
4073 [154]FcNameConstant -- Get the value for a symbolic constant
4075 Provides for application-specified symbolic constants for font names.
4077 FcNameRegisterConstants
4081 FcNameRegisterConstants -- Register symbolic constants
4085 #include <fontconfig/fontconfig.h>
4088 FcBool FcNameRegisterConstants(const FcConstant *consts, int nconsts);
4092 Deprecated. Does nothing. Returns FcFalse.
4094 FcNameUnregisterConstants
4098 FcNameUnregisterConstants -- Unregister symbolic constants
4102 #include <fontconfig/fontconfig.h>
4105 FcBool FcNameUnregisterConstants(const FcConstant *consts, int nconsts);
4109 Deprecated. Does nothing. Returns FcFalse.
4115 FcNameGetConstant -- Lookup symbolic constant
4119 #include <fontconfig/fontconfig.h>
4122 const FcConstant * FcNameGetConstant(FcChar8 *string);
4126 Return the FcConstant structure related to symbolic constant string.
4132 FcNameConstant -- Get the value for a symbolic constant
4136 #include <fontconfig/fontconfig.h>
4139 FcBool FcNameConstant(FcChar8 *string, int *result);
4143 Returns whether a symbolic constant with name string is registered,
4144 placing the value of the constant in result if present.
4146 --------------------------------------------------------------------------
4152 [155]FcWeightFromOpenTypeDouble -- Convert from OpenType weight values to
4155 [156]FcWeightToOpenTypeDouble -- Convert from fontconfig weight values to
4158 [157]FcWeightFromOpenType -- Convert from OpenType weight values to
4161 [158]FcWeightToOpenType -- Convert from fontconfig weight values to
4164 Maps weights to and from OpenType weights.
4166 FcWeightFromOpenTypeDouble
4170 FcWeightFromOpenTypeDouble -- Convert from OpenType weight values to
4175 #include <fontconfig/fontconfig.h>
4178 double FcWeightFromOpenTypeDouble(doubleot_weight);
4182 FcWeightFromOpenTypeDouble returns an double value to use with FC_WEIGHT,
4183 from an double in the 1..1000 range, resembling the numbers from OpenType
4184 specification's OS/2 usWeight numbers, which are also similar to CSS
4185 font-weight numbers. If input is negative, zero, or greater than 1000,
4186 returns -1. This function linearly doubleerpolates between various
4187 FC_WEIGHT_* constants. As such, the returned value does not necessarily
4188 match any of the predefined constants.
4194 FcWeightToOpenTypeDouble
4198 FcWeightToOpenTypeDouble -- Convert from fontconfig weight values to
4203 #include <fontconfig/fontconfig.h>
4206 double FcWeightToOpenTypeDouble(doubleot_weight);
4210 FcWeightToOpenTypeDouble is the inverse of FcWeightFromOpenType. If the
4211 input is less than FC_WEIGHT_THIN or greater than FC_WEIGHT_EXTRABLACK,
4212 returns -1. Otherwise returns a number in the range 1 to 1000.
4218 FcWeightFromOpenType
4222 FcWeightFromOpenType -- Convert from OpenType weight values to fontconfig
4227 #include <fontconfig/fontconfig.h>
4230 int FcWeightFromOpenType(intot_weight);
4234 FcWeightFromOpenType is like FcWeightFromOpenTypeDouble but with integer
4235 arguments. Use the other function instead.
4245 FcWeightToOpenType -- Convert from fontconfig weight values to OpenType
4250 #include <fontconfig/fontconfig.h>
4253 int FcWeightToOpenType(intot_weight);
4257 FcWeightToOpenType is like FcWeightToOpenTypeDouble but with integer
4258 arguments. Use the other function instead.
4264 --------------------------------------------------------------------------
4270 [159]FcBlanksCreate -- Create an FcBlanks
4272 [160]FcBlanksDestroy -- Destroy and FcBlanks
4274 [161]FcBlanksAdd -- Add a character to an FcBlanks
4276 [162]FcBlanksIsMember -- Query membership in an FcBlanks
4278 An FcBlanks object holds a list of Unicode chars which are expected to be
4279 blank when drawn. When scanning new fonts, any glyphs which are empty and
4280 not in this list will be assumed to be broken and not placed in the
4281 FcCharSet associated with the font. This provides a significantly more
4282 accurate CharSet for applications.
4284 FcBlanks is deprecated and should not be used in newly written code. It is
4285 still accepted by some functions for compatibility with older code but
4286 will be removed in the future.
4292 FcBlanksCreate -- Create an FcBlanks
4296 #include <fontconfig/fontconfig.h>
4299 FcBlanks * FcBlanksCreate(void);
4303 FcBlanks is deprecated. This function always returns NULL.
4309 FcBlanksDestroy -- Destroy and FcBlanks
4313 #include <fontconfig/fontconfig.h>
4316 void FcBlanksDestroy(FcBlanks *b);
4320 FcBlanks is deprecated. This function does nothing.
4326 FcBlanksAdd -- Add a character to an FcBlanks
4330 #include <fontconfig/fontconfig.h>
4333 FcBool FcBlanksAdd(FcBlanks *b, FcChar32 ucs4);
4337 FcBlanks is deprecated. This function always returns FALSE.
4343 FcBlanksIsMember -- Query membership in an FcBlanks
4347 #include <fontconfig/fontconfig.h>
4350 FcBool FcBlanksIsMember(FcBlanks *b, FcChar32 ucs4);
4354 FcBlanks is deprecated. This function always returns FALSE.
4356 --------------------------------------------------------------------------
4362 [163]FcAtomicCreate -- create an FcAtomic object
4364 [164]FcAtomicLock -- lock a file
4366 [165]FcAtomicNewFile -- return new temporary file name
4368 [166]FcAtomicOrigFile -- return original file name
4370 [167]FcAtomicReplaceOrig -- replace original with new
4372 [168]FcAtomicDeleteNew -- delete new file
4374 [169]FcAtomicUnlock -- unlock a file
4376 [170]FcAtomicDestroy -- destroy an FcAtomic object
4378 These functions provide a safe way to update configuration files, allowing
4379 ongoing reading of the old configuration file while locked for writing and
4380 ensuring that a consistent and complete version of the configuration file
4381 is always available.
4387 FcAtomicCreate -- create an FcAtomic object
4391 #include <fontconfig/fontconfig.h>
4394 FcAtomic * FcAtomicCreate(const FcChar8 *file);
4398 Creates a data structure containing data needed to control access to file.
4399 Writing is done to a separate file. Once that file is complete, the
4400 original configuration file is atomically replaced so that reading process
4401 always see a consistent and complete file without the need to lock for
4408 FcAtomicLock -- lock a file
4412 #include <fontconfig/fontconfig.h>
4415 FcBool FcAtomicLock(FcAtomic *atomic);
4419 Attempts to lock the file referenced by atomic. Returns FcFalse if the
4420 file is already locked, else returns FcTrue and leaves the file locked.
4426 FcAtomicNewFile -- return new temporary file name
4430 #include <fontconfig/fontconfig.h>
4433 FcChar8 * FcAtomicNewFile(FcAtomic *atomic);
4437 Returns the filename for writing a new version of the file referenced by
4444 FcAtomicOrigFile -- return original file name
4448 #include <fontconfig/fontconfig.h>
4451 FcChar8 * FcAtomicOrigFile(FcAtomic *atomic);
4455 Returns the file referenced by atomic.
4461 FcAtomicReplaceOrig -- replace original with new
4465 #include <fontconfig/fontconfig.h>
4468 FcBool FcAtomicReplaceOrig(FcAtomic *atomic);
4472 Replaces the original file referenced by atomic with the new file. Returns
4473 FcFalse if the file cannot be replaced due to permission issues in the
4474 filesystem. Otherwise returns FcTrue.
4480 FcAtomicDeleteNew -- delete new file
4484 #include <fontconfig/fontconfig.h>
4487 void FcAtomicDeleteNew(FcAtomic *atomic);
4491 Deletes the new file. Used in error recovery to back out changes.
4497 FcAtomicUnlock -- unlock a file
4501 #include <fontconfig/fontconfig.h>
4504 void FcAtomicUnlock(FcAtomic *atomic);
4514 FcAtomicDestroy -- destroy an FcAtomic object
4518 #include <fontconfig/fontconfig.h>
4521 void FcAtomicDestroy(FcAtomic *atomic);
4527 --------------------------------------------------------------------------
4529 File and Directory routines
4533 [171]FcFileScan -- scan a font file
4535 [172]FcFileIsDir -- check whether a file is a directory
4537 [173]FcDirScan -- scan a font directory without caching it
4539 [174]FcDirSave -- DEPRECATED: formerly used to save a directory cache
4541 [175]FcDirCacheUnlink -- Remove all caches related to dir
4543 [176]FcDirCacheValid -- check directory cache
4545 [177]FcDirCacheLoad -- load a directory cache
4547 [178]FcDirCacheRescan -- Re-scan a directory cache
4549 [179]FcDirCacheRead -- read or construct a directory cache
4551 [180]FcDirCacheLoadFile -- load a cache file
4553 [181]FcDirCacheUnload -- unload a cache file
4555 These routines work with font files and directories, including font
4556 directory cache files.
4562 FcFileScan -- scan a font file
4566 #include <fontconfig/fontconfig.h>
4569 FcBool FcFileScan(FcFontSet *set, FcStrSet *dirs, FcFileCache *cache,
4570 FcBlanks *blanks, const FcChar8 *file, FcBool force);
4574 Scans a single file and adds all fonts found to set. If force is FcTrue,
4575 then the file is scanned even if associated information is found in cache.
4576 If file is a directory, it is added to dirs. Whether fonts are found
4577 depends on fontconfig policy as well as the current configuration.
4578 Internally, fontconfig will ignore BDF and PCF fonts which are not in
4579 Unicode (or the effectively equivalent ISO Latin-1) encoding as those are
4580 not usable by Unicode-based applications. The configuration can ignore
4581 fonts based on filename or contents of the font file itself. Returns
4582 FcFalse if any of the fonts cannot be added (due to allocation failure).
4583 Otherwise returns FcTrue.
4589 FcFileIsDir -- check whether a file is a directory
4593 #include <fontconfig/fontconfig.h>
4596 FcBool FcFileIsDir(const FcChar8 *file);
4600 Returns FcTrue if file is a directory, otherwise returns FcFalse.
4606 FcDirScan -- scan a font directory without caching it
4610 #include <fontconfig/fontconfig.h>
4613 FcBool FcDirScan(FcFontSet *set, FcStrSet *dirs, FcFileCache *cache,
4614 FcBlanks *blanks, const FcChar8 *dir, FcBool force);
4618 If cache is not zero or if force is FcFalse, this function currently
4619 returns FcFalse. Otherwise, it scans an entire directory and adds all
4620 fonts found to set. Any subdirectories found are added to dirs. Calling
4621 this function does not create any cache files. Use FcDirCacheRead() if
4628 FcDirSave -- DEPRECATED: formerly used to save a directory cache
4632 #include <fontconfig/fontconfig.h>
4635 FcBool FcDirSave(FcFontSet *set, FcStrSet *dirs, const FcChar8 *dir);
4639 This function now does nothing aside from returning FcFalse. It used to
4640 creates the per-directory cache file for dir and populates it with the
4641 fonts in set and subdirectories in dirs. All of this functionality is now
4642 automatically managed by FcDirCacheLoad and FcDirCacheRead.
4648 FcDirCacheUnlink -- Remove all caches related to dir
4652 #include <fontconfig/fontconfig.h>
4655 FcBool FcDirCacheUnlink(const FcChar8 *dir, FcConfig *config);
4659 Scans the cache directories in config, removing any instances of the cache
4660 file for dir. Returns FcFalse when some internal error occurs (out of
4661 memory, etc). Errors actually unlinking any files are ignored.
4667 FcDirCacheValid -- check directory cache
4671 #include <fontconfig/fontconfig.h>
4674 FcBool FcDirCacheValid(const FcChar8 *dir);
4678 Returns FcTrue if dir has an associated valid cache file, else returns
4685 FcDirCacheLoad -- load a directory cache
4689 #include <fontconfig/fontconfig.h>
4692 FcCache * FcDirCacheLoad(const FcChar8 *dir, FcConfig *config, FcChar8
4697 Loads the cache related to dir. If no cache file exists, returns NULL. The
4698 name of the cache file is returned in cache_file, unless that is NULL. See
4699 also FcDirCacheRead.
4705 FcDirCacheRescan -- Re-scan a directory cache
4709 #include <fontconfig/fontconfig.h>
4712 FcCache * FcDirCacheRescan(const FcChar8 *dir, FcConfig *config);
4716 Re-scan directories only at dir and update the cache. returns NULL if
4727 FcDirCacheRead -- read or construct a directory cache
4731 #include <fontconfig/fontconfig.h>
4734 FcCache * FcDirCacheRead(const FcChar8 *dir, FcBool force, FcConfig
4739 This returns a cache for dir. If force is FcFalse, then an existing, valid
4740 cache file will be used. Otherwise, a new cache will be created by
4741 scanning the directory and that returned.
4747 FcDirCacheLoadFile -- load a cache file
4751 #include <fontconfig/fontconfig.h>
4754 FcCache * FcDirCacheLoadFile(const FcChar8 *cache_file, struct stat
4759 This function loads a directory cache from cache_file. If file_stat is
4760 non-NULL, it will be filled with the results of stat(2) on the cache file.
4766 FcDirCacheUnload -- unload a cache file
4770 #include <fontconfig/fontconfig.h>
4773 void FcDirCacheUnload(FcCache *cache);
4777 This function dereferences cache. When no other references to it remain,
4778 all memory associated with the cache will be freed.
4780 --------------------------------------------------------------------------
4786 [182]FcCacheDir -- Return directory of cache
4788 [183]FcCacheCopySet -- Returns a copy of the fontset from cache
4790 [184]FcCacheSubdir -- Return the i'th subdirectory.
4792 [185]FcCacheNumSubdir -- Return the number of subdirectories in cache.
4794 [186]FcCacheNumFont -- Returns the number of fonts in cache.
4796 [187]FcDirCacheClean -- Clean up a cache directory
4798 [188]FcCacheCreateTagFile -- Create CACHEDIR.TAG at cache directory.
4800 [189]FcDirCacheCreateUUID -- Create .uuid file at a directory
4802 [190]FcDirCacheDeleteUUID -- Delete .uuid file
4804 These routines work with font directory caches, accessing their contents
4805 in limited ways. It is not expected that normal applications will need to
4806 use these functions.
4812 FcCacheDir -- Return directory of cache
4816 #include <fontconfig/fontconfig.h>
4819 const FcChar8 * FcCacheDir(const FcCache *cache);
4823 This function returns the directory from which the cache was constructed.
4829 FcCacheCopySet -- Returns a copy of the fontset from cache
4833 #include <fontconfig/fontconfig.h>
4836 FcFontSet * FcCacheCopySet(const FcCache *cache);
4840 The returned fontset contains each of the font patterns from cache. This
4841 fontset may be modified, but the patterns from the cache are read-only.
4847 FcCacheSubdir -- Return the i'th subdirectory.
4851 #include <fontconfig/fontconfig.h>
4854 const FcChar8 * FcCacheSubdir(const FcCache *cache, inti);
4858 The set of subdirectories stored in a cache file are indexed by this
4859 function, i should range from 0 to n-1, where n is the return value from
4866 FcCacheNumSubdir -- Return the number of subdirectories in cache.
4870 #include <fontconfig/fontconfig.h>
4873 int FcCacheNumSubdir(const FcCache *cache);
4877 This returns the total number of subdirectories in the cache.
4883 FcCacheNumFont -- Returns the number of fonts in cache.
4887 #include <fontconfig/fontconfig.h>
4890 int FcCacheNumFont(const FcCache *cache);
4894 This returns the number of fonts which would be included in the return
4895 from FcCacheCopySet.
4901 FcDirCacheClean -- Clean up a cache directory
4905 #include <fontconfig/fontconfig.h>
4908 FcBool FcDirCacheClean(const FcChar8 *cache_dir, FcBoolverbose);
4912 This tries to clean up the cache directory of cache_dir. This returns
4913 FcTrue if the operation is successfully complete. otherwise FcFalse.
4919 FcCacheCreateTagFile
4923 FcCacheCreateTagFile -- Create CACHEDIR.TAG at cache directory.
4927 #include <fontconfig/fontconfig.h>
4930 void FcCacheCreateTagFile(const FcConfig *config);
4934 This tries to create CACHEDIR.TAG file at the cache directory registered
4941 FcDirCacheCreateUUID
4945 FcDirCacheCreateUUID -- Create .uuid file at a directory
4949 #include <fontconfig/fontconfig.h>
4952 FcBool FcDirCacheCreateUUID(FcChar8 *dir, FcBoolforce, FcConfig *config);
4956 This is to create .uuid file containing an UUID at a font directory of
4957 dir. The UUID will be used to identify the font directory and is used to
4958 determine the cache filename if available.
4964 FcDirCacheDeleteUUID
4968 FcDirCacheDeleteUUID -- Delete .uuid file
4972 #include <fontconfig/fontconfig.h>
4975 FcBool FcDirCacheDeleteUUID(const FcChar8 *dir, FcConfig *config);
4979 This is to delete .uuid file containing an UUID at a font directory of
4986 --------------------------------------------------------------------------
4988 FcStrSet and FcStrList
4992 [191]FcStrSetCreate -- create a string set
4994 [192]FcStrSetMember -- check set for membership
4996 [193]FcStrSetEqual -- check sets for equality
4998 [194]FcStrSetAdd -- add to a string set
5000 [195]FcStrSetAddFilename -- add a filename to a string set
5002 [196]FcStrSetDel -- delete from a string set
5004 [197]FcStrSetDestroy -- destroy a string set
5006 [198]FcStrListCreate -- create a string iterator
5008 [199]FcStrListFirst -- get first string in iteration
5010 [200]FcStrListNext -- get next string in iteration
5012 [201]FcStrListDone -- destroy a string iterator
5014 A data structure for enumerating strings, used to list directories while
5015 scanning the configuration as directories are added while scanning.
5021 FcStrSetCreate -- create a string set
5025 #include <fontconfig/fontconfig.h>
5028 FcStrSet * FcStrSetCreate(void);
5032 Create an empty set.
5038 FcStrSetMember -- check set for membership
5042 #include <fontconfig/fontconfig.h>
5045 FcBool FcStrSetMember(FcStrSet *set, const FcChar8 *s);
5049 Returns whether s is a member of set.
5055 FcStrSetEqual -- check sets for equality
5059 #include <fontconfig/fontconfig.h>
5062 FcBool FcStrSetEqual(FcStrSet *set_a, FcStrSet *set_b);
5066 Returns whether set_a contains precisely the same strings as set_b.
5067 Ordering of strings within the two sets is not considered.
5073 FcStrSetAdd -- add to a string set
5077 #include <fontconfig/fontconfig.h>
5080 FcBool FcStrSetAdd(FcStrSet *set, const FcChar8 *s);
5084 Adds a copy of s to set.
5090 FcStrSetAddFilename -- add a filename to a string set
5094 #include <fontconfig/fontconfig.h>
5097 FcBool FcStrSetAddFilename(FcStrSet *set, const FcChar8 *s);
5101 Adds a copy s to set, The copy is created with FcStrCopyFilename so that
5102 leading '~' values are replaced with the value of the HOME environment
5109 FcStrSetDel -- delete from a string set
5113 #include <fontconfig/fontconfig.h>
5116 FcBool FcStrSetDel(FcStrSet *set, const FcChar8 *s);
5120 Removes s from set, returning FcTrue if s was a member else FcFalse.
5126 FcStrSetDestroy -- destroy a string set
5130 #include <fontconfig/fontconfig.h>
5133 void FcStrSetDestroy(FcStrSet *set);
5143 FcStrListCreate -- create a string iterator
5147 #include <fontconfig/fontconfig.h>
5150 FcStrList * FcStrListCreate(FcStrSet *set);
5154 Creates an iterator to list the strings in set.
5160 FcStrListFirst -- get first string in iteration
5164 #include <fontconfig/fontconfig.h>
5167 void FcStrListFirst(FcStrList *list);
5171 Returns the first string in list.
5181 FcStrListNext -- get next string in iteration
5185 #include <fontconfig/fontconfig.h>
5188 FcChar8 * FcStrListNext(FcStrList *list);
5192 Returns the next string in list.
5198 FcStrListDone -- destroy a string iterator
5202 #include <fontconfig/fontconfig.h>
5205 void FcStrListDone(FcStrList *list);
5209 Destroys the enumerator list.
5211 --------------------------------------------------------------------------
5217 [202]FcUtf8ToUcs4 -- convert UTF-8 to UCS4
5219 [203]FcUcs4ToUtf8 -- convert UCS4 to UTF-8
5221 [204]FcUtf8Len -- count UTF-8 encoded chars
5223 [205]FcUtf16ToUcs4 -- convert UTF-16 to UCS4
5225 [206]FcUtf16Len -- count UTF-16 encoded chars
5227 [207]FcIsLower -- check for lower case ASCII character
5229 [208]FcIsUpper -- check for upper case ASCII character
5231 [209]FcToLower -- convert upper case ASCII to lower case
5233 [210]FcStrCopy -- duplicate a string
5235 [211]FcStrDowncase -- create a lower case translation of a string
5237 [212]FcStrCopyFilename -- create a complete path from a filename
5239 [213]FcStrCmp -- compare UTF-8 strings
5241 [214]FcStrCmpIgnoreCase -- compare UTF-8 strings ignoring case
5243 [215]FcStrStr -- locate UTF-8 substring
5245 [216]FcStrStrIgnoreCase -- locate UTF-8 substring ignoring ASCII case
5247 [217]FcStrPlus -- concatenate two strings
5249 [218]FcStrFree -- free a string
5251 [219]FcStrDirname -- directory part of filename
5253 [220]FcStrBasename -- last component of filename
5255 Fontconfig manipulates many UTF-8 strings represented with the FcChar8
5256 type. These functions are exposed to help applications deal with these
5257 UTF-8 strings in a locale-insensitive manner.
5263 FcUtf8ToUcs4 -- convert UTF-8 to UCS4
5267 #include <fontconfig/fontconfig.h>
5270 int FcUtf8ToUcs4(FcChar8 *src, FcChar32 *dst, int len);
5274 Converts the next Unicode char from src into dst and returns the number of
5275 bytes containing the char. src must be at least len bytes long.
5281 FcUcs4ToUtf8 -- convert UCS4 to UTF-8
5285 #include <fontconfig/fontconfig.h>
5288 int FcUcs4ToUtf8(FcChar32 src, FcChar8 dst[FC_UTF8_MAX_LEN]);
5292 Converts the Unicode char from src into dst and returns the number of
5293 bytes needed to encode the char.
5299 FcUtf8Len -- count UTF-8 encoded chars
5303 #include <fontconfig/fontconfig.h>
5306 FcBool FcUtf8Len(FcChar8 *src, int len, int *nchar, int *wchar);
5310 Counts the number of Unicode chars in len bytes of src. Places that count
5311 in nchar. wchar contains 1, 2 or 4 depending on the number of bytes needed
5312 to hold the largest Unicode char counted. The return value indicates
5313 whether src is a well-formed UTF8 string.
5319 FcUtf16ToUcs4 -- convert UTF-16 to UCS4
5323 #include <fontconfig/fontconfig.h>
5326 int FcUtf16ToUcs4(FcChar8 *src, FcEndian endian, FcChar32 *dst, int len);
5330 Converts the next Unicode char from src into dst and returns the number of
5331 bytes containing the char. src must be at least len bytes long. Bytes of
5332 src are combined into 16-bit units according to endian.
5338 FcUtf16Len -- count UTF-16 encoded chars
5342 #include <fontconfig/fontconfig.h>
5345 FcBool FcUtf16Len(FcChar8 *src, FcEndian endian, int len, int *nchar, int
5350 Counts the number of Unicode chars in len bytes of src. Bytes of src are
5351 combined into 16-bit units according to endian. Places that count in
5352 nchar. wchar contains 1, 2 or 4 depending on the number of bytes needed to
5353 hold the largest Unicode char counted. The return value indicates whether
5354 string is a well-formed UTF16 string.
5360 FcIsLower -- check for lower case ASCII character
5364 #include <fontconfig/fontconfig.h>
5367 FcBool FcIsLower(FcChar8c);
5371 This macro checks whether c is an lower case ASCII letter.
5377 FcIsUpper -- check for upper case ASCII character
5381 #include <fontconfig/fontconfig.h>
5384 FcBool FcIsUpper(FcChar8c);
5388 This macro checks whether c is a upper case ASCII letter.
5394 FcToLower -- convert upper case ASCII to lower case
5398 #include <fontconfig/fontconfig.h>
5401 FcChar8 FcToLower(FcChar8c);
5405 This macro converts upper case ASCII c to the equivalent lower case
5412 FcStrCopy -- duplicate a string
5416 #include <fontconfig/fontconfig.h>
5419 FcChar8 * FcStrCopy(const FcChar8 *s);
5423 Allocates memory, copies s and returns the resulting buffer. Yes, this is
5424 strdup, but that function isn't available on every platform.
5430 FcStrDowncase -- create a lower case translation of a string
5434 #include <fontconfig/fontconfig.h>
5437 FcChar8 * FcStrDowncase(const FcChar8 *s);
5441 Allocates memory, copies s, converting upper case letters to lower case
5442 and returns the allocated buffer.
5448 FcStrCopyFilename -- create a complete path from a filename
5452 #include <fontconfig/fontconfig.h>
5455 FcChar8 * FcStrCopyFilename(const FcChar8 *s);
5459 FcStrCopyFilename constructs an absolute pathname from s. It converts any
5460 leading '~' characters in to the value of the HOME environment variable,
5461 and any relative paths are converted to absolute paths using the current
5462 working directory. Sequences of '/' characters are converted to a single
5463 '/', and names containing the current directory '.' or parent directory
5464 '..' are correctly reconstructed. Returns NULL if '~' is the leading
5465 character and HOME is unset or disabled (see FcConfigEnableHome).
5471 FcStrCmp -- compare UTF-8 strings
5475 #include <fontconfig/fontconfig.h>
5478 int FcStrCmp(const FcChar8 *s1, const FcChar8 *s2);
5482 Returns the usual <0, 0, >0 result of comparing s1 and s2.
5488 FcStrCmpIgnoreCase -- compare UTF-8 strings ignoring case
5492 #include <fontconfig/fontconfig.h>
5495 int FcStrCmpIgnoreCase(const FcChar8 *s1, const FcChar8 *s2);
5499 Returns the usual <0, 0, >0 result of comparing s1 and s2. This test is
5500 case-insensitive for all proper UTF-8 encoded strings.
5506 FcStrStr -- locate UTF-8 substring
5510 #include <fontconfig/fontconfig.h>
5513 FcChar8 * FcStrStr(const FcChar8 *s1, const FcChar8 *s2);
5517 Returns the location of s2 in s1. Returns NULL if s2 is not present in s1.
5518 This test will operate properly with UTF8 encoded strings.
5524 FcStrStrIgnoreCase -- locate UTF-8 substring ignoring ASCII case
5528 #include <fontconfig/fontconfig.h>
5531 FcChar8 * FcStrStrIgnoreCase(const FcChar8 *s1, const FcChar8 *s2);
5535 Returns the location of s2 in s1, ignoring case. Returns NULL if s2 is not
5536 present in s1. This test is case-insensitive for all proper UTF-8 encoded
5543 FcStrPlus -- concatenate two strings
5547 #include <fontconfig/fontconfig.h>
5550 FcChar8 * FcStrPlus(const FcChar8 *s1, const FcChar8 *s2);
5554 This function allocates new storage and places the concatenation of s1 and
5555 s2 there, returning the new string.
5561 FcStrFree -- free a string
5565 #include <fontconfig/fontconfig.h>
5568 void FcStrFree(FcChar8 *s);
5572 This is just a wrapper around free(3) which helps track memory usage of
5573 strings within the fontconfig library.
5579 FcStrDirname -- directory part of filename
5583 #include <fontconfig/fontconfig.h>
5586 FcChar8 * FcStrDirname(const FcChar8 *file);
5590 Returns the directory containing file. This is returned in newly allocated
5591 storage which should be freed when no longer needed.
5597 FcStrBasename -- last component of filename
5601 #include <fontconfig/fontconfig.h>
5604 FcChar8 * FcStrBasename(const FcChar8 *file);
5608 Returns the filename of file stripped of any leading directory names. This
5609 is returned in newly allocated storage which should be freed when no
5615 1. file:///tmp/html-am902r#AEN16
5616 2. file:///tmp/html-am902r#AEN19
5617 3. file:///tmp/html-am902r#AEN31
5618 4. file:///tmp/html-am902r#AEN103
5619 5. file:///tmp/html-am902r#FCINITLOADCONFIG
5620 6. file:///tmp/html-am902r#FCINITLOADCONFIGANDFONTS
5621 7. file:///tmp/html-am902r#FCINIT
5622 8. file:///tmp/html-am902r#FCFINI
5623 9. file:///tmp/html-am902r#FCGETVERSION
5624 10. file:///tmp/html-am902r#FCINITREINITIALIZE
5625 11. file:///tmp/html-am902r#FCINITBRINGUPTODATE
5626 12. file:///tmp/html-am902r#FCPATTERNCREATE
5627 13. file:///tmp/html-am902r#FCPATTERNDUPLICATE
5628 14. file:///tmp/html-am902r#FCPATTERNREFERENCE
5629 15. file:///tmp/html-am902r#FCPATTERNDESTROY
5630 16. file:///tmp/html-am902r#FCPATTERNOBJECTCOUNT
5631 17. file:///tmp/html-am902r#FCPATTERNEQUAL
5632 18. file:///tmp/html-am902r#FCPATTERNEQUALSUBSET
5633 19. file:///tmp/html-am902r#FCPATTERNFILTER
5634 20. file:///tmp/html-am902r#FCPATTERNHASH
5635 21. file:///tmp/html-am902r#FCPATTERNADD
5636 22. file:///tmp/html-am902r#FCPATTERNADDWEAK
5637 23. file:///tmp/html-am902r#FCPATTERNADD-TYPE
5638 24. file:///tmp/html-am902r#FCPATTERNGETWITHBINDING
5639 25. file:///tmp/html-am902r#FCPATTERNGET
5640 26. file:///tmp/html-am902r#FCPATTERNGET-TYPE
5641 27. file:///tmp/html-am902r#FCPATTERNBUILD
5642 28. file:///tmp/html-am902r#FCPATTERNDEL
5643 29. file:///tmp/html-am902r#FCPATTERNREMOVE
5644 30. file:///tmp/html-am902r#FCPATTERNITERSTART
5645 31. file:///tmp/html-am902r#FCPATTERNITERNEXT
5646 32. file:///tmp/html-am902r#FCPATTERNITEREQUAL
5647 33. file:///tmp/html-am902r#FCPATTERNFINDITER
5648 34. file:///tmp/html-am902r#FCPATTERNITERISVALID
5649 35. file:///tmp/html-am902r#FCPATTERNITERGETOBJECT
5650 36. file:///tmp/html-am902r#FCPATTERNITERVALUECOUNT
5651 37. file:///tmp/html-am902r#FCPATTERNITERGETVALUE
5652 38. file:///tmp/html-am902r#FCPATTERNPRINT
5653 39. file:///tmp/html-am902r#FCDEFAULTSUBSTITUTE
5654 40. file:///tmp/html-am902r#FCNAMEPARSE
5655 41. file:///tmp/html-am902r#FCNAMEUNPARSE
5656 42. file:///tmp/html-am902r#FCPATTERNFORMAT
5657 43. file:///tmp/html-am902r#FCFONTSETCREATE
5658 44. file:///tmp/html-am902r#FCFONTSETDESTROY
5659 45. file:///tmp/html-am902r#FCFONTSETADD
5660 46. file:///tmp/html-am902r#FCFONTSETLIST
5661 47. file:///tmp/html-am902r#FCFONTSETMATCH
5662 48. file:///tmp/html-am902r#FCFONTSETPRINT
5663 49. file:///tmp/html-am902r#FCFONTSETSORT
5664 50. file:///tmp/html-am902r#FCFONTSETSORTDESTROY
5665 51. file:///tmp/html-am902r#FCOBJECTSETCREATE
5666 52. file:///tmp/html-am902r#FCOBJECTSETADD
5667 53. file:///tmp/html-am902r#FCOBJECTSETDESTROY
5668 54. file:///tmp/html-am902r#FCOBJECTSETBUILD
5669 55. file:///tmp/html-am902r#FCFREETYPECHARINDEX
5670 56. file:///tmp/html-am902r#FCFREETYPECHARSET
5671 57. file:///tmp/html-am902r#FCFREETYPECHARSETANDSPACING
5672 58. file:///tmp/html-am902r#FCFREETYPEQUERY
5673 59. file:///tmp/html-am902r#FCFREETYPEQUERYALL
5674 60. file:///tmp/html-am902r#FCFREETYPEQUERYFACE
5675 61. file:///tmp/html-am902r#FCVALUEDESTROY
5676 62. file:///tmp/html-am902r#FCVALUESAVE
5677 63. file:///tmp/html-am902r#FCVALUEPRINT
5678 64. file:///tmp/html-am902r#FCVALUEEQUAL
5679 65. file:///tmp/html-am902r#FCCHARSETCREATE
5680 66. file:///tmp/html-am902r#FCCHARSETDESTROY
5681 67. file:///tmp/html-am902r#FCCHARSETADDCHAR
5682 68. file:///tmp/html-am902r#FCCHARSETDELCHAR
5683 69. file:///tmp/html-am902r#FCCHARSETCOPY
5684 70. file:///tmp/html-am902r#FCCHARSETEQUAL
5685 71. file:///tmp/html-am902r#FCCHARSETINTERSECT
5686 72. file:///tmp/html-am902r#FCCHARSETUNION
5687 73. file:///tmp/html-am902r#FCCHARSETSUBTRACT
5688 74. file:///tmp/html-am902r#FCCHARSETMERGE
5689 75. file:///tmp/html-am902r#FCCHARSETHASCHAR
5690 76. file:///tmp/html-am902r#FCCHARSETCOUNT
5691 77. file:///tmp/html-am902r#FCCHARSETINTERSECTCOUNT
5692 78. file:///tmp/html-am902r#FCCHARSETSUBTRACTCOUNT
5693 79. file:///tmp/html-am902r#FCCHARSETISSUBSET
5694 80. file:///tmp/html-am902r#FCCHARSETFIRSTPAGE
5695 81. file:///tmp/html-am902r#FCCHARSETNEXTPAGE
5696 82. file:///tmp/html-am902r#FCCHARSETCOVERAGE
5697 83. file:///tmp/html-am902r#FCCHARSETNEW
5698 84. file:///tmp/html-am902r#FCLANGSETCREATE
5699 85. file:///tmp/html-am902r#FCLANGSETDESTROY
5700 86. file:///tmp/html-am902r#FCLANGSETCOPY
5701 87. file:///tmp/html-am902r#FCLANGSETADD
5702 88. file:///tmp/html-am902r#FCLANGSETDEL
5703 89. file:///tmp/html-am902r#FCLANGSETUNION
5704 90. file:///tmp/html-am902r#FCLANGSETSUBTRACT
5705 91. file:///tmp/html-am902r#FCLANGSETCOMPARE
5706 92. file:///tmp/html-am902r#FCLANGSETCONTAINS
5707 93. file:///tmp/html-am902r#FCLANGSETEQUAL
5708 94. file:///tmp/html-am902r#FCLANGSETHASH
5709 95. file:///tmp/html-am902r#FCLANGSETHASLANG
5710 96. file:///tmp/html-am902r#FCGETDEFAULTLANGS
5711 97. file:///tmp/html-am902r#FCLANGSETGETLANGS
5712 98. file:///tmp/html-am902r#FCGETLANGS
5713 99. file:///tmp/html-am902r#FCLANGNORMALIZE
5714 100. file:///tmp/html-am902r#FCLANGGETCHARSET
5715 101. file:///tmp/html-am902r#FCMATRIXINIT
5716 102. file:///tmp/html-am902r#FCMATRIXCOPY
5717 103. file:///tmp/html-am902r#FCMATRIXEQUAL
5718 104. file:///tmp/html-am902r#FCMATRIXMULTIPLY
5719 105. file:///tmp/html-am902r#FCMATRIXROTATE
5720 106. file:///tmp/html-am902r#FCMATRIXSCALE
5721 107. file:///tmp/html-am902r#FCMATRIXSHEAR
5722 108. file:///tmp/html-am902r#FCRANGECOPY
5723 109. file:///tmp/html-am902r#FCRANGECREATEDOUBLE
5724 110. file:///tmp/html-am902r#FCRANGECREATEINTEGER
5725 111. file:///tmp/html-am902r#FCRANGEDESTROY
5726 112. file:///tmp/html-am902r#FCRANGEGETDOUBLE
5727 113. file:///tmp/html-am902r#FCCONFIGCREATE
5728 114. file:///tmp/html-am902r#FCCONFIGREFERENCE
5729 115. file:///tmp/html-am902r#FCCONFIGDESTROY
5730 116. file:///tmp/html-am902r#FCCONFIGSETCURRENT
5731 117. file:///tmp/html-am902r#FCCONFIGGETCURRENT
5732 118. file:///tmp/html-am902r#FCCONFIGUPTODATE
5733 119. file:///tmp/html-am902r#FCCONFIGHOME
5734 120. file:///tmp/html-am902r#FCCONFIGENABLEHOME
5735 121. file:///tmp/html-am902r#FCCONFIGBUILDFONTS
5736 122. file:///tmp/html-am902r#FCCONFIGGETCONFIGDIRS
5737 123. file:///tmp/html-am902r#FCCONFIGGETFONTDIRS
5738 124. file:///tmp/html-am902r#FCCONFIGGETCONFIGFILES
5739 125. file:///tmp/html-am902r#FCCONFIGGETCACHE
5740 126. file:///tmp/html-am902r#FCCONFIGGETCACHEDIRS
5741 127. file:///tmp/html-am902r#FCCONFIGGETFONTS
5742 128. file:///tmp/html-am902r#FCCONFIGGETBLANKS
5743 129. file:///tmp/html-am902r#FCCONFIGGETRESCANINTERVAL
5744 130. file:///tmp/html-am902r#FCCONFIGSETRESCANINTERVAL
5745 131. file:///tmp/html-am902r#FCCONFIGAPPFONTADDFILE
5746 132. file:///tmp/html-am902r#FCCONFIGAPPFONTADDDIR
5747 133. file:///tmp/html-am902r#FCCONFIGAPPFONTCLEAR
5748 134. file:///tmp/html-am902r#FCCONFIGSUBSTITUTEWITHPAT
5749 135. file:///tmp/html-am902r#FCCONFIGSUBSTITUTE
5750 136. file:///tmp/html-am902r#FCFONTMATCH
5751 137. file:///tmp/html-am902r#FCFONTSORT
5752 138. file:///tmp/html-am902r#FCFONTRENDERPREPARE
5753 139. file:///tmp/html-am902r#FCFONTLIST
5754 140. file:///tmp/html-am902r#FCCONFIGFILENAME
5755 141. file:///tmp/html-am902r#FCCONFIGPARSEANDLOAD
5756 142. file:///tmp/html-am902r#FCCONFIGPARSEANDLOADFROMMEMORY
5757 143. file:///tmp/html-am902r#FCCONFIGGETSYSROOT
5758 144. file:///tmp/html-am902r#FCCONFIGSETSYSROOT
5759 145. file:///tmp/html-am902r#FCCONFIGFILEINFOITERINIT
5760 146. file:///tmp/html-am902r#FCCONFIGFILEINFOITERNEXT
5761 147. file:///tmp/html-am902r#FCCONFIGFILEINFOITERGET
5762 148. file:///tmp/html-am902r#FCNAMEREGISTEROBJECTTYPES
5763 149. file:///tmp/html-am902r#FCNAMEUNREGISTEROBJECTTYPES
5764 150. file:///tmp/html-am902r#FCNAMEGETOBJECTTYPE
5765 151. file:///tmp/html-am902r#FCNAMEREGISTERCONSTANTS
5766 152. file:///tmp/html-am902r#FCNAMEUNREGISTERCONSTANTS
5767 153. file:///tmp/html-am902r#FCNAMEGETCONSTANT
5768 154. file:///tmp/html-am902r#FCNAMECONSTANT
5769 155. file:///tmp/html-am902r#FCWEIGHTFROMOPENTYPEDOUBLE
5770 156. file:///tmp/html-am902r#FCWEIGHTTOOPENTYPEDOUBLE
5771 157. file:///tmp/html-am902r#FCWEIGHTFROMOPENTYPE
5772 158. file:///tmp/html-am902r#FCWEIGHTTOOPENTYPE
5773 159. file:///tmp/html-am902r#FCBLANKSCREATE
5774 160. file:///tmp/html-am902r#FCBLANKSDESTROY
5775 161. file:///tmp/html-am902r#FCBLANKSADD
5776 162. file:///tmp/html-am902r#FCBLANKSISMEMBER
5777 163. file:///tmp/html-am902r#FCATOMICCREATE
5778 164. file:///tmp/html-am902r#FCATOMICLOCK
5779 165. file:///tmp/html-am902r#FCATOMICNEWFILE
5780 166. file:///tmp/html-am902r#FCATOMICORIGFILE
5781 167. file:///tmp/html-am902r#FCATOMICREPLACEORIG
5782 168. file:///tmp/html-am902r#FCATOMICDELETENEW
5783 169. file:///tmp/html-am902r#FCATOMICUNLOCK
5784 170. file:///tmp/html-am902r#FCATOMICDESTROY
5785 171. file:///tmp/html-am902r#FCFILESCAN
5786 172. file:///tmp/html-am902r#FCFILEISDIR
5787 173. file:///tmp/html-am902r#FCDIRSCAN
5788 174. file:///tmp/html-am902r#FCDIRSAVE
5789 175. file:///tmp/html-am902r#FCDIRCACHEUNLINK
5790 176. file:///tmp/html-am902r#FCDIRCACHEVALID
5791 177. file:///tmp/html-am902r#FCDIRCACHELOAD
5792 178. file:///tmp/html-am902r#FCDIRCACHERESCAN
5793 179. file:///tmp/html-am902r#FCDIRCACHEREAD
5794 180. file:///tmp/html-am902r#FCDIRCACHELOADFILE
5795 181. file:///tmp/html-am902r#FCDIRCACHEUNLOAD
5796 182. file:///tmp/html-am902r#FCCACHEDIR
5797 183. file:///tmp/html-am902r#FCCACHECOPYSET
5798 184. file:///tmp/html-am902r#FCCACHESUBDIR
5799 185. file:///tmp/html-am902r#FCCACHENUMSUBDIR
5800 186. file:///tmp/html-am902r#FCCACHENUMFONT
5801 187. file:///tmp/html-am902r#FCDIRCACHECLEAN
5802 188. file:///tmp/html-am902r#FCCACHECREATETAGFILE
5803 189. file:///tmp/html-am902r#FCDIRCACHECREATEUUID
5804 190. file:///tmp/html-am902r#FCDIRCACHEDELETEUUID
5805 191. file:///tmp/html-am902r#FCSTRSETCREATE
5806 192. file:///tmp/html-am902r#FCSTRSETMEMBER
5807 193. file:///tmp/html-am902r#FCSTRSETEQUAL
5808 194. file:///tmp/html-am902r#FCSTRSETADD
5809 195. file:///tmp/html-am902r#FCSTRSETADDFILENAME
5810 196. file:///tmp/html-am902r#FCSTRSETDEL
5811 197. file:///tmp/html-am902r#FCSTRSETDESTROY
5812 198. file:///tmp/html-am902r#FCSTRLISTCREATE
5813 199. file:///tmp/html-am902r#FCSTRLISTFIRST
5814 200. file:///tmp/html-am902r#FCSTRLISTNEXT
5815 201. file:///tmp/html-am902r#FCSTRLISTDONE
5816 202. file:///tmp/html-am902r#FCUTF8TOUCS4
5817 203. file:///tmp/html-am902r#FCUCS4TOUTF8
5818 204. file:///tmp/html-am902r#FCUTF8LEN
5819 205. file:///tmp/html-am902r#FCUTF16TOUCS4
5820 206. file:///tmp/html-am902r#FCUTF16LEN
5821 207. file:///tmp/html-am902r#FCISLOWER
5822 208. file:///tmp/html-am902r#FCISUPPER
5823 209. file:///tmp/html-am902r#FCTOLOWER
5824 210. file:///tmp/html-am902r#FCSTRCOPY
5825 211. file:///tmp/html-am902r#FCSTRDOWNCASE
5826 212. file:///tmp/html-am902r#FCSTRCOPYFILENAME
5827 213. file:///tmp/html-am902r#FCSTRCMP
5828 214. file:///tmp/html-am902r#FCSTRCMPIGNORECASE
5829 215. file:///tmp/html-am902r#FCSTRSTR
5830 216. file:///tmp/html-am902r#FCSTRSTRIGNORECASE
5831 217. file:///tmp/html-am902r#FCSTRPLUS
5832 218. file:///tmp/html-am902r#FCSTRFREE
5833 219. file:///tmp/html-am902r#FCSTRDIRNAME
5834 220. file:///tmp/html-am902r#FCSTRBASENAME