fcconfig.fncs revision a32e9e42
12c393a42Smrg/*
2a6844aabSmrg * fontconfig/doc/fcconfig.fncs
32c393a42Smrg *
42c393a42Smrg * Copyright © 2003 Keith Packard
52c393a42Smrg *
62c393a42Smrg * Permission to use, copy, modify, distribute, and sell this software and its
72c393a42Smrg * documentation for any purpose is hereby granted without fee, provided that
82c393a42Smrg * the above copyright notice appear in all copies and that both that
92c393a42Smrg * copyright notice and this permission notice appear in supporting
10ca08ab68Smrg * documentation, and that the name of the author(s) not be used in
112c393a42Smrg * advertising or publicity pertaining to distribution of the software without
12ca08ab68Smrg * specific, written prior permission.  The authors make no
132c393a42Smrg * representations about the suitability of this software for any purpose.  It
142c393a42Smrg * is provided "as is" without express or implied warranty.
152c393a42Smrg *
16a6844aabSmrg * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
172c393a42Smrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18a6844aabSmrg * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
192c393a42Smrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
202c393a42Smrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
212c393a42Smrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
222c393a42Smrg * PERFORMANCE OF THIS SOFTWARE.
232c393a42Smrg */
242c393a42Smrg@RET@           FcConfig *
252c393a42Smrg@FUNC@          FcConfigCreate
262c393a42Smrg@TYPE1@		void
272c393a42Smrg@PURPOSE@	Create a configuration
282c393a42Smrg@DESC@
292c393a42SmrgCreates an empty configuration.
302c393a42Smrg@@
312c393a42Smrg
32a6844aabSmrg@RET@           FcConfig *
33a6844aabSmrg@FUNC@          FcConfigReference
34a6844aabSmrg@TYPE1@         FcConfig *                      @ARG1@          config
35a6844aabSmrg@PURPOSE@	Increment config reference count
36a6844aabSmrg@DESC@
37a6844aabSmrgAdd another reference to <parameter>config</parameter>. Configs are freed only
38a6844aabSmrgwhen the reference count reaches zero.
39a6844aabSmrgIf <parameter>config</parameter> is NULL, the current configuration is used.
40a6844aabSmrgIn that case this function will be similar to FcConfigGetCurrent() except that
41a6844aabSmrgit increments the reference count before returning and the user is responsible
42a6844aabSmrgfor destroying the configuration when not needed anymore.
43a6844aabSmrg@@
44a6844aabSmrg
452c393a42Smrg@RET@           void
462c393a42Smrg@FUNC@          FcConfigDestroy
472c393a42Smrg@TYPE1@         FcConfig *                      @ARG1@          config
482c393a42Smrg@PURPOSE@	Destroy a configuration
492c393a42Smrg@DESC@
50a6844aabSmrgDecrements the config reference count. If all references are gone, destroys
51a6844aabSmrgthe configuration and any data associated with it.
52a6844aabSmrgNote that calling this function with the return from FcConfigGetCurrent will
53a6844aabSmrgcause a new configuration to be created for use as current configuration.
542c393a42Smrg@@
552c393a42Smrg
562c393a42Smrg@RET@           FcBool
572c393a42Smrg@FUNC@          FcConfigSetCurrent
582c393a42Smrg@TYPE1@         FcConfig *                      @ARG1@          config
592c393a42Smrg@PURPOSE@	Set configuration as default
602c393a42Smrg@DESC@
612c393a42SmrgSets the current default configuration to <parameter>config</parameter>.  Implicitly calls
62953daebaSmrgFcConfigBuildFonts if necessary, and FcConfigReference() to inrease the reference count
63953daebaSmrgin <parameter>config</parameter> since 2.12.0, returning FcFalse if that call fails.
642c393a42Smrg@@
652c393a42Smrg
662c393a42Smrg@RET@           FcConfig *
672c393a42Smrg@FUNC@          FcConfigGetCurrent
682c393a42Smrg@TYPE1@		void
692c393a42Smrg@PURPOSE@	Return current configuration
702c393a42Smrg@DESC@
712c393a42SmrgReturns the current default configuration.
722c393a42Smrg@@
732c393a42Smrg
742c393a42Smrg@RET@           FcBool
752c393a42Smrg@FUNC@          FcConfigUptoDate
762c393a42Smrg@TYPE1@         FcConfig *                      @ARG1@          config
772c393a42Smrg@PURPOSE@	Check timestamps on config files
782c393a42Smrg@DESC@
792c393a42SmrgChecks all of the files related to <parameter>config</parameter> and returns
802c393a42Smrgwhether any of them has been modified since the configuration was created.
81a6844aabSmrgIf <parameter>config</parameter> is NULL, the current configuration is used.
822c393a42Smrg@@
832c393a42Smrg
84a6844aabSmrg@RET@		FcChar8 *
852c393a42Smrg@FUNC@		FcConfigHome
862c393a42Smrg@TYPE1@		void
872c393a42Smrg@PURPOSE@	return the current home directory.
882c393a42Smrg@DESC@
892c393a42SmrgReturn the current user's home directory, if it is available, and if using it
90a6844aabSmrgis enabled, and NULL otherwise.
91a6844aabSmrgSee also <function>FcConfigEnableHome</function>).
922c393a42Smrg@@
932c393a42Smrg
94ca08ab68Smrg@RET@		FcBool
952c393a42Smrg@FUNC@		FcConfigEnableHome
962c393a42Smrg@TYPE1@		FcBool%				@ARG1@		enable
972c393a42Smrg@PURPOSE@	controls use of the home directory.
982c393a42Smrg@DESC@
992c393a42SmrgIf <parameter>enable</parameter> is FcTrue, then Fontconfig will use various
1002c393a42Smrgfiles which are specified relative to the user's home directory (using the ~
1012c393a42Smrgnotation in the configuration). When <parameter>enable</parameter> is
1022c393a42SmrgFcFalse, then all use of the home directory in these contexts will be
1032c393a42Smrgdisabled. The previous setting of the value is returned.
1042c393a42Smrg@@
1052c393a42Smrg
1062c393a42Smrg@RET@           FcBool
1072c393a42Smrg@FUNC@          FcConfigBuildFonts
1082c393a42Smrg@TYPE1@         FcConfig *                      @ARG1@          config
1092c393a42Smrg@PURPOSE@	Build font database
1102c393a42Smrg@DESC@
1112c393a42SmrgBuilds the set of available fonts for the given configuration.  Note that
1122c393a42Smrgany changes to the configuration after this call have indeterminate effects.
1132c393a42SmrgReturns FcFalse if this operation runs out of memory.
114a6844aabSmrgIf <parameter>config</parameter> is NULL, the current configuration is used.
1152c393a42Smrg@@
1162c393a42Smrg
1172c393a42Smrg@RET@           FcStrList *
1182c393a42Smrg@FUNC@          FcConfigGetConfigDirs
1192c393a42Smrg@TYPE1@         FcConfig *                      @ARG1@          config
1202c393a42Smrg@PURPOSE@	Get config directories
1212c393a42Smrg@DESC@
1222c393a42SmrgReturns the list of font directories specified in the configuration files
1232c393a42Smrgfor <parameter>config</parameter>.  Does not include any subdirectories.
124a6844aabSmrgIf <parameter>config</parameter> is NULL, the current configuration is used.
1252c393a42Smrg@@
1262c393a42Smrg
1272c393a42Smrg@RET@           FcStrList *
1282c393a42Smrg@FUNC@          FcConfigGetFontDirs
1292c393a42Smrg@TYPE1@         FcConfig *                      @ARG1@          config
1302c393a42Smrg@PURPOSE@	Get font directories
1312c393a42Smrg@DESC@
1322c393a42SmrgReturns the list of font directories in <parameter>config</parameter>. This includes the
1332c393a42Smrgconfigured font directories along with any directories below those in the
1342c393a42Smrgfilesystem.
135a6844aabSmrgIf <parameter>config</parameter> is NULL, the current configuration is used.
1362c393a42Smrg@@
1372c393a42Smrg
1382c393a42Smrg@RET@           FcStrList *
1392c393a42Smrg@FUNC@          FcConfigGetConfigFiles
1402c393a42Smrg@TYPE1@         FcConfig *                      @ARG1@          config
1412c393a42Smrg@PURPOSE@	Get config files
1422c393a42Smrg@DESC@
1432c393a42SmrgReturns the list of known configuration files used to generate <parameter>config</parameter>.
144a6844aabSmrgIf <parameter>config</parameter> is NULL, the current configuration is used.
1452c393a42Smrg@@
1462c393a42Smrg
1472c393a42Smrg@RET@           FcChar8 *
1482c393a42Smrg@FUNC@          FcConfigGetCache
1492c393a42Smrg@TYPE1@         FcConfig *                      @ARG1@          config
1502c393a42Smrg@PURPOSE@	DEPRECATED used to return per-user cache filename
1512c393a42Smrg@DESC@
1522c393a42SmrgWith fontconfig no longer using per-user cache files, this function now
1532c393a42Smrgsimply returns NULL to indicate that no per-user file exists.
1542c393a42Smrg@@
1552c393a42Smrg
1562c393a42Smrg@RET@		FcStrList *
1572c393a42Smrg@FUNC@		FcConfigGetCacheDirs
158ca08ab68Smrg@TYPE1@		const FcConfig *		@ARG1@		config
1592c393a42Smrg@PURPOSE@	return the list of directories searched for cache files
1602c393a42Smrg@DESC@
1612c393a42Smrg<function>FcConfigGetCacheDirs</function> returns a string list containing
1622c393a42Smrgall of the directories that fontconfig will search when attempting to load a
1632c393a42Smrgcache file for a font directory.
164a6844aabSmrgIf <parameter>config</parameter> is NULL, the current configuration is used.
1652c393a42Smrg@@
1662c393a42Smrg
1672c393a42Smrg@RET@           FcFontSet *
1682c393a42Smrg@FUNC@          FcConfigGetFonts
1692c393a42Smrg@TYPE1@         FcConfig *			@ARG1@		config
1702c393a42Smrg@TYPE2@		FcSetName%                      @ARG2@          set
1712c393a42Smrg@PURPOSE@	Get config font set
1722c393a42Smrg@DESC@
1732c393a42SmrgReturns one of the two sets of fonts from the configuration as specified
1742c393a42Smrgby <parameter>set</parameter>. This font set is owned by the library and must
175a6844aabSmrgnot be modified or freed.
176a6844aabSmrgIf <parameter>config</parameter> is NULL, the current configuration is used.
1772c393a42Smrg@@
1782c393a42Smrg
1792c393a42Smrg@RET@           FcBlanks *
1802c393a42Smrg@FUNC@          FcConfigGetBlanks
1812c393a42Smrg@TYPE1@         FcConfig *                      @ARG1@          config
1822c393a42Smrg@PURPOSE@	Get config blanks
1832c393a42Smrg@DESC@
184a32e9e42SmrgFcBlanks is deprecated.
185a32e9e42SmrgThis function always returns NULL.
1862c393a42Smrg@@
1872c393a42Smrg
1882c393a42Smrg@RET@           int
1892c393a42Smrg@FUNC@          FcConfigGetRescanInterval
1902c393a42Smrg@TYPE1@         FcConfig *                      @ARG1@          config
1912c393a42Smrg@PURPOSE@	Get config rescan interval
1922c393a42Smrg@DESC@
1932c393a42SmrgReturns the interval between automatic checks of the configuration (in
1942c393a42Smrgseconds) specified in <parameter>config</parameter>.  The configuration is checked during
1952c393a42Smrga call to FcFontList when this interval has passed since the last check.
196a6844aabSmrgAn interval setting of zero disables automatic checks.
197a6844aabSmrgIf <parameter>config</parameter> is NULL, the current configuration is used.
1982c393a42Smrg@@
1992c393a42Smrg
2002c393a42Smrg@RET@           FcBool
2012c393a42Smrg@FUNC@          FcConfigSetRescanInterval
2022c393a42Smrg@TYPE1@         FcConfig *			@ARG1@		config
2032c393a42Smrg@TYPE2@		int%                       	@ARG2@          rescanInterval
2042c393a42Smrg@PURPOSE@	Set config rescan interval
2052c393a42Smrg@DESC@
2062c393a42SmrgSets the rescan interval. Returns FcFalse if the interval cannot be set (due
2072c393a42Smrgto allocation failure). Otherwise returns FcTrue.
208a6844aabSmrgAn interval setting of zero disables automatic checks.
209a6844aabSmrgIf <parameter>config</parameter> is NULL, the current configuration is used.
2102c393a42Smrg@@
2112c393a42Smrg
2122c393a42Smrg@RET@           FcBool
2132c393a42Smrg@FUNC@          FcConfigAppFontAddFile
2142c393a42Smrg@TYPE1@         FcConfig *			@ARG1@		config
2152c393a42Smrg@TYPE2@		const FcChar8 *			@ARG2@          file
2162c393a42Smrg@PURPOSE@	Add font file to font database
2172c393a42Smrg@DESC@
2182c393a42SmrgAdds an application-specific font to the configuration. Returns FcFalse
219953daebaSmrgif the fonts cannot be added (due to allocation failure or no fonts found).
220953daebaSmrgOtherwise returns FcTrue. If <parameter>config</parameter> is NULL,
221953daebaSmrgthe current configuration is used.
2222c393a42Smrg@@
2232c393a42Smrg
2242c393a42Smrg@RET@           FcBool
2252c393a42Smrg@FUNC@          FcConfigAppFontAddDir
2262c393a42Smrg@TYPE1@         FcConfig *			@ARG1@		config
2272c393a42Smrg@TYPE2@		const FcChar8 *			@ARG2@          dir
2282c393a42Smrg@PURPOSE@	Add fonts from directory to font database
2292c393a42Smrg@DESC@
2302c393a42SmrgScans the specified directory for fonts, adding each one found to the
2312c393a42Smrgapplication-specific set of fonts. Returns FcFalse
232953daebaSmrgif the fonts cannot be added (due to allocation failure).
233953daebaSmrgOtherwise returns FcTrue. If <parameter>config</parameter> is NULL,
234953daebaSmrgthe current configuration is used.
2352c393a42Smrg@@
2362c393a42Smrg
2372c393a42Smrg@RET@           void
2382c393a42Smrg@FUNC@          FcConfigAppFontClear
2392c393a42Smrg@TYPE1@         FcConfig *                      @ARG1@          config
2402c393a42Smrg@PURPOSE@	Remove all app fonts from font database
2412c393a42Smrg@DESC@
2422c393a42SmrgClears the set of application-specific fonts.
243a6844aabSmrgIf <parameter>config</parameter> is NULL, the current configuration is used.
2442c393a42Smrg@@
2452c393a42Smrg
2462c393a42Smrg@RET@           FcBool
2472c393a42Smrg@FUNC@          FcConfigSubstituteWithPat
2482c393a42Smrg@TYPE1@         FcConfig *			@ARG1@		config
2492c393a42Smrg@TYPE2@		FcPattern *			@ARG2@		p
2502c393a42Smrg@TYPE3@		FcPattern *			@ARG3@		p_pat
2512c393a42Smrg@TYPE4@		FcMatchKind%                     @ARG4@          kind
2522c393a42Smrg@PURPOSE@	Execute substitutions
2532c393a42Smrg@DESC@
2542c393a42SmrgPerforms the sequence of pattern modification operations, if <parameter>kind</parameter> is
2552c393a42SmrgFcMatchPattern, then those tagged as pattern operations are applied, else
2562c393a42Smrgif <parameter>kind</parameter> is FcMatchFont, those tagged as font operations are applied and
2572c393a42Smrgp_pat is used for &lt;test&gt; elements with target=pattern. Returns FcFalse
2582c393a42Smrgif the substitution cannot be performed (due to allocation failure). Otherwise returns FcTrue.
259a6844aabSmrgIf <parameter>config</parameter> is NULL, the current configuration is used.
2602c393a42Smrg@@
2612c393a42Smrg
2622c393a42Smrg@RET@           FcBool
2632c393a42Smrg@FUNC@          FcConfigSubstitute
2642c393a42Smrg@TYPE1@         FcConfig *			@ARG1@		config
2652c393a42Smrg@TYPE2@		FcPattern *			@ARG2@		p
2662c393a42Smrg@TYPE3@		FcMatchKind%                    @ARG3@          kind
2672c393a42Smrg@PURPOSE@	Execute substitutions
2682c393a42Smrg@DESC@
2692c393a42SmrgCalls FcConfigSubstituteWithPat setting p_pat to NULL. Returns FcFalse
2702c393a42Smrgif the substitution cannot be performed (due to allocation failure). Otherwise returns FcTrue.
271a6844aabSmrgIf <parameter>config</parameter> is NULL, the current configuration is used.
2722c393a42Smrg@@
2732c393a42Smrg
2742c393a42Smrg@RET@           FcPattern *
2752c393a42Smrg@FUNC@          FcFontMatch
2762c393a42Smrg@TYPE1@         FcConfig *			@ARG1@		config
2772c393a42Smrg@TYPE2@		FcPattern *			@ARG2@		p
2782c393a42Smrg@TYPE3@		FcResult *                      @ARG3@          result
2792c393a42Smrg@PURPOSE@	Return best font
2802c393a42Smrg@DESC@
2812c393a42SmrgFinds the font in <parameter>sets</parameter> most closely matching
2822c393a42Smrg<parameter>pattern</parameter> and returns the result of
2832c393a42Smrg<function>FcFontRenderPrepare</function> for that font and the provided
2842c393a42Smrgpattern. This function should be called only after
2852c393a42Smrg<function>FcConfigSubstitute</function> and
2862c393a42Smrg<function>FcDefaultSubstitute</function> have been called for
2872c393a42Smrg<parameter>p</parameter>; otherwise the results will not be correct.
288a6844aabSmrgIf <parameter>config</parameter> is NULL, the current configuration is used.
2892c393a42Smrg@@
2902c393a42Smrg
2912c393a42Smrg@RET@           FcFontSet *
2922c393a42Smrg@FUNC@          FcFontSort
2932c393a42Smrg@TYPE1@         FcConfig *			@ARG1@		config
2942c393a42Smrg@TYPE2@		FcPattern *			@ARG2@		p
2952c393a42Smrg@TYPE3@		FcBool%				@ARG3@		trim
2962c393a42Smrg@TYPE4@		FcCharSet **			@ARG4@		csp
2972c393a42Smrg@TYPE5@		FcResult *                      @ARG5@          result
2982c393a42Smrg@PURPOSE@	Return list of matching fonts
2992c393a42Smrg@DESC@
3002c393a42SmrgReturns the list of fonts sorted by closeness to <parameter>p</parameter>.  If <parameter>trim</parameter> is FcTrue,
3012c393a42Smrgelements in the list which don't include Unicode coverage not provided by
3022c393a42Smrgearlier elements in the list are elided.  The union of Unicode coverage of
3032c393a42Smrgall of the fonts is returned in <parameter>csp</parameter>, if <parameter>csp</parameter> is not NULL.  This function
3042c393a42Smrgshould be called only after FcConfigSubstitute and FcDefaultSubstitute have
3052c393a42Smrgbeen called for <parameter>p</parameter>; otherwise the results will not be correct.
3062c393a42Smrg    </para><para>
3072c393a42SmrgThe returned FcFontSet references FcPattern structures which may be shared
3082c393a42Smrgby the return value from multiple FcFontSort calls, applications must not
3092c393a42Smrgmodify these patterns.  Instead, they should be passed, along with <parameter>p</parameter> to
3102c393a42Smrg<function>FcFontRenderPrepare</function> which combines them into a complete pattern.
3112c393a42Smrg    </para><para>
312ca08ab68SmrgThe FcFontSet returned by FcFontSort is destroyed by calling FcFontSetDestroy.
313a6844aabSmrgIf <parameter>config</parameter> is NULL, the current configuration is used.
3142c393a42Smrg@@
3152c393a42Smrg
3162c393a42Smrg@RET@           FcPattern *
3172c393a42Smrg@FUNC@          FcFontRenderPrepare
3182c393a42Smrg@TYPE1@         FcConfig *			@ARG1@		config
3192c393a42Smrg@TYPE2@		FcPattern *			@ARG2@		pat
3202c393a42Smrg@TYPE3@		FcPattern *                     @ARG3@          font
3212c393a42Smrg@PURPOSE@	Prepare pattern for loading font file
3222c393a42Smrg@DESC@
3232c393a42SmrgCreates a new pattern consisting of elements of <parameter>font</parameter> not appearing
3242c393a42Smrgin <parameter>pat</parameter>, elements of <parameter>pat</parameter> not appearing in <parameter>font</parameter> and the best matching
3252c393a42Smrgvalue from <parameter>pat</parameter> for elements appearing in both.  The result is passed to
326a6844aabSmrgFcConfigSubstituteWithPat with <parameter>kind</parameter> FcMatchFont and then returned.
3272c393a42Smrg@@
3282c393a42Smrg
3292c393a42Smrg@RET@           FcFontSet *
3302c393a42Smrg@FUNC@          FcFontList
3312c393a42Smrg@TYPE1@         FcConfig *			@ARG1@		config
3322c393a42Smrg@TYPE2@		FcPattern *			@ARG2@		p
3332c393a42Smrg@TYPE3@		FcObjectSet *                   @ARG3@          os
3342c393a42Smrg@PURPOSE@	List fonts
3352c393a42Smrg@DESC@
3362c393a42SmrgSelects fonts matching <parameter>p</parameter>, creates patterns from those fonts containing
3372c393a42Smrgonly the objects in <parameter>os</parameter> and returns the set of unique such patterns.
338a6844aabSmrgIf <parameter>config</parameter> is NULL, the default configuration is checked
339a6844aabSmrgto be up to date, and used.
3402c393a42Smrg@@
3412c393a42Smrg
3422c393a42Smrg@RET@           FcChar8 *
3432c393a42Smrg@FUNC@          FcConfigFilename
3442c393a42Smrg@TYPE1@         const FcChar8 *			@ARG1@          name
3452c393a42Smrg@PURPOSE@	Find a config file
3462c393a42Smrg@DESC@
3472c393a42SmrgGiven the specified external entity name, return the associated filename.
3482c393a42SmrgThis provides applications a way to convert various configuration file
3492c393a42Smrgreferences into filename form.
3502c393a42Smrg    </para><para>
3512c393a42SmrgA null or empty <parameter>name</parameter> indicates that the default configuration file should
3522c393a42Smrgbe used; which file this references can be overridden with the
353ca08ab68SmrgFONTCONFIG_FILE environment variable.  Next, if the name starts with <parameter>~</parameter>, it
3542c393a42Smrgrefers to a file in the current users home directory.  Otherwise if the name
3552c393a42Smrgdoesn't start with '/', it refers to a file in the default configuration
3562c393a42Smrgdirectory; the built-in default directory can be overridden with the
357ca08ab68SmrgFONTCONFIG_PATH environment variable.
3582c393a42Smrg@@
3592c393a42Smrg
3602c393a42Smrg@RET@		FcBool
3612c393a42Smrg@FUNC@		FcConfigParseAndLoad
3622c393a42Smrg@TYPE1@		FcConfig *			@ARG1@		config
3632c393a42Smrg@TYPE2@		const FcChar8 *			@ARG2@		file
3642c393a42Smrg@TYPE3@		FcBool%				@ARG3@		complain
3652c393a42Smrg@PURPOSE@	load a configuration file
3662c393a42Smrg@DESC@
3672c393a42SmrgWalks the configuration in 'file' and constructs the internal representation
3682c393a42Smrgin 'config'.  Any include files referenced from within 'file' will be loaded
3692c393a42Smrgand parsed.  If 'complain' is FcFalse, no warning will be displayed if
3702c393a42Smrg'file' does not exist. Error and warning messages will be output to stderr.
3712c393a42SmrgReturns FcFalse if some error occurred while loading the file, either a
3722c393a42Smrgparse error, semantic error or allocation failure. Otherwise returns FcTrue.
3732c393a42Smrg@@
374c9710b42Smrg
375a32e9e42Smrg@RET@		FcBool
376a32e9e42Smrg@FUNC@		FcConfigParseAndLoadFromMemory
377a32e9e42Smrg@TYPE1@		FcConfig *			@ARG1@		config
378a32e9e42Smrg@TYPE2@		const FcChar8 *			@ARG2@		buffer
379a32e9e42Smrg@TYPE3@		FcBool%				@ARG3@		complain
380a32e9e42Smrg@PURPOSE@	load a configuration from memory
381a32e9e42Smrg@DESC@
382a32e9e42SmrgWalks the configuration in 'memory' and constructs the internal representation
383a32e9e42Smrgin 'config'.  Any includes files referenced from within 'memory' will be loaded
384a32e9e42Smrgand dparsed.  If 'complain' is FcFalse, no warning will be displayed if
385a32e9e42Smrg'file' does not exist. Error and warning messages will be output to stderr.
386a32e9e42SmrgReturns FcFalse if fsome error occurred while loading the file, either a
387a32e9e42Smrgparse error, semantic error or allocation failure. Otherwise returns FcTrue.
388a32e9e42Smrg@SINCE@		2.12.5
389a32e9e42Smrg@@
390a32e9e42Smrg
391c9710b42Smrg@RET@		const FcChar8 *
392c9710b42Smrg@FUNC@		FcConfigGetSysRoot
393c9710b42Smrg@TYPE1@		const FcConfig *		@ARG1@		config
394c9710b42Smrg@PURPOSE@	Obtain the system root directory
395c9710b42Smrg@DESC@
396c9710b42SmrgObtrains the system root directory in 'config' if available.
397b09479dcSmrg@SINCE@		2.10.92
398c9710b42Smrg@@
399c9710b42Smrg
400c9710b42Smrg@RET@		void
401c9710b42Smrg@FUNC@		FcConfigSetSysRoot
402c9710b42Smrg@TYPE1@		FcConfig *			@ARG1@		config
403c9710b42Smrg@TYPE2@		const FcChar8 *			@ARG2@		sysroot
404c9710b42Smrg@PURPOSE@	Set the system root directory
405c9710b42Smrg@DESC@
406c9710b42SmrgSet 'sysroot' as the system root directory. fontconfig prepend 'sysroot'
407c9710b42Smrgto the cache directories in order to allow people to generate caches at
408c9710b42Smrgthe build time. Note that this causes changing current config. i.e.
409c9710b42Smrgthis function calls FcConfigSetCurrent() internally.
410b09479dcSmrg@SINCE@		2.10.92
411c9710b42Smrg@@
412c9710b42Smrg
413a32e9e42Smrg@RET@		void
414a32e9e42Smrg@FUNC@		FcConfigFileInfoIterInit
415a32e9e42Smrg@TYPE1@		FcConfig *			@ARG1@		config
416a32e9e42Smrg@TYPE2@		FcConfigFileInfoIter *		@ARG2@		iter
417a32e9e42Smrg@PURPOSE@	Initialize the iterator
418a32e9e42Smrg@DESC@
419a32e9e42SmrgInitialize 'iter' with the first iterator in the config file information list.
420a32e9e42Smrg@SINCE@		2.12.91
421a32e9e42Smrg@@
422a32e9e42Smrg
423a32e9e42Smrg@RET@		FcBool
424a32e9e42Smrg@FUNC@		FcConfigFileInfoIterNext
425a32e9e42Smrg@TYPE1@		FcConfig *			@ARG1@		config
426a32e9e42Smrg@TYPE2@		FcConfigFileInfoIter *		@ARG2@		iter
427a32e9e42Smrg@PURPOSE@	Set the iterator to point to the next list
428a32e9e42Smrg@DESC@
429a32e9e42SmrgSet 'iter' to point to the next node in the config file information list.
430a32e9e42SmrgIf there is no next node, FcFalse is returned.
431a32e9e42Smrg@SINCE@		2.12.91
432a32e9e42Smrg@@
433a32e9e42Smrg
434a32e9e42Smrg@RET@		FcBool
435a32e9e42Smrg@FUNC@		FcConfigFileInfoIterGet
436a32e9e42Smrg@TYPE1@		FcConfig *			@ARG1@		config
437a32e9e42Smrg@TYPE2@		FcConfigFileInfoIter *		@ARG2@		iter
438a32e9e42Smrg@TYPE3@		FcChar8 **	     		@ARG3@		name
439a32e9e42Smrg@TYPE4@		FcChar8 **			@ARG4@		description
440a32e9e42Smrg@TYPE5@		FcBool *			@ARG5@		enabled
441a32e9e42Smrg@PURPOSE@	Obtain the configuration file information
442a32e9e42Smrg@DESC@
443a32e9e42SmrgObtain the filename, the description and the flag whether it is enabled or not
444a32e9e42Smrgfor 'iter' where points to current configuration file information.
445a32e9e42SmrgIf the iterator is invalid, FcFalse is returned.
446a32e9e42Smrg@SINCE@		2.12.91
447a32e9e42Smrg@@
448