| /* |
| * fontconfig/doc/fcconfig.fncs |
| * |
| * Copyright © 2003 Keith Packard |
| * |
| * Permission to use, copy, modify, distribute, and sell this software and its |
| * documentation for any purpose is hereby granted without fee, provided that |
| * the above copyright notice appear in all copies and that both that |
| * copyright notice and this permission notice appear in supporting |
| * documentation, and that the name of the author(s) not be used in |
| * advertising or publicity pertaining to distribution of the software without |
| * specific, written prior permission. The authors make no |
| * representations about the suitability of this software for any purpose. It |
| * is provided "as is" without express or implied warranty. |
| * |
| * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, |
| * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO |
| * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR |
| * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, |
| * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER |
| * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR |
| * PERFORMANCE OF THIS SOFTWARE. |
| */ |
| @RET@ FcConfig * |
| @FUNC@ FcConfigCreate |
| @TYPE1@ void |
| @PURPOSE@ Create a configuration |
| @DESC@ |
| Creates an empty configuration. |
| @@ |
| |
| @RET@ FcConfig * |
| @FUNC@ FcConfigReference |
| @TYPE1@ FcConfig * @ARG1@ config |
| @PURPOSE@ Increment config reference count |
| @DESC@ |
| Add another reference to <parameter>config</parameter>. Configs are freed only |
| when the reference count reaches zero. |
| If <parameter>config</parameter> is NULL, the current configuration is used. |
| In that case this function will be similar to FcConfigGetCurrent() except that |
| it increments the reference count before returning and the user is responsible |
| for destroying the configuration when not needed anymore. |
| @@ |
| |
| @RET@ void |
| @FUNC@ FcConfigDestroy |
| @TYPE1@ FcConfig * @ARG1@ config |
| @PURPOSE@ Destroy a configuration |
| @DESC@ |
| Decrements the config reference count. If all references are gone, destroys |
| the configuration and any data associated with it. |
| Note that calling this function with the return from FcConfigGetCurrent will |
| cause a new configuration to be created for use as current configuration. |
| @@ |
| |
| @RET@ FcBool |
| @FUNC@ FcConfigSetCurrent |
| @TYPE1@ FcConfig * @ARG1@ config |
| @PURPOSE@ Set configuration as default |
| @DESC@ |
| Sets the current default configuration to <parameter>config</parameter>. Implicitly calls |
| FcConfigBuildFonts if necessary, and FcConfigReference() to inrease the reference count |
| in <parameter>config</parameter> since 2.12.0, returning FcFalse if that call fails. |
| @@ |
| |
| @RET@ FcConfig * |
| @FUNC@ FcConfigGetCurrent |
| @TYPE1@ void |
| @PURPOSE@ Return current configuration |
| @DESC@ |
| Returns the current default configuration. |
| @@ |
| |
| @RET@ FcBool |
| @FUNC@ FcConfigUptoDate |
| @TYPE1@ FcConfig * @ARG1@ config |
| @PURPOSE@ Check timestamps on config files |
| @DESC@ |
| Checks all of the files related to <parameter>config</parameter> and returns |
| whether any of them has been modified since the configuration was created. |
| If <parameter>config</parameter> is NULL, the current configuration is used. |
| @@ |
| |
| @RET@ FcChar8 * |
| @FUNC@ FcConfigHome |
| @TYPE1@ void |
| @PURPOSE@ return the current home directory. |
| @DESC@ |
| Return the current user's home directory, if it is available, and if using it |
| is enabled, and NULL otherwise. |
| See also <function>FcConfigEnableHome</function>). |
| @@ |
| |
| @RET@ FcBool |
| @FUNC@ FcConfigEnableHome |
| @TYPE1@ FcBool% @ARG1@ enable |
| @PURPOSE@ controls use of the home directory. |
| @DESC@ |
| If <parameter>enable</parameter> is FcTrue, then Fontconfig will use various |
| files which are specified relative to the user's home directory (using the ~ |
| notation in the configuration). When <parameter>enable</parameter> is |
| FcFalse, then all use of the home directory in these contexts will be |
| disabled. The previous setting of the value is returned. |
| @@ |
| |
| @RET@ FcBool |
| @FUNC@ FcConfigBuildFonts |
| @TYPE1@ FcConfig * @ARG1@ config |
| @PURPOSE@ Build font database |
| @DESC@ |
| Builds the set of available fonts for the given configuration. Note that |
| any changes to the configuration after this call have indeterminate effects. |
| Returns FcFalse if this operation runs out of memory. |
| If <parameter>config</parameter> is NULL, the current configuration is used. |
| @@ |
| |
| @RET@ FcStrList * |
| @FUNC@ FcConfigGetConfigDirs |
| @TYPE1@ FcConfig * @ARG1@ config |
| @PURPOSE@ Get config directories |
| @DESC@ |
| Returns the list of font directories specified in the configuration files |
| for <parameter>config</parameter>. Does not include any subdirectories. |
| If <parameter>config</parameter> is NULL, the current configuration is used. |
| @@ |
| |
| @RET@ FcStrList * |
| @FUNC@ FcConfigGetFontDirs |
| @TYPE1@ FcConfig * @ARG1@ config |
| @PURPOSE@ Get font directories |
| @DESC@ |
| Returns the list of font directories in <parameter>config</parameter>. This includes the |
| configured font directories along with any directories below those in the |
| filesystem. |
| If <parameter>config</parameter> is NULL, the current configuration is used. |
| @@ |
| |
| @RET@ FcStrList * |
| @FUNC@ FcConfigGetConfigFiles |
| @TYPE1@ FcConfig * @ARG1@ config |
| @PURPOSE@ Get config files |
| @DESC@ |
| Returns the list of known configuration files used to generate <parameter>config</parameter>. |
| If <parameter>config</parameter> is NULL, the current configuration is used. |
| @@ |
| |
| @RET@ FcChar8 * |
| @FUNC@ FcConfigGetCache |
| @TYPE1@ FcConfig * @ARG1@ config |
| @PURPOSE@ DEPRECATED used to return per-user cache filename |
| @DESC@ |
| With fontconfig no longer using per-user cache files, this function now |
| simply returns NULL to indicate that no per-user file exists. |
| @@ |
| |
| @RET@ FcStrList * |
| @FUNC@ FcConfigGetCacheDirs |
| @TYPE1@ const FcConfig * @ARG1@ config |
| @PURPOSE@ return the list of directories searched for cache files |
| @DESC@ |
| <function>FcConfigGetCacheDirs</function> returns a string list containing |
| all of the directories that fontconfig will search when attempting to load a |
| cache file for a font directory. |
| If <parameter>config</parameter> is NULL, the current configuration is used. |
| @@ |
| |
| @RET@ FcFontSet * |
| @FUNC@ FcConfigGetFonts |
| @TYPE1@ FcConfig * @ARG1@ config |
| @TYPE2@ FcSetName% @ARG2@ set |
| @PURPOSE@ Get config font set |
| @DESC@ |
| Returns one of the two sets of fonts from the configuration as specified |
| by <parameter>set</parameter>. This font set is owned by the library and must |
| not be modified or freed. |
| If <parameter>config</parameter> is NULL, the current configuration is used. |
| </para><para> |
| This function isn't MT-safe. <function>FcConfigReference</function> must be called |
| before using this and then <function>FcConfigDestroy</function> when |
| the return value is no longer referenced. |
| @@ |
| |
| @RET@ FcBlanks * |
| @FUNC@ FcConfigGetBlanks |
| @TYPE1@ FcConfig * @ARG1@ config |
| @PURPOSE@ Get config blanks |
| @DESC@ |
| FcBlanks is deprecated. |
| This function always returns NULL. |
| @@ |
| |
| @RET@ int |
| @FUNC@ FcConfigGetRescanInterval |
| @TYPE1@ FcConfig * @ARG1@ config |
| @PURPOSE@ Get config rescan interval |
| @DESC@ |
| Returns the interval between automatic checks of the configuration (in |
| seconds) specified in <parameter>config</parameter>. The configuration is checked during |
| a call to FcFontList when this interval has passed since the last check. |
| An interval setting of zero disables automatic checks. |
| If <parameter>config</parameter> is NULL, the current configuration is used. |
| @@ |
| |
| @RET@ FcBool |
| @FUNC@ FcConfigSetRescanInterval |
| @TYPE1@ FcConfig * @ARG1@ config |
| @TYPE2@ int% @ARG2@ rescanInterval |
| @PURPOSE@ Set config rescan interval |
| @DESC@ |
| Sets the rescan interval. Returns FcFalse if the interval cannot be set (due |
| to allocation failure). Otherwise returns FcTrue. |
| An interval setting of zero disables automatic checks. |
| If <parameter>config</parameter> is NULL, the current configuration is used. |
| @@ |
| |
| @RET@ FcBool |
| @FUNC@ FcConfigAppFontAddFile |
| @TYPE1@ FcConfig * @ARG1@ config |
| @TYPE2@ const FcChar8 * @ARG2@ file |
| @PURPOSE@ Add font file to font database |
| @DESC@ |
| Adds an application-specific font to the configuration. Returns FcFalse |
| if the fonts cannot be added (due to allocation failure or no fonts found). |
| Otherwise returns FcTrue. If <parameter>config</parameter> is NULL, |
| the current configuration is used. |
| @@ |
| |
| @RET@ FcBool |
| @FUNC@ FcConfigAppFontAddDir |
| @TYPE1@ FcConfig * @ARG1@ config |
| @TYPE2@ const FcChar8 * @ARG2@ dir |
| @PURPOSE@ Add fonts from directory to font database |
| @DESC@ |
| Scans the specified directory for fonts, adding each one found to the |
| application-specific set of fonts. Returns FcFalse |
| if the fonts cannot be added (due to allocation failure). |
| Otherwise returns FcTrue. If <parameter>config</parameter> is NULL, |
| the current configuration is used. |
| @@ |
| |
| @RET@ void |
| @FUNC@ FcConfigAppFontClear |
| @TYPE1@ FcConfig * @ARG1@ config |
| @PURPOSE@ Remove all app fonts from font database |
| @DESC@ |
| Clears the set of application-specific fonts. |
| If <parameter>config</parameter> is NULL, the current configuration is used. |
| @@ |
| |
| @RET@ FcBool |
| @FUNC@ FcConfigSubstituteWithPat |
| @TYPE1@ FcConfig * @ARG1@ config |
| @TYPE2@ FcPattern * @ARG2@ p |
| @TYPE3@ FcPattern * @ARG3@ p_pat |
| @TYPE4@ FcMatchKind% @ARG4@ kind |
| @PURPOSE@ Execute substitutions |
| @DESC@ |
| Performs the sequence of pattern modification operations, if <parameter>kind</parameter> is |
| FcMatchPattern, then those tagged as pattern operations are applied, else |
| if <parameter>kind</parameter> is FcMatchFont, those tagged as font operations are applied and |
| p_pat is used for <test> elements with target=pattern. Returns FcFalse |
| if the substitution cannot be performed (due to allocation failure). Otherwise returns FcTrue. |
| If <parameter>config</parameter> is NULL, the current configuration is used. |
| @@ |
| |
| @RET@ FcBool |
| @FUNC@ FcConfigSubstitute |
| @TYPE1@ FcConfig * @ARG1@ config |
| @TYPE2@ FcPattern * @ARG2@ p |
| @TYPE3@ FcMatchKind% @ARG3@ kind |
| @PURPOSE@ Execute substitutions |
| @DESC@ |
| Calls FcConfigSubstituteWithPat setting p_pat to NULL. Returns FcFalse |
| if the substitution cannot be performed (due to allocation failure). Otherwise returns FcTrue. |
| If <parameter>config</parameter> is NULL, the current configuration is used. |
| @@ |
| |
| @RET@ FcPattern * |
| @FUNC@ FcFontMatch |
| @TYPE1@ FcConfig * @ARG1@ config |
| @TYPE2@ FcPattern * @ARG2@ p |
| @TYPE3@ FcResult * @ARG3@ result |
| @PURPOSE@ Return best font |
| @DESC@ |
| Finds the font in <parameter>sets</parameter> most closely matching |
| <parameter>pattern</parameter> and returns the result of |
| <function>FcFontRenderPrepare</function> for that font and the provided |
| pattern. This function should be called only after |
| <function>FcConfigSubstitute</function> and |
| <function>FcDefaultSubstitute</function> have been called for |
| <parameter>p</parameter>; otherwise the results will not be correct. |
| If <parameter>config</parameter> is NULL, the current configuration is used. |
| @@ |
| |
| @RET@ FcFontSet * |
| @FUNC@ FcFontSort |
| @TYPE1@ FcConfig * @ARG1@ config |
| @TYPE2@ FcPattern * @ARG2@ p |
| @TYPE3@ FcBool% @ARG3@ trim |
| @TYPE4@ FcCharSet ** @ARG4@ csp |
| @TYPE5@ FcResult * @ARG5@ result |
| @PURPOSE@ Return list of matching fonts |
| @DESC@ |
| Returns the list of fonts sorted by closeness to <parameter>p</parameter>. If <parameter>trim</parameter> is FcTrue, |
| elements in the list which don't include Unicode coverage not provided by |
| earlier elements in the list are elided. The union of Unicode coverage of |
| all of the fonts is returned in <parameter>csp</parameter>, if <parameter>csp</parameter> is not NULL. This function |
| should be called only after FcConfigSubstitute and FcDefaultSubstitute have |
| been called for <parameter>p</parameter>; otherwise the results will not be correct. |
| </para><para> |
| The returned FcFontSet references FcPattern structures which may be shared |
| by the return value from multiple FcFontSort calls, applications must not |
| modify these patterns. Instead, they should be passed, along with <parameter>p</parameter> to |
| <function>FcFontRenderPrepare</function> which combines them into a complete pattern. |
| </para><para> |
| The FcFontSet returned by FcFontSort is destroyed by calling FcFontSetDestroy. |
| If <parameter>config</parameter> is NULL, the current configuration is used. |
| @@ |
| |
| @RET@ FcPattern * |
| @FUNC@ FcFontRenderPrepare |
| @TYPE1@ FcConfig * @ARG1@ config |
| @TYPE2@ FcPattern * @ARG2@ pat |
| @TYPE3@ FcPattern * @ARG3@ font |
| @PURPOSE@ Prepare pattern for loading font file |
| @DESC@ |
| Creates a new pattern consisting of elements of <parameter>font</parameter> not appearing |
| in <parameter>pat</parameter>, elements of <parameter>pat</parameter> not appearing in <parameter>font</parameter> and the best matching |
| value from <parameter>pat</parameter> for elements appearing in both. The result is passed to |
| FcConfigSubstituteWithPat with <parameter>kind</parameter> FcMatchFont and then returned. |
| @@ |
| |
| @RET@ FcFontSet * |
| @FUNC@ FcFontList |
| @TYPE1@ FcConfig * @ARG1@ config |
| @TYPE2@ FcPattern * @ARG2@ p |
| @TYPE3@ FcObjectSet * @ARG3@ os |
| @PURPOSE@ List fonts |
| @DESC@ |
| Selects fonts matching <parameter>p</parameter>, creates patterns from those fonts containing |
| only the objects in <parameter>os</parameter> and returns the set of unique such patterns. |
| If <parameter>config</parameter> is NULL, the default configuration is checked |
| to be up to date, and used. |
| @@ |
| |
| @RET@ FcChar8 * |
| @FUNC@ FcConfigFilename |
| @TYPE1@ const FcChar8 * @ARG1@ name |
| @PURPOSE@ Find a config file |
| @DESC@ |
| This function is deprecated and is replaced by <function>FcConfigGetFilename</function>. |
| @@ |
| |
| @RET@ FcChar8 * |
| @FUNC@ FcConfigGetFilename |
| @TYPE1@ FcConfig * @ARG1@ config |
| @TYPE2@ const FcChar8 * @ARG2@ name |
| @PURPOSE@ Find a config file |
| @DESC@ |
| Given the specified external entity name, return the associated filename. |
| This provides applications a way to convert various configuration file |
| references into filename form. |
| </para><para> |
| A null or empty <parameter>name</parameter> indicates that the default configuration file should |
| be used; which file this references can be overridden with the |
| FONTCONFIG_FILE environment variable. Next, if the name starts with <parameter>~</parameter>, it |
| refers to a file in the current users home directory. Otherwise if the name |
| doesn't start with '/', it refers to a file in the default configuration |
| directory; the built-in default directory can be overridden with the |
| FONTCONFIG_PATH environment variable. |
| </para><para> |
| The result of this function is affected by the FONTCONFIG_SYSROOT environment variable or equivalent functionality. |
| @@ |
| |
| @RET@ FcBool |
| @FUNC@ FcConfigParseAndLoad |
| @TYPE1@ FcConfig * @ARG1@ config |
| @TYPE2@ const FcChar8 * @ARG2@ file |
| @TYPE3@ FcBool% @ARG3@ complain |
| @PURPOSE@ load a configuration file |
| @DESC@ |
| Walks the configuration in 'file' and constructs the internal representation |
| in 'config'. Any include files referenced from within 'file' will be loaded |
| and parsed. If 'complain' is FcFalse, no warning will be displayed if |
| 'file' does not exist. Error and warning messages will be output to stderr. |
| Returns FcFalse if some error occurred while loading the file, either a |
| parse error, semantic error or allocation failure. Otherwise returns FcTrue. |
| @@ |
| |
| @RET@ FcBool |
| @FUNC@ FcConfigParseAndLoadFromMemory |
| @TYPE1@ FcConfig * @ARG1@ config |
| @TYPE2@ const FcChar8 * @ARG2@ buffer |
| @TYPE3@ FcBool% @ARG3@ complain |
| @PURPOSE@ load a configuration from memory |
| @DESC@ |
| Walks the configuration in 'memory' and constructs the internal representation |
| in 'config'. Any includes files referenced from within 'memory' will be loaded |
| and dparsed. If 'complain' is FcFalse, no warning will be displayed if |
| 'file' does not exist. Error and warning messages will be output to stderr. |
| Returns FcFalse if fsome error occurred while loading the file, either a |
| parse error, semantic error or allocation failure. Otherwise returns FcTrue. |
| @SINCE@ 2.12.5 |
| @@ |
| |
| @RET@ const FcChar8 * |
| @FUNC@ FcConfigGetSysRoot |
| @TYPE1@ const FcConfig * @ARG1@ config |
| @PURPOSE@ Obtain the system root directory |
| @DESC@ |
| Obtains the system root directory in 'config' if available. All files |
| (including file properties in patterns) obtained from this 'config' are |
| relative to this system root directory. |
| </para><para> |
| This function isn't MT-safe. <function>FcConfigReference</function> must be called |
| before using this and then <function>FcConfigDestroy</function> when |
| the return value is no longer referenced. |
| @SINCE@ 2.10.92 |
| @@ |
| |
| @RET@ void |
| @FUNC@ FcConfigSetSysRoot |
| @TYPE1@ FcConfig * @ARG1@ config |
| @TYPE2@ const FcChar8 * @ARG2@ sysroot |
| @PURPOSE@ Set the system root directory |
| @DESC@ |
| Set 'sysroot' as the system root directory. All file paths used or created with |
| this 'config' (including file properties in patterns) will be considered or |
| made relative to this 'sysroot'. This allows a host to generate caches for |
| targets at build time. This also allows a cache to be re-targeted to a |
| different base directory if 'FcConfigGetSysRoot' is used to resolve file paths. |
| When setting this on the current config this causes changing current config |
| (calls FcConfigSetCurrent()). |
| @SINCE@ 2.10.92 |
| @@ |
| |
| @RET@ void |
| @FUNC@ FcConfigFileInfoIterInit |
| @TYPE1@ FcConfig * @ARG1@ config |
| @TYPE2@ FcConfigFileInfoIter * @ARG2@ iter |
| @PURPOSE@ Initialize the iterator |
| @DESC@ |
| Initialize 'iter' with the first iterator in the config file information list. |
| </para><para> |
| This function isn't MT-safe. <function>FcConfigReference</function> must be called |
| before using this and then <function>FcConfigDestroy</function> when the relevant |
| values are no longer referenced. |
| @SINCE@ 2.12.91 |
| @@ |
| |
| @RET@ FcBool |
| @FUNC@ FcConfigFileInfoIterNext |
| @TYPE1@ FcConfig * @ARG1@ config |
| @TYPE2@ FcConfigFileInfoIter * @ARG2@ iter |
| @PURPOSE@ Set the iterator to point to the next list |
| @DESC@ |
| Set 'iter' to point to the next node in the config file information list. |
| If there is no next node, FcFalse is returned. |
| </para><para> |
| This function isn't MT-safe. <function>FcConfigReference</function> must be called |
| before using <function>FcConfigFileInfoIterInit</function> and then |
| <function>FcConfigDestroy</function> when the relevant values are no longer referenced. |
| @SINCE@ 2.12.91 |
| @@ |
| |
| @RET@ FcBool |
| @FUNC@ FcConfigFileInfoIterGet |
| @TYPE1@ FcConfig * @ARG1@ config |
| @TYPE2@ FcConfigFileInfoIter * @ARG2@ iter |
| @TYPE3@ FcChar8 ** @ARG3@ name |
| @TYPE4@ FcChar8 ** @ARG4@ description |
| @TYPE5@ FcBool * @ARG5@ enabled |
| @PURPOSE@ Obtain the configuration file information |
| @DESC@ |
| Obtain the filename, the description and the flag whether it is enabled or not |
| for 'iter' where points to current configuration file information. |
| If the iterator is invalid, FcFalse is returned. |
| </para><para> |
| This function isn't MT-safe. <function>FcConfigReference</function> must be called |
| before using <function>FcConfigFileInfoIterInit</function> and then |
| <function>FcConfigDestroy</function> when the relevant values are no longer referenced. |
| @SINCE@ 2.12.91 |
| @@ |