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