fontconfig-devel.txt revision ca08ab68
1ca08ab68Smrg Fontconfig Developers Reference, Version 2.10.2 22c393a42Smrg 3ca08ab68Smrg Copyright © 2002 Keith Packard 42c393a42Smrg 5ca08ab68Smrg Permission to use, copy, modify, distribute, and sell this software and 6ca08ab68Smrg its documentation for any purpose is hereby granted without fee, provided 7ca08ab68Smrg that the above copyright notice appear in all copies and that both that 8ca08ab68Smrg copyright notice and this permission notice appear in supporting 9ca08ab68Smrg documentation, and that the name of the author(s) not be used in 10ca08ab68Smrg advertising or publicity pertaining to distribution of the software 11ca08ab68Smrg without specific, written prior permission. The authors make no 12ca08ab68Smrg representations about the suitability of this software for any purpose. It 13ca08ab68Smrg is provided "as is" without express or implied warranty. 142c393a42Smrg 15ca08ab68Smrg THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 16ca08ab68Smrg INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 17ca08ab68Smrg EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR 18ca08ab68Smrg CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF 19ca08ab68Smrg USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 20ca08ab68Smrg OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 21ca08ab68Smrg PERFORMANCE OF THIS SOFTWARE. 222c393a42Smrg 23ca08ab68Smrg ------------------------------------------------------- 242c393a42Smrg 25ca08ab68Smrg Table of Contents 26ca08ab68Smrg 27ca08ab68Smrg [1]DESCRIPTION 28ca08ab68Smrg 29ca08ab68Smrg [2]FUNCTIONAL OVERVIEW 30ca08ab68Smrg 31ca08ab68Smrg [3]Datatypes 32ca08ab68Smrg 33ca08ab68Smrg [4]FUNCTIONS 342c393a42Smrg 35a6844aabSmrgDESCRIPTION 362c393a42Smrg 37ca08ab68Smrg Fontconfig is a library designed to provide system-wide font 38ca08ab68Smrg configuration, customization and application access. 392c393a42Smrg 40ca08ab68Smrg -------------------------------------------------------------------------- 412c393a42Smrg 42a6844aabSmrgFUNCTIONAL OVERVIEW 43a6844aabSmrg 44ca08ab68Smrg Fontconfig contains two essential modules, the configuration module which 45ca08ab68Smrg builds an internal configuration from XML files and the matching module 46ca08ab68Smrg which accepts font patterns and returns the nearest matching font. 47a6844aabSmrg 48ca08ab68Smrg -------------------------------------------------------------------------- 49a6844aabSmrg 50ca08ab68Smrg FONT CONFIGURATION 51a6844aabSmrg 52ca08ab68Smrg The configuration module consists of the FcConfig datatype, libexpat and 53ca08ab68Smrg FcConfigParse which walks over an XML tree and amends a configuration with 54ca08ab68Smrg data found within. From an external perspective, configuration of the 55ca08ab68Smrg library consists of generating a valid XML tree and feeding that to 56ca08ab68Smrg FcConfigParse. The only other mechanism provided to applications for 57ca08ab68Smrg changing the running configuration is to add fonts and directories to the 58ca08ab68Smrg list of application-provided font files. 59a6844aabSmrg 60ca08ab68Smrg The intent is to make font configurations relatively static, and shared by 61ca08ab68Smrg as many applications as possible. It is hoped that this will lead to more 62ca08ab68Smrg stable font selection when passing names from one application to another. 63ca08ab68Smrg XML was chosen as a configuration file format because it provides a format 64ca08ab68Smrg which is easy for external agents to edit while retaining the correct 65ca08ab68Smrg structure and syntax. 66a6844aabSmrg 67ca08ab68Smrg Font configuration is separate from font matching; applications needing to 68ca08ab68Smrg do their own matching can access the available fonts from the library and 69ca08ab68Smrg perform private matching. The intent is to permit applications to pick and 70ca08ab68Smrg choose appropriate functionality from the library instead of forcing them 71ca08ab68Smrg to choose between this library and a private configuration mechanism. The 72ca08ab68Smrg hope is that this will ensure that configuration of fonts for all 73ca08ab68Smrg applications can be centralized in one place. Centralizing font 74ca08ab68Smrg configuration will simplify and regularize font installation and 75ca08ab68Smrg customization. 76a6844aabSmrg 77ca08ab68Smrg -------------------------------------------------------------------------- 78a6844aabSmrg 79ca08ab68Smrg FONT PROPERTIES 80a6844aabSmrg 81ca08ab68Smrg While font patterns may contain essentially any properties, there are some 82ca08ab68Smrg well known properties with associated types. Fontconfig uses some of these 83ca08ab68Smrg properties for font matching and font completion. Others are provided as a 84ca08ab68Smrg convenience for the application's rendering mechanism. 852c393a42Smrg 862c393a42Smrg Property Definitions 872c393a42Smrg 88ca08ab68Smrg Property C Preprocessor Symbol Type Description 892c393a42Smrg ---------------------------------------------------- 90ca08ab68Smrg family FC_FAMILY String Font family names 91ca08ab68Smrg familylang FC_FAMILYLANG String Language corresponding to 92ca08ab68Smrg each family name 93ca08ab68Smrg style FC_STYLE String Font style. Overrides weight 94ca08ab68Smrg and slant 95ca08ab68Smrg stylelang FC_STYLELANG String Language corresponding to 96ca08ab68Smrg each style name 97ca08ab68Smrg fullname FC_FULLNAME String Font face full name where 98ca08ab68Smrg different from family and 99ca08ab68Smrg family + style 100ca08ab68Smrg fullnamelang FC_FULLNAMELANG String Language corresponding to 101ca08ab68Smrg each fullname 102ca08ab68Smrg slant FC_SLANT Int Italic, oblique or roman 103ca08ab68Smrg weight FC_WEIGHT Int Light, medium, demibold, 104ca08ab68Smrg bold or black 105ca08ab68Smrg size FC_SIZE Double Point size 106ca08ab68Smrg width FC_WIDTH Int Condensed, normal or expanded 107ca08ab68Smrg aspect FC_ASPECT Double Stretches glyphs horizontally 108ca08ab68Smrg before hinting 109ca08ab68Smrg pixelsize FC_PIXEL_SIZE Double Pixel size 110ca08ab68Smrg 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 115ca08ab68Smrg hinting FC_HINTING Bool Whether the rasterizer should 116ca08ab68Smrg use hinting 117ca08ab68Smrg hintstyle FC_HINT_STYLE Int Automatic hinting style 118ca08ab68Smrg verticallayout FC_VERTICAL_LAYOUT Bool Use vertical layout 119ca08ab68Smrg autohint FC_AUTOHINT Bool Use autohinter instead of 120ca08ab68Smrg normal hinter 121ca08ab68Smrg globaladvance FC_GLOBAL_ADVANCE Bool Use font global advance data (deprecated) 122ca08ab68Smrg file FC_FILE String The filename holding the font 123ca08ab68Smrg index FC_INDEX Int The index of the font within 124ca08ab68Smrg the file 125ca08ab68Smrg ftface FC_FT_FACE FT_Face Use the specified FreeType 126ca08ab68Smrg face object 127ca08ab68Smrg rasterizer FC_RASTERIZER String Which rasterizer is in use 128ca08ab68Smrg outline FC_OUTLINE Bool Whether the glyphs are outlines 129ca08ab68Smrg scalable FC_SCALABLE Bool Whether glyphs can be scaled 130ca08ab68Smrg scale FC_SCALE Double Scale factor for point->pixel 131ca08ab68Smrg conversions 132ca08ab68Smrg dpi FC_DPI Double Target dots per inch 133ca08ab68Smrg rgba FC_RGBA Int unknown, rgb, bgr, vrgb, 134ca08ab68Smrg vbgr, none - subpixel geometry 135ca08ab68Smrg lcdfilter FC_LCD_FILTER Int Type of LCD filter 136ca08ab68Smrg minspace FC_MINSPACE Bool Eliminate leading from line 137ca08ab68Smrg spacing 138ca08ab68Smrg charset FC_CHARSET CharSet Unicode chars encoded by 139ca08ab68Smrg the font 140ca08ab68Smrg lang FC_LANG LangSet Set of RFC-3066-style 141ca08ab68Smrg languages this font supports 142ca08ab68Smrg fontversion FC_FONTVERSION Int Version number of the font 143ca08ab68Smrg capability FC_CAPABILITY String List of layout capabilities in 144ca08ab68Smrg the font 145ca08ab68Smrg embolden FC_EMBOLDEN Bool Rasterizer should 146ca08ab68Smrg synthetically embolden the font 147ca08ab68Smrg namelang FC_NAMELANG String Language name to be used for the 148ca08ab68Smrg default value of familylang, 149ca08ab68Smrg stylelang and fullnamelang 150ca08ab68Smrg 151ca08ab68Smrg 152ca08ab68Smrg -------------------------------------------------------------------------- 153a6844aabSmrg 154a6844aabSmrgDatatypes 1552c393a42Smrg 156ca08ab68Smrg Fontconfig uses abstract data types to hide internal implementation 157ca08ab68Smrg details for most data structures. A few structures are exposed where 158ca08ab68Smrg appropriate. 1592c393a42Smrg 160ca08ab68Smrg -------------------------------------------------------------------------- 1612c393a42Smrg 162ca08ab68Smrg FcChar8, FcChar16, FcChar32, FcBool 1632c393a42Smrg 164ca08ab68Smrg These are primitive data types; the FcChar* types hold precisely the 165ca08ab68Smrg number of bits stated (if supported by the C implementation). FcBool holds 166ca08ab68Smrg one of two C preprocessor symbols: FcFalse or FcTrue. 1672c393a42Smrg 168ca08ab68Smrg -------------------------------------------------------------------------- 169a6844aabSmrg 170ca08ab68Smrg FcMatrix 171a6844aabSmrg 172ca08ab68Smrg An FcMatrix holds an affine transformation, usually used to reshape 173ca08ab68Smrg glyphs. A small set of matrix operations are provided to manipulate these. 1742c393a42Smrg 175ca08ab68Smrg typedef struct _FcMatrix { 176ca08ab68Smrg double xx, xy, yx, yy; 177ca08ab68Smrg } FcMatrix; 1782c393a42Smrg 1792c393a42Smrg 180ca08ab68Smrg -------------------------------------------------------------------------- 181a6844aabSmrg 182ca08ab68Smrg FcCharSet 183a6844aabSmrg 184ca08ab68Smrg An FcCharSet is an abstract type that holds the set of encoded Unicode 185ca08ab68Smrg chars in a font. Operations to build and compare these sets are provided. 186a6844aabSmrg 187ca08ab68Smrg -------------------------------------------------------------------------- 188a6844aabSmrg 189ca08ab68Smrg FcLangSet 1902c393a42Smrg 191ca08ab68Smrg An FcLangSet is an abstract type that holds the set of languages supported 192ca08ab68Smrg by a font. Operations to build and compare these sets are provided. These 193ca08ab68Smrg are computed for a font based on orthographic information built into the 194ca08ab68Smrg fontconfig library. Fontconfig has orthographies for all of the ISO 639-1 195ca08ab68Smrg languages except for MS, NA, PA, PS, QU, RN, RW, SD, SG, SN, SU and ZA. If 196ca08ab68Smrg you have orthographic information for any of these languages, please 197ca08ab68Smrg submit them. 1982c393a42Smrg 199ca08ab68Smrg -------------------------------------------------------------------------- 2002c393a42Smrg 201ca08ab68Smrg FcLangResult 2022c393a42Smrg 203ca08ab68Smrg An FcLangResult is an enumeration used to return the results of comparing 204ca08ab68Smrg two language strings or FcLangSet objects. FcLangEqual means the objects 205ca08ab68Smrg match language and territory. FcLangDifferentTerritory means the objects 206ca08ab68Smrg match in language but differ in territory. FcLangDifferentLang means the 207ca08ab68Smrg objects differ in language. 2082c393a42Smrg 209ca08ab68Smrg -------------------------------------------------------------------------- 2102c393a42Smrg 211ca08ab68Smrg FcType 2122c393a42Smrg 213ca08ab68Smrg Tags the kind of data stored in an FcValue. 214a6844aabSmrg 215ca08ab68Smrg -------------------------------------------------------------------------- 216a6844aabSmrg 217ca08ab68Smrg FcValue 218a6844aabSmrg 219ca08ab68Smrg An FcValue object holds a single value with one of a number of different 220ca08ab68Smrg types. The 'type' tag indicates which member is valid. 2212c393a42Smrg 222ca08ab68Smrg typedef struct _FcValue { 223ca08ab68Smrg FcType type; 224ca08ab68Smrg union { 225ca08ab68Smrg const FcChar8 *s; 226ca08ab68Smrg int i; 227ca08ab68Smrg FcBool b; 228ca08ab68Smrg double d; 229ca08ab68Smrg const FcMatrix *m; 230ca08ab68Smrg const FcCharSet *c; 231ca08ab68Smrg void *f; 232ca08ab68Smrg const FcLangSet *l; 233ca08ab68Smrg } u; 234ca08ab68Smrg } FcValue; 2352c393a42Smrg 236a6844aabSmrg 237ca08ab68Smrg FcValue Members 2382c393a42Smrg 239ca08ab68Smrg Type Union member Datatype 240ca08ab68Smrg -------------------------------- 241ca08ab68Smrg FcTypeVoid (none) (none) 242ca08ab68Smrg FcTypeInteger i int 243ca08ab68Smrg FcTypeDouble d double 244ca08ab68Smrg FcTypeString s FcChar8 * 245ca08ab68Smrg FcTypeBool b b 246ca08ab68Smrg FcTypeMatrix m FcMatrix * 247ca08ab68Smrg FcTypeCharSet c FcCharSet * 248ca08ab68Smrg FcTypeFTFace f void * (FT_Face) 249ca08ab68Smrg FcTypeLangSet l FcLangSet * 2502c393a42Smrg 2512c393a42Smrg 252ca08ab68Smrg -------------------------------------------------------------------------- 253a6844aabSmrg 254ca08ab68Smrg FcPattern 2552c393a42Smrg 256ca08ab68Smrg holds a set of names with associated value lists; each name refers to a 257ca08ab68Smrg property of a font. FcPatterns are used as inputs to the matching code as 258ca08ab68Smrg well as holding information about specific fonts. Each property can hold 259ca08ab68Smrg one or more values; conventionally all of the same type, although the 260ca08ab68Smrg interface doesn't demand that. 261a6844aabSmrg 262ca08ab68Smrg -------------------------------------------------------------------------- 263a6844aabSmrg 264ca08ab68Smrg FcFontSet 2652c393a42Smrg 266ca08ab68Smrg typedef struct _FcFontSet { 267ca08ab68Smrg int nfont; 268ca08ab68Smrg int sfont; 269ca08ab68Smrg FcPattern **fonts; 270ca08ab68Smrg } FcFontSet; 2712c393a42Smrg 2722c393a42Smrg 273ca08ab68Smrg An FcFontSet contains a list of FcPatterns. Internally fontconfig uses 274ca08ab68Smrg this data structure to hold sets of fonts. Externally, fontconfig returns 275ca08ab68Smrg the results of listing fonts in this format. 'nfont' holds the number of 276ca08ab68Smrg patterns in the 'fonts' array; 'sfont' is used to indicate the size of 277ca08ab68Smrg that array. 278a6844aabSmrg 279ca08ab68Smrg -------------------------------------------------------------------------- 2802c393a42Smrg 281ca08ab68Smrg FcStrSet, FcStrList 2822c393a42Smrg 283ca08ab68Smrg FcStrSet holds a list of strings that can be appended to and enumerated. 284ca08ab68Smrg Its unique characteristic is that the enumeration works even while strings 285ca08ab68Smrg are appended during enumeration. FcStrList is used during enumeration to 286ca08ab68Smrg safely and correctly walk the list of strings even while that list is 287ca08ab68Smrg edited in the middle of enumeration. 288a6844aabSmrg 289ca08ab68Smrg -------------------------------------------------------------------------- 290a6844aabSmrg 291ca08ab68Smrg FcObjectSet 2922c393a42Smrg 293ca08ab68Smrg typedef struct _FcObjectSet { 294ca08ab68Smrg int nobject; 295ca08ab68Smrg int sobject; 296ca08ab68Smrg const char **objects; 297ca08ab68Smrg } FcObjectSet; 2982c393a42Smrg 2992c393a42Smrg 300ca08ab68Smrg holds a set of names and is used to specify which fields from fonts are 301ca08ab68Smrg placed in the the list of returned patterns when listing fonts. 302a6844aabSmrg 303ca08ab68Smrg -------------------------------------------------------------------------- 304a6844aabSmrg 305ca08ab68Smrg FcObjectType 3062c393a42Smrg 307ca08ab68Smrg typedef struct _FcObjectType { 308ca08ab68Smrg const char *object; 309ca08ab68Smrg FcType type; 310ca08ab68Smrg } FcObjectType; 3112c393a42Smrg 3122c393a42Smrg 313ca08ab68Smrg marks the type of a pattern element generated when parsing font names. 314ca08ab68Smrg Applications can add new object types so that font names may contain the 315ca08ab68Smrg new elements. 316a6844aabSmrg 317ca08ab68Smrg -------------------------------------------------------------------------- 318a6844aabSmrg 319ca08ab68Smrg FcConstant 3202c393a42Smrg 321ca08ab68Smrg typedef struct _FcConstant { 322ca08ab68Smrg const FcChar8 *name; 323ca08ab68Smrg const char *object; 324ca08ab68Smrg int value; 325ca08ab68Smrg } FcConstant; 3262c393a42Smrg 3272c393a42Smrg 328ca08ab68Smrg Provides for symbolic constants for new pattern elements. When 'name' is 329ca08ab68Smrg seen in a font name, an 'object' element is created with value 'value'. 330a6844aabSmrg 331ca08ab68Smrg -------------------------------------------------------------------------- 332a6844aabSmrg 333ca08ab68Smrg FcBlanks 334a6844aabSmrg 335ca08ab68Smrg holds a list of Unicode chars which are expected to be blank; unexpectedly 336ca08ab68Smrg blank chars are assumed to be invalid and are elided from the charset 337ca08ab68Smrg associated with the font. 3382c393a42Smrg 339ca08ab68Smrg -------------------------------------------------------------------------- 3402c393a42Smrg 341ca08ab68Smrg FcFileCache 3422c393a42Smrg 343ca08ab68Smrg holds the per-user cache information for use while loading the font 344ca08ab68Smrg database. This is built automatically for the current configuration when 345ca08ab68Smrg that is loaded. Applications must always pass '0' when one is requested. 3462c393a42Smrg 347ca08ab68Smrg -------------------------------------------------------------------------- 3482c393a42Smrg 349ca08ab68Smrg FcConfig 3502c393a42Smrg 351ca08ab68Smrg holds a complete configuration of the library; there is one default 352ca08ab68Smrg configuration, other can be constructed from XML data structures. All 353ca08ab68Smrg public entry points that need global data can take an optional FcConfig* 354ca08ab68Smrg argument; passing 0 uses the default configuration. FcConfig objects hold 355ca08ab68Smrg two sets of fonts, the first contains those specified by the 356ca08ab68Smrg configuration, the second set holds those added by the application at 357ca08ab68Smrg run-time. Interfaces that need to reference a particular set use one of 358ca08ab68Smrg the FcSetName enumerated values. 3592c393a42Smrg 360ca08ab68Smrg -------------------------------------------------------------------------- 3612c393a42Smrg 362ca08ab68Smrg FcSetName 363a6844aabSmrg 364ca08ab68Smrg Specifies one of the two sets of fonts available in a configuration; 365ca08ab68Smrg FcSetSystem for those fonts specified in the configuration and 366ca08ab68Smrg FcSetApplication which holds fonts provided by the application. 367a6844aabSmrg 368ca08ab68Smrg -------------------------------------------------------------------------- 369a6844aabSmrg 370ca08ab68Smrg FcResult 371a6844aabSmrg 372ca08ab68Smrg Used as a return type for functions manipulating FcPattern objects. 3732c393a42Smrg 374ca08ab68Smrg FcResult Values 375ca08ab68Smrg Result Code Meaning 376ca08ab68Smrg ----------------------------------------------------------- 377ca08ab68Smrg FcResultMatch Object exists with the specified ID 378ca08ab68Smrg FcResultNoMatch Object doesn't exist at all 379ca08ab68Smrg FcResultTypeMismatch Object exists, but the type doesn't match 380ca08ab68Smrg FcResultNoId Object exists, but has fewer values 381ca08ab68Smrg than specified 382ca08ab68Smrg FcResultOutOfMemory malloc failed 3832c393a42Smrg 3842c393a42Smrg 385ca08ab68Smrg -------------------------------------------------------------------------- 386a6844aabSmrg 387ca08ab68Smrg FcAtomic 388a6844aabSmrg 389ca08ab68Smrg Used for locking access to configuration files. Provides a safe way to 390ca08ab68Smrg update configuration files. 3912c393a42Smrg 392ca08ab68Smrg -------------------------------------------------------------------------- 3932c393a42Smrg 394ca08ab68Smrg FcCache 3952c393a42Smrg 396ca08ab68Smrg Holds information about the fonts contained in a single directory. Normal 397ca08ab68Smrg applications need not worry about this as caches for font access are 398ca08ab68Smrg automatically managed by the library. Applications dealing with cache 399ca08ab68Smrg management may want to use some of these objects in their work, however 400ca08ab68Smrg the included 'fc-cache' program generally suffices for all of that. 4012c393a42Smrg 402ca08ab68Smrg -------------------------------------------------------------------------- 4032c393a42Smrg 404a6844aabSmrgFUNCTIONS 4052c393a42Smrg 406ca08ab68Smrg These are grouped by functionality, often using the main data type being 407ca08ab68Smrg manipulated. 408ca08ab68Smrg 409ca08ab68Smrg -------------------------------------------------------------------------- 4102c393a42Smrg 411ca08ab68Smrg Initialization 412a6844aabSmrg 413ca08ab68Smrg Table of Contents 414a6844aabSmrg 415ca08ab68Smrg [5]FcInitLoadConfig -- load configuration 416a6844aabSmrg 417ca08ab68Smrg [6]FcInitLoadConfigAndFonts -- load configuration and font data 4182c393a42Smrg 419ca08ab68Smrg [7]FcInit -- initialize fontconfig library 420ca08ab68Smrg 421ca08ab68Smrg [8]FcFini -- finalize fontconfig library 422ca08ab68Smrg 423ca08ab68Smrg [9]FcGetVersion -- library version number 424ca08ab68Smrg 425ca08ab68Smrg [10]FcInitReinitialize -- re-initialize library 426ca08ab68Smrg 427ca08ab68Smrg [11]FcInitBringUptoDate -- reload configuration files if needed 428ca08ab68Smrg 429ca08ab68Smrg These functions provide some control over how the library is initialized. 430ca08ab68Smrg 431ca08ab68Smrg FcInitLoadConfig 4322c393a42Smrg 4332c393a42SmrgName 4342c393a42Smrg 435ca08ab68Smrg FcInitLoadConfig -- load configuration 4362c393a42Smrg 4372c393a42SmrgSynopsis 4382c393a42Smrg 439ca08ab68Smrg #include <fontconfig.h> 4402c393a42Smrg 441a6844aabSmrg 442ca08ab68Smrg FcConfig * FcInitLoadConfig(void); 4432c393a42Smrg 4442c393a42SmrgDescription 4452c393a42Smrg 446ca08ab68Smrg Loads the default configuration file and returns the resulting 447ca08ab68Smrg configuration. Does not load any font information. 4482c393a42Smrg 4492c393a42SmrgVersion 4502c393a42Smrg 451ca08ab68Smrg Fontconfig version 2.10.2 4522c393a42Smrg 453ca08ab68Smrg FcInitLoadConfigAndFonts 4542c393a42Smrg 4552c393a42SmrgName 4562c393a42Smrg 457ca08ab68Smrg FcInitLoadConfigAndFonts -- load configuration and font data 4582c393a42Smrg 4592c393a42SmrgSynopsis 4602c393a42Smrg 461ca08ab68Smrg #include <fontconfig.h> 4622c393a42Smrg 463a6844aabSmrg 464ca08ab68Smrg FcConfig * FcInitLoadConfigAndFonts(void); 4652c393a42Smrg 4662c393a42SmrgDescription 4672c393a42Smrg 468ca08ab68Smrg Loads the default configuration file and builds information about the 469ca08ab68Smrg available fonts. Returns the resulting configuration. 4702c393a42Smrg 4712c393a42SmrgVersion 4722c393a42Smrg 473ca08ab68Smrg Fontconfig version 2.10.2 4742c393a42Smrg 475ca08ab68Smrg FcInit 4762c393a42Smrg 4772c393a42SmrgName 4782c393a42Smrg 479ca08ab68Smrg FcInit -- initialize fontconfig library 4802c393a42Smrg 4812c393a42SmrgSynopsis 4822c393a42Smrg 483ca08ab68Smrg #include <fontconfig.h> 4842c393a42Smrg 485a6844aabSmrg 486ca08ab68Smrg FcBool FcInit(void); 4872c393a42Smrg 4882c393a42SmrgDescription 4892c393a42Smrg 490ca08ab68Smrg Loads the default configuration file and the fonts referenced therein and 491ca08ab68Smrg sets the default configuration to that result. Returns whether this 492ca08ab68Smrg process succeeded or not. If the default configuration has already been 493ca08ab68Smrg loaded, this routine does nothing and returns FcTrue. 4942c393a42Smrg 4952c393a42SmrgVersion 4962c393a42Smrg 497ca08ab68Smrg Fontconfig version 2.10.2 4982c393a42Smrg 499ca08ab68Smrg FcFini 5002c393a42Smrg 5012c393a42SmrgName 5022c393a42Smrg 503ca08ab68Smrg FcFini -- finalize fontconfig library 5042c393a42Smrg 5052c393a42SmrgSynopsis 5062c393a42Smrg 507ca08ab68Smrg #include <fontconfig.h> 5082c393a42Smrg 509a6844aabSmrg 510ca08ab68Smrg void FcFini(void); 5112c393a42Smrg 5122c393a42SmrgDescription 5132c393a42Smrg 514ca08ab68Smrg Frees all data structures allocated by previous calls to fontconfig 515ca08ab68Smrg functions. Fontconfig returns to an uninitialized state, requiring a new 516ca08ab68Smrg call to one of the FcInit functions before any other fontconfig function 517ca08ab68Smrg may be called. 5182c393a42Smrg 5192c393a42SmrgVersion 5202c393a42Smrg 521ca08ab68Smrg Fontconfig version 2.10.2 5222c393a42Smrg 523ca08ab68Smrg FcGetVersion 5242c393a42Smrg 5252c393a42SmrgName 5262c393a42Smrg 527ca08ab68Smrg FcGetVersion -- library version number 5282c393a42Smrg 5292c393a42SmrgSynopsis 5302c393a42Smrg 531ca08ab68Smrg #include <fontconfig.h> 5322c393a42Smrg 533a6844aabSmrg 534ca08ab68Smrg int FcGetVersion(void); 5352c393a42Smrg 5362c393a42SmrgDescription 5372c393a42Smrg 538ca08ab68Smrg Returns the version number of the library. 5392c393a42Smrg 5402c393a42SmrgVersion 5412c393a42Smrg 542ca08ab68Smrg Fontconfig version 2.10.2 5432c393a42Smrg 544ca08ab68Smrg FcInitReinitialize 5452c393a42Smrg 5462c393a42SmrgName 5472c393a42Smrg 548ca08ab68Smrg FcInitReinitialize -- re-initialize library 5492c393a42Smrg 5502c393a42SmrgSynopsis 5512c393a42Smrg 552ca08ab68Smrg #include <fontconfig.h> 5532c393a42Smrg 554a6844aabSmrg 555ca08ab68Smrg FcBool FcInitReinitialize(void); 5562c393a42Smrg 5572c393a42SmrgDescription 5582c393a42Smrg 559ca08ab68Smrg Forces the default configuration file to be reloaded and resets the 560ca08ab68Smrg default configuration. Returns FcFalse if the configuration cannot be 561ca08ab68Smrg reloaded (due to configuration file errors, allocation failures or other 562ca08ab68Smrg issues) and leaves the existing configuration unchanged. Otherwise returns 563ca08ab68Smrg FcTrue. 5642c393a42Smrg 5652c393a42SmrgVersion 5662c393a42Smrg 567ca08ab68Smrg Fontconfig version 2.10.2 5682c393a42Smrg 569ca08ab68Smrg FcInitBringUptoDate 5702c393a42Smrg 5712c393a42SmrgName 5722c393a42Smrg 573ca08ab68Smrg FcInitBringUptoDate -- reload configuration files if needed 5742c393a42Smrg 5752c393a42SmrgSynopsis 5762c393a42Smrg 577ca08ab68Smrg #include <fontconfig.h> 5782c393a42Smrg 579a6844aabSmrg 580ca08ab68Smrg FcBool FcInitBringUptoDate(void); 5812c393a42Smrg 5822c393a42SmrgDescription 5832c393a42Smrg 584ca08ab68Smrg Checks the rescan interval in the default configuration, checking the 585ca08ab68Smrg configuration if the interval has passed and reloading the configuration 586ca08ab68Smrg if when any changes are detected. Returns FcFalse if the configuration 587ca08ab68Smrg cannot be reloaded (see FcInitReinitialize). Otherwise returns FcTrue. 5882c393a42Smrg 5892c393a42SmrgVersion 5902c393a42Smrg 591ca08ab68Smrg Fontconfig version 2.10.2 592ca08ab68Smrg 593ca08ab68Smrg -------------------------------------------------------------------------- 594ca08ab68Smrg 595ca08ab68Smrg FcPattern 596ca08ab68Smrg 597ca08ab68Smrg Table of Contents 598ca08ab68Smrg 599ca08ab68Smrg [12]FcPatternCreate -- Create a pattern 600ca08ab68Smrg 601ca08ab68Smrg [13]FcPatternDuplicate -- Copy a pattern 602ca08ab68Smrg 603ca08ab68Smrg [14]FcPatternReference -- Increment pattern reference count 604ca08ab68Smrg 605ca08ab68Smrg [15]FcPatternDestroy -- Destroy a pattern 606ca08ab68Smrg 607ca08ab68Smrg [16]FcPatternEqual -- Compare patterns 608ca08ab68Smrg 609ca08ab68Smrg [17]FcPatternEqualSubset -- Compare portions of patterns 610ca08ab68Smrg 611ca08ab68Smrg [18]FcPatternFilter -- Filter the objects of pattern 612ca08ab68Smrg 613ca08ab68Smrg [19]FcPatternHash -- Compute a pattern hash value 614ca08ab68Smrg 615ca08ab68Smrg [20]FcPatternAdd -- Add a value to a pattern 616ca08ab68Smrg 617ca08ab68Smrg [21]FcPatternAddWeak -- Add a value to a pattern with weak binding 618ca08ab68Smrg 619ca08ab68Smrg [22]FcPatternAdd-Type -- Add a typed value to a pattern 620ca08ab68Smrg 621ca08ab68Smrg [23]FcPatternGet -- Return a value from a pattern 622ca08ab68Smrg 623ca08ab68Smrg [24]FcPatternGet-Type -- Return a typed value from a pattern 624ca08ab68Smrg 625ca08ab68Smrg [25]FcPatternBuild -- Create patterns from arguments 626ca08ab68Smrg 627ca08ab68Smrg [26]FcPatternDel -- Delete a property from a pattern 628ca08ab68Smrg 629ca08ab68Smrg [27]FcPatternRemove -- Remove one object of the specified type from the 630ca08ab68Smrg pattern 631ca08ab68Smrg 632ca08ab68Smrg [28]FcPatternPrint -- Print a pattern for debugging 633ca08ab68Smrg 634ca08ab68Smrg [29]FcDefaultSubstitute -- Perform default substitutions in a pattern 6352c393a42Smrg 636ca08ab68Smrg [30]FcNameParse -- Parse a pattern string 6372c393a42Smrg 638ca08ab68Smrg [31]FcNameUnparse -- Convert a pattern back into a string that can be 639ca08ab68Smrg parsed 6402c393a42Smrg 641ca08ab68Smrg [32]FcPatternFormat -- Format a pattern into a string according to a 642ca08ab68Smrg format specifier 6432c393a42Smrg 644ca08ab68Smrg An FcPattern is an opaque type that holds both patterns to match against 645ca08ab68Smrg the available fonts, as well as the information about each font. 6462c393a42Smrg 647ca08ab68Smrg FcPatternCreate 6482c393a42Smrg 6492c393a42SmrgName 6502c393a42Smrg 651ca08ab68Smrg FcPatternCreate -- Create a pattern 6522c393a42Smrg 6532c393a42SmrgSynopsis 6542c393a42Smrg 655ca08ab68Smrg #include <fontconfig.h> 6562c393a42Smrg 657a6844aabSmrg 658ca08ab68Smrg FcPattern * FcPatternCreate(void); 6592c393a42Smrg 6602c393a42SmrgDescription 6612c393a42Smrg 662ca08ab68Smrg Creates a pattern with no properties; used to build patterns from scratch. 6632c393a42Smrg 6642c393a42SmrgVersion 6652c393a42Smrg 666ca08ab68Smrg Fontconfig version 2.10.2 6672c393a42Smrg 668ca08ab68Smrg FcPatternDuplicate 6692c393a42Smrg 6702c393a42SmrgName 6712c393a42Smrg 672ca08ab68Smrg FcPatternDuplicate -- Copy a pattern 6732c393a42Smrg 6742c393a42SmrgSynopsis 6752c393a42Smrg 676ca08ab68Smrg #include <fontconfig.h> 6772c393a42Smrg 678a6844aabSmrg 679ca08ab68Smrg FcPattern * FcPatternDuplicate(const FcPattern *p); 6802c393a42Smrg 6812c393a42SmrgDescription 6822c393a42Smrg 683ca08ab68Smrg Copy a pattern, returning a new pattern that matches p. Each pattern may 684ca08ab68Smrg be modified without affecting the other. 6852c393a42Smrg 6862c393a42SmrgVersion 6872c393a42Smrg 688ca08ab68Smrg Fontconfig version 2.10.2 6892c393a42Smrg 690ca08ab68Smrg FcPatternReference 6912c393a42Smrg 6922c393a42SmrgName 6932c393a42Smrg 694ca08ab68Smrg FcPatternReference -- Increment pattern reference count 6952c393a42Smrg 6962c393a42SmrgSynopsis 6972c393a42Smrg 698ca08ab68Smrg #include <fontconfig.h> 6992c393a42Smrg 700a6844aabSmrg 701ca08ab68Smrg void FcPatternReference(FcPattern *p); 7022c393a42Smrg 7032c393a42SmrgDescription 7042c393a42Smrg 705ca08ab68Smrg Add another reference to p. Patterns are freed only when the reference 706ca08ab68Smrg count reaches zero. 7072c393a42Smrg 7082c393a42SmrgVersion 7092c393a42Smrg 710ca08ab68Smrg Fontconfig version 2.10.2 7112c393a42Smrg 712ca08ab68Smrg FcPatternDestroy 7132c393a42Smrg 7142c393a42SmrgName 7152c393a42Smrg 716ca08ab68Smrg FcPatternDestroy -- Destroy a pattern 7172c393a42Smrg 7182c393a42SmrgSynopsis 7192c393a42Smrg 720ca08ab68Smrg #include <fontconfig.h> 7212c393a42Smrg 722a6844aabSmrg 723ca08ab68Smrg void FcPatternDestroy(FcPattern *p); 7242c393a42Smrg 7252c393a42SmrgDescription 7262c393a42Smrg 727ca08ab68Smrg Decrement the pattern reference count. If all references are gone, 728ca08ab68Smrg destroys the pattern, in the process destroying all related values. 7292c393a42Smrg 7302c393a42SmrgVersion 7312c393a42Smrg 732ca08ab68Smrg Fontconfig version 2.10.2 7332c393a42Smrg 734ca08ab68Smrg FcPatternEqual 7352c393a42Smrg 7362c393a42SmrgName 7372c393a42Smrg 738ca08ab68Smrg FcPatternEqual -- Compare patterns 7392c393a42Smrg 7402c393a42SmrgSynopsis 7412c393a42Smrg 742ca08ab68Smrg #include <fontconfig.h> 7432c393a42Smrg 744a6844aabSmrg 745ca08ab68Smrg FcBool FcPatternEqual(const FcPattern *pa, const FcPattern *pb); 7462c393a42Smrg 7472c393a42SmrgDescription 7482c393a42Smrg 749ca08ab68Smrg Returns whether pa and pb are exactly alike. 7502c393a42Smrg 7512c393a42SmrgVersion 7522c393a42Smrg 753ca08ab68Smrg Fontconfig version 2.10.2 7542c393a42Smrg 755ca08ab68Smrg FcPatternEqualSubset 7562c393a42Smrg 7572c393a42SmrgName 7582c393a42Smrg 759ca08ab68Smrg FcPatternEqualSubset -- Compare portions of patterns 7602c393a42Smrg 7612c393a42SmrgSynopsis 7622c393a42Smrg 763ca08ab68Smrg #include <fontconfig.h> 7642c393a42Smrg 765a6844aabSmrg 766ca08ab68Smrg FcBool FcPatternEqualSubset(const FcPattern *pa, const FcPattern *pb, 767ca08ab68Smrg const FcObjectSet *os); 7682c393a42Smrg 7692c393a42SmrgDescription 7702c393a42Smrg 771ca08ab68Smrg Returns whether pa and pb have exactly the same values for all of the 772ca08ab68Smrg objects in os. 7732c393a42Smrg 7742c393a42SmrgVersion 7752c393a42Smrg 776ca08ab68Smrg Fontconfig version 2.10.2 777a6844aabSmrg 778ca08ab68Smrg FcPatternFilter 779a6844aabSmrg 780a6844aabSmrgName 781a6844aabSmrg 782ca08ab68Smrg FcPatternFilter -- Filter the objects of pattern 783a6844aabSmrg 784a6844aabSmrgSynopsis 785a6844aabSmrg 786ca08ab68Smrg #include <fontconfig.h> 787a6844aabSmrg 788a6844aabSmrg 789ca08ab68Smrg FcPattern * FcPatternFilter(FcPattern *p, const FcObjectSet *); 790a6844aabSmrg 791a6844aabSmrgDescription 792a6844aabSmrg 793ca08ab68Smrg Returns a new pattern that only has those objects from p that are in os. 794ca08ab68Smrg If os is NULL, a duplicate of p is returned. 795a6844aabSmrg 796a6844aabSmrgVersion 797a6844aabSmrg 798ca08ab68Smrg Fontconfig version 2.10.2 7992c393a42Smrg 800ca08ab68Smrg FcPatternHash 8012c393a42Smrg 8022c393a42SmrgName 8032c393a42Smrg 804ca08ab68Smrg FcPatternHash -- Compute a pattern hash value 8052c393a42Smrg 8062c393a42SmrgSynopsis 8072c393a42Smrg 808ca08ab68Smrg #include <fontconfig.h> 8092c393a42Smrg 810a6844aabSmrg 811ca08ab68Smrg FcChar32 FcPatternHash(const FcPattern *p); 8122c393a42Smrg 8132c393a42SmrgDescription 8142c393a42Smrg 815ca08ab68Smrg Returns a 32-bit number which is the same for any two patterns which are 816ca08ab68Smrg equal. 8172c393a42Smrg 8182c393a42SmrgVersion 8192c393a42Smrg 820ca08ab68Smrg Fontconfig version 2.10.2 8212c393a42Smrg 822ca08ab68Smrg FcPatternAdd 8232c393a42Smrg 8242c393a42SmrgName 8252c393a42Smrg 826ca08ab68Smrg FcPatternAdd -- Add a value to a pattern 8272c393a42Smrg 8282c393a42SmrgSynopsis 8292c393a42Smrg 830ca08ab68Smrg #include <fontconfig.h> 8312c393a42Smrg 832a6844aabSmrg 833ca08ab68Smrg FcBool FcPatternAdd(FcPattern *p, const char *object, FcValue value, 834ca08ab68Smrg FcBool append); 8352c393a42Smrg 8362c393a42SmrgDescription 8372c393a42Smrg 838ca08ab68Smrg Adds a single value to the list of values associated with the property 839ca08ab68Smrg named `object. If `append is FcTrue, the value is added at the end of any 840ca08ab68Smrg existing list, otherwise it is inserted at the beginning. `value' is saved 841ca08ab68Smrg (with FcValueSave) when inserted into the pattern so that the library 842ca08ab68Smrg retains no reference to any application-supplied data structure. 8432c393a42Smrg 8442c393a42SmrgVersion 8452c393a42Smrg 846ca08ab68Smrg Fontconfig version 2.10.2 8472c393a42Smrg 848ca08ab68Smrg FcPatternAddWeak 8492c393a42Smrg 8502c393a42SmrgName 8512c393a42Smrg 852ca08ab68Smrg FcPatternAddWeak -- Add a value to a pattern with weak binding 8532c393a42Smrg 8542c393a42SmrgSynopsis 8552c393a42Smrg 856ca08ab68Smrg #include <fontconfig.h> 8572c393a42Smrg 858a6844aabSmrg 859ca08ab68Smrg FcBool FcPatternAddWeak(FcPattern *p, const char *object, FcValue value, 860ca08ab68Smrg FcBool append); 8612c393a42Smrg 8622c393a42SmrgDescription 8632c393a42Smrg 864ca08ab68Smrg FcPatternAddWeak is essentially the same as FcPatternAdd except that any 865ca08ab68Smrg values added to the list have binding weak instead of strong. 8662c393a42Smrg 8672c393a42SmrgVersion 8682c393a42Smrg 869ca08ab68Smrg Fontconfig version 2.10.2 8702c393a42Smrg 871ca08ab68Smrg FcPatternAdd-Type 8722c393a42Smrg 8732c393a42SmrgName 8742c393a42Smrg 875ca08ab68Smrg FcPatternAddInteger, FcPatternAddDouble, FcPatternAddString, 876ca08ab68Smrg FcPatternAddMatrix, FcPatternAddCharSet, FcPatternAddBool, 877ca08ab68Smrg FcPatternAddFTFace, FcPatternAddLangSet -- Add a typed value to a pattern 8782c393a42Smrg 8792c393a42SmrgSynopsis 8802c393a42Smrg 881ca08ab68Smrg #include <fontconfig.h> 8822c393a42Smrg 8832c393a42Smrg 884ca08ab68Smrg FcBool FcPatternAddInteger(FcPattern *p, const char *object, int i); 885a6844aabSmrg 886ca08ab68Smrg FcBool FcPatternAddDouble(FcPattern *p, const char *object, double d); 8872c393a42Smrg 888ca08ab68Smrg FcBool FcPatternAddString(FcPattern *p, const char *object, const FcChar8 889ca08ab68Smrg *s); 8902c393a42Smrg 891ca08ab68Smrg FcBool FcPatternAddMatrix(FcPattern *p, const char *object, const FcMatrix 892ca08ab68Smrg *m); 8932c393a42Smrg 894ca08ab68Smrg FcBool FcPatternAddCharSet(FcPattern *p, const char *object, const 895ca08ab68Smrg FcCharSet *c); 8962c393a42Smrg 897ca08ab68Smrg FcBool FcPatternAddBool(FcPattern *p, const char *object, FcBool b); 8982c393a42Smrg 899ca08ab68Smrg FcBool FcPatternAddFTFace(FcPattern *p, const char *object, const 900ca08ab68Smrg FT_Facef); 9012c393a42Smrg 902ca08ab68Smrg FcBool FcPatternAddLangSet(FcPattern *p, const char *object, const 903ca08ab68Smrg FcLangSet *l); 9042c393a42Smrg 9052c393a42SmrgDescription 9062c393a42Smrg 907ca08ab68Smrg These are all convenience functions that insert objects of the specified 908ca08ab68Smrg type into the pattern. Use these in preference to FcPatternAdd as they 909ca08ab68Smrg will provide compile-time typechecking. These all append values to any 910ca08ab68Smrg existing list of values. 9112c393a42Smrg 9122c393a42SmrgVersion 9132c393a42Smrg 914ca08ab68Smrg Fontconfig version 2.10.2 9152c393a42Smrg 916ca08ab68Smrg FcPatternGet 9172c393a42Smrg 9182c393a42SmrgName 9192c393a42Smrg 920ca08ab68Smrg FcPatternGet -- Return a value from a pattern 9212c393a42Smrg 9222c393a42SmrgSynopsis 9232c393a42Smrg 924ca08ab68Smrg #include <fontconfig.h> 9252c393a42Smrg 926a6844aabSmrg 927ca08ab68Smrg FcResult FcPatternGet(FcPattern *p, const char *object, int id, FcValue 928ca08ab68Smrg *v); 9292c393a42Smrg 9302c393a42SmrgDescription 9312c393a42Smrg 932ca08ab68Smrg Returns in v the id'th value associated with the property object. The 933ca08ab68Smrg value returned is not a copy, but rather refers to the data stored within 934ca08ab68Smrg the pattern directly. Applications must not free this value. 9352c393a42Smrg 9362c393a42SmrgVersion 9372c393a42Smrg 938ca08ab68Smrg Fontconfig version 2.10.2 9392c393a42Smrg 940ca08ab68Smrg FcPatternGet-Type 9412c393a42Smrg 9422c393a42SmrgName 9432c393a42Smrg 944ca08ab68Smrg FcPatternGetInteger, FcPatternGetDouble, FcPatternGetString, 945ca08ab68Smrg FcPatternGetMatrix, FcPatternGetCharSet, FcPatternGetBool, 946ca08ab68Smrg FcPatternGetFTFace, FcPatternGetLangSet -- Return a typed value from a 947ca08ab68Smrg pattern 9482c393a42Smrg 9492c393a42SmrgSynopsis 9502c393a42Smrg 951ca08ab68Smrg #include <fontconfig.h> 9522c393a42Smrg 9532c393a42Smrg 954ca08ab68Smrg FcResult FcPatternGetInteger(FcPattern *p, const char *object, int n, int 955ca08ab68Smrg *i); 956a6844aabSmrg 957ca08ab68Smrg FcResult FcPatternGetDouble(FcPattern *p, const char *object, int n, 958ca08ab68Smrg double *d); 9592c393a42Smrg 960ca08ab68Smrg FcResult FcPatternGetString(FcPattern *p, const char *object, int n, 961ca08ab68Smrg FcChar8 **s); 9622c393a42Smrg 963ca08ab68Smrg FcResult FcPatternGetMatrix(FcPattern *p, const char *object, int n, 964ca08ab68Smrg FcMatrix **s); 9652c393a42Smrg 966ca08ab68Smrg FcResult FcPatternGetCharSet(FcPattern *p, const char *object, int n, 967ca08ab68Smrg FcCharSet **c); 9682c393a42Smrg 969ca08ab68Smrg FcResult FcPatternGetBool(FcPattern *p, const char *object, int n, FcBool 970ca08ab68Smrg *b); 9712c393a42Smrg 972ca08ab68Smrg FcResult FcPatternGetFTFace(FcPattern *p, const char *object, int n); 9732c393a42Smrg 974ca08ab68Smrg FcResult FcPatternGetLangSet(FcPattern *p, const char *object, FT_Face 975ca08ab68Smrg *f); 9762c393a42Smrg 9772c393a42SmrgDescription 9782c393a42Smrg 979ca08ab68Smrg These are convenience functions that call FcPatternGet and verify that the 980ca08ab68Smrg returned data is of the expected type. They return FcResultTypeMismatch if 981ca08ab68Smrg this is not the case. Note that these (like FcPatternGet) do not make a 982ca08ab68Smrg copy of any data structure referenced by the return value. Use these in 983ca08ab68Smrg preference to FcPatternGet to provide compile-time typechecking. 9842c393a42Smrg 9852c393a42SmrgVersion 9862c393a42Smrg 987ca08ab68Smrg Fontconfig version 2.10.2 9882c393a42Smrg 989ca08ab68Smrg FcPatternBuild 9902c393a42Smrg 9912c393a42SmrgName 9922c393a42Smrg 993ca08ab68Smrg FcPatternBuild, FcPatternVaBuild, FcPatternVapBuild -- Create patterns 994ca08ab68Smrg from arguments 9952c393a42Smrg 9962c393a42SmrgSynopsis 9972c393a42Smrg 998ca08ab68Smrg #include <fontconfig.h> 9992c393a42Smrg 10002c393a42Smrg 1001ca08ab68Smrg FcPattern * FcPatternBuild(FcPattern *pattern, ...); 10022c393a42Smrg 1003ca08ab68Smrg FcPattern * FcPatternVaBuild(FcPattern *pattern, va_list va); 1004a6844aabSmrg 1005ca08ab68Smrg void FcPatternVapBuild(FcPattern *result, FcPattern *pattern, va_list va); 10062c393a42Smrg 10072c393a42SmrgDescription 10082c393a42Smrg 1009ca08ab68Smrg Builds a pattern using a list of objects, types and values. Each value to 1010ca08ab68Smrg be entered in the pattern is specified with three arguments: 1011a6844aabSmrg 1012ca08ab68Smrg 1. Object name, a string describing the property to be added. 1013a6844aabSmrg 1014ca08ab68Smrg 2. Object type, one of the FcType enumerated values 10152c393a42Smrg 1016ca08ab68Smrg 3. Value, not an FcValue, but the raw type as passed to any of the 1017ca08ab68Smrg FcPatternAdd<type> functions. Must match the type of the second 1018ca08ab68Smrg argument. 10192c393a42Smrg 1020ca08ab68Smrg The argument list is terminated by a null object name, no object type nor 1021ca08ab68Smrg value need be passed for this. The values are added to `pattern', if 1022ca08ab68Smrg `pattern' is null, a new pattern is created. In either case, the pattern 1023ca08ab68Smrg is returned. Example 10242c393a42Smrg 1025ca08ab68Smrg pattern = FcPatternBuild (0, FC_FAMILY, FcTypeString, "Times", (char *) 0); 1026a6844aabSmrg 1027ca08ab68Smrg FcPatternVaBuild is used when the arguments are already in the form of a 1028ca08ab68Smrg varargs value. FcPatternVapBuild is a macro version of FcPatternVaBuild 1029ca08ab68Smrg which returns its result directly in the result variable. 10302c393a42Smrg 10312c393a42SmrgVersion 10322c393a42Smrg 1033ca08ab68Smrg Fontconfig version 2.10.2 10342c393a42Smrg 1035ca08ab68Smrg FcPatternDel 10362c393a42Smrg 10372c393a42SmrgName 10382c393a42Smrg 1039ca08ab68Smrg FcPatternDel -- Delete a property from a pattern 10402c393a42Smrg 10412c393a42SmrgSynopsis 10422c393a42Smrg 1043ca08ab68Smrg #include <fontconfig.h> 10442c393a42Smrg 1045a6844aabSmrg 1046ca08ab68Smrg FcBool FcPatternDel(FcPattern *p, const char *object); 10472c393a42Smrg 10482c393a42SmrgDescription 10492c393a42Smrg 1050ca08ab68Smrg Deletes all values associated with the property `object', returning 1051ca08ab68Smrg whether the property existed or not. 10522c393a42Smrg 10532c393a42SmrgVersion 10542c393a42Smrg 1055ca08ab68Smrg Fontconfig version 2.10.2 10562c393a42Smrg 1057ca08ab68Smrg FcPatternRemove 10582c393a42Smrg 10592c393a42SmrgName 10602c393a42Smrg 1061ca08ab68Smrg FcPatternRemove -- Remove one object of the specified type from the 1062ca08ab68Smrg pattern 10632c393a42Smrg 10642c393a42SmrgSynopsis 10652c393a42Smrg 1066ca08ab68Smrg #include <fontconfig.h> 10672c393a42Smrg 1068a6844aabSmrg 1069ca08ab68Smrg FcBool FcPatternRemove(FcPattern *p, const char *object, int id); 10702c393a42Smrg 10712c393a42SmrgDescription 10722c393a42Smrg 1073ca08ab68Smrg Removes the value associated with the property `object' at position `id', 1074ca08ab68Smrg returning whether the property existed and had a value at that position or 1075ca08ab68Smrg not. 10762c393a42Smrg 10772c393a42SmrgVersion 10782c393a42Smrg 1079ca08ab68Smrg Fontconfig version 2.10.2 10802c393a42Smrg 1081ca08ab68Smrg FcPatternPrint 10822c393a42Smrg 10832c393a42SmrgName 10842c393a42Smrg 1085ca08ab68Smrg FcPatternPrint -- Print a pattern for debugging 10862c393a42Smrg 10872c393a42SmrgSynopsis 10882c393a42Smrg 1089ca08ab68Smrg #include <fontconfig.h> 10902c393a42Smrg 1091a6844aabSmrg 1092ca08ab68Smrg void FcPatternPrint(const FcPattern *p); 10932c393a42Smrg 10942c393a42SmrgDescription 10952c393a42Smrg 1096ca08ab68Smrg Prints an easily readable version of the pattern to stdout. There is no 1097ca08ab68Smrg provision for reparsing data in this format, it's just for diagnostics and 1098ca08ab68Smrg debugging. 10992c393a42Smrg 11002c393a42SmrgVersion 11012c393a42Smrg 1102ca08ab68Smrg Fontconfig version 2.10.2 11032c393a42Smrg 1104ca08ab68Smrg FcDefaultSubstitute 11052c393a42Smrg 11062c393a42SmrgName 11072c393a42Smrg 1108ca08ab68Smrg FcDefaultSubstitute -- Perform default substitutions in a pattern 11092c393a42Smrg 11102c393a42SmrgSynopsis 11112c393a42Smrg 1112ca08ab68Smrg #include <fontconfig.h> 11132c393a42Smrg 1114a6844aabSmrg 1115ca08ab68Smrg void FcDefaultSubstitute(FcPattern *pattern); 11162c393a42Smrg 11172c393a42SmrgDescription 11182c393a42Smrg 1119ca08ab68Smrg Supplies default values for underspecified font patterns: 1120a6844aabSmrg 1121ca08ab68Smrg * Patterns without a specified style or weight are set to Medium 11222c393a42Smrg 1123ca08ab68Smrg * Patterns without a specified style or slant are set to Roman 1124a6844aabSmrg 1125ca08ab68Smrg * Patterns without a specified pixel size are given one computed from 1126ca08ab68Smrg any specified point size (default 12), dpi (default 75) and scale 1127ca08ab68Smrg (default 1). 11282c393a42Smrg 11292c393a42SmrgVersion 11302c393a42Smrg 1131ca08ab68Smrg Fontconfig version 2.10.2 11322c393a42Smrg 1133ca08ab68Smrg FcNameParse 11342c393a42Smrg 11352c393a42SmrgName 11362c393a42Smrg 1137ca08ab68Smrg FcNameParse -- Parse a pattern string 11382c393a42Smrg 11392c393a42SmrgSynopsis 11402c393a42Smrg 1141ca08ab68Smrg #include <fontconfig.h> 11422c393a42Smrg 1143a6844aabSmrg 1144ca08ab68Smrg FcPattern * FcNameParse(const FcChar8 *name); 11452c393a42Smrg 11462c393a42SmrgDescription 11472c393a42Smrg 1148ca08ab68Smrg Converts name from the standard text format described above into a 1149ca08ab68Smrg pattern. 11502c393a42Smrg 11512c393a42SmrgVersion 11522c393a42Smrg 1153ca08ab68Smrg Fontconfig version 2.10.2 11542c393a42Smrg 1155ca08ab68Smrg FcNameUnparse 11562c393a42Smrg 11572c393a42SmrgName 11582c393a42Smrg 1159ca08ab68Smrg FcNameUnparse -- Convert a pattern back into a string that can be parsed 11602c393a42Smrg 11612c393a42SmrgSynopsis 11622c393a42Smrg 1163ca08ab68Smrg #include <fontconfig.h> 11642c393a42Smrg 1165a6844aabSmrg 1166ca08ab68Smrg FcChar8 * FcNameUnparse(FcPattern *pat); 11672c393a42Smrg 11682c393a42SmrgDescription 11692c393a42Smrg 1170ca08ab68Smrg Converts the given pattern into the standard text format described above. 1171ca08ab68Smrg The return value is not static, but instead refers to newly allocated 1172ca08ab68Smrg memory which should be freed by the caller using free(). 1173a6844aabSmrg 1174a6844aabSmrgVersion 1175a6844aabSmrg 1176ca08ab68Smrg Fontconfig version 2.10.2 1177a6844aabSmrg 1178ca08ab68Smrg FcPatternFormat 1179a6844aabSmrg 1180a6844aabSmrgName 1181a6844aabSmrg 1182ca08ab68Smrg FcPatternFormat -- Format a pattern into a string according to a format 1183ca08ab68Smrg specifier 1184a6844aabSmrg 1185a6844aabSmrgSynopsis 1186a6844aabSmrg 1187ca08ab68Smrg #include <fontconfig.h> 1188a6844aabSmrg 1189a6844aabSmrg 1190ca08ab68Smrg FcChar8 * FcPatternFormat(FcPattern *pat, const FcChar8 *format); 1191a6844aabSmrg 1192a6844aabSmrgDescription 1193a6844aabSmrg 1194ca08ab68Smrg Converts given pattern pat into text described by the format specifier 1195ca08ab68Smrg format. The return value refers to newly allocated memory which should be 1196ca08ab68Smrg freed by the caller using free(), or NULL if format is invalid. 1197a6844aabSmrg 1198ca08ab68Smrg The format is loosely modeled after printf-style format string. The 1199ca08ab68Smrg format string is composed of zero or more directives: ordinary characters 1200ca08ab68Smrg (not "%"), which are copied unchanged to the output stream; and tags which 1201ca08ab68Smrg are interpreted to construct text from the pattern in a variety of ways 1202ca08ab68Smrg (explained below). Special characters can be escaped using backslash. 1203ca08ab68Smrg C-string style special characters like \n and \r are also supported (this 1204ca08ab68Smrg is useful when the format string is not a C string literal). It is 1205ca08ab68Smrg advisable to always escape curly braces that are meant to be copied to the 1206ca08ab68Smrg output as ordinary characters. 1207a6844aabSmrg 1208ca08ab68Smrg Each tag is introduced by the character "%", followed by an optional 1209ca08ab68Smrg minimum field width, followed by tag contents in curly braces ({}). If the 1210ca08ab68Smrg minimum field width value is provided the tag will be expanded and the 1211ca08ab68Smrg result padded to achieve the minimum width. If the minimum field width is 1212ca08ab68Smrg positive, the padding will right-align the text. Negative field width will 1213ca08ab68Smrg left-align. The rest of this section describes various supported tag 1214ca08ab68Smrg contents and their expansion. 1215a6844aabSmrg 1216ca08ab68Smrg A simple tag is one where the content is an identifier. When simple tags 1217ca08ab68Smrg are expanded, the named identifier will be looked up in pattern and the 1218ca08ab68Smrg resulting list of values returned, joined together using comma. For 1219ca08ab68Smrg example, to print the family name and style of the pattern, use the format 1220ca08ab68Smrg "%{family} %{style}\n". To extend the family column to forty characters 1221ca08ab68Smrg use "%-40{family}%{style}\n". 1222a6844aabSmrg 1223ca08ab68Smrg Simple tags expand to list of all values for an element. To only choose 1224ca08ab68Smrg one of the values, one can index using the syntax "%{elt[idx]}". For 1225ca08ab68Smrg example, to get the first family name only, use "%{family[0]}". 1226a6844aabSmrg 1227ca08ab68Smrg If a simple tag ends with "=" and the element is found in the pattern, 1228ca08ab68Smrg the name of the element followed by "=" will be output before the list of 1229ca08ab68Smrg values. For example, "%{weight=}" may expand to the string "weight=80". Or 1230ca08ab68Smrg to the empty string if pattern does not have weight set. 1231a6844aabSmrg 1232ca08ab68Smrg If a simple tag starts with ":" and the element is found in the pattern, 1233ca08ab68Smrg ":" will be printed first. For example, combining this with the =, the 1234ca08ab68Smrg format "%{:weight=}" may expand to ":weight=80" or to the empty string if 1235ca08ab68Smrg pattern does not have weight set. 1236a6844aabSmrg 1237ca08ab68Smrg If a simple tag contains the string ":-", the rest of the the tag 1238ca08ab68Smrg contents will be used as a default string. The default string is output if 1239ca08ab68Smrg the element is not found in the pattern. For example, the format 1240ca08ab68Smrg "%{:weight=:-123}" may expand to ":weight=80" or to the string 1241ca08ab68Smrg ":weight=123" if pattern does not have weight set. 1242a6844aabSmrg 1243ca08ab68Smrg A count tag is one that starts with the character "#" followed by an 1244ca08ab68Smrg element name, and expands to the number of values for the element in the 1245ca08ab68Smrg pattern. For example, "%{#family}" expands to the number of family names 1246ca08ab68Smrg pattern has set, which may be zero. 1247a6844aabSmrg 1248ca08ab68Smrg A sub-expression tag is one that expands a sub-expression. The tag 1249ca08ab68Smrg contents are the sub-expression to expand placed inside another set of 1250ca08ab68Smrg curly braces. Sub-expression tags are useful for aligning an entire 1251ca08ab68Smrg sub-expression, or to apply converters (explained later) to the entire 1252ca08ab68Smrg sub-expression output. For example, the format "%40{{%{family} %{style}}}" 1253ca08ab68Smrg expands the sub-expression to construct the family name followed by the 1254ca08ab68Smrg style, then takes the entire string and pads it on the left to be at least 1255ca08ab68Smrg forty characters. 1256a6844aabSmrg 1257ca08ab68Smrg A filter-out tag is one starting with the character "-" followed by a 1258ca08ab68Smrg comma-separated list of element names, followed by a sub-expression 1259ca08ab68Smrg enclosed in curly braces. The sub-expression will be expanded but with a 1260ca08ab68Smrg pattern that has the listed elements removed from it. For example, the 1261ca08ab68Smrg format "%{-size,pixelsize{sub-expr}}" will expand "sub-expr" with pattern 1262ca08ab68Smrg sans the size and pixelsize elements. 1263a6844aabSmrg 1264ca08ab68Smrg A filter-in tag is one starting with the character "+" followed by a 1265ca08ab68Smrg comma-separated list of element names, followed by a sub-expression 1266ca08ab68Smrg enclosed in curly braces. The sub-expression will be expanded but with a 1267ca08ab68Smrg pattern that only has the listed elements from the surrounding pattern. 1268ca08ab68Smrg For example, the format "%{+family,familylang{sub-expr}}" will expand 1269ca08ab68Smrg "sub-expr" with a sub-pattern consisting only the family and family lang 1270ca08ab68Smrg elements of pattern. 1271a6844aabSmrg 1272ca08ab68Smrg A conditional tag is one starting with the character "?" followed by a 1273ca08ab68Smrg comma-separated list of element conditions, followed by two sub-expression 1274ca08ab68Smrg enclosed in curly braces. An element condition can be an element name, in 1275ca08ab68Smrg which case it tests whether the element is defined in pattern, or the 1276ca08ab68Smrg character "!" followed by an element name, in which case the test is 1277ca08ab68Smrg negated. The conditional passes if all the element conditions pass. The 1278ca08ab68Smrg tag expands the first sub-expression if the conditional passes, and 1279ca08ab68Smrg expands the second sub-expression otherwise. For example, the format 1280ca08ab68Smrg "%{?size,dpi,!pixelsize{pass}{fail}}" will expand to "pass" if pattern has 1281ca08ab68Smrg size and dpi elements but no pixelsize element, and to "fail" otherwise. 1282a6844aabSmrg 1283ca08ab68Smrg An enumerate tag is one starting with the string "[]" followed by a 1284ca08ab68Smrg comma-separated list of element names, followed by a sub-expression 1285ca08ab68Smrg enclosed in curly braces. The list of values for the named elements are 1286ca08ab68Smrg walked in parallel and the sub-expression expanded each time with a 1287ca08ab68Smrg pattern just having a single value for those elements, starting from the 1288ca08ab68Smrg first value and continuing as long as any of those elements has a value. 1289ca08ab68Smrg For example, the format "%{[]family,familylang{%{family} 1290ca08ab68Smrg (%{familylang})\n}}" will expand the pattern "%{family} (%{familylang})\n" 1291ca08ab68Smrg with a pattern having only the first value of the family and familylang 1292ca08ab68Smrg elements, then expands it with the second values, then the third, etc. 1293a6844aabSmrg 1294ca08ab68Smrg As a special case, if an enumerate tag has only one element, and that 1295ca08ab68Smrg element has only one value in the pattern, and that value is of type 1296ca08ab68Smrg FcLangSet, the individual languages in the language set are enumerated. 1297a6844aabSmrg 1298ca08ab68Smrg A builtin tag is one starting with the character "=" followed by a 1299ca08ab68Smrg builtin name. The following builtins are defined: 1300a6844aabSmrg 1301ca08ab68Smrg unparse 1302a6844aabSmrg 1303ca08ab68Smrg Expands to the result of calling FcNameUnparse() on the pattern. 1304a6844aabSmrg 1305ca08ab68Smrg fcmatch 1306a6844aabSmrg 1307ca08ab68Smrg Expands to the output of the default output format of the fc-match 1308ca08ab68Smrg command on the pattern, without the final newline. 1309a6844aabSmrg 1310ca08ab68Smrg fclist 1311a6844aabSmrg 1312ca08ab68Smrg Expands to the output of the default output format of the fc-list 1313ca08ab68Smrg command on the pattern, without the final newline. 1314a6844aabSmrg 1315ca08ab68Smrg fccat 1316a6844aabSmrg 1317ca08ab68Smrg Expands to the output of the default output format of the fc-cat 1318ca08ab68Smrg command on the pattern, without the final newline. 1319a6844aabSmrg 1320ca08ab68Smrg pkgkit 1321a6844aabSmrg 1322ca08ab68Smrg Expands to the list of PackageKit font() tags for the pattern. 1323ca08ab68Smrg Currently this includes tags for each family name, and each 1324ca08ab68Smrg language from the pattern, enumerated and sanitized into a set of 1325ca08ab68Smrg tags terminated by newline. Package management systems can use 1326ca08ab68Smrg these tags to tag their packages accordingly. 1327a6844aabSmrg 1328ca08ab68Smrg For example, the format "%{+family,style{%{=unparse}}}\n" will expand to 1329ca08ab68Smrg an unparsed name containing only the family and style element values from 1330ca08ab68Smrg pattern. 1331a6844aabSmrg 1332ca08ab68Smrg The contents of any tag can be followed by a set of zero or more 1333ca08ab68Smrg converters. A converter is specified by the character "|" followed by the 1334ca08ab68Smrg converter name and arguments. The following converters are defined: 1335a6844aabSmrg 1336ca08ab68Smrg basename 1337a6844aabSmrg 1338ca08ab68Smrg Replaces text with the results of calling FcStrBasename() on it. 1339a6844aabSmrg 1340ca08ab68Smrg dirname 1341a6844aabSmrg 1342ca08ab68Smrg Replaces text with the results of calling FcStrDirname() on it. 1343a6844aabSmrg 1344ca08ab68Smrg downcase 1345a6844aabSmrg 1346ca08ab68Smrg Replaces text with the results of calling FcStrDowncase() on it. 1347a6844aabSmrg 1348ca08ab68Smrg shescape 1349a6844aabSmrg 1350ca08ab68Smrg Escapes text for one level of shell expansion. (Escapes 1351ca08ab68Smrg single-quotes, also encloses text in single-quotes.) 1352a6844aabSmrg 1353ca08ab68Smrg cescape 1354a6844aabSmrg 1355ca08ab68Smrg Escapes text such that it can be used as part of a C string 1356ca08ab68Smrg literal. (Escapes backslash and double-quotes.) 1357a6844aabSmrg 1358ca08ab68Smrg xmlescape 1359a6844aabSmrg 1360ca08ab68Smrg Escapes text such that it can be used in XML and HTML. (Escapes 1361ca08ab68Smrg less-than, greater-than, and ampersand.) 1362a6844aabSmrg 1363ca08ab68Smrg delete(chars) 1364a6844aabSmrg 1365ca08ab68Smrg Deletes all occurrences of each of the characters in chars from 1366ca08ab68Smrg the text. FIXME: This converter is not UTF-8 aware yet. 1367a6844aabSmrg 1368ca08ab68Smrg escape(chars) 1369a6844aabSmrg 1370ca08ab68Smrg Escapes all occurrences of each of the characters in chars by 1371ca08ab68Smrg prepending it by the first character in chars. FIXME: This 1372ca08ab68Smrg converter is not UTF-8 aware yet. 1373a6844aabSmrg 1374ca08ab68Smrg translate(from,to) 1375ca08ab68Smrg 1376ca08ab68Smrg Translates all occurrences of each of the characters in from by 1377ca08ab68Smrg replacing them with their corresponding character in to. If to has 1378ca08ab68Smrg fewer characters than from, it will be extended by repeating its 1379ca08ab68Smrg last character. FIXME: This converter is not UTF-8 aware yet. 1380ca08ab68Smrg 1381ca08ab68Smrg For example, the format "%{family|downcase|delete( )}\n" will expand to 1382ca08ab68Smrg the values of the family element in pattern, lower-cased and with spaces 1383ca08ab68Smrg removed. 13842c393a42Smrg 13852c393a42SmrgVersion 13862c393a42Smrg 1387ca08ab68Smrg Fontconfig version 2.10.2 1388ca08ab68Smrg 1389ca08ab68Smrg -------------------------------------------------------------------------- 1390ca08ab68Smrg 1391ca08ab68Smrg FcFontSet 1392ca08ab68Smrg 1393ca08ab68Smrg Table of Contents 1394ca08ab68Smrg 1395ca08ab68Smrg [33]FcFontSetCreate -- Create a font set 1396ca08ab68Smrg 1397ca08ab68Smrg [34]FcFontSetDestroy -- Destroy a font set 1398ca08ab68Smrg 1399ca08ab68Smrg [35]FcFontSetAdd -- Add to a font set 1400ca08ab68Smrg 1401ca08ab68Smrg [36]FcFontSetList -- List fonts from a set of font sets 1402a6844aabSmrg 1403ca08ab68Smrg [37]FcFontSetMatch -- Return the best font from a set of font sets 14042c393a42Smrg 1405ca08ab68Smrg [38]FcFontSetPrint -- Print a set of patterns to stdout 14062c393a42Smrg 1407ca08ab68Smrg [39]FcFontSetSort -- Add to a font set 14082c393a42Smrg 1409ca08ab68Smrg [40]FcFontSetSortDestroy -- DEPRECATED destroy a font set 14102c393a42Smrg 1411ca08ab68Smrg An FcFontSet simply holds a list of patterns; these are used to return the 1412ca08ab68Smrg results of listing available fonts. 1413ca08ab68Smrg 1414ca08ab68Smrg FcFontSetCreate 14152c393a42Smrg 14162c393a42SmrgName 14172c393a42Smrg 1418ca08ab68Smrg FcFontSetCreate -- Create a font set 14192c393a42Smrg 14202c393a42SmrgSynopsis 14212c393a42Smrg 1422ca08ab68Smrg #include <fontconfig.h> 14232c393a42Smrg 1424a6844aabSmrg 1425ca08ab68Smrg FcFontSet * FcFontSetCreate(void); 14262c393a42Smrg 14272c393a42SmrgDescription 14282c393a42Smrg 1429ca08ab68Smrg Creates an empty font set. 14302c393a42Smrg 14312c393a42SmrgVersion 14322c393a42Smrg 1433ca08ab68Smrg Fontconfig version 2.10.2 14342c393a42Smrg 1435ca08ab68Smrg FcFontSetDestroy 14362c393a42Smrg 14372c393a42SmrgName 14382c393a42Smrg 1439ca08ab68Smrg FcFontSetDestroy -- Destroy a font set 14402c393a42Smrg 14412c393a42SmrgSynopsis 14422c393a42Smrg 1443ca08ab68Smrg #include <fontconfig.h> 14442c393a42Smrg 1445a6844aabSmrg 1446ca08ab68Smrg void FcFontSetDestroy(FcFontSet *s); 14472c393a42Smrg 14482c393a42SmrgDescription 14492c393a42Smrg 1450ca08ab68Smrg Destroys a font set. Note that this destroys any referenced patterns as 1451ca08ab68Smrg well. 14522c393a42Smrg 14532c393a42SmrgVersion 14542c393a42Smrg 1455ca08ab68Smrg Fontconfig version 2.10.2 14562c393a42Smrg 1457ca08ab68Smrg FcFontSetAdd 14582c393a42Smrg 14592c393a42SmrgName 14602c393a42Smrg 1461ca08ab68Smrg FcFontSetAdd -- Add to a font set 14622c393a42Smrg 14632c393a42SmrgSynopsis 14642c393a42Smrg 1465ca08ab68Smrg #include <fontconfig.h> 14662c393a42Smrg 1467a6844aabSmrg 1468ca08ab68Smrg FcBool FcFontSetAdd(FcFontSet *s, FcPattern *font); 14692c393a42Smrg 14702c393a42SmrgDescription 14712c393a42Smrg 1472ca08ab68Smrg Adds a pattern to a font set. Note that the pattern is not copied before 1473ca08ab68Smrg being inserted into the set. Returns FcFalse if the pattern cannot be 1474ca08ab68Smrg inserted into the set (due to allocation failure). Otherwise returns 1475ca08ab68Smrg FcTrue. 14762c393a42Smrg 14772c393a42SmrgVersion 14782c393a42Smrg 1479ca08ab68Smrg Fontconfig version 2.10.2 14802c393a42Smrg 1481ca08ab68Smrg FcFontSetList 14822c393a42Smrg 14832c393a42SmrgName 14842c393a42Smrg 1485ca08ab68Smrg FcFontSetList -- List fonts from a set of font sets 14862c393a42Smrg 14872c393a42SmrgSynopsis 14882c393a42Smrg 1489ca08ab68Smrg #include <fontconfig.h> 14902c393a42Smrg 1491a6844aabSmrg 1492ca08ab68Smrg FcFontSet * FcFontSetList(FcConfig *config, FcFontSet **sets, intnsets, 1493ca08ab68Smrg FcPattern *pattern, FcObjectSet *object_set); 14942c393a42Smrg 14952c393a42SmrgDescription 14962c393a42Smrg 1497ca08ab68Smrg Selects fonts matching pattern from sets, creates patterns from those 1498ca08ab68Smrg fonts containing only the objects in object_set and returns the set of 1499ca08ab68Smrg unique such patterns. If config is NULL, the default configuration is 1500ca08ab68Smrg checked to be up to date, and used. 15012c393a42Smrg 15022c393a42SmrgVersion 15032c393a42Smrg 1504ca08ab68Smrg Fontconfig version 2.10.2 15052c393a42Smrg 1506ca08ab68Smrg FcFontSetMatch 15072c393a42Smrg 15082c393a42SmrgName 15092c393a42Smrg 1510ca08ab68Smrg FcFontSetMatch -- Return the best font from a set of font sets 15112c393a42Smrg 15122c393a42SmrgSynopsis 15132c393a42Smrg 1514ca08ab68Smrg #include <fontconfig.h> 15152c393a42Smrg 1516a6844aabSmrg 1517ca08ab68Smrg FcPattern * FcFontSetMatch(FcConfig *config, FcFontSet **sets, intnsets, 1518ca08ab68Smrg FcPattern *pattern, FcResult *result); 15192c393a42Smrg 15202c393a42SmrgDescription 15212c393a42Smrg 1522ca08ab68Smrg Finds the font in sets most closely matching pattern and returns the 1523ca08ab68Smrg result of FcFontRenderPrepare for that font and the provided pattern. This 1524ca08ab68Smrg function should be called only after FcConfigSubstitute and 1525ca08ab68Smrg FcDefaultSubstitute have been called for pattern; otherwise the results 1526ca08ab68Smrg will not be correct. If config is NULL, the current configuration is used. 1527ca08ab68Smrg Returns NULL if an error occurs during this process. 15282c393a42Smrg 15292c393a42SmrgVersion 15302c393a42Smrg 1531ca08ab68Smrg Fontconfig version 2.10.2 15322c393a42Smrg 1533ca08ab68Smrg FcFontSetPrint 15342c393a42Smrg 15352c393a42SmrgName 15362c393a42Smrg 1537ca08ab68Smrg FcFontSetPrint -- Print a set of patterns to stdout 15382c393a42Smrg 15392c393a42SmrgSynopsis 15402c393a42Smrg 1541ca08ab68Smrg #include <fontconfig.h> 15422c393a42Smrg 1543a6844aabSmrg 1544ca08ab68Smrg void FcFontSetPrint(FcFontSet *set); 15452c393a42Smrg 15462c393a42SmrgDescription 15472c393a42Smrg 1548ca08ab68Smrg This function is useful for diagnosing font related issues, printing the 1549ca08ab68Smrg complete contents of every pattern in set. The format of the output is 1550ca08ab68Smrg designed to be of help to users and developers, and may change at any 1551ca08ab68Smrg time. 15522c393a42Smrg 15532c393a42SmrgVersion 15542c393a42Smrg 1555ca08ab68Smrg Fontconfig version 2.10.2 15562c393a42Smrg 1557ca08ab68Smrg FcFontSetSort 15582c393a42Smrg 15592c393a42SmrgName 15602c393a42Smrg 1561ca08ab68Smrg FcFontSetSort -- Add to a font set 15622c393a42Smrg 15632c393a42SmrgSynopsis 15642c393a42Smrg 1565ca08ab68Smrg #include <fontconfig.h> 15662c393a42Smrg 1567a6844aabSmrg 1568ca08ab68Smrg FcFontSetSort(FcConfig *config, FcFontSet **sets, intnsets, FcPattern 1569ca08ab68Smrg *pattern, FcBool trim, FcCharSet **csp, FcResult *result); 15702c393a42Smrg 15712c393a42SmrgDescription 15722c393a42Smrg 1573ca08ab68Smrg Returns the list of fonts from sets sorted by closeness to pattern. If 1574ca08ab68Smrg trim is FcTrue, elements in the list which don't include Unicode coverage 1575ca08ab68Smrg not provided by earlier elements in the list are elided. The union of 1576ca08ab68Smrg Unicode coverage of all of the fonts is returned in csp, if csp is not 1577ca08ab68Smrg NULL. This function should be called only after FcConfigSubstitute and 1578ca08ab68Smrg FcDefaultSubstitute have been called for p; otherwise the results will not 1579ca08ab68Smrg be correct. 15802c393a42Smrg 1581ca08ab68Smrg The returned FcFontSet references FcPattern structures which may be shared 1582ca08ab68Smrg by the return value from multiple FcFontSort calls, applications cannot 1583ca08ab68Smrg modify these patterns. Instead, they should be passed, along with pattern 1584ca08ab68Smrg to FcFontRenderPrepare which combines them into a complete pattern. 15852c393a42Smrg 1586ca08ab68Smrg The FcFontSet returned by FcFontSetSort is destroyed by calling 1587ca08ab68Smrg FcFontSetDestroy. 15882c393a42Smrg 15892c393a42SmrgVersion 15902c393a42Smrg 1591ca08ab68Smrg Fontconfig version 2.10.2 15922c393a42Smrg 1593ca08ab68Smrg FcFontSetSortDestroy 15942c393a42Smrg 15952c393a42SmrgName 15962c393a42Smrg 1597ca08ab68Smrg FcFontSetSortDestroy -- DEPRECATED destroy a font set 15982c393a42Smrg 15992c393a42SmrgSynopsis 16002c393a42Smrg 1601ca08ab68Smrg #include <fontconfig.h> 16022c393a42Smrg 1603a6844aabSmrg 1604ca08ab68Smrg FcFontSetSortDestroy(FcFontSet *set); 16052c393a42Smrg 16062c393a42SmrgDescription 16072c393a42Smrg 1608ca08ab68Smrg This function is DEPRECATED. FcFontSetSortDestroy destroys set by calling 1609ca08ab68Smrg FcFontSetDestroy. Applications should use FcFontSetDestroy directly 1610ca08ab68Smrg instead. 16112c393a42Smrg 16122c393a42SmrgVersion 16132c393a42Smrg 1614ca08ab68Smrg Fontconfig version 2.10.2 1615ca08ab68Smrg 1616ca08ab68Smrg -------------------------------------------------------------------------- 1617ca08ab68Smrg 1618ca08ab68Smrg FcObjectSet 1619ca08ab68Smrg 1620ca08ab68Smrg Table of Contents 1621ca08ab68Smrg 1622ca08ab68Smrg [41]FcObjectSetCreate -- Create an object set 1623a6844aabSmrg 1624ca08ab68Smrg [42]FcObjectSetAdd -- Add to an object set 16252c393a42Smrg 1626ca08ab68Smrg [43]FcObjectSetDestroy -- Destroy an object set 16272c393a42Smrg 1628ca08ab68Smrg [44]FcObjectSetBuild -- Build object set from args 16292c393a42Smrg 1630ca08ab68Smrg An FcObjectSet holds a list of pattern property names; it is used to 1631ca08ab68Smrg indicate which properties are to be returned in the patterns from 1632ca08ab68Smrg FcFontList. 16332c393a42Smrg 1634ca08ab68Smrg FcObjectSetCreate 16352c393a42Smrg 16362c393a42SmrgName 16372c393a42Smrg 1638ca08ab68Smrg FcObjectSetCreate -- Create an object set 16392c393a42Smrg 16402c393a42SmrgSynopsis 16412c393a42Smrg 1642ca08ab68Smrg #include <fontconfig.h> 16432c393a42Smrg 1644a6844aabSmrg 1645ca08ab68Smrg FcObjectSet * FcObjectSetCreate(void); 16462c393a42Smrg 16472c393a42SmrgDescription 16482c393a42Smrg 1649ca08ab68Smrg Creates an empty set. 16502c393a42Smrg 16512c393a42SmrgVersion 16522c393a42Smrg 1653ca08ab68Smrg Fontconfig version 2.10.2 16542c393a42Smrg 1655ca08ab68Smrg FcObjectSetAdd 16562c393a42Smrg 16572c393a42SmrgName 16582c393a42Smrg 1659ca08ab68Smrg FcObjectSetAdd -- Add to an object set 16602c393a42Smrg 16612c393a42SmrgSynopsis 16622c393a42Smrg 1663ca08ab68Smrg #include <fontconfig.h> 16642c393a42Smrg 1665a6844aabSmrg 1666ca08ab68Smrg FcBool FcObjectSetAdd(FcObjectSet *os, const char *object); 16672c393a42Smrg 16682c393a42SmrgDescription 16692c393a42Smrg 1670ca08ab68Smrg Adds a property name to the set. Returns FcFalse if the property name 1671ca08ab68Smrg cannot be inserted into the set (due to allocation failure). Otherwise 1672ca08ab68Smrg returns FcTrue. 16732c393a42Smrg 16742c393a42SmrgVersion 16752c393a42Smrg 1676ca08ab68Smrg Fontconfig version 2.10.2 16772c393a42Smrg 1678ca08ab68Smrg FcObjectSetDestroy 16792c393a42Smrg 16802c393a42SmrgName 16812c393a42Smrg 1682ca08ab68Smrg FcObjectSetDestroy -- Destroy an object set 16832c393a42Smrg 16842c393a42SmrgSynopsis 16852c393a42Smrg 1686ca08ab68Smrg #include <fontconfig.h> 16872c393a42Smrg 1688a6844aabSmrg 1689ca08ab68Smrg void FcObjectSetDestroy(FcObjectSet *os); 16902c393a42Smrg 16912c393a42SmrgDescription 16922c393a42Smrg 1693ca08ab68Smrg Destroys an object set. 16942c393a42Smrg 16952c393a42SmrgVersion 16962c393a42Smrg 1697ca08ab68Smrg Fontconfig version 2.10.2 16982c393a42Smrg 1699ca08ab68Smrg FcObjectSetBuild 17002c393a42Smrg 17012c393a42SmrgName 17022c393a42Smrg 1703ca08ab68Smrg FcObjectSetBuild, FcObjectSetVaBuild, FcObjectSetVapBuild -- Build object 1704ca08ab68Smrg set from args 17052c393a42Smrg 17062c393a42SmrgSynopsis 17072c393a42Smrg 1708ca08ab68Smrg #include <fontconfig.h> 17092c393a42Smrg 17102c393a42Smrg 1711ca08ab68Smrg FcObjectSet * FcObjectSetBuild(const char *first, ...); 17122c393a42Smrg 1713ca08ab68Smrg FcObjectSet * FcObjectSetVaBuild(const char *first, va_list va); 1714a6844aabSmrg 1715ca08ab68Smrg void FcObjectSetVapBuild(FcObjectSet *result, const char *first, va_list 1716ca08ab68Smrg va); 17172c393a42Smrg 17182c393a42SmrgDescription 17192c393a42Smrg 1720ca08ab68Smrg These build an object set from a null-terminated list of property names. 1721ca08ab68Smrg FcObjectSetVapBuild is a macro version of FcObjectSetVaBuild which returns 1722ca08ab68Smrg the result in the result variable directly. 17232c393a42Smrg 17242c393a42SmrgVersion 17252c393a42Smrg 1726ca08ab68Smrg Fontconfig version 2.10.2 1727ca08ab68Smrg 1728ca08ab68Smrg -------------------------------------------------------------------------- 1729ca08ab68Smrg 1730ca08ab68Smrg FreeType specific functions 1731ca08ab68Smrg 1732ca08ab68Smrg Table of Contents 1733ca08ab68Smrg 1734ca08ab68Smrg [45]FcFreeTypeCharIndex -- map Unicode to glyph id 17352c393a42Smrg 1736ca08ab68Smrg [46]FcFreeTypeCharSet -- compute Unicode coverage 17372c393a42Smrg 1738ca08ab68Smrg [47]FcFreeTypeCharSetAndSpacing -- compute Unicode coverage and spacing 1739ca08ab68Smrg type 17402c393a42Smrg 1741ca08ab68Smrg [48]FcFreeTypeQuery -- compute pattern from font file (and index) 17422c393a42Smrg 1743ca08ab68Smrg [49]FcFreeTypeQueryFace -- compute pattern from FT_Face 17442c393a42Smrg 1745ca08ab68Smrg While the fontconfig library doesn't insist that FreeType be used as the 1746ca08ab68Smrg rasterization mechanism for fonts, it does provide some convenience 1747ca08ab68Smrg functions. 1748ca08ab68Smrg 1749ca08ab68Smrg FcFreeTypeCharIndex 17502c393a42Smrg 17512c393a42SmrgName 17522c393a42Smrg 1753ca08ab68Smrg FcFreeTypeCharIndex -- map Unicode to glyph id 17542c393a42Smrg 17552c393a42SmrgSynopsis 17562c393a42Smrg 1757ca08ab68Smrg #include <fontconfig.h> 1758ca08ab68Smrg #include <fcfreetype.h> 17592c393a42Smrg 1760a6844aabSmrg 1761ca08ab68Smrg FT_UInt FcFreeTypeCharIndex(FT_Face face, FcChar32 ucs4); 17622c393a42Smrg 17632c393a42SmrgDescription 17642c393a42Smrg 1765ca08ab68Smrg Maps a Unicode char to a glyph index. This function uses information from 1766ca08ab68Smrg several possible underlying encoding tables to work around broken fonts. 1767ca08ab68Smrg As a result, this function isn't designed to be used in performance 1768ca08ab68Smrg sensitive areas; results from this function are intended to be cached by 1769ca08ab68Smrg higher level functions. 17702c393a42Smrg 17712c393a42SmrgVersion 17722c393a42Smrg 1773ca08ab68Smrg Fontconfig version 2.10.2 17742c393a42Smrg 1775ca08ab68Smrg FcFreeTypeCharSet 17762c393a42Smrg 17772c393a42SmrgName 17782c393a42Smrg 1779ca08ab68Smrg FcFreeTypeCharSet -- compute Unicode coverage 17802c393a42Smrg 17812c393a42SmrgSynopsis 17822c393a42Smrg 1783ca08ab68Smrg #include <fontconfig.h> 1784ca08ab68Smrg #include <fcfreetype.h> 17852c393a42Smrg 1786a6844aabSmrg 1787ca08ab68Smrg FcCharSet * FcFreeTypeCharSet(FT_Face face, FcBlanks *blanks); 17882c393a42Smrg 17892c393a42SmrgDescription 17902c393a42Smrg 1791ca08ab68Smrg Scans a FreeType face and returns the set of encoded Unicode chars. This 1792ca08ab68Smrg scans several encoding tables to build as complete a list as possible. If 1793ca08ab68Smrg 'blanks' is not 0, the glyphs in the font are examined and any blank 1794ca08ab68Smrg glyphs not in 'blanks' are not placed in the returned FcCharSet. 17952c393a42Smrg 17962c393a42SmrgVersion 17972c393a42Smrg 1798ca08ab68Smrg Fontconfig version 2.10.2 17992c393a42Smrg 1800ca08ab68Smrg FcFreeTypeCharSetAndSpacing 18012c393a42Smrg 18022c393a42SmrgName 18032c393a42Smrg 1804ca08ab68Smrg FcFreeTypeCharSetAndSpacing -- compute Unicode coverage and spacing type 18052c393a42Smrg 18062c393a42SmrgSynopsis 18072c393a42Smrg 1808ca08ab68Smrg #include <fontconfig.h> 1809ca08ab68Smrg #include <fcfreetype.h> 18102c393a42Smrg 1811a6844aabSmrg 1812ca08ab68Smrg FcCharSet * FcFreeTypeCharSetAndSpacing(FT_Face face, FcBlanks *blanks, 1813ca08ab68Smrg int *spacing); 18142c393a42Smrg 18152c393a42SmrgDescription 18162c393a42Smrg 1817ca08ab68Smrg Scans a FreeType face and returns the set of encoded Unicode chars. This 1818ca08ab68Smrg scans several encoding tables to build as complete a list as possible. If 1819ca08ab68Smrg 'blanks' is not 0, the glyphs in the font are examined and any blank 1820ca08ab68Smrg glyphs not in 'blanks' are not placed in the returned FcCharSet. spacing 1821ca08ab68Smrg receives the computed spacing type of the font, one of FC_MONO for a font 1822ca08ab68Smrg where all glyphs have the same width, FC_DUAL, where the font has glyphs 1823ca08ab68Smrg in precisely two widths, one twice as wide as the other, or 1824ca08ab68Smrg FC_PROPORTIONAL where the font has glyphs of many widths. 18252c393a42Smrg 18262c393a42SmrgVersion 18272c393a42Smrg 1828ca08ab68Smrg Fontconfig version 2.10.2 18292c393a42Smrg 1830ca08ab68Smrg FcFreeTypeQuery 18312c393a42Smrg 18322c393a42SmrgName 18332c393a42Smrg 1834ca08ab68Smrg FcFreeTypeQuery -- compute pattern from font file (and index) 18352c393a42Smrg 18362c393a42SmrgSynopsis 18372c393a42Smrg 1838ca08ab68Smrg #include <fontconfig.h> 1839ca08ab68Smrg #include <fcfreetype.h> 18402c393a42Smrg 1841a6844aabSmrg 1842ca08ab68Smrg FcPattern * FcFreeTypeQuery(const FcChar8 *file, int id, FcBlanks *blanks, 1843ca08ab68Smrg int *count); 18442c393a42Smrg 18452c393a42SmrgDescription 18462c393a42Smrg 1847ca08ab68Smrg Constructs a pattern representing the 'id'th font in 'file'. The number of 1848ca08ab68Smrg fonts in 'file' is returned in 'count'. 18492c393a42Smrg 18502c393a42SmrgVersion 18512c393a42Smrg 1852ca08ab68Smrg Fontconfig version 2.10.2 18532c393a42Smrg 1854ca08ab68Smrg FcFreeTypeQueryFace 18552c393a42Smrg 18562c393a42SmrgName 18572c393a42Smrg 1858ca08ab68Smrg FcFreeTypeQueryFace -- compute pattern from FT_Face 18592c393a42Smrg 18602c393a42SmrgSynopsis 18612c393a42Smrg 1862ca08ab68Smrg #include <fontconfig.h> 1863ca08ab68Smrg #include <fcfreetype.h> 18642c393a42Smrg 1865a6844aabSmrg 1866ca08ab68Smrg FcPattern * FcFreeTypeQueryFace(const FT_Face face, const FcChar8 *file, 1867ca08ab68Smrg int id, FcBlanks *blanks); 18682c393a42Smrg 18692c393a42SmrgDescription 18702c393a42Smrg 1871ca08ab68Smrg Constructs a pattern representing 'face'. 'file' and 'id' are used solely 1872ca08ab68Smrg as data for pattern elements (FC_FILE, FC_INDEX and sometimes FC_FAMILY). 18732c393a42Smrg 18742c393a42SmrgVersion 18752c393a42Smrg 1876ca08ab68Smrg Fontconfig version 2.10.2 1877ca08ab68Smrg 1878ca08ab68Smrg -------------------------------------------------------------------------- 1879ca08ab68Smrg 1880ca08ab68Smrg FcValue 1881ca08ab68Smrg 1882ca08ab68Smrg Table of Contents 1883ca08ab68Smrg 1884ca08ab68Smrg [50]FcValueDestroy -- Free a value 1885a6844aabSmrg 1886ca08ab68Smrg [51]FcValueSave -- Copy a value 18872c393a42Smrg 1888ca08ab68Smrg [52]FcValuePrint -- Print a value to stdout 18892c393a42Smrg 1890ca08ab68Smrg [53]FcValueEqual -- Test two values for equality 18912c393a42Smrg 1892ca08ab68Smrg FcValue is a structure containing a type tag and a union of all possible 1893ca08ab68Smrg datatypes. The tag is an enum of type FcType and is intended to provide a 1894ca08ab68Smrg measure of run-time typechecking, although that depends on careful 1895ca08ab68Smrg programming. 18962c393a42Smrg 1897ca08ab68Smrg FcValueDestroy 18982c393a42Smrg 18992c393a42SmrgName 19002c393a42Smrg 1901ca08ab68Smrg FcValueDestroy -- Free a value 19022c393a42Smrg 19032c393a42SmrgSynopsis 19042c393a42Smrg 1905ca08ab68Smrg #include <fontconfig.h> 19062c393a42Smrg 1907a6844aabSmrg 1908ca08ab68Smrg void FcValueDestroy(FcValue v); 19092c393a42Smrg 19102c393a42SmrgDescription 19112c393a42Smrg 1912ca08ab68Smrg Frees any memory referenced by v. Values of type FcTypeString, 1913ca08ab68Smrg FcTypeMatrix and FcTypeCharSet reference memory, the other types do not. 19142c393a42Smrg 19152c393a42SmrgVersion 19162c393a42Smrg 1917ca08ab68Smrg Fontconfig version 2.10.2 19182c393a42Smrg 1919ca08ab68Smrg FcValueSave 19202c393a42Smrg 19212c393a42SmrgName 19222c393a42Smrg 1923ca08ab68Smrg FcValueSave -- Copy a value 19242c393a42Smrg 19252c393a42SmrgSynopsis 19262c393a42Smrg 1927ca08ab68Smrg #include <fontconfig.h> 19282c393a42Smrg 1929a6844aabSmrg 1930ca08ab68Smrg FcValue FcValueSave(FcValue v); 19312c393a42Smrg 19322c393a42SmrgDescription 19332c393a42Smrg 1934ca08ab68Smrg Returns a copy of v duplicating any object referenced by it so that v may 1935ca08ab68Smrg be safely destroyed without harming the new value. 19362c393a42Smrg 19372c393a42SmrgVersion 19382c393a42Smrg 1939ca08ab68Smrg Fontconfig version 2.10.2 19402c393a42Smrg 1941ca08ab68Smrg FcValuePrint 19422c393a42Smrg 19432c393a42SmrgName 19442c393a42Smrg 1945ca08ab68Smrg FcValuePrint -- Print a value to stdout 19462c393a42Smrg 19472c393a42SmrgSynopsis 19482c393a42Smrg 1949ca08ab68Smrg #include <fontconfig.h> 19502c393a42Smrg 1951a6844aabSmrg 1952ca08ab68Smrg void FcValuePrint(FcValue v); 19532c393a42Smrg 19542c393a42SmrgDescription 19552c393a42Smrg 1956ca08ab68Smrg Prints a human-readable representation of v to stdout. The format should 1957ca08ab68Smrg not be considered part of the library specification as it may change in 1958ca08ab68Smrg the future. 19592c393a42Smrg 19602c393a42SmrgVersion 19612c393a42Smrg 1962ca08ab68Smrg Fontconfig version 2.10.2 19632c393a42Smrg 1964ca08ab68Smrg FcValueEqual 19652c393a42Smrg 19662c393a42SmrgName 19672c393a42Smrg 1968ca08ab68Smrg FcValueEqual -- Test two values for equality 19692c393a42Smrg 19702c393a42SmrgSynopsis 19712c393a42Smrg 1972ca08ab68Smrg #include <fontconfig.h> 19732c393a42Smrg 1974a6844aabSmrg 1975ca08ab68Smrg FcBool FcValueEqual(FcValue v_a, FcValue v_b); 19762c393a42Smrg 19772c393a42SmrgDescription 19782c393a42Smrg 1979ca08ab68Smrg Compares two values. Integers and Doubles are compared as numbers; 1980ca08ab68Smrg otherwise the two values have to be the same type to be considered equal. 1981ca08ab68Smrg Strings are compared ignoring case. 19822c393a42Smrg 19832c393a42SmrgVersion 19842c393a42Smrg 1985ca08ab68Smrg Fontconfig version 2.10.2 1986ca08ab68Smrg 1987ca08ab68Smrg -------------------------------------------------------------------------- 1988ca08ab68Smrg 1989ca08ab68Smrg FcCharSet 1990ca08ab68Smrg 1991ca08ab68Smrg Table of Contents 1992ca08ab68Smrg 1993ca08ab68Smrg [54]FcCharSetCreate -- Create an empty character set 1994ca08ab68Smrg 1995ca08ab68Smrg [55]FcCharSetDestroy -- Destroy a character set 1996ca08ab68Smrg 1997ca08ab68Smrg [56]FcCharSetAddChar -- Add a character to a charset 1998ca08ab68Smrg 1999ca08ab68Smrg [57]FcCharSetDelChar -- Add a character to a charset 2000ca08ab68Smrg 2001ca08ab68Smrg [58]FcCharSetCopy -- Copy a charset 2002ca08ab68Smrg 2003ca08ab68Smrg [59]FcCharSetEqual -- Compare two charsets 2004ca08ab68Smrg 2005ca08ab68Smrg [60]FcCharSetIntersect -- Intersect charsets 2006ca08ab68Smrg 2007ca08ab68Smrg [61]FcCharSetUnion -- Add charsets 2008ca08ab68Smrg 2009ca08ab68Smrg [62]FcCharSetSubtract -- Subtract charsets 2010ca08ab68Smrg 2011ca08ab68Smrg [63]FcCharSetMerge -- Merge charsets 20122c393a42Smrg 2013ca08ab68Smrg [64]FcCharSetHasChar -- Check a charset for a char 20142c393a42Smrg 2015ca08ab68Smrg [65]FcCharSetCount -- Count entries in a charset 20162c393a42Smrg 2017ca08ab68Smrg [66]FcCharSetIntersectCount -- Intersect and count charsets 20182c393a42Smrg 2019ca08ab68Smrg [67]FcCharSetSubtractCount -- Subtract and count charsets 20202c393a42Smrg 2021ca08ab68Smrg [68]FcCharSetIsSubset -- Test for charset inclusion 2022ca08ab68Smrg 2023ca08ab68Smrg [69]FcCharSetFirstPage -- Start enumerating charset contents 2024ca08ab68Smrg 2025ca08ab68Smrg [70]FcCharSetNextPage -- Continue enumerating charset contents 2026ca08ab68Smrg 2027ca08ab68Smrg [71]FcCharSetCoverage -- DEPRECATED return coverage for a Unicode page 2028ca08ab68Smrg 2029ca08ab68Smrg [72]FcCharSetNew -- DEPRECATED alias for FcCharSetCreate 2030ca08ab68Smrg 2031ca08ab68Smrg An FcCharSet is a boolean array indicating a set of Unicode chars. Those 2032ca08ab68Smrg associated with a font are marked constant and cannot be edited. 2033ca08ab68Smrg FcCharSets may be reference counted internally to reduce memory 2034ca08ab68Smrg consumption; this may be visible to applications as the result of 2035ca08ab68Smrg FcCharSetCopy may return it's argument, and that CharSet may remain 2036ca08ab68Smrg unmodifiable. 2037ca08ab68Smrg 2038ca08ab68Smrg FcCharSetCreate 2039ca08ab68Smrg 2040ca08ab68SmrgName 2041ca08ab68Smrg 2042ca08ab68Smrg FcCharSetCreate -- Create an empty character set 2043ca08ab68Smrg 2044ca08ab68SmrgSynopsis 2045ca08ab68Smrg 2046ca08ab68Smrg #include <fontconfig.h> 2047ca08ab68Smrg 2048ca08ab68Smrg 2049ca08ab68Smrg FcCharSet * FcCharSetCreate(void); 2050ca08ab68Smrg 2051ca08ab68SmrgDescription 2052ca08ab68Smrg 2053ca08ab68Smrg FcCharSetCreate allocates and initializes a new empty character set 2054ca08ab68Smrg object. 2055ca08ab68Smrg 2056ca08ab68SmrgVersion 2057ca08ab68Smrg 2058ca08ab68Smrg Fontconfig version 2.10.2 2059ca08ab68Smrg 2060ca08ab68Smrg FcCharSetDestroy 20612c393a42Smrg 20622c393a42SmrgName 20632c393a42Smrg 2064ca08ab68Smrg FcCharSetDestroy -- Destroy a character set 20652c393a42Smrg 20662c393a42SmrgSynopsis 20672c393a42Smrg 2068ca08ab68Smrg #include <fontconfig.h> 20692c393a42Smrg 2070a6844aabSmrg 2071ca08ab68Smrg void FcCharSetDestroy(FcCharSet *fcs); 20722c393a42Smrg 20732c393a42SmrgDescription 20742c393a42Smrg 2075ca08ab68Smrg FcCharSetDestroy decrements the reference count fcs. If the reference 2076ca08ab68Smrg count becomes zero, all memory referenced is freed. 20772c393a42Smrg 20782c393a42SmrgVersion 20792c393a42Smrg 2080ca08ab68Smrg Fontconfig version 2.10.2 20812c393a42Smrg 2082ca08ab68Smrg FcCharSetAddChar 20832c393a42Smrg 20842c393a42SmrgName 20852c393a42Smrg 2086ca08ab68Smrg FcCharSetAddChar -- Add a character to a charset 20872c393a42Smrg 20882c393a42SmrgSynopsis 20892c393a42Smrg 2090ca08ab68Smrg #include <fontconfig.h> 20912c393a42Smrg 2092a6844aabSmrg 2093ca08ab68Smrg FcBool FcCharSetAddChar(FcCharSet *fcs, FcChar32 ucs4); 20942c393a42Smrg 20952c393a42SmrgDescription 20962c393a42Smrg 2097ca08ab68Smrg FcCharSetAddChar adds a single Unicode char to the set, returning FcFalse 2098ca08ab68Smrg on failure, either as a result of a constant set or from running out of 2099ca08ab68Smrg memory. 21002c393a42Smrg 21012c393a42SmrgVersion 21022c393a42Smrg 2103ca08ab68Smrg Fontconfig version 2.10.2 21042c393a42Smrg 2105ca08ab68Smrg FcCharSetDelChar 21062c393a42Smrg 21072c393a42SmrgName 21082c393a42Smrg 2109ca08ab68Smrg FcCharSetDelChar -- Add a character to a charset 21102c393a42Smrg 21112c393a42SmrgSynopsis 21122c393a42Smrg 2113ca08ab68Smrg #include <fontconfig.h> 21142c393a42Smrg 2115a6844aabSmrg 2116ca08ab68Smrg FcBool FcCharSetDelChar(FcCharSet *fcs, FcChar32 ucs4); 21172c393a42Smrg 21182c393a42SmrgDescription 21192c393a42Smrg 2120ca08ab68Smrg FcCharSetDelChar deletes a single Unicode char from the set, returning 2121ca08ab68Smrg FcFalse on failure, either as a result of a constant set or from running 2122ca08ab68Smrg out of memory. 21232c393a42Smrg 21242c393a42SmrgVersion 21252c393a42Smrg 2126ca08ab68Smrg Fontconfig version 2.10.2 21272c393a42Smrg 2128ca08ab68Smrg FcCharSetCopy 21292c393a42Smrg 21302c393a42SmrgName 21312c393a42Smrg 2132ca08ab68Smrg FcCharSetCopy -- Copy a charset 21332c393a42Smrg 21342c393a42SmrgSynopsis 21352c393a42Smrg 2136ca08ab68Smrg #include <fontconfig.h> 21372c393a42Smrg 2138a6844aabSmrg 2139ca08ab68Smrg FcCharSet * FcCharSetCopy(FcCharSet *src); 21402c393a42Smrg 21412c393a42SmrgDescription 21422c393a42Smrg 2143ca08ab68Smrg Makes a copy of src; note that this may not actually do anything more than 2144ca08ab68Smrg increment the reference count on src. 21452c393a42Smrg 21462c393a42SmrgVersion 21472c393a42Smrg 2148ca08ab68Smrg Fontconfig version 2.10.2 21492c393a42Smrg 2150ca08ab68Smrg FcCharSetEqual 21512c393a42Smrg 21522c393a42SmrgName 21532c393a42Smrg 2154ca08ab68Smrg FcCharSetEqual -- Compare two charsets 21552c393a42Smrg 21562c393a42SmrgSynopsis 21572c393a42Smrg 2158ca08ab68Smrg #include <fontconfig.h> 21592c393a42Smrg 2160a6844aabSmrg 2161ca08ab68Smrg FcBool FcCharSetEqual(const FcCharSet *a, const FcCharSet *b); 21622c393a42Smrg 21632c393a42SmrgDescription 21642c393a42Smrg 2165ca08ab68Smrg Returns whether a and b contain the same set of Unicode chars. 21662c393a42Smrg 21672c393a42SmrgVersion 21682c393a42Smrg 2169ca08ab68Smrg Fontconfig version 2.10.2 21702c393a42Smrg 2171ca08ab68Smrg FcCharSetIntersect 21722c393a42Smrg 21732c393a42SmrgName 21742c393a42Smrg 2175ca08ab68Smrg FcCharSetIntersect -- Intersect charsets 21762c393a42Smrg 21772c393a42SmrgSynopsis 21782c393a42Smrg 2179ca08ab68Smrg #include <fontconfig.h> 21802c393a42Smrg 2181a6844aabSmrg 2182ca08ab68Smrg FcCharSet * FcCharSetIntersect(const FcCharSet *a, const FcCharSet *b); 21832c393a42Smrg 21842c393a42SmrgDescription 21852c393a42Smrg 2186ca08ab68Smrg Returns a set including only those chars found in both a and b. 21872c393a42Smrg 21882c393a42SmrgVersion 21892c393a42Smrg 2190ca08ab68Smrg Fontconfig version 2.10.2 21912c393a42Smrg 2192ca08ab68Smrg FcCharSetUnion 21932c393a42Smrg 21942c393a42SmrgName 21952c393a42Smrg 2196ca08ab68Smrg FcCharSetUnion -- Add charsets 21972c393a42Smrg 21982c393a42SmrgSynopsis 21992c393a42Smrg 2200ca08ab68Smrg #include <fontconfig.h> 22012c393a42Smrg 2202a6844aabSmrg 2203ca08ab68Smrg FcCharSet * FcCharSetUnion(const FcCharSet *a, const FcCharSet *b); 22042c393a42Smrg 22052c393a42SmrgDescription 22062c393a42Smrg 2207ca08ab68Smrg Returns a set including only those chars found in either a or b. 22082c393a42Smrg 22092c393a42SmrgVersion 22102c393a42Smrg 2211ca08ab68Smrg Fontconfig version 2.10.2 22122c393a42Smrg 2213ca08ab68Smrg FcCharSetSubtract 22142c393a42Smrg 22152c393a42SmrgName 22162c393a42Smrg 2217ca08ab68Smrg FcCharSetSubtract -- Subtract charsets 22182c393a42Smrg 22192c393a42SmrgSynopsis 22202c393a42Smrg 2221ca08ab68Smrg #include <fontconfig.h> 22222c393a42Smrg 2223a6844aabSmrg 2224ca08ab68Smrg FcCharSet * FcCharSetSubtract(const FcCharSet *a, const FcCharSet *b); 22252c393a42Smrg 22262c393a42SmrgDescription 22272c393a42Smrg 2228ca08ab68Smrg Returns a set including only those chars found in a but not b. 22292c393a42Smrg 22302c393a42SmrgVersion 22312c393a42Smrg 2232ca08ab68Smrg Fontconfig version 2.10.2 2233a6844aabSmrg 2234ca08ab68Smrg FcCharSetMerge 2235a6844aabSmrg 2236a6844aabSmrgName 2237a6844aabSmrg 2238ca08ab68Smrg FcCharSetMerge -- Merge charsets 2239a6844aabSmrg 2240a6844aabSmrgSynopsis 2241a6844aabSmrg 2242ca08ab68Smrg #include <fontconfig.h> 2243a6844aabSmrg 2244a6844aabSmrg 2245ca08ab68Smrg FcBool FcCharSetMerge(FcCharSet *a, const FcCharSet *b, FcBool *changed); 2246a6844aabSmrg 2247a6844aabSmrgDescription 2248a6844aabSmrg 2249ca08ab68Smrg Adds all chars in b to a. In other words, this is an in-place version of 2250ca08ab68Smrg FcCharSetUnion. If changed is not NULL, then it returns whether any new 2251ca08ab68Smrg chars from b were added to a. Returns FcFalse on failure, either when a is 2252ca08ab68Smrg a constant set or from running out of memory. 2253a6844aabSmrg 2254a6844aabSmrgVersion 2255a6844aabSmrg 2256ca08ab68Smrg Fontconfig version 2.10.2 22572c393a42Smrg 2258ca08ab68Smrg FcCharSetHasChar 22592c393a42Smrg 22602c393a42SmrgName 22612c393a42Smrg 2262ca08ab68Smrg FcCharSetHasChar -- Check a charset for a char 22632c393a42Smrg 22642c393a42SmrgSynopsis 22652c393a42Smrg 2266ca08ab68Smrg #include <fontconfig.h> 22672c393a42Smrg 2268a6844aabSmrg 2269ca08ab68Smrg FcBool FcCharSetHasChar(const FcCharSet *fcs, FcChar32 ucs4); 22702c393a42Smrg 22712c393a42SmrgDescription 22722c393a42Smrg 2273ca08ab68Smrg Returns whether fcs contains the char ucs4. 22742c393a42Smrg 22752c393a42SmrgVersion 22762c393a42Smrg 2277ca08ab68Smrg Fontconfig version 2.10.2 22782c393a42Smrg 2279ca08ab68Smrg FcCharSetCount 22802c393a42Smrg 22812c393a42SmrgName 22822c393a42Smrg 2283ca08ab68Smrg FcCharSetCount -- Count entries in a charset 22842c393a42Smrg 22852c393a42SmrgSynopsis 22862c393a42Smrg 2287ca08ab68Smrg #include <fontconfig.h> 22882c393a42Smrg 2289a6844aabSmrg 2290ca08ab68Smrg FcChar32 FcCharSetCount(const FcCharSet *a); 22912c393a42Smrg 22922c393a42SmrgDescription 22932c393a42Smrg 2294ca08ab68Smrg Returns the total number of Unicode chars in a. 22952c393a42Smrg 22962c393a42SmrgVersion 22972c393a42Smrg 2298ca08ab68Smrg Fontconfig version 2.10.2 22992c393a42Smrg 2300ca08ab68Smrg FcCharSetIntersectCount 23012c393a42Smrg 23022c393a42SmrgName 23032c393a42Smrg 2304ca08ab68Smrg FcCharSetIntersectCount -- Intersect and count charsets 23052c393a42Smrg 23062c393a42SmrgSynopsis 23072c393a42Smrg 2308ca08ab68Smrg #include <fontconfig.h> 23092c393a42Smrg 2310a6844aabSmrg 2311ca08ab68Smrg FcChar32 FcCharSetIntersectCount(const FcCharSet *a, const FcCharSet *b); 23122c393a42Smrg 23132c393a42SmrgDescription 23142c393a42Smrg 2315ca08ab68Smrg Returns the number of chars that are in both a and b. 23162c393a42Smrg 23172c393a42SmrgVersion 23182c393a42Smrg 2319ca08ab68Smrg Fontconfig version 2.10.2 23202c393a42Smrg 2321ca08ab68Smrg FcCharSetSubtractCount 23222c393a42Smrg 23232c393a42SmrgName 23242c393a42Smrg 2325ca08ab68Smrg FcCharSetSubtractCount -- Subtract and count charsets 23262c393a42Smrg 23272c393a42SmrgSynopsis 23282c393a42Smrg 2329ca08ab68Smrg #include <fontconfig.h> 23302c393a42Smrg 2331a6844aabSmrg 2332ca08ab68Smrg FcChar32 FcCharSetSubtractCount(const FcCharSet *a, const FcCharSet *b); 23332c393a42Smrg 23342c393a42SmrgDescription 23352c393a42Smrg 2336ca08ab68Smrg Returns the number of chars that are in a but not in b. 23372c393a42Smrg 23382c393a42SmrgVersion 23392c393a42Smrg 2340ca08ab68Smrg Fontconfig version 2.10.2 23412c393a42Smrg 2342ca08ab68Smrg FcCharSetIsSubset 23432c393a42Smrg 23442c393a42SmrgName 23452c393a42Smrg 2346ca08ab68Smrg FcCharSetIsSubset -- Test for charset inclusion 23472c393a42Smrg 23482c393a42SmrgSynopsis 23492c393a42Smrg 2350ca08ab68Smrg #include <fontconfig.h> 23512c393a42Smrg 2352a6844aabSmrg 2353ca08ab68Smrg FcBool FcCharSetIsSubset(const FcCharSet *a, const FcCharSet *b); 23542c393a42Smrg 23552c393a42SmrgDescription 23562c393a42Smrg 2357ca08ab68Smrg Returns whether a is a subset of b. 23582c393a42Smrg 23592c393a42SmrgVersion 23602c393a42Smrg 2361ca08ab68Smrg Fontconfig version 2.10.2 23622c393a42Smrg 2363ca08ab68Smrg FcCharSetFirstPage 23642c393a42Smrg 23652c393a42SmrgName 23662c393a42Smrg 2367ca08ab68Smrg FcCharSetFirstPage -- Start enumerating charset contents 23682c393a42Smrg 23692c393a42SmrgSynopsis 23702c393a42Smrg 2371ca08ab68Smrg #include <fontconfig.h> 23722c393a42Smrg 2373a6844aabSmrg 2374ca08ab68Smrg FcChar32 FcCharSetFirstPage(const FcCharSet *a, 2375ca08ab68Smrg FcChar32[FC_CHARSET_MAP_SIZE] map, FcChar32 *next); 23762c393a42Smrg 23772c393a42SmrgDescription 23782c393a42Smrg 2379ca08ab68Smrg Builds an array of bits marking the first page of Unicode coverage of a. 2380ca08ab68Smrg Returns the base of the array. next contains the next page in the font. 23812c393a42Smrg 23822c393a42SmrgVersion 23832c393a42Smrg 2384ca08ab68Smrg Fontconfig version 2.10.2 23852c393a42Smrg 2386ca08ab68Smrg FcCharSetNextPage 23872c393a42Smrg 23882c393a42SmrgName 23892c393a42Smrg 2390ca08ab68Smrg FcCharSetNextPage -- Continue enumerating charset contents 23912c393a42Smrg 23922c393a42SmrgSynopsis 23932c393a42Smrg 2394ca08ab68Smrg #include <fontconfig.h> 23952c393a42Smrg 2396a6844aabSmrg 2397ca08ab68Smrg FcChar32 FcCharSetNextPage(const FcCharSet *a, 2398ca08ab68Smrg FcChar32[FC_CHARSET_MAP_SIZE] map, FcChar32 *next); 23992c393a42Smrg 24002c393a42SmrgDescription 24012c393a42Smrg 2402ca08ab68Smrg Builds an array of bits marking the Unicode coverage of a for page *next. 2403ca08ab68Smrg Returns the base of the array. next contains the next page in the font. 24042c393a42Smrg 24052c393a42SmrgVersion 24062c393a42Smrg 2407ca08ab68Smrg Fontconfig version 2.10.2 24082c393a42Smrg 2409ca08ab68Smrg FcCharSetCoverage 24102c393a42Smrg 24112c393a42SmrgName 24122c393a42Smrg 2413ca08ab68Smrg FcCharSetCoverage -- DEPRECATED return coverage for a Unicode page 24142c393a42Smrg 24152c393a42SmrgSynopsis 24162c393a42Smrg 2417ca08ab68Smrg #include <fontconfig.h> 24182c393a42Smrg 2419a6844aabSmrg 2420ca08ab68Smrg FcChar32 FcCharSetCoverage(const FcCharSet *a, FcChar32page, 2421ca08ab68Smrg FcChar32[8]result); 24222c393a42Smrg 24232c393a42SmrgDescription 24242c393a42Smrg 2425ca08ab68Smrg DEPRECATED This function returns a bitmask in result which indicates which 2426ca08ab68Smrg code points in page are included in a. FcCharSetCoverage returns the next 2427ca08ab68Smrg page in the charset which has any coverage. 24282c393a42Smrg 24292c393a42SmrgVersion 24302c393a42Smrg 2431ca08ab68Smrg Fontconfig version 2.10.2 24322c393a42Smrg 2433ca08ab68Smrg FcCharSetNew 24342c393a42Smrg 24352c393a42SmrgName 24362c393a42Smrg 2437ca08ab68Smrg FcCharSetNew -- DEPRECATED alias for FcCharSetCreate 24382c393a42Smrg 24392c393a42SmrgSynopsis 24402c393a42Smrg 2441ca08ab68Smrg #include <fontconfig.h> 24422c393a42Smrg 2443a6844aabSmrg 2444ca08ab68Smrg FcCharSet * FcCharSetNew(void); 24452c393a42Smrg 24462c393a42SmrgDescription 24472c393a42Smrg 2448ca08ab68Smrg FcCharSetNew is a DEPRECATED alias for FcCharSetCreate. 24492c393a42Smrg 24502c393a42SmrgVersion 24512c393a42Smrg 2452ca08ab68Smrg Fontconfig version 2.10.2 2453ca08ab68Smrg 2454ca08ab68Smrg -------------------------------------------------------------------------- 2455ca08ab68Smrg 2456ca08ab68Smrg FcLangSet 2457ca08ab68Smrg 2458ca08ab68Smrg Table of Contents 2459ca08ab68Smrg 2460ca08ab68Smrg [73]FcLangSetCreate -- create a langset object 2461ca08ab68Smrg 2462ca08ab68Smrg [74]FcLangSetDestroy -- destroy a langset object 2463ca08ab68Smrg 2464ca08ab68Smrg [75]FcLangSetCopy -- copy a langset object 2465ca08ab68Smrg 2466ca08ab68Smrg [76]FcLangSetAdd -- add a language to a langset 2467ca08ab68Smrg 2468ca08ab68Smrg [77]FcLangSetDel -- delete a language from a langset 2469ca08ab68Smrg 2470ca08ab68Smrg [78]FcLangSetUnion -- Add langsets 2471ca08ab68Smrg 2472ca08ab68Smrg [79]FcLangSetSubtract -- Subtract langsets 2473ca08ab68Smrg 2474ca08ab68Smrg [80]FcLangSetCompare -- compare language sets 2475ca08ab68Smrg 2476ca08ab68Smrg [81]FcLangSetContains -- check langset subset relation 2477ca08ab68Smrg 2478ca08ab68Smrg [82]FcLangSetEqual -- test for matching langsets 2479ca08ab68Smrg 2480ca08ab68Smrg [83]FcLangSetHash -- return a hash value for a langset 2481ca08ab68Smrg 2482ca08ab68Smrg [84]FcLangSetHasLang -- test langset for language support 2483ca08ab68Smrg 2484ca08ab68Smrg [85]FcGetDefaultLangs -- Get the default languages list 2485ca08ab68Smrg 2486ca08ab68Smrg [86]FcGetLangs -- Get list of languages 2487ca08ab68Smrg 2488ca08ab68Smrg [87]FcLangGetCharSet -- Get character map for a language 2489ca08ab68Smrg 2490ca08ab68Smrg An FcLangSet is a set of language names (each of which include language 2491ca08ab68Smrg and an optional territory). They are used when selecting fonts to indicate 2492ca08ab68Smrg which languages the fonts need to support. Each font is marked, using 2493ca08ab68Smrg language orthography information built into fontconfig, with the set of 2494ca08ab68Smrg supported languages. 2495ca08ab68Smrg 2496ca08ab68Smrg FcLangSetCreate 2497ca08ab68Smrg 2498ca08ab68SmrgName 2499ca08ab68Smrg 2500ca08ab68Smrg FcLangSetCreate -- create a langset object 2501ca08ab68Smrg 2502ca08ab68SmrgSynopsis 2503ca08ab68Smrg 2504ca08ab68Smrg #include <fontconfig.h> 2505ca08ab68Smrg 2506ca08ab68Smrg 2507ca08ab68Smrg FcLangSet * FcLangSetCreate(void); 2508ca08ab68Smrg 2509ca08ab68SmrgDescription 2510ca08ab68Smrg 2511ca08ab68Smrg FcLangSetCreate creates a new FcLangSet object. 2512ca08ab68Smrg 2513ca08ab68SmrgVersion 2514ca08ab68Smrg 2515ca08ab68Smrg Fontconfig version 2.10.2 2516ca08ab68Smrg 2517ca08ab68Smrg FcLangSetDestroy 2518ca08ab68Smrg 2519ca08ab68SmrgName 2520ca08ab68Smrg 2521ca08ab68Smrg FcLangSetDestroy -- destroy a langset object 2522ca08ab68Smrg 2523ca08ab68SmrgSynopsis 2524ca08ab68Smrg 2525ca08ab68Smrg #include <fontconfig.h> 2526ca08ab68Smrg 2527ca08ab68Smrg 2528ca08ab68Smrg void FcLangSetDestroy(FcLangSet *ls); 2529ca08ab68Smrg 2530ca08ab68SmrgDescription 2531ca08ab68Smrg 2532ca08ab68Smrg FcLangSetDestroy destroys a FcLangSet object, freeing all memory 2533ca08ab68Smrg associated with it. 2534ca08ab68Smrg 2535ca08ab68SmrgVersion 2536ca08ab68Smrg 2537ca08ab68Smrg Fontconfig version 2.10.2 2538ca08ab68Smrg 2539ca08ab68Smrg FcLangSetCopy 2540a6844aabSmrg 2541ca08ab68SmrgName 2542ca08ab68Smrg 2543ca08ab68Smrg FcLangSetCopy -- copy a langset object 2544ca08ab68Smrg 2545ca08ab68SmrgSynopsis 2546ca08ab68Smrg 2547ca08ab68Smrg #include <fontconfig.h> 2548ca08ab68Smrg 2549ca08ab68Smrg 2550ca08ab68Smrg FcLangSet * FcLangSetCopy(const FcLangSet *ls); 2551ca08ab68Smrg 2552ca08ab68SmrgDescription 25532c393a42Smrg 2554ca08ab68Smrg FcLangSetCopy creates a new FcLangSet object and populates it with the 2555ca08ab68Smrg contents of ls. 25562c393a42Smrg 2557ca08ab68SmrgVersion 25582c393a42Smrg 2559ca08ab68Smrg Fontconfig version 2.10.2 25602c393a42Smrg 2561ca08ab68Smrg FcLangSetAdd 25622c393a42Smrg 25632c393a42SmrgName 25642c393a42Smrg 2565ca08ab68Smrg FcLangSetAdd -- add a language to a langset 25662c393a42Smrg 25672c393a42SmrgSynopsis 25682c393a42Smrg 2569ca08ab68Smrg #include <fontconfig.h> 25702c393a42Smrg 2571a6844aabSmrg 2572ca08ab68Smrg FcBool FcLangSetAdd(FcLangSet *ls, const FcChar8 *lang); 25732c393a42Smrg 25742c393a42SmrgDescription 25752c393a42Smrg 2576ca08ab68Smrg lang is added to ls. lang should be of the form Ll-Tt where Ll is a two or 2577ca08ab68Smrg three letter language from ISO 639 and Tt is a territory from ISO 3166. 25782c393a42Smrg 25792c393a42SmrgVersion 25802c393a42Smrg 2581ca08ab68Smrg Fontconfig version 2.10.2 25822c393a42Smrg 2583ca08ab68Smrg FcLangSetDel 25842c393a42Smrg 25852c393a42SmrgName 25862c393a42Smrg 2587ca08ab68Smrg FcLangSetDel -- delete a language from a langset 25882c393a42Smrg 25892c393a42SmrgSynopsis 25902c393a42Smrg 2591ca08ab68Smrg #include <fontconfig.h> 25922c393a42Smrg 2593a6844aabSmrg 2594ca08ab68Smrg FcBool FcLangSetDel(FcLangSet *ls, const FcChar8 *lang); 25952c393a42Smrg 25962c393a42SmrgDescription 25972c393a42Smrg 2598ca08ab68Smrg lang is removed from ls. lang should be of the form Ll-Tt where Ll is a 2599ca08ab68Smrg two or three letter language from ISO 639 and Tt is a territory from ISO 2600ca08ab68Smrg 3166. 26012c393a42Smrg 26022c393a42SmrgVersion 26032c393a42Smrg 2604ca08ab68Smrg Fontconfig version 2.10.2 26052c393a42Smrg 2606ca08ab68Smrg FcLangSetUnion 26072c393a42Smrg 26082c393a42SmrgName 26092c393a42Smrg 2610ca08ab68Smrg FcLangSetUnion -- Add langsets 26112c393a42Smrg 26122c393a42SmrgSynopsis 26132c393a42Smrg 2614ca08ab68Smrg #include <fontconfig.h> 26152c393a42Smrg 2616a6844aabSmrg 2617ca08ab68Smrg FcLangSet * FcLangSetUnion(const FcLangSet *ls_a, const FcLangSet *ls_b); 26182c393a42Smrg 26192c393a42SmrgDescription 26202c393a42Smrg 2621ca08ab68Smrg Returns a set including only those languages found in either ls_a or ls_b. 26222c393a42Smrg 26232c393a42SmrgVersion 26242c393a42Smrg 2625ca08ab68Smrg Fontconfig version 2.10.2 26262c393a42Smrg 2627ca08ab68Smrg FcLangSetSubtract 26282c393a42Smrg 26292c393a42SmrgName 26302c393a42Smrg 2631ca08ab68Smrg FcLangSetSubtract -- Subtract langsets 26322c393a42Smrg 26332c393a42SmrgSynopsis 26342c393a42Smrg 2635ca08ab68Smrg #include <fontconfig.h> 26362c393a42Smrg 2637a6844aabSmrg 2638ca08ab68Smrg FcLangSet * FcLangSetSubtract(const FcLangSet *ls_a, const FcLangSet 2639ca08ab68Smrg *ls_b); 26402c393a42Smrg 26412c393a42SmrgDescription 26422c393a42Smrg 2643ca08ab68Smrg Returns a set including only those languages found in ls_a but not in 2644ca08ab68Smrg ls_b. 26452c393a42Smrg 26462c393a42SmrgVersion 26472c393a42Smrg 2648ca08ab68Smrg Fontconfig version 2.10.2 26492c393a42Smrg 2650ca08ab68Smrg FcLangSetCompare 26512c393a42Smrg 26522c393a42SmrgName 26532c393a42Smrg 2654ca08ab68Smrg FcLangSetCompare -- compare language sets 26552c393a42Smrg 26562c393a42SmrgSynopsis 26572c393a42Smrg 2658ca08ab68Smrg #include <fontconfig.h> 26592c393a42Smrg 2660a6844aabSmrg 2661ca08ab68Smrg FcLangResult FcLangSetCompare(const FcLangSet *ls_a, const FcLangSet 2662ca08ab68Smrg *ls_b); 26632c393a42Smrg 26642c393a42SmrgDescription 26652c393a42Smrg 2666ca08ab68Smrg FcLangSetCompare compares language coverage for ls_a and ls_b. If they 2667ca08ab68Smrg share any language and territory pair, this function returns FcLangEqual. 2668ca08ab68Smrg If they share a language but differ in which territory that language is 2669ca08ab68Smrg for, this function returns FcLangDifferentTerritory. If they share no 2670ca08ab68Smrg languages in common, this function returns FcLangDifferentLang. 26712c393a42Smrg 26722c393a42SmrgVersion 26732c393a42Smrg 2674ca08ab68Smrg Fontconfig version 2.10.2 26752c393a42Smrg 2676ca08ab68Smrg FcLangSetContains 26772c393a42Smrg 26782c393a42SmrgName 26792c393a42Smrg 2680ca08ab68Smrg FcLangSetContains -- check langset subset relation 26812c393a42Smrg 26822c393a42SmrgSynopsis 26832c393a42Smrg 2684ca08ab68Smrg #include <fontconfig.h> 26852c393a42Smrg 2686a6844aabSmrg 2687ca08ab68Smrg FcBool FcLangSetContains(const FcLangSet *ls_a, const FcLangSet *ls_b); 26882c393a42Smrg 26892c393a42SmrgDescription 26902c393a42Smrg 2691ca08ab68Smrg FcLangSetContains returns FcTrue if ls_a contains every language in ls_b. 2692ca08ab68Smrg ls_a will 'contain' a language from ls_b if ls_a has exactly the language, 2693ca08ab68Smrg or either the language or ls_a has no territory. 26942c393a42Smrg 26952c393a42SmrgVersion 26962c393a42Smrg 2697ca08ab68Smrg Fontconfig version 2.10.2 26982c393a42Smrg 2699ca08ab68Smrg FcLangSetEqual 27002c393a42Smrg 27012c393a42SmrgName 27022c393a42Smrg 2703ca08ab68Smrg FcLangSetEqual -- test for matching langsets 27042c393a42Smrg 27052c393a42SmrgSynopsis 27062c393a42Smrg 2707ca08ab68Smrg #include <fontconfig.h> 27082c393a42Smrg 2709a6844aabSmrg 2710ca08ab68Smrg FcBool FcLangSetEqual(const FcLangSet *ls_a, const FcLangSet *ls_b); 27112c393a42Smrg 27122c393a42SmrgDescription 27132c393a42Smrg 2714ca08ab68Smrg Returns FcTrue if and only if ls_a supports precisely the same language 2715ca08ab68Smrg and territory combinations as ls_b. 27162c393a42Smrg 27172c393a42SmrgVersion 27182c393a42Smrg 2719ca08ab68Smrg Fontconfig version 2.10.2 27202c393a42Smrg 2721ca08ab68Smrg FcLangSetHash 27222c393a42Smrg 27232c393a42SmrgName 27242c393a42Smrg 2725ca08ab68Smrg FcLangSetHash -- return a hash value for a langset 27262c393a42Smrg 27272c393a42SmrgSynopsis 27282c393a42Smrg 2729ca08ab68Smrg #include <fontconfig.h> 27302c393a42Smrg 2731a6844aabSmrg 2732ca08ab68Smrg FcChar32 FcLangSetHash(const FcLangSet *ls); 27332c393a42Smrg 27342c393a42SmrgDescription 27352c393a42Smrg 2736ca08ab68Smrg This function returns a value which depends solely on the languages 2737ca08ab68Smrg supported by ls. Any language which equals ls will have the same result 2738ca08ab68Smrg from FcLangSetHash. However, two langsets with the same hash value may not 2739ca08ab68Smrg be equal. 27402c393a42Smrg 27412c393a42SmrgVersion 27422c393a42Smrg 2743ca08ab68Smrg Fontconfig version 2.10.2 27442c393a42Smrg 2745ca08ab68Smrg FcLangSetHasLang 27462c393a42Smrg 27472c393a42SmrgName 27482c393a42Smrg 2749ca08ab68Smrg FcLangSetHasLang -- test langset for language support 2750a6844aabSmrg 2751a6844aabSmrgSynopsis 2752a6844aabSmrg 2753ca08ab68Smrg #include <fontconfig.h> 2754a6844aabSmrg 2755a6844aabSmrg 2756ca08ab68Smrg FcLangResult FcLangSetHasLang(const FcLangSet *ls, const FcChar8 *lang); 2757a6844aabSmrg 2758a6844aabSmrgDescription 2759a6844aabSmrg 2760ca08ab68Smrg FcLangSetHasLang checks whether ls supports lang. If ls has a matching 2761ca08ab68Smrg language and territory pair, this function returns FcLangEqual. If ls has 2762ca08ab68Smrg a matching language but differs in which territory that language is for, 2763ca08ab68Smrg this function returns FcLangDifferentTerritory. If ls has no matching 2764ca08ab68Smrg language, this function returns FcLangDifferentLang. 2765a6844aabSmrg 2766a6844aabSmrgVersion 2767a6844aabSmrg 2768ca08ab68Smrg Fontconfig version 2.10.2 2769a6844aabSmrg 2770ca08ab68Smrg FcGetDefaultLangs 2771a6844aabSmrg 2772a6844aabSmrgName 2773a6844aabSmrg 2774ca08ab68Smrg FcGetDefaultLangs -- Get the default languages list 27752c393a42Smrg 27762c393a42SmrgSynopsis 27772c393a42Smrg 2778ca08ab68Smrg #include <fontconfig.h> 27792c393a42Smrg 2780a6844aabSmrg 2781ca08ab68Smrg FcStrSet * FcGetDefaultLangs(voidls); 27822c393a42Smrg 27832c393a42SmrgDescription 27842c393a42Smrg 2785ca08ab68Smrg Returns a string set of the default languages according to the environment 2786ca08ab68Smrg variables on the system. This function looks for them in order of FC_LANG, 2787ca08ab68Smrg LC_ALL, LC_CTYPE and LANG then. If there are no valid values in those 2788ca08ab68Smrg environment variables, "en" will be set as fallback. 27892c393a42Smrg 27902c393a42SmrgVersion 27912c393a42Smrg 2792ca08ab68Smrg Fontconfig version 2.10.2 27932c393a42Smrg 2794ca08ab68Smrg FcGetLangs 27952c393a42Smrg 27962c393a42SmrgName 27972c393a42Smrg 2798ca08ab68Smrg FcGetLangs -- Get list of languages 27992c393a42Smrg 28002c393a42SmrgSynopsis 28012c393a42Smrg 2802ca08ab68Smrg #include <fontconfig.h> 28032c393a42Smrg 2804a6844aabSmrg 2805ca08ab68Smrg FcStrSet * FcGetLangs(void); 28062c393a42Smrg 28072c393a42SmrgDescription 28082c393a42Smrg 2809ca08ab68Smrg Returns a string set of all known languages. 28102c393a42Smrg 28112c393a42SmrgVersion 28122c393a42Smrg 2813ca08ab68Smrg Fontconfig version 2.10.2 28142c393a42Smrg 2815ca08ab68Smrg FcLangGetCharSet 28162c393a42Smrg 28172c393a42SmrgName 28182c393a42Smrg 2819ca08ab68Smrg FcLangGetCharSet -- Get character map for a language 28202c393a42Smrg 28212c393a42SmrgSynopsis 28222c393a42Smrg 2823ca08ab68Smrg #include <fontconfig.h> 28242c393a42Smrg 2825a6844aabSmrg 2826ca08ab68Smrg const FcCharSet * FcLangGetCharSet(const FcChar8 *lang); 28272c393a42Smrg 28282c393a42SmrgDescription 28292c393a42Smrg 2830ca08ab68Smrg Returns the FcCharMap for a language. 28312c393a42Smrg 28322c393a42SmrgVersion 28332c393a42Smrg 2834ca08ab68Smrg Fontconfig version 2.10.2 2835ca08ab68Smrg 2836ca08ab68Smrg -------------------------------------------------------------------------- 2837ca08ab68Smrg 2838ca08ab68Smrg FcMatrix 2839ca08ab68Smrg 2840ca08ab68Smrg Table of Contents 2841ca08ab68Smrg 2842ca08ab68Smrg [88]FcMatrixInit -- initialize an FcMatrix structure 2843a6844aabSmrg 2844ca08ab68Smrg [89]FcMatrixCopy -- Copy a matrix 28452c393a42Smrg 2846ca08ab68Smrg [90]FcMatrixEqual -- Compare two matrices 28472c393a42Smrg 2848ca08ab68Smrg [91]FcMatrixMultiply -- Multiply matrices 28492c393a42Smrg 2850ca08ab68Smrg [92]FcMatrixRotate -- Rotate a matrix 28512c393a42Smrg 2852ca08ab68Smrg [93]FcMatrixScale -- Scale a matrix 2853ca08ab68Smrg 2854ca08ab68Smrg [94]FcMatrixShear -- Shear a matrix 2855ca08ab68Smrg 2856ca08ab68Smrg FcMatrix structures hold an affine transformation in matrix form. 2857ca08ab68Smrg 2858ca08ab68Smrg FcMatrixInit 28592c393a42Smrg 28602c393a42SmrgName 28612c393a42Smrg 2862ca08ab68Smrg FcMatrixInit -- initialize an FcMatrix structure 28632c393a42Smrg 28642c393a42SmrgSynopsis 28652c393a42Smrg 2866ca08ab68Smrg #include <fontconfig.h> 28672c393a42Smrg 2868a6844aabSmrg 2869ca08ab68Smrg void FcMatrixInit(FcMatrix *matrix); 28702c393a42Smrg 28712c393a42SmrgDescription 28722c393a42Smrg 2873ca08ab68Smrg FcMatrixInit initializes matrix to the identity matrix. 28742c393a42Smrg 28752c393a42SmrgVersion 28762c393a42Smrg 2877ca08ab68Smrg Fontconfig version 2.10.2 28782c393a42Smrg 2879ca08ab68Smrg FcMatrixCopy 28802c393a42Smrg 28812c393a42SmrgName 28822c393a42Smrg 2883ca08ab68Smrg FcMatrixCopy -- Copy a matrix 28842c393a42Smrg 28852c393a42SmrgSynopsis 28862c393a42Smrg 2887ca08ab68Smrg #include <fontconfig.h> 28882c393a42Smrg 2889a6844aabSmrg 2890ca08ab68Smrg void FcMatrixCopy(const FcMatrix *matrix); 28912c393a42Smrg 28922c393a42SmrgDescription 28932c393a42Smrg 2894ca08ab68Smrg FcMatrixCopy allocates a new FcMatrix and copies mat into it. 28952c393a42Smrg 28962c393a42SmrgVersion 28972c393a42Smrg 2898ca08ab68Smrg Fontconfig version 2.10.2 28992c393a42Smrg 2900ca08ab68Smrg FcMatrixEqual 29012c393a42Smrg 29022c393a42SmrgName 29032c393a42Smrg 2904ca08ab68Smrg FcMatrixEqual -- Compare two matrices 29052c393a42Smrg 29062c393a42SmrgSynopsis 29072c393a42Smrg 2908ca08ab68Smrg #include <fontconfig.h> 29092c393a42Smrg 2910a6844aabSmrg 2911ca08ab68Smrg void FcMatrixEqual(const FcMatrix *matrix1, const FcMatrix *matrix2); 29122c393a42Smrg 29132c393a42SmrgDescription 29142c393a42Smrg 2915ca08ab68Smrg FcMatrixEqual compares matrix1 and matrix2 returning FcTrue when they are 2916ca08ab68Smrg equal and FcFalse when they are not. 29172c393a42Smrg 29182c393a42SmrgVersion 29192c393a42Smrg 2920ca08ab68Smrg Fontconfig version 2.10.2 29212c393a42Smrg 2922ca08ab68Smrg FcMatrixMultiply 29232c393a42Smrg 29242c393a42SmrgName 29252c393a42Smrg 2926ca08ab68Smrg FcMatrixMultiply -- Multiply matrices 29272c393a42Smrg 29282c393a42SmrgSynopsis 29292c393a42Smrg 2930ca08ab68Smrg #include <fontconfig.h> 29312c393a42Smrg 2932a6844aabSmrg 2933ca08ab68Smrg void FcMatrixMultiply(FcMatrix *result, const FcMatrix *matrix1, const 2934ca08ab68Smrg FcMatrix *matrix2); 29352c393a42Smrg 29362c393a42SmrgDescription 29372c393a42Smrg 2938ca08ab68Smrg FcMatrixMultiply multiplies matrix1 and matrix2 storing the result in 2939ca08ab68Smrg result. 29402c393a42Smrg 29412c393a42SmrgVersion 29422c393a42Smrg 2943ca08ab68Smrg Fontconfig version 2.10.2 29442c393a42Smrg 2945ca08ab68Smrg FcMatrixRotate 29462c393a42Smrg 29472c393a42SmrgName 29482c393a42Smrg 2949ca08ab68Smrg FcMatrixRotate -- Rotate a matrix 29502c393a42Smrg 29512c393a42SmrgSynopsis 29522c393a42Smrg 2953ca08ab68Smrg #include <fontconfig.h> 29542c393a42Smrg 2955a6844aabSmrg 2956ca08ab68Smrg void FcMatrixRotate(FcMatrix *matrix, double cos, double sin); 29572c393a42Smrg 29582c393a42SmrgDescription 29592c393a42Smrg 2960ca08ab68Smrg FcMatrixRotate rotates matrix by the angle who's sine is sin and cosine is 2961ca08ab68Smrg cos. This is done by multiplying by the matrix: 2962a6844aabSmrg 2963ca08ab68Smrg cos -sin 2964ca08ab68Smrg sin cos 29652c393a42Smrg 29662c393a42SmrgVersion 29672c393a42Smrg 2968ca08ab68Smrg Fontconfig version 2.10.2 29692c393a42Smrg 2970ca08ab68Smrg FcMatrixScale 29712c393a42Smrg 29722c393a42SmrgName 29732c393a42Smrg 2974ca08ab68Smrg FcMatrixScale -- Scale a matrix 29752c393a42Smrg 29762c393a42SmrgSynopsis 29772c393a42Smrg 2978ca08ab68Smrg #include <fontconfig.h> 29792c393a42Smrg 2980a6844aabSmrg 2981ca08ab68Smrg void FcMatrixScale(FcMatrix *matrix, double sx, double dy); 29822c393a42Smrg 29832c393a42SmrgDescription 29842c393a42Smrg 2985ca08ab68Smrg FcMatrixScale multiplies matrix x values by sx and y values by dy. This is 2986ca08ab68Smrg done by multiplying by the matrix: 2987a6844aabSmrg 2988ca08ab68Smrg sx 0 2989ca08ab68Smrg 0 dy 29902c393a42Smrg 29912c393a42SmrgVersion 29922c393a42Smrg 2993ca08ab68Smrg Fontconfig version 2.10.2 29942c393a42Smrg 2995ca08ab68Smrg FcMatrixShear 29962c393a42Smrg 29972c393a42SmrgName 29982c393a42Smrg 2999ca08ab68Smrg FcMatrixShear -- Shear a matrix 30002c393a42Smrg 30012c393a42SmrgSynopsis 30022c393a42Smrg 3003ca08ab68Smrg #include <fontconfig.h> 30042c393a42Smrg 3005a6844aabSmrg 3006ca08ab68Smrg void FcMatrixShear(FcMatrix *matrix, double sh, double sv); 30072c393a42Smrg 30082c393a42SmrgDescription 30092c393a42Smrg 3010ca08ab68Smrg FcMatrixShare shears matrix horizontally by sh and vertically by sv. This 3011ca08ab68Smrg is done by multiplying by the matrix: 3012a6844aabSmrg 3013ca08ab68Smrg 1 sh 3014ca08ab68Smrg sv 1 30152c393a42Smrg 30162c393a42SmrgVersion 30172c393a42Smrg 3018ca08ab68Smrg Fontconfig version 2.10.2 3019ca08ab68Smrg 3020ca08ab68Smrg -------------------------------------------------------------------------- 3021ca08ab68Smrg 3022ca08ab68Smrg FcConfig 3023ca08ab68Smrg 3024ca08ab68Smrg Table of Contents 3025ca08ab68Smrg 3026ca08ab68Smrg [95]FcConfigCreate -- Create a configuration 3027ca08ab68Smrg 3028ca08ab68Smrg [96]FcConfigReference -- Increment config reference count 3029ca08ab68Smrg 3030ca08ab68Smrg [97]FcConfigDestroy -- Destroy a configuration 3031ca08ab68Smrg 3032ca08ab68Smrg [98]FcConfigSetCurrent -- Set configuration as default 3033ca08ab68Smrg 3034ca08ab68Smrg [99]FcConfigGetCurrent -- Return current configuration 3035ca08ab68Smrg 3036ca08ab68Smrg [100]FcConfigUptoDate -- Check timestamps on config files 3037ca08ab68Smrg 3038ca08ab68Smrg [101]FcConfigHome -- return the current home directory. 3039ca08ab68Smrg 3040ca08ab68Smrg [102]FcConfigEnableHome -- controls use of the home directory. 3041ca08ab68Smrg 3042ca08ab68Smrg [103]FcConfigBuildFonts -- Build font database 3043ca08ab68Smrg 3044ca08ab68Smrg [104]FcConfigGetConfigDirs -- Get config directories 3045ca08ab68Smrg 3046ca08ab68Smrg [105]FcConfigGetFontDirs -- Get font directories 3047ca08ab68Smrg 3048ca08ab68Smrg [106]FcConfigGetConfigFiles -- Get config files 3049ca08ab68Smrg 3050ca08ab68Smrg [107]FcConfigGetCache -- DEPRECATED used to return per-user cache filename 3051ca08ab68Smrg 3052ca08ab68Smrg [108]FcConfigGetCacheDirs -- return the list of directories searched for 3053ca08ab68Smrg cache files 3054ca08ab68Smrg 3055ca08ab68Smrg [109]FcConfigGetFonts -- Get config font set 3056ca08ab68Smrg 3057ca08ab68Smrg [110]FcConfigGetBlanks -- Get config blanks 3058a6844aabSmrg 3059ca08ab68Smrg [111]FcConfigGetRescanInterval -- Get config rescan interval 3060a6844aabSmrg 3061ca08ab68Smrg [112]FcConfigSetRescanInterval -- Set config rescan interval 3062a6844aabSmrg 3063ca08ab68Smrg [113]FcConfigAppFontAddFile -- Add font file to font database 3064a6844aabSmrg 3065ca08ab68Smrg [114]FcConfigAppFontAddDir -- Add fonts from directory to font database 30662c393a42Smrg 3067ca08ab68Smrg [115]FcConfigAppFontClear -- Remove all app fonts from font database 3068ca08ab68Smrg 3069ca08ab68Smrg [116]FcConfigSubstituteWithPat -- Execute substitutions 3070ca08ab68Smrg 3071ca08ab68Smrg [117]FcConfigSubstitute -- Execute substitutions 3072ca08ab68Smrg 3073ca08ab68Smrg [118]FcFontMatch -- Return best font 3074ca08ab68Smrg 3075ca08ab68Smrg [119]FcFontSort -- Return list of matching fonts 3076ca08ab68Smrg 3077ca08ab68Smrg [120]FcFontRenderPrepare -- Prepare pattern for loading font file 3078ca08ab68Smrg 3079ca08ab68Smrg [121]FcFontList -- List fonts 3080ca08ab68Smrg 3081ca08ab68Smrg [122]FcConfigFilename -- Find a config file 3082ca08ab68Smrg 3083ca08ab68Smrg [123]FcConfigParseAndLoad -- load a configuration file 3084ca08ab68Smrg 3085ca08ab68Smrg An FcConfig object holds the internal representation of a configuration. 3086ca08ab68Smrg There is a default configuration which applications may use by passing 0 3087ca08ab68Smrg to any function using the data within an FcConfig. 3088ca08ab68Smrg 3089ca08ab68Smrg FcConfigCreate 30902c393a42Smrg 30912c393a42SmrgName 30922c393a42Smrg 3093ca08ab68Smrg FcConfigCreate -- Create a configuration 30942c393a42Smrg 30952c393a42SmrgSynopsis 30962c393a42Smrg 3097ca08ab68Smrg #include <fontconfig.h> 30982c393a42Smrg 3099a6844aabSmrg 3100ca08ab68Smrg FcConfig * FcConfigCreate(void); 31012c393a42Smrg 31022c393a42SmrgDescription 31032c393a42Smrg 3104ca08ab68Smrg Creates an empty configuration. 31052c393a42Smrg 31062c393a42SmrgVersion 31072c393a42Smrg 3108ca08ab68Smrg Fontconfig version 2.10.2 3109a6844aabSmrg 3110ca08ab68Smrg FcConfigReference 3111a6844aabSmrg 3112a6844aabSmrgName 3113a6844aabSmrg 3114ca08ab68Smrg FcConfigReference -- Increment config reference count 3115a6844aabSmrg 3116a6844aabSmrgSynopsis 3117a6844aabSmrg 3118ca08ab68Smrg #include <fontconfig.h> 3119a6844aabSmrg 3120a6844aabSmrg 3121ca08ab68Smrg FcConfig * FcConfigReference(FcConfig *config); 3122a6844aabSmrg 3123a6844aabSmrgDescription 3124a6844aabSmrg 3125ca08ab68Smrg Add another reference to config. Configs are freed only when the reference 3126ca08ab68Smrg count reaches zero. If config is NULL, the current configuration is used. 3127ca08ab68Smrg In that case this function will be similar to FcConfigGetCurrent() except 3128ca08ab68Smrg that it increments the reference count before returning and the user is 3129ca08ab68Smrg responsible for destroying the configuration when not needed anymore. 3130a6844aabSmrg 3131a6844aabSmrgVersion 3132a6844aabSmrg 3133ca08ab68Smrg Fontconfig version 2.10.2 31342c393a42Smrg 3135ca08ab68Smrg FcConfigDestroy 31362c393a42Smrg 31372c393a42SmrgName 31382c393a42Smrg 3139ca08ab68Smrg FcConfigDestroy -- Destroy a configuration 31402c393a42Smrg 31412c393a42SmrgSynopsis 31422c393a42Smrg 3143ca08ab68Smrg #include <fontconfig.h> 31442c393a42Smrg 3145a6844aabSmrg 3146ca08ab68Smrg void FcConfigDestroy(FcConfig *config); 31472c393a42Smrg 31482c393a42SmrgDescription 31492c393a42Smrg 3150ca08ab68Smrg Decrements the config reference count. If all references are gone, 3151ca08ab68Smrg destroys the configuration and any data associated with it. Note that 3152ca08ab68Smrg calling this function with the return from FcConfigGetCurrent will cause a 3153ca08ab68Smrg new configuration to be created for use as current configuration. 31542c393a42Smrg 31552c393a42SmrgVersion 31562c393a42Smrg 3157ca08ab68Smrg Fontconfig version 2.10.2 31582c393a42Smrg 3159ca08ab68Smrg FcConfigSetCurrent 31602c393a42Smrg 31612c393a42SmrgName 31622c393a42Smrg 3163ca08ab68Smrg FcConfigSetCurrent -- Set configuration as default 31642c393a42Smrg 31652c393a42SmrgSynopsis 31662c393a42Smrg 3167ca08ab68Smrg #include <fontconfig.h> 31682c393a42Smrg 3169a6844aabSmrg 3170ca08ab68Smrg FcBool FcConfigSetCurrent(FcConfig *config); 31712c393a42Smrg 31722c393a42SmrgDescription 31732c393a42Smrg 3174ca08ab68Smrg Sets the current default configuration to config. Implicitly calls 3175ca08ab68Smrg FcConfigBuildFonts if necessary, returning FcFalse if that call fails. 31762c393a42Smrg 31772c393a42SmrgVersion 31782c393a42Smrg 3179ca08ab68Smrg Fontconfig version 2.10.2 31802c393a42Smrg 3181ca08ab68Smrg FcConfigGetCurrent 31822c393a42Smrg 31832c393a42SmrgName 31842c393a42Smrg 3185ca08ab68Smrg FcConfigGetCurrent -- Return current configuration 31862c393a42Smrg 31872c393a42SmrgSynopsis 31882c393a42Smrg 3189ca08ab68Smrg #include <fontconfig.h> 31902c393a42Smrg 3191a6844aabSmrg 3192ca08ab68Smrg FcConfig * FcConfigGetCurrent(void); 31932c393a42Smrg 31942c393a42SmrgDescription 31952c393a42Smrg 3196ca08ab68Smrg Returns the current default configuration. 31972c393a42Smrg 31982c393a42SmrgVersion 31992c393a42Smrg 3200ca08ab68Smrg Fontconfig version 2.10.2 32012c393a42Smrg 3202ca08ab68Smrg FcConfigUptoDate 32032c393a42Smrg 32042c393a42SmrgName 32052c393a42Smrg 3206ca08ab68Smrg FcConfigUptoDate -- Check timestamps on config files 32072c393a42Smrg 32082c393a42SmrgSynopsis 32092c393a42Smrg 3210ca08ab68Smrg #include <fontconfig.h> 32112c393a42Smrg 3212a6844aabSmrg 3213ca08ab68Smrg FcBool FcConfigUptoDate(FcConfig *config); 32142c393a42Smrg 32152c393a42SmrgDescription 32162c393a42Smrg 3217ca08ab68Smrg Checks all of the files related to config and returns whether any of them 3218ca08ab68Smrg has been modified since the configuration was created. If config is NULL, 3219ca08ab68Smrg the current configuration is used. 32202c393a42Smrg 32212c393a42SmrgVersion 32222c393a42Smrg 3223ca08ab68Smrg Fontconfig version 2.10.2 32242c393a42Smrg 3225ca08ab68Smrg FcConfigHome 32262c393a42Smrg 32272c393a42SmrgName 32282c393a42Smrg 3229ca08ab68Smrg FcConfigHome -- return the current home directory. 32302c393a42Smrg 32312c393a42SmrgSynopsis 32322c393a42Smrg 3233ca08ab68Smrg #include <fontconfig.h> 32342c393a42Smrg 3235a6844aabSmrg 3236ca08ab68Smrg FcChar8 * FcConfigHome(void); 32372c393a42Smrg 32382c393a42SmrgDescription 32392c393a42Smrg 3240ca08ab68Smrg Return the current user's home directory, if it is available, and if using 3241ca08ab68Smrg it is enabled, and NULL otherwise. See also FcConfigEnableHome). 32422c393a42Smrg 32432c393a42SmrgVersion 32442c393a42Smrg 3245ca08ab68Smrg Fontconfig version 2.10.2 32462c393a42Smrg 3247ca08ab68Smrg FcConfigEnableHome 32482c393a42Smrg 32492c393a42SmrgName 32502c393a42Smrg 3251ca08ab68Smrg FcConfigEnableHome -- controls use of the home directory. 32522c393a42Smrg 32532c393a42SmrgSynopsis 32542c393a42Smrg 3255ca08ab68Smrg #include <fontconfig.h> 32562c393a42Smrg 3257a6844aabSmrg 3258ca08ab68Smrg FcBool FcConfigEnableHome(FcBool enable); 32592c393a42Smrg 32602c393a42SmrgDescription 32612c393a42Smrg 3262ca08ab68Smrg If enable is FcTrue, then Fontconfig will use various files which are 3263ca08ab68Smrg specified relative to the user's home directory (using the ~ notation in 3264ca08ab68Smrg the configuration). When enable is FcFalse, then all use of the home 3265ca08ab68Smrg directory in these contexts will be disabled. The previous setting of the 3266ca08ab68Smrg value is returned. 32672c393a42Smrg 32682c393a42SmrgVersion 32692c393a42Smrg 3270ca08ab68Smrg Fontconfig version 2.10.2 32712c393a42Smrg 3272ca08ab68Smrg FcConfigBuildFonts 32732c393a42Smrg 32742c393a42SmrgName 32752c393a42Smrg 3276ca08ab68Smrg FcConfigBuildFonts -- Build font database 32772c393a42Smrg 32782c393a42SmrgSynopsis 32792c393a42Smrg 3280ca08ab68Smrg #include <fontconfig.h> 32812c393a42Smrg 3282a6844aabSmrg 3283ca08ab68Smrg FcBool FcConfigBuildFonts(FcConfig *config); 32842c393a42Smrg 32852c393a42SmrgDescription 32862c393a42Smrg 3287ca08ab68Smrg Builds the set of available fonts for the given configuration. Note that 3288ca08ab68Smrg any changes to the configuration after this call have indeterminate 3289ca08ab68Smrg effects. Returns FcFalse if this operation runs out of memory. If config 3290ca08ab68Smrg is NULL, the current configuration is used. 32912c393a42Smrg 32922c393a42SmrgVersion 32932c393a42Smrg 3294ca08ab68Smrg Fontconfig version 2.10.2 32952c393a42Smrg 3296ca08ab68Smrg FcConfigGetConfigDirs 32972c393a42Smrg 32982c393a42SmrgName 32992c393a42Smrg 3300ca08ab68Smrg FcConfigGetConfigDirs -- Get config directories 33012c393a42Smrg 33022c393a42SmrgSynopsis 33032c393a42Smrg 3304ca08ab68Smrg #include <fontconfig.h> 33052c393a42Smrg 3306a6844aabSmrg 3307ca08ab68Smrg FcStrList * FcConfigGetConfigDirs(FcConfig *config); 33082c393a42Smrg 33092c393a42SmrgDescription 33102c393a42Smrg 3311ca08ab68Smrg Returns the list of font directories specified in the configuration files 3312ca08ab68Smrg for config. Does not include any subdirectories. If config is NULL, the 3313ca08ab68Smrg current configuration is used. 33142c393a42Smrg 33152c393a42SmrgVersion 33162c393a42Smrg 3317ca08ab68Smrg Fontconfig version 2.10.2 33182c393a42Smrg 3319ca08ab68Smrg FcConfigGetFontDirs 33202c393a42Smrg 33212c393a42SmrgName 33222c393a42Smrg 3323ca08ab68Smrg FcConfigGetFontDirs -- Get font directories 33242c393a42Smrg 33252c393a42SmrgSynopsis 33262c393a42Smrg 3327ca08ab68Smrg #include <fontconfig.h> 33282c393a42Smrg 3329a6844aabSmrg 3330ca08ab68Smrg FcStrList * FcConfigGetFontDirs(FcConfig *config); 33312c393a42Smrg 33322c393a42SmrgDescription 33332c393a42Smrg 3334ca08ab68Smrg Returns the list of font directories in config. This includes the 3335ca08ab68Smrg configured font directories along with any directories below those in the 3336ca08ab68Smrg filesystem. If config is NULL, the current configuration is used. 33372c393a42Smrg 33382c393a42SmrgVersion 33392c393a42Smrg 3340ca08ab68Smrg Fontconfig version 2.10.2 33412c393a42Smrg 3342ca08ab68Smrg FcConfigGetConfigFiles 33432c393a42Smrg 33442c393a42SmrgName 33452c393a42Smrg 3346ca08ab68Smrg FcConfigGetConfigFiles -- Get config files 33472c393a42Smrg 33482c393a42SmrgSynopsis 33492c393a42Smrg 3350ca08ab68Smrg #include <fontconfig.h> 33512c393a42Smrg 3352a6844aabSmrg 3353ca08ab68Smrg FcStrList * FcConfigGetConfigFiles(FcConfig *config); 33542c393a42Smrg 33552c393a42SmrgDescription 33562c393a42Smrg 3357ca08ab68Smrg Returns the list of known configuration files used to generate config. If 3358ca08ab68Smrg config is NULL, the current configuration is used. 33592c393a42Smrg 33602c393a42SmrgVersion 33612c393a42Smrg 3362ca08ab68Smrg Fontconfig version 2.10.2 33632c393a42Smrg 3364ca08ab68Smrg FcConfigGetCache 33652c393a42Smrg 33662c393a42SmrgName 33672c393a42Smrg 3368ca08ab68Smrg FcConfigGetCache -- DEPRECATED used to return per-user cache filename 33692c393a42Smrg 33702c393a42SmrgSynopsis 33712c393a42Smrg 3372ca08ab68Smrg #include <fontconfig.h> 33732c393a42Smrg 3374a6844aabSmrg 3375ca08ab68Smrg FcChar8 * FcConfigGetCache(FcConfig *config); 33762c393a42Smrg 33772c393a42SmrgDescription 33782c393a42Smrg 3379ca08ab68Smrg With fontconfig no longer using per-user cache files, this function now 3380ca08ab68Smrg simply returns NULL to indicate that no per-user file exists. 33812c393a42Smrg 33822c393a42SmrgVersion 33832c393a42Smrg 3384ca08ab68Smrg Fontconfig version 2.10.2 33852c393a42Smrg 3386ca08ab68Smrg FcConfigGetCacheDirs 33872c393a42Smrg 33882c393a42SmrgName 33892c393a42Smrg 3390ca08ab68Smrg FcConfigGetCacheDirs -- return the list of directories searched for cache 3391ca08ab68Smrg files 33922c393a42Smrg 33932c393a42SmrgSynopsis 33942c393a42Smrg 3395ca08ab68Smrg #include <fontconfig.h> 33962c393a42Smrg 3397a6844aabSmrg 3398ca08ab68Smrg FcStrList * FcConfigGetCacheDirs(const FcConfig *config); 33992c393a42Smrg 34002c393a42SmrgDescription 34012c393a42Smrg 3402ca08ab68Smrg FcConfigGetCacheDirs returns a string list containing all of the 3403ca08ab68Smrg directories that fontconfig will search when attempting to load a cache 3404ca08ab68Smrg file for a font directory. If config is NULL, the current configuration is 3405ca08ab68Smrg used. 34062c393a42Smrg 34072c393a42SmrgVersion 34082c393a42Smrg 3409ca08ab68Smrg Fontconfig version 2.10.2 34102c393a42Smrg 3411ca08ab68Smrg FcConfigGetFonts 34122c393a42Smrg 34132c393a42SmrgName 34142c393a42Smrg 3415ca08ab68Smrg FcConfigGetFonts -- Get config font set 34162c393a42Smrg 34172c393a42SmrgSynopsis 34182c393a42Smrg 3419ca08ab68Smrg #include <fontconfig.h> 34202c393a42Smrg 3421a6844aabSmrg 3422ca08ab68Smrg FcFontSet * FcConfigGetFonts(FcConfig *config, FcSetName set); 34232c393a42Smrg 34242c393a42SmrgDescription 34252c393a42Smrg 3426ca08ab68Smrg Returns one of the two sets of fonts from the configuration as specified 3427ca08ab68Smrg by set. This font set is owned by the library and must not be modified or 3428ca08ab68Smrg freed. If config is NULL, the current configuration is used. 34292c393a42Smrg 34302c393a42SmrgVersion 34312c393a42Smrg 3432ca08ab68Smrg Fontconfig version 2.10.2 34332c393a42Smrg 3434ca08ab68Smrg FcConfigGetBlanks 34352c393a42Smrg 34362c393a42SmrgName 34372c393a42Smrg 3438ca08ab68Smrg FcConfigGetBlanks -- Get config blanks 34392c393a42Smrg 34402c393a42SmrgSynopsis 34412c393a42Smrg 3442ca08ab68Smrg #include <fontconfig.h> 34432c393a42Smrg 3444a6844aabSmrg 3445ca08ab68Smrg FcBlanks * FcConfigGetBlanks(FcConfig *config); 34462c393a42Smrg 34472c393a42SmrgDescription 34482c393a42Smrg 3449ca08ab68Smrg Returns the FcBlanks object associated with the given configuration, if no 3450ca08ab68Smrg blanks were present in the configuration, this function will return 0. The 3451ca08ab68Smrg returned FcBlanks object if not NULL, is valid as long as the owning 3452ca08ab68Smrg FcConfig is alive. If config is NULL, the current configuration is used. 34532c393a42Smrg 34542c393a42SmrgVersion 34552c393a42Smrg 3456ca08ab68Smrg Fontconfig version 2.10.2 34572c393a42Smrg 3458ca08ab68Smrg FcConfigGetRescanInterval 34592c393a42Smrg 34602c393a42SmrgName 34612c393a42Smrg 3462ca08ab68Smrg FcConfigGetRescanInterval -- Get config rescan interval 34632c393a42Smrg 34642c393a42SmrgSynopsis 34652c393a42Smrg 3466ca08ab68Smrg #include <fontconfig.h> 34672c393a42Smrg 3468a6844aabSmrg 3469ca08ab68Smrg int FcConfigGetRescanInterval(FcConfig *config); 34702c393a42Smrg 34712c393a42SmrgDescription 34722c393a42Smrg 3473ca08ab68Smrg Returns the interval between automatic checks of the configuration (in 3474ca08ab68Smrg seconds) specified in config. The configuration is checked during a call 3475ca08ab68Smrg to FcFontList when this interval has passed since the last check. An 3476ca08ab68Smrg interval setting of zero disables automatic checks. If config is NULL, the 3477ca08ab68Smrg current configuration is used. 34782c393a42Smrg 34792c393a42SmrgVersion 34802c393a42Smrg 3481ca08ab68Smrg Fontconfig version 2.10.2 34822c393a42Smrg 3483ca08ab68Smrg FcConfigSetRescanInterval 34842c393a42Smrg 34852c393a42SmrgName 34862c393a42Smrg 3487ca08ab68Smrg FcConfigSetRescanInterval -- Set config rescan interval 34882c393a42Smrg 34892c393a42SmrgSynopsis 34902c393a42Smrg 3491ca08ab68Smrg #include <fontconfig.h> 34922c393a42Smrg 3493a6844aabSmrg 3494ca08ab68Smrg FcBool FcConfigSetRescanInterval(FcConfig *config, int rescanInterval); 34952c393a42Smrg 34962c393a42SmrgDescription 34972c393a42Smrg 3498ca08ab68Smrg Sets the rescan interval. Returns FcFalse if the interval cannot be set 3499ca08ab68Smrg (due to allocation failure). Otherwise returns FcTrue. An interval setting 3500ca08ab68Smrg of zero disables automatic checks. If config is NULL, the current 3501ca08ab68Smrg configuration is used. 35022c393a42Smrg 35032c393a42SmrgVersion 35042c393a42Smrg 3505ca08ab68Smrg Fontconfig version 2.10.2 35062c393a42Smrg 3507ca08ab68Smrg FcConfigAppFontAddFile 35082c393a42Smrg 35092c393a42SmrgName 35102c393a42Smrg 3511ca08ab68Smrg FcConfigAppFontAddFile -- Add font file to font database 35122c393a42Smrg 35132c393a42SmrgSynopsis 35142c393a42Smrg 3515ca08ab68Smrg #include <fontconfig.h> 35162c393a42Smrg 3517a6844aabSmrg 3518ca08ab68Smrg FcBool FcConfigAppFontAddFile(FcConfig *config, const FcChar8 *file); 35192c393a42Smrg 35202c393a42SmrgDescription 35212c393a42Smrg 3522ca08ab68Smrg Adds an application-specific font to the configuration. Returns FcFalse if 3523ca08ab68Smrg the fonts cannot be added (due to allocation failure). Otherwise returns 3524ca08ab68Smrg FcTrue. If config is NULL, the current configuration is used. 35252c393a42Smrg 35262c393a42SmrgVersion 35272c393a42Smrg 3528ca08ab68Smrg Fontconfig version 2.10.2 35292c393a42Smrg 3530ca08ab68Smrg FcConfigAppFontAddDir 35312c393a42Smrg 35322c393a42SmrgName 35332c393a42Smrg 3534ca08ab68Smrg FcConfigAppFontAddDir -- Add fonts from directory to font database 35352c393a42Smrg 35362c393a42SmrgSynopsis 35372c393a42Smrg 3538ca08ab68Smrg #include <fontconfig.h> 35392c393a42Smrg 3540a6844aabSmrg 3541ca08ab68Smrg FcBool FcConfigAppFontAddDir(FcConfig *config, const FcChar8 *dir); 35422c393a42Smrg 35432c393a42SmrgDescription 35442c393a42Smrg 3545ca08ab68Smrg Scans the specified directory for fonts, adding each one found to the 3546ca08ab68Smrg application-specific set of fonts. Returns FcFalse if the fonts cannot be 3547ca08ab68Smrg added (due to allocation failure). Otherwise returns FcTrue. If config is 3548ca08ab68Smrg NULL, the current configuration is used. 35492c393a42Smrg 35502c393a42SmrgVersion 35512c393a42Smrg 3552ca08ab68Smrg Fontconfig version 2.10.2 35532c393a42Smrg 3554ca08ab68Smrg FcConfigAppFontClear 35552c393a42Smrg 35562c393a42SmrgName 35572c393a42Smrg 3558ca08ab68Smrg FcConfigAppFontClear -- Remove all app fonts from font database 35592c393a42Smrg 35602c393a42SmrgSynopsis 35612c393a42Smrg 3562ca08ab68Smrg #include <fontconfig.h> 35632c393a42Smrg 3564a6844aabSmrg 3565ca08ab68Smrg void FcConfigAppFontClear(FcConfig *config); 35662c393a42Smrg 35672c393a42SmrgDescription 35682c393a42Smrg 3569ca08ab68Smrg Clears the set of application-specific fonts. If config is NULL, the 3570ca08ab68Smrg current configuration is used. 35712c393a42Smrg 35722c393a42SmrgVersion 35732c393a42Smrg 3574ca08ab68Smrg Fontconfig version 2.10.2 35752c393a42Smrg 3576ca08ab68Smrg FcConfigSubstituteWithPat 35772c393a42Smrg 35782c393a42SmrgName 35792c393a42Smrg 3580ca08ab68Smrg FcConfigSubstituteWithPat -- Execute substitutions 35812c393a42Smrg 35822c393a42SmrgSynopsis 35832c393a42Smrg 3584ca08ab68Smrg #include <fontconfig.h> 35852c393a42Smrg 3586a6844aabSmrg 3587ca08ab68Smrg FcBool FcConfigSubstituteWithPat(FcConfig *config, FcPattern *p, FcPattern 3588ca08ab68Smrg *p_pat, FcMatchKind kind); 35892c393a42Smrg 35902c393a42SmrgDescription 35912c393a42Smrg 3592ca08ab68Smrg Performs the sequence of pattern modification operations, if kind is 3593ca08ab68Smrg FcMatchPattern, then those tagged as pattern operations are applied, else 3594ca08ab68Smrg if kind is FcMatchFont, those tagged as font operations are applied and 3595ca08ab68Smrg p_pat is used for <test> elements with target=pattern. Returns FcFalse if 3596ca08ab68Smrg the substitution cannot be performed (due to allocation failure). 3597ca08ab68Smrg Otherwise returns FcTrue. If config is NULL, the current configuration is 3598ca08ab68Smrg used. 35992c393a42Smrg 36002c393a42SmrgVersion 36012c393a42Smrg 3602ca08ab68Smrg Fontconfig version 2.10.2 36032c393a42Smrg 3604ca08ab68Smrg FcConfigSubstitute 36052c393a42Smrg 36062c393a42SmrgName 36072c393a42Smrg 3608ca08ab68Smrg FcConfigSubstitute -- Execute substitutions 36092c393a42Smrg 36102c393a42SmrgSynopsis 36112c393a42Smrg 3612ca08ab68Smrg #include <fontconfig.h> 36132c393a42Smrg 3614a6844aabSmrg 3615ca08ab68Smrg FcBool FcConfigSubstitute(FcConfig *config, FcPattern *p, FcMatchKind 3616ca08ab68Smrg kind); 36172c393a42Smrg 36182c393a42SmrgDescription 36192c393a42Smrg 3620ca08ab68Smrg Calls FcConfigSubstituteWithPat setting p_pat to NULL. Returns FcFalse if 3621ca08ab68Smrg the substitution cannot be performed (due to allocation failure). 3622ca08ab68Smrg Otherwise returns FcTrue. If config is NULL, the current configuration is 3623ca08ab68Smrg used. 36242c393a42Smrg 36252c393a42SmrgVersion 36262c393a42Smrg 3627ca08ab68Smrg Fontconfig version 2.10.2 36282c393a42Smrg 3629ca08ab68Smrg FcFontMatch 36302c393a42Smrg 36312c393a42SmrgName 36322c393a42Smrg 3633ca08ab68Smrg FcFontMatch -- Return best font 36342c393a42Smrg 36352c393a42SmrgSynopsis 36362c393a42Smrg 3637ca08ab68Smrg #include <fontconfig.h> 36382c393a42Smrg 3639a6844aabSmrg 3640ca08ab68Smrg FcPattern * FcFontMatch(FcConfig *config, FcPattern *p, FcResult *result); 36412c393a42Smrg 36422c393a42SmrgDescription 36432c393a42Smrg 3644ca08ab68Smrg Finds the font in sets most closely matching pattern and returns the 3645ca08ab68Smrg result of FcFontRenderPrepare for that font and the provided pattern. This 3646ca08ab68Smrg function should be called only after FcConfigSubstitute and 3647ca08ab68Smrg FcDefaultSubstitute have been called for p; otherwise the results will not 3648ca08ab68Smrg be correct. If config is NULL, the current configuration is used. 36492c393a42Smrg 36502c393a42SmrgVersion 36512c393a42Smrg 3652ca08ab68Smrg Fontconfig version 2.10.2 36532c393a42Smrg 3654ca08ab68Smrg FcFontSort 36552c393a42Smrg 36562c393a42SmrgName 36572c393a42Smrg 3658ca08ab68Smrg FcFontSort -- Return list of matching fonts 36592c393a42Smrg 36602c393a42SmrgSynopsis 36612c393a42Smrg 3662ca08ab68Smrg #include <fontconfig.h> 36632c393a42Smrg 3664a6844aabSmrg 3665ca08ab68Smrg FcFontSet * FcFontSort(FcConfig *config, FcPattern *p, FcBool trim, 3666ca08ab68Smrg FcCharSet **csp, FcResult *result); 36672c393a42Smrg 36682c393a42SmrgDescription 36692c393a42Smrg 3670ca08ab68Smrg Returns the list of fonts sorted by closeness to p. If trim is FcTrue, 3671ca08ab68Smrg elements in the list which don't include Unicode coverage not provided by 3672ca08ab68Smrg earlier elements in the list are elided. The union of Unicode coverage of 3673ca08ab68Smrg all of the fonts is returned in csp, if csp is not NULL. This function 3674ca08ab68Smrg should be called only after FcConfigSubstitute and FcDefaultSubstitute 3675ca08ab68Smrg have been called for p; otherwise the results will not be correct. 36762c393a42Smrg 3677ca08ab68Smrg The returned FcFontSet references FcPattern structures which may be shared 3678ca08ab68Smrg by the return value from multiple FcFontSort calls, applications must not 3679ca08ab68Smrg modify these patterns. Instead, they should be passed, along with p to 3680ca08ab68Smrg FcFontRenderPrepare which combines them into a complete pattern. 36812c393a42Smrg 3682ca08ab68Smrg The FcFontSet returned by FcFontSort is destroyed by calling 3683ca08ab68Smrg FcFontSetDestroy. If config is NULL, the current configuration is used. 36842c393a42Smrg 36852c393a42SmrgVersion 36862c393a42Smrg 3687ca08ab68Smrg Fontconfig version 2.10.2 36882c393a42Smrg 3689ca08ab68Smrg FcFontRenderPrepare 36902c393a42Smrg 36912c393a42SmrgName 36922c393a42Smrg 3693ca08ab68Smrg FcFontRenderPrepare -- Prepare pattern for loading font file 36942c393a42Smrg 36952c393a42SmrgSynopsis 36962c393a42Smrg 3697ca08ab68Smrg #include <fontconfig.h> 36982c393a42Smrg 3699a6844aabSmrg 3700ca08ab68Smrg FcPattern * FcFontRenderPrepare(FcConfig *config, FcPattern *pat, 3701ca08ab68Smrg FcPattern *font); 37022c393a42Smrg 37032c393a42SmrgDescription 37042c393a42Smrg 3705ca08ab68Smrg Creates a new pattern consisting of elements of font not appearing in pat, 3706ca08ab68Smrg elements of pat not appearing in font and the best matching value from pat 3707ca08ab68Smrg for elements appearing in both. The result is passed to 3708ca08ab68Smrg FcConfigSubstituteWithPat with kind FcMatchFont and then returned. 37092c393a42Smrg 37102c393a42SmrgVersion 37112c393a42Smrg 3712ca08ab68Smrg Fontconfig version 2.10.2 37132c393a42Smrg 3714ca08ab68Smrg FcFontList 37152c393a42Smrg 37162c393a42SmrgName 37172c393a42Smrg 3718ca08ab68Smrg FcFontList -- List fonts 37192c393a42Smrg 37202c393a42SmrgSynopsis 37212c393a42Smrg 3722ca08ab68Smrg #include <fontconfig.h> 37232c393a42Smrg 3724a6844aabSmrg 3725ca08ab68Smrg FcFontSet * FcFontList(FcConfig *config, FcPattern *p, FcObjectSet *os); 37262c393a42Smrg 37272c393a42SmrgDescription 37282c393a42Smrg 3729ca08ab68Smrg Selects fonts matching p, creates patterns from those fonts containing 3730ca08ab68Smrg only the objects in os and returns the set of unique such patterns. If 3731ca08ab68Smrg config is NULL, the default configuration is checked to be up to date, and 3732ca08ab68Smrg used. 37332c393a42Smrg 37342c393a42SmrgVersion 37352c393a42Smrg 3736ca08ab68Smrg Fontconfig version 2.10.2 37372c393a42Smrg 3738ca08ab68Smrg FcConfigFilename 37392c393a42Smrg 37402c393a42SmrgName 37412c393a42Smrg 3742ca08ab68Smrg FcConfigFilename -- Find a config file 37432c393a42Smrg 37442c393a42SmrgSynopsis 37452c393a42Smrg 3746ca08ab68Smrg #include <fontconfig.h> 37472c393a42Smrg 3748a6844aabSmrg 3749ca08ab68Smrg FcChar8 * FcConfigFilename(const FcChar8 *name); 37502c393a42Smrg 37512c393a42SmrgDescription 37522c393a42Smrg 3753ca08ab68Smrg Given the specified external entity name, return the associated filename. 3754ca08ab68Smrg This provides applications a way to convert various configuration file 3755ca08ab68Smrg references into filename form. 37562c393a42Smrg 3757ca08ab68Smrg A null or empty name indicates that the default configuration file should 3758ca08ab68Smrg be used; which file this references can be overridden with the 3759ca08ab68Smrg FONTCONFIG_FILE environment variable. Next, if the name starts with ~, it 3760ca08ab68Smrg refers to a file in the current users home directory. Otherwise if the 3761ca08ab68Smrg name doesn't start with '/', it refers to a file in the default 3762ca08ab68Smrg configuration directory; the built-in default directory can be overridden 3763ca08ab68Smrg with the FONTCONFIG_PATH environment variable. 37642c393a42Smrg 37652c393a42SmrgVersion 37662c393a42Smrg 3767ca08ab68Smrg Fontconfig version 2.10.2 37682c393a42Smrg 3769ca08ab68Smrg FcConfigParseAndLoad 37702c393a42Smrg 37712c393a42SmrgName 37722c393a42Smrg 3773ca08ab68Smrg FcConfigParseAndLoad -- load a configuration file 37742c393a42Smrg 37752c393a42SmrgSynopsis 37762c393a42Smrg 3777ca08ab68Smrg #include <fontconfig.h> 37782c393a42Smrg 3779a6844aabSmrg 3780ca08ab68Smrg FcBool FcConfigParseAndLoad(FcConfig *config, const FcChar8 *file, FcBool 3781ca08ab68Smrg complain); 37822c393a42Smrg 37832c393a42SmrgDescription 37842c393a42Smrg 3785ca08ab68Smrg Walks the configuration in 'file' and constructs the internal 3786ca08ab68Smrg representation in 'config'. Any include files referenced from within 3787ca08ab68Smrg 'file' will be loaded and parsed. If 'complain' is FcFalse, no warning 3788ca08ab68Smrg will be displayed if 'file' does not exist. Error and warning messages 3789ca08ab68Smrg will be output to stderr. Returns FcFalse if some error occurred while 3790ca08ab68Smrg loading the file, either a parse error, semantic error or allocation 3791ca08ab68Smrg failure. Otherwise returns FcTrue. 37922c393a42Smrg 37932c393a42SmrgVersion 37942c393a42Smrg 3795ca08ab68Smrg Fontconfig version 2.10.2 3796ca08ab68Smrg 3797ca08ab68Smrg -------------------------------------------------------------------------- 3798ca08ab68Smrg 3799ca08ab68Smrg FcObjectType 38002c393a42Smrg 3801ca08ab68Smrg Table of Contents 38022c393a42Smrg 3803ca08ab68Smrg [124]FcNameRegisterObjectTypes -- Register object types 38042c393a42Smrg 3805ca08ab68Smrg [125]FcNameUnregisterObjectTypes -- Unregister object types 3806a6844aabSmrg 3807ca08ab68Smrg [126]FcNameGetObjectType -- Lookup an object type 38082c393a42Smrg 3809ca08ab68Smrg Provides for application-specified font name object types so that new 3810ca08ab68Smrg pattern elements can be generated from font names. 3811ca08ab68Smrg 3812ca08ab68Smrg FcNameRegisterObjectTypes 38132c393a42Smrg 38142c393a42SmrgName 38152c393a42Smrg 3816ca08ab68Smrg FcNameRegisterObjectTypes -- Register object types 38172c393a42Smrg 38182c393a42SmrgSynopsis 38192c393a42Smrg 3820ca08ab68Smrg #include <fontconfig.h> 38212c393a42Smrg 3822a6844aabSmrg 3823ca08ab68Smrg FcBool FcNameRegisterObjectTypes(const FcObjectType *types, int ntype); 38242c393a42Smrg 38252c393a42SmrgDescription 38262c393a42Smrg 3827ca08ab68Smrg Register ntype new object types. Returns FcFalse if some of the names 3828ca08ab68Smrg cannot be registered (due to allocation failure). Otherwise returns 3829ca08ab68Smrg FcTrue. 38302c393a42Smrg 38312c393a42SmrgVersion 38322c393a42Smrg 3833ca08ab68Smrg Fontconfig version 2.10.2 38342c393a42Smrg 3835ca08ab68Smrg FcNameUnregisterObjectTypes 38362c393a42Smrg 38372c393a42SmrgName 38382c393a42Smrg 3839ca08ab68Smrg FcNameUnregisterObjectTypes -- Unregister object types 38402c393a42Smrg 38412c393a42SmrgSynopsis 38422c393a42Smrg 3843ca08ab68Smrg #include <fontconfig.h> 38442c393a42Smrg 3845a6844aabSmrg 3846ca08ab68Smrg FcBool FcNameUnregisterObjectTypes(const FcObjectType *types, int ntype); 38472c393a42Smrg 38482c393a42SmrgDescription 38492c393a42Smrg 3850ca08ab68Smrg Unregister ntype object types. Returns FcTrue. 38512c393a42Smrg 38522c393a42SmrgVersion 38532c393a42Smrg 3854ca08ab68Smrg Fontconfig version 2.10.2 38552c393a42Smrg 3856ca08ab68Smrg FcNameGetObjectType 38572c393a42Smrg 38582c393a42SmrgName 38592c393a42Smrg 3860ca08ab68Smrg FcNameGetObjectType -- Lookup an object type 38612c393a42Smrg 38622c393a42SmrgSynopsis 38632c393a42Smrg 3864ca08ab68Smrg #include <fontconfig.h> 38652c393a42Smrg 3866a6844aabSmrg 3867ca08ab68Smrg const FcObjectType * FcNameGetObjectType(const char *object); 38682c393a42Smrg 38692c393a42SmrgDescription 38702c393a42Smrg 3871ca08ab68Smrg Return the object type for the pattern element named object. 38722c393a42Smrg 38732c393a42SmrgVersion 38742c393a42Smrg 3875ca08ab68Smrg Fontconfig version 2.10.2 3876ca08ab68Smrg 3877ca08ab68Smrg -------------------------------------------------------------------------- 3878a6844aabSmrg 3879ca08ab68Smrg FcConstant 38802c393a42Smrg 3881ca08ab68Smrg Table of Contents 38822c393a42Smrg 3883ca08ab68Smrg [127]FcNameRegisterConstants -- Register symbolic constants 38842c393a42Smrg 3885ca08ab68Smrg [128]FcNameUnregisterConstants -- Unregister symbolic constants 38862c393a42Smrg 3887ca08ab68Smrg [129]FcNameGetConstant -- Lookup symbolic constant 3888ca08ab68Smrg 3889ca08ab68Smrg [130]FcNameConstant -- Get the value for a symbolic constant 3890ca08ab68Smrg 3891ca08ab68Smrg Provides for application-specified symbolic constants for font names. 3892ca08ab68Smrg 3893ca08ab68Smrg FcNameRegisterConstants 38942c393a42Smrg 38952c393a42SmrgName 38962c393a42Smrg 3897ca08ab68Smrg FcNameRegisterConstants -- Register symbolic constants 38982c393a42Smrg 38992c393a42SmrgSynopsis 39002c393a42Smrg 3901ca08ab68Smrg #include <fontconfig.h> 39022c393a42Smrg 3903a6844aabSmrg 3904ca08ab68Smrg FcBool FcNameRegisterConstants(const FcConstant *consts, int nconsts); 39052c393a42Smrg 39062c393a42SmrgDescription 39072c393a42Smrg 3908ca08ab68Smrg Register nconsts new symbolic constants. Returns FcFalse if the constants 3909ca08ab68Smrg cannot be registered (due to allocation failure). Otherwise returns 3910ca08ab68Smrg FcTrue. 39112c393a42Smrg 39122c393a42SmrgVersion 39132c393a42Smrg 3914ca08ab68Smrg Fontconfig version 2.10.2 39152c393a42Smrg 3916ca08ab68Smrg FcNameUnregisterConstants 39172c393a42Smrg 39182c393a42SmrgName 39192c393a42Smrg 3920ca08ab68Smrg FcNameUnregisterConstants -- Unregister symbolic constants 39212c393a42Smrg 39222c393a42SmrgSynopsis 39232c393a42Smrg 3924ca08ab68Smrg #include <fontconfig.h> 39252c393a42Smrg 3926a6844aabSmrg 3927ca08ab68Smrg FcBool FcNameUnregisterConstants(const FcConstant *consts, int nconsts); 39282c393a42Smrg 39292c393a42SmrgDescription 39302c393a42Smrg 3931ca08ab68Smrg Unregister nconsts symbolic constants. Returns FcFalse if the specified 3932ca08ab68Smrg constants were not registered. Otherwise returns FcTrue. 39332c393a42Smrg 39342c393a42SmrgVersion 39352c393a42Smrg 3936ca08ab68Smrg Fontconfig version 2.10.2 39372c393a42Smrg 3938ca08ab68Smrg FcNameGetConstant 39392c393a42Smrg 39402c393a42SmrgName 39412c393a42Smrg 3942ca08ab68Smrg FcNameGetConstant -- Lookup symbolic constant 39432c393a42Smrg 39442c393a42SmrgSynopsis 39452c393a42Smrg 3946ca08ab68Smrg #include <fontconfig.h> 39472c393a42Smrg 3948a6844aabSmrg 3949ca08ab68Smrg const FcConstant * FcNameGetConstant(FcChar8 *string); 39502c393a42Smrg 39512c393a42SmrgDescription 39522c393a42Smrg 3953ca08ab68Smrg Return the FcConstant structure related to symbolic constant string. 39542c393a42Smrg 39552c393a42SmrgVersion 39562c393a42Smrg 3957ca08ab68Smrg Fontconfig version 2.10.2 39582c393a42Smrg 3959ca08ab68Smrg FcNameConstant 39602c393a42Smrg 39612c393a42SmrgName 39622c393a42Smrg 3963ca08ab68Smrg FcNameConstant -- Get the value for a symbolic constant 39642c393a42Smrg 39652c393a42SmrgSynopsis 39662c393a42Smrg 3967ca08ab68Smrg #include <fontconfig.h> 39682c393a42Smrg 3969a6844aabSmrg 3970ca08ab68Smrg FcBool FcNameConstant(FcChar8 *string, int *result); 39712c393a42Smrg 39722c393a42SmrgDescription 39732c393a42Smrg 3974ca08ab68Smrg Returns whether a symbolic constant with name string is registered, 3975ca08ab68Smrg placing the value of the constant in result if present. 39762c393a42Smrg 39772c393a42SmrgVersion 39782c393a42Smrg 3979ca08ab68Smrg Fontconfig version 2.10.2 3980ca08ab68Smrg 3981ca08ab68Smrg -------------------------------------------------------------------------- 3982a6844aabSmrg 3983ca08ab68Smrg FcBlanks 39842c393a42Smrg 3985ca08ab68Smrg Table of Contents 39862c393a42Smrg 3987ca08ab68Smrg [131]FcBlanksCreate -- Create an FcBlanks 39882c393a42Smrg 3989ca08ab68Smrg [132]FcBlanksDestroy -- Destroy and FcBlanks 39902c393a42Smrg 3991ca08ab68Smrg [133]FcBlanksAdd -- Add a character to an FcBlanks 3992ca08ab68Smrg 3993ca08ab68Smrg [134]FcBlanksIsMember -- Query membership in an FcBlanks 3994ca08ab68Smrg 3995ca08ab68Smrg An FcBlanks object holds a list of Unicode chars which are expected to be 3996ca08ab68Smrg blank when drawn. When scanning new fonts, any glyphs which are empty and 3997ca08ab68Smrg not in this list will be assumed to be broken and not placed in the 3998ca08ab68Smrg FcCharSet associated with the font. This provides a significantly more 3999ca08ab68Smrg accurate CharSet for applications. 4000ca08ab68Smrg 4001ca08ab68Smrg FcBlanksCreate 40022c393a42Smrg 40032c393a42SmrgName 40042c393a42Smrg 4005ca08ab68Smrg FcBlanksCreate -- Create an FcBlanks 40062c393a42Smrg 40072c393a42SmrgSynopsis 40082c393a42Smrg 4009ca08ab68Smrg #include <fontconfig.h> 40102c393a42Smrg 4011a6844aabSmrg 4012ca08ab68Smrg FcBlanks * FcBlanksCreate(void); 40132c393a42Smrg 40142c393a42SmrgDescription 40152c393a42Smrg 4016ca08ab68Smrg Creates an empty FcBlanks object. 40172c393a42Smrg 40182c393a42SmrgVersion 40192c393a42Smrg 4020ca08ab68Smrg Fontconfig version 2.10.2 40212c393a42Smrg 4022ca08ab68Smrg FcBlanksDestroy 40232c393a42Smrg 40242c393a42SmrgName 40252c393a42Smrg 4026ca08ab68Smrg FcBlanksDestroy -- Destroy and FcBlanks 40272c393a42Smrg 40282c393a42SmrgSynopsis 40292c393a42Smrg 4030ca08ab68Smrg #include <fontconfig.h> 40312c393a42Smrg 4032a6844aabSmrg 4033ca08ab68Smrg void FcBlanksDestroy(FcBlanks *b); 40342c393a42Smrg 40352c393a42SmrgDescription 40362c393a42Smrg 4037ca08ab68Smrg Destroys an FcBlanks object, freeing any associated memory. 40382c393a42Smrg 40392c393a42SmrgVersion 40402c393a42Smrg 4041ca08ab68Smrg Fontconfig version 2.10.2 40422c393a42Smrg 4043ca08ab68Smrg FcBlanksAdd 40442c393a42Smrg 40452c393a42SmrgName 40462c393a42Smrg 4047ca08ab68Smrg FcBlanksAdd -- Add a character to an FcBlanks 40482c393a42Smrg 40492c393a42SmrgSynopsis 40502c393a42Smrg 4051ca08ab68Smrg #include <fontconfig.h> 40522c393a42Smrg 4053a6844aabSmrg 4054ca08ab68Smrg FcBool FcBlanksAdd(FcBlanks *b, FcChar32 ucs4); 40552c393a42Smrg 40562c393a42SmrgDescription 40572c393a42Smrg 4058ca08ab68Smrg Adds a single character to an FcBlanks object, returning FcFalse if this 4059ca08ab68Smrg process ran out of memory. 40602c393a42Smrg 40612c393a42SmrgVersion 40622c393a42Smrg 4063ca08ab68Smrg Fontconfig version 2.10.2 40642c393a42Smrg 4065ca08ab68Smrg FcBlanksIsMember 40662c393a42Smrg 40672c393a42SmrgName 40682c393a42Smrg 4069ca08ab68Smrg FcBlanksIsMember -- Query membership in an FcBlanks 40702c393a42Smrg 40712c393a42SmrgSynopsis 40722c393a42Smrg 4073ca08ab68Smrg #include <fontconfig.h> 40742c393a42Smrg 4075a6844aabSmrg 4076ca08ab68Smrg FcBool FcBlanksIsMember(FcBlanks *b, FcChar32 ucs4); 40772c393a42Smrg 40782c393a42SmrgDescription 40792c393a42Smrg 4080ca08ab68Smrg Returns whether the specified FcBlanks object contains the indicated 4081ca08ab68Smrg Unicode value. 40822c393a42Smrg 40832c393a42SmrgVersion 40842c393a42Smrg 4085ca08ab68Smrg Fontconfig version 2.10.2 4086ca08ab68Smrg 4087ca08ab68Smrg -------------------------------------------------------------------------- 4088ca08ab68Smrg 4089ca08ab68Smrg FcAtomic 4090ca08ab68Smrg 4091ca08ab68Smrg Table of Contents 4092ca08ab68Smrg 4093ca08ab68Smrg [135]FcAtomicCreate -- create an FcAtomic object 4094ca08ab68Smrg 4095ca08ab68Smrg [136]FcAtomicLock -- lock a file 4096ca08ab68Smrg 4097ca08ab68Smrg [137]FcAtomicNewFile -- return new temporary file name 4098a6844aabSmrg 4099ca08ab68Smrg [138]FcAtomicOrigFile -- return original file name 41002c393a42Smrg 4101ca08ab68Smrg [139]FcAtomicReplaceOrig -- replace original with new 41022c393a42Smrg 4103ca08ab68Smrg [140]FcAtomicDeleteNew -- delete new file 41042c393a42Smrg 4105ca08ab68Smrg [141]FcAtomicUnlock -- unlock a file 41062c393a42Smrg 4107ca08ab68Smrg [142]FcAtomicDestroy -- destroy an FcAtomic object 4108ca08ab68Smrg 4109ca08ab68Smrg These functions provide a safe way to update configuration files, allowing 4110ca08ab68Smrg ongoing reading of the old configuration file while locked for writing and 4111ca08ab68Smrg ensuring that a consistent and complete version of the configuration file 4112ca08ab68Smrg is always available. 4113ca08ab68Smrg 4114ca08ab68Smrg FcAtomicCreate 41152c393a42Smrg 41162c393a42SmrgName 41172c393a42Smrg 4118ca08ab68Smrg FcAtomicCreate -- create an FcAtomic object 41192c393a42Smrg 41202c393a42SmrgSynopsis 41212c393a42Smrg 4122ca08ab68Smrg #include <fontconfig.h> 41232c393a42Smrg 4124a6844aabSmrg 4125ca08ab68Smrg FcAtomic * FcAtomicCreate(const FcChar8 *file); 41262c393a42Smrg 41272c393a42SmrgDescription 41282c393a42Smrg 4129ca08ab68Smrg Creates a data structure containing data needed to control access to file. 4130ca08ab68Smrg Writing is done to a separate file. Once that file is complete, the 4131ca08ab68Smrg original configuration file is atomically replaced so that reading process 4132ca08ab68Smrg always see a consistent and complete file without the need to lock for 4133ca08ab68Smrg reading. 41342c393a42Smrg 41352c393a42SmrgVersion 41362c393a42Smrg 4137ca08ab68Smrg Fontconfig version 2.10.2 41382c393a42Smrg 4139ca08ab68Smrg FcAtomicLock 41402c393a42Smrg 41412c393a42SmrgName 41422c393a42Smrg 4143ca08ab68Smrg FcAtomicLock -- lock a file 41442c393a42Smrg 41452c393a42SmrgSynopsis 41462c393a42Smrg 4147ca08ab68Smrg #include <fontconfig.h> 41482c393a42Smrg 4149a6844aabSmrg 4150ca08ab68Smrg FcBool FcAtomicLock(FcAtomic *atomic); 41512c393a42Smrg 41522c393a42SmrgDescription 41532c393a42Smrg 4154ca08ab68Smrg Attempts to lock the file referenced by atomic. Returns FcFalse if the 4155ca08ab68Smrg file is already locked, else returns FcTrue and leaves the file locked. 41562c393a42Smrg 41572c393a42SmrgVersion 41582c393a42Smrg 4159ca08ab68Smrg Fontconfig version 2.10.2 41602c393a42Smrg 4161ca08ab68Smrg FcAtomicNewFile 41622c393a42Smrg 41632c393a42SmrgName 41642c393a42Smrg 4165ca08ab68Smrg FcAtomicNewFile -- return new temporary file name 41662c393a42Smrg 41672c393a42SmrgSynopsis 41682c393a42Smrg 4169ca08ab68Smrg #include <fontconfig.h> 41702c393a42Smrg 4171a6844aabSmrg 4172ca08ab68Smrg FcChar8 * FcAtomicNewFile(FcAtomic *atomic); 41732c393a42Smrg 41742c393a42SmrgDescription 41752c393a42Smrg 4176ca08ab68Smrg Returns the filename for writing a new version of the file referenced by 4177ca08ab68Smrg atomic. 41782c393a42Smrg 41792c393a42SmrgVersion 41802c393a42Smrg 4181ca08ab68Smrg Fontconfig version 2.10.2 41822c393a42Smrg 4183ca08ab68Smrg FcAtomicOrigFile 41842c393a42Smrg 41852c393a42SmrgName 41862c393a42Smrg 4187ca08ab68Smrg FcAtomicOrigFile -- return original file name 41882c393a42Smrg 41892c393a42SmrgSynopsis 41902c393a42Smrg 4191ca08ab68Smrg #include <fontconfig.h> 41922c393a42Smrg 4193a6844aabSmrg 4194ca08ab68Smrg FcChar8 * FcAtomicOrigFile(FcAtomic *atomic); 41952c393a42Smrg 41962c393a42SmrgDescription 41972c393a42Smrg 4198ca08ab68Smrg Returns the file referenced by atomic. 41992c393a42Smrg 42002c393a42SmrgVersion 42012c393a42Smrg 4202ca08ab68Smrg Fontconfig version 2.10.2 42032c393a42Smrg 4204ca08ab68Smrg FcAtomicReplaceOrig 42052c393a42Smrg 42062c393a42SmrgName 42072c393a42Smrg 4208ca08ab68Smrg FcAtomicReplaceOrig -- replace original with new 42092c393a42Smrg 42102c393a42SmrgSynopsis 42112c393a42Smrg 4212ca08ab68Smrg #include <fontconfig.h> 42132c393a42Smrg 4214a6844aabSmrg 4215ca08ab68Smrg FcBool FcAtomicReplaceOrig(FcAtomic *atomic); 42162c393a42Smrg 42172c393a42SmrgDescription 42182c393a42Smrg 4219ca08ab68Smrg Replaces the original file referenced by atomic with the new file. Returns 4220ca08ab68Smrg FcFalse if the file cannot be replaced due to permission issues in the 4221ca08ab68Smrg filesystem. Otherwise returns FcTrue. 42222c393a42Smrg 42232c393a42SmrgVersion 42242c393a42Smrg 4225ca08ab68Smrg Fontconfig version 2.10.2 42262c393a42Smrg 4227ca08ab68Smrg FcAtomicDeleteNew 42282c393a42Smrg 42292c393a42SmrgName 42302c393a42Smrg 4231ca08ab68Smrg FcAtomicDeleteNew -- delete new file 42322c393a42Smrg 42332c393a42SmrgSynopsis 42342c393a42Smrg 4235ca08ab68Smrg #include <fontconfig.h> 42362c393a42Smrg 4237a6844aabSmrg 4238ca08ab68Smrg void FcAtomicDeleteNew(FcAtomic *atomic); 42392c393a42Smrg 42402c393a42SmrgDescription 42412c393a42Smrg 4242ca08ab68Smrg Deletes the new file. Used in error recovery to back out changes. 42432c393a42Smrg 42442c393a42SmrgVersion 42452c393a42Smrg 4246ca08ab68Smrg Fontconfig version 2.10.2 42472c393a42Smrg 4248ca08ab68Smrg FcAtomicUnlock 42492c393a42Smrg 42502c393a42SmrgName 42512c393a42Smrg 4252ca08ab68Smrg FcAtomicUnlock -- unlock a file 42532c393a42Smrg 42542c393a42SmrgSynopsis 42552c393a42Smrg 4256ca08ab68Smrg #include <fontconfig.h> 42572c393a42Smrg 4258a6844aabSmrg 4259ca08ab68Smrg void FcAtomicUnlock(FcAtomic *atomic); 42602c393a42Smrg 42612c393a42SmrgDescription 42622c393a42Smrg 4263ca08ab68Smrg Unlocks the file. 42642c393a42Smrg 42652c393a42SmrgVersion 42662c393a42Smrg 4267ca08ab68Smrg Fontconfig version 2.10.2 42682c393a42Smrg 4269ca08ab68Smrg FcAtomicDestroy 42702c393a42Smrg 42712c393a42SmrgName 42722c393a42Smrg 4273ca08ab68Smrg FcAtomicDestroy -- destroy an FcAtomic object 42742c393a42Smrg 42752c393a42SmrgSynopsis 42762c393a42Smrg 4277ca08ab68Smrg #include <fontconfig.h> 42782c393a42Smrg 4279a6844aabSmrg 4280ca08ab68Smrg void FcAtomicDestroy(FcAtomic *atomic); 42812c393a42Smrg 42822c393a42SmrgDescription 42832c393a42Smrg 4284ca08ab68Smrg Destroys atomic. 42852c393a42Smrg 42862c393a42SmrgVersion 42872c393a42Smrg 4288ca08ab68Smrg Fontconfig version 2.10.2 4289ca08ab68Smrg 4290ca08ab68Smrg -------------------------------------------------------------------------- 4291ca08ab68Smrg 4292ca08ab68Smrg File and Directory routines 4293ca08ab68Smrg 4294ca08ab68Smrg Table of Contents 4295ca08ab68Smrg 4296ca08ab68Smrg [143]FcFileScan -- scan a font file 4297ca08ab68Smrg 4298ca08ab68Smrg [144]FcFileIsDir -- check whether a file is a directory 4299ca08ab68Smrg 4300ca08ab68Smrg [145]FcDirScan -- scan a font directory without caching it 4301ca08ab68Smrg 4302ca08ab68Smrg [146]FcDirSave -- DEPRECATED: formerly used to save a directory cache 43032c393a42Smrg 4304ca08ab68Smrg [147]FcDirCacheUnlink -- Remove all caches related to dir 43052c393a42Smrg 4306ca08ab68Smrg [148]FcDirCacheValid -- check directory cache 43072c393a42Smrg 4308ca08ab68Smrg [149]FcDirCacheLoad -- load a directory cache 43092c393a42Smrg 4310ca08ab68Smrg [150]FcDirCacheRead -- read or construct a directory cache 43112c393a42Smrg 4312ca08ab68Smrg [151]FcDirCacheLoadFile -- load a cache file 4313ca08ab68Smrg 4314ca08ab68Smrg [152]FcDirCacheUnload -- unload a cache file 4315ca08ab68Smrg 4316ca08ab68Smrg These routines work with font files and directories, including font 4317ca08ab68Smrg directory cache files. 4318ca08ab68Smrg 4319ca08ab68Smrg FcFileScan 43202c393a42Smrg 43212c393a42SmrgName 43222c393a42Smrg 4323ca08ab68Smrg FcFileScan -- scan a font file 43242c393a42Smrg 43252c393a42SmrgSynopsis 43262c393a42Smrg 4327ca08ab68Smrg #include <fontconfig.h> 43282c393a42Smrg 4329a6844aabSmrg 4330ca08ab68Smrg FcBool FcFileScan(FcFontSet *set, FcStrSet *dirs, FcFileCache *cache, 4331ca08ab68Smrg FcBlanks *blanks, const FcChar8 *file, FcBool force); 43322c393a42Smrg 43332c393a42SmrgDescription 43342c393a42Smrg 4335ca08ab68Smrg Scans a single file and adds all fonts found to set. If force is FcTrue, 4336ca08ab68Smrg then the file is scanned even if associated information is found in cache. 4337ca08ab68Smrg If file is a directory, it is added to dirs. Whether fonts are found 4338ca08ab68Smrg depends on fontconfig policy as well as the current configuration. 4339ca08ab68Smrg Internally, fontconfig will ignore BDF and PCF fonts which are not in 4340ca08ab68Smrg Unicode (or the effectively equivalent ISO Latin-1) encoding as those are 4341ca08ab68Smrg not usable by Unicode-based applications. The configuration can ignore 4342ca08ab68Smrg fonts based on filename or contents of the font file itself. Returns 4343ca08ab68Smrg FcFalse if any of the fonts cannot be added (due to allocation failure). 4344ca08ab68Smrg Otherwise returns FcTrue. 43452c393a42Smrg 43462c393a42SmrgVersion 43472c393a42Smrg 4348ca08ab68Smrg Fontconfig version 2.10.2 43492c393a42Smrg 4350ca08ab68Smrg FcFileIsDir 43512c393a42Smrg 43522c393a42SmrgName 43532c393a42Smrg 4354ca08ab68Smrg FcFileIsDir -- check whether a file is a directory 43552c393a42Smrg 43562c393a42SmrgSynopsis 43572c393a42Smrg 4358ca08ab68Smrg #include <fontconfig.h> 43592c393a42Smrg 4360a6844aabSmrg 4361ca08ab68Smrg FcBool FcFileIsDir(const FcChar8 *file); 43622c393a42Smrg 43632c393a42SmrgDescription 43642c393a42Smrg 4365ca08ab68Smrg Returns FcTrue if file is a directory, otherwise returns FcFalse. 43662c393a42Smrg 43672c393a42SmrgVersion 43682c393a42Smrg 4369ca08ab68Smrg Fontconfig version 2.10.2 43702c393a42Smrg 4371ca08ab68Smrg FcDirScan 43722c393a42Smrg 43732c393a42SmrgName 43742c393a42Smrg 4375ca08ab68Smrg FcDirScan -- scan a font directory without caching it 43762c393a42Smrg 43772c393a42SmrgSynopsis 43782c393a42Smrg 4379ca08ab68Smrg #include <fontconfig.h> 43802c393a42Smrg 4381a6844aabSmrg 4382ca08ab68Smrg FcBool FcDirScan(FcFontSet *set, FcStrSet *dirs, FcFileCache *cache, 4383ca08ab68Smrg FcBlanks *blanks, const FcChar8 *dir, FcBool force); 43842c393a42Smrg 43852c393a42SmrgDescription 43862c393a42Smrg 4387ca08ab68Smrg If cache is not zero or if force is FcFalse, this function currently 4388ca08ab68Smrg returns FcFalse. Otherwise, it scans an entire directory and adds all 4389ca08ab68Smrg fonts found to set. Any subdirectories found are added to dirs. Calling 4390ca08ab68Smrg this function does not create any cache files. Use FcDirCacheRead() if 4391ca08ab68Smrg caching is desired. 43922c393a42Smrg 43932c393a42SmrgVersion 43942c393a42Smrg 4395ca08ab68Smrg Fontconfig version 2.10.2 43962c393a42Smrg 4397ca08ab68Smrg FcDirSave 43982c393a42Smrg 43992c393a42SmrgName 44002c393a42Smrg 4401ca08ab68Smrg FcDirSave -- DEPRECATED: formerly used to save a directory cache 44022c393a42Smrg 44032c393a42SmrgSynopsis 44042c393a42Smrg 4405ca08ab68Smrg #include <fontconfig.h> 44062c393a42Smrg 4407a6844aabSmrg 4408ca08ab68Smrg FcBool FcDirSave(FcFontSet *set, FcStrSet *dirs, const FcChar8 *dir); 44092c393a42Smrg 44102c393a42SmrgDescription 44112c393a42Smrg 4412ca08ab68Smrg This function now does nothing aside from returning FcFalse. It used to 4413ca08ab68Smrg creates the per-directory cache file for dir and populates it with the 4414ca08ab68Smrg fonts in set and subdirectories in dirs. All of this functionality is now 4415ca08ab68Smrg automatically managed by FcDirCacheLoad and FcDirCacheRead. 44162c393a42Smrg 44172c393a42SmrgVersion 44182c393a42Smrg 4419ca08ab68Smrg Fontconfig version 2.10.2 44202c393a42Smrg 4421ca08ab68Smrg FcDirCacheUnlink 44222c393a42Smrg 44232c393a42SmrgName 44242c393a42Smrg 4425ca08ab68Smrg FcDirCacheUnlink -- Remove all caches related to dir 44262c393a42Smrg 44272c393a42SmrgSynopsis 44282c393a42Smrg 4429ca08ab68Smrg #include <fontconfig.h> 44302c393a42Smrg 4431a6844aabSmrg 4432ca08ab68Smrg FcBool FcDirCacheUnlink(const FcChar8 *dir, FcConfig *config); 44332c393a42Smrg 44342c393a42SmrgDescription 44352c393a42Smrg 4436ca08ab68Smrg Scans the cache directories in config, removing any instances of the cache 4437ca08ab68Smrg file for dir. Returns FcFalse when some internal error occurs (out of 4438ca08ab68Smrg memory, etc). Errors actually unlinking any files are ignored. 44392c393a42Smrg 44402c393a42SmrgVersion 44412c393a42Smrg 4442ca08ab68Smrg Fontconfig version 2.10.2 44432c393a42Smrg 4444ca08ab68Smrg FcDirCacheValid 44452c393a42Smrg 44462c393a42SmrgName 44472c393a42Smrg 4448ca08ab68Smrg FcDirCacheValid -- check directory cache 44492c393a42Smrg 44502c393a42SmrgSynopsis 44512c393a42Smrg 4452ca08ab68Smrg #include <fontconfig.h> 44532c393a42Smrg 4454a6844aabSmrg 4455ca08ab68Smrg FcBool FcDirCacheValid(const FcChar8 *dir); 44562c393a42Smrg 44572c393a42SmrgDescription 44582c393a42Smrg 4459ca08ab68Smrg Returns FcTrue if dir has an associated valid cache file, else returns 4460ca08ab68Smrg FcFalse 44612c393a42Smrg 44622c393a42SmrgVersion 44632c393a42Smrg 4464ca08ab68Smrg Fontconfig version 2.10.2 44652c393a42Smrg 4466ca08ab68Smrg FcDirCacheLoad 44672c393a42Smrg 44682c393a42SmrgName 44692c393a42Smrg 4470ca08ab68Smrg FcDirCacheLoad -- load a directory cache 44712c393a42Smrg 44722c393a42SmrgSynopsis 44732c393a42Smrg 4474ca08ab68Smrg #include <fontconfig.h> 44752c393a42Smrg 4476a6844aabSmrg 4477ca08ab68Smrg FcCache * FcDirCacheLoad(const FcChar8 *dir, FcConfig *config, FcChar8 4478ca08ab68Smrg **cache_file); 44792c393a42Smrg 44802c393a42SmrgDescription 44812c393a42Smrg 4482ca08ab68Smrg Loads the cache related to dir. If no cache file exists, returns NULL. The 4483ca08ab68Smrg name of the cache file is returned in cache_file, unless that is NULL. See 4484ca08ab68Smrg also FcDirCacheRead. 44852c393a42Smrg 44862c393a42SmrgVersion 44872c393a42Smrg 4488ca08ab68Smrg Fontconfig version 2.10.2 44892c393a42Smrg 4490ca08ab68Smrg FcDirCacheRead 44912c393a42Smrg 44922c393a42SmrgName 44932c393a42Smrg 4494ca08ab68Smrg FcDirCacheRead -- read or construct a directory cache 44952c393a42Smrg 44962c393a42SmrgSynopsis 44972c393a42Smrg 4498ca08ab68Smrg #include <fontconfig.h> 44992c393a42Smrg 4500a6844aabSmrg 4501ca08ab68Smrg FcCache * FcDirCacheRead(const FcChar8 *dir, FcBool force, FcConfig 4502ca08ab68Smrg *config); 45032c393a42Smrg 45042c393a42SmrgDescription 45052c393a42Smrg 4506ca08ab68Smrg This returns a cache for dir. If force is FcFalse, then an existing, valid 4507ca08ab68Smrg cache file will be used. Otherwise, a new cache will be created by 4508ca08ab68Smrg scanning the directory and that returned. 45092c393a42Smrg 45102c393a42SmrgVersion 45112c393a42Smrg 4512ca08ab68Smrg Fontconfig version 2.10.2 45132c393a42Smrg 4514ca08ab68Smrg FcDirCacheLoadFile 45152c393a42Smrg 45162c393a42SmrgName 45172c393a42Smrg 4518ca08ab68Smrg FcDirCacheLoadFile -- load a cache file 45192c393a42Smrg 45202c393a42SmrgSynopsis 45212c393a42Smrg 4522ca08ab68Smrg #include <fontconfig.h> 45232c393a42Smrg 4524a6844aabSmrg 4525ca08ab68Smrg FcCache * FcDirCacheLoadFile(const FcChar8 *cache_file, struct stat 4526ca08ab68Smrg *file_stat); 45272c393a42Smrg 45282c393a42SmrgDescription 45292c393a42Smrg 4530ca08ab68Smrg This function loads a directory cache from cache_file. If file_stat is 4531ca08ab68Smrg non-NULL, it will be filled with the results of stat(2) on the cache file. 45322c393a42Smrg 45332c393a42SmrgVersion 45342c393a42Smrg 4535ca08ab68Smrg Fontconfig version 2.10.2 45362c393a42Smrg 4537ca08ab68Smrg FcDirCacheUnload 45382c393a42Smrg 45392c393a42SmrgName 45402c393a42Smrg 4541ca08ab68Smrg FcDirCacheUnload -- unload a cache file 45422c393a42Smrg 45432c393a42SmrgSynopsis 45442c393a42Smrg 4545ca08ab68Smrg #include <fontconfig.h> 45462c393a42Smrg 4547a6844aabSmrg 4548ca08ab68Smrg void FcDirCacheUnload(FcCache *cache); 45492c393a42Smrg 45502c393a42SmrgDescription 45512c393a42Smrg 4552ca08ab68Smrg This function dereferences cache. When no other references to it remain, 4553ca08ab68Smrg all memory associated with the cache will be freed. 45542c393a42Smrg 45552c393a42SmrgVersion 45562c393a42Smrg 4557ca08ab68Smrg Fontconfig version 2.10.2 4558ca08ab68Smrg 4559ca08ab68Smrg -------------------------------------------------------------------------- 4560ca08ab68Smrg 4561ca08ab68Smrg FcCache routines 4562ca08ab68Smrg 4563ca08ab68Smrg Table of Contents 4564ca08ab68Smrg 4565ca08ab68Smrg [153]FcCacheDir -- Return directory of cache 4566ca08ab68Smrg 4567ca08ab68Smrg [154]FcCacheCopySet -- Returns a copy of the fontset from cache 4568ca08ab68Smrg 4569ca08ab68Smrg [155]FcCacheSubdir -- Return the i'th subdirectory. 45702c393a42Smrg 4571ca08ab68Smrg [156]FcCacheNumSubdir -- Return the number of subdirectories in cache. 45722c393a42Smrg 4573ca08ab68Smrg [157]FcCacheNumFont -- Returns the number of fonts in cache. 45742c393a42Smrg 4575ca08ab68Smrg [158]FcDirCacheClean -- This tries to clean up the cache directory of 4576ca08ab68Smrg cache_dir. This returns FcTrue if the operation is successfully complete. 4577ca08ab68Smrg otherwise FcFalse. 45782c393a42Smrg 4579ca08ab68Smrg [159]FcCacheCreateTagFile -- Create CACHEDIR.TAG at cache directory. 45802c393a42Smrg 4581ca08ab68Smrg These routines work with font directory caches, accessing their contents 4582ca08ab68Smrg in limited ways. It is not expected that normal applications will need to 4583ca08ab68Smrg use these functions. 4584ca08ab68Smrg 4585ca08ab68Smrg FcCacheDir 45862c393a42Smrg 45872c393a42SmrgName 45882c393a42Smrg 4589ca08ab68Smrg FcCacheDir -- Return directory of cache 45902c393a42Smrg 45912c393a42SmrgSynopsis 45922c393a42Smrg 4593ca08ab68Smrg #include <fontconfig.h> 45942c393a42Smrg 4595a6844aabSmrg 4596ca08ab68Smrg const FcChar8 * FcCacheDir(const FcCache *cache); 45972c393a42Smrg 45982c393a42SmrgDescription 45992c393a42Smrg 4600ca08ab68Smrg This function returns the directory from which the cache was constructed. 46012c393a42Smrg 46022c393a42SmrgVersion 46032c393a42Smrg 4604ca08ab68Smrg Fontconfig version 2.10.2 46052c393a42Smrg 4606ca08ab68Smrg FcCacheCopySet 46072c393a42Smrg 46082c393a42SmrgName 46092c393a42Smrg 4610ca08ab68Smrg FcCacheCopySet -- Returns a copy of the fontset from cache 46112c393a42Smrg 46122c393a42SmrgSynopsis 46132c393a42Smrg 4614ca08ab68Smrg #include <fontconfig.h> 46152c393a42Smrg 4616a6844aabSmrg 4617ca08ab68Smrg FcFontSet * FcCacheCopySet(const FcCache *cache); 46182c393a42Smrg 46192c393a42SmrgDescription 46202c393a42Smrg 4621ca08ab68Smrg The returned fontset contains each of the font patterns from cache. This 4622ca08ab68Smrg fontset may be modified, but the patterns from the cache are read-only. 46232c393a42Smrg 46242c393a42SmrgVersion 46252c393a42Smrg 4626ca08ab68Smrg Fontconfig version 2.10.2 46272c393a42Smrg 4628ca08ab68Smrg FcCacheSubdir 46292c393a42Smrg 46302c393a42SmrgName 46312c393a42Smrg 4632ca08ab68Smrg FcCacheSubdir -- Return the i'th subdirectory. 46332c393a42Smrg 46342c393a42SmrgSynopsis 46352c393a42Smrg 4636ca08ab68Smrg #include <fontconfig.h> 46372c393a42Smrg 4638a6844aabSmrg 4639ca08ab68Smrg const FcChar8 * FcCacheSubdir(const FcCache *cache, inti); 46402c393a42Smrg 46412c393a42SmrgDescription 46422c393a42Smrg 4643ca08ab68Smrg The set of subdirectories stored in a cache file are indexed by this 4644ca08ab68Smrg function, i should range from 0 to n-1, where n is the return value from 4645ca08ab68Smrg FcCacheNumSubdir. 46462c393a42Smrg 46472c393a42SmrgVersion 46482c393a42Smrg 4649ca08ab68Smrg Fontconfig version 2.10.2 46502c393a42Smrg 4651ca08ab68Smrg FcCacheNumSubdir 46522c393a42Smrg 46532c393a42SmrgName 46542c393a42Smrg 4655ca08ab68Smrg FcCacheNumSubdir -- Return the number of subdirectories in cache. 46562c393a42Smrg 46572c393a42SmrgSynopsis 46582c393a42Smrg 4659ca08ab68Smrg #include <fontconfig.h> 46602c393a42Smrg 4661a6844aabSmrg 4662ca08ab68Smrg int FcCacheNumSubdir(const FcCache *cache); 46632c393a42Smrg 46642c393a42SmrgDescription 46652c393a42Smrg 4666ca08ab68Smrg This returns the total number of subdirectories in the cache. 46672c393a42Smrg 46682c393a42SmrgVersion 46692c393a42Smrg 4670ca08ab68Smrg Fontconfig version 2.10.2 46712c393a42Smrg 4672ca08ab68Smrg FcCacheNumFont 46732c393a42Smrg 46742c393a42SmrgName 46752c393a42Smrg 4676ca08ab68Smrg FcCacheNumFont -- Returns the number of fonts in cache. 46772c393a42Smrg 46782c393a42SmrgSynopsis 46792c393a42Smrg 4680ca08ab68Smrg #include <fontconfig.h> 46812c393a42Smrg 4682a6844aabSmrg 4683ca08ab68Smrg int FcCacheNumFont(const FcCache *cache); 46842c393a42Smrg 46852c393a42SmrgDescription 46862c393a42Smrg 4687ca08ab68Smrg This returns the number of fonts which would be included in the return 4688ca08ab68Smrg from FcCacheCopySet. 46892c393a42Smrg 46902c393a42SmrgVersion 46912c393a42Smrg 4692ca08ab68Smrg Fontconfig version 2.10.2 4693ca08ab68Smrg 4694ca08ab68Smrg FcDirCacheClean 4695ca08ab68Smrg 4696ca08ab68SmrgName 4697ca08ab68Smrg 4698ca08ab68Smrg FcDirCacheClean -- This tries to clean up the cache directory of 4699ca08ab68Smrg cache_dir. This returns FcTrue if the operation is successfully complete. 4700ca08ab68Smrg otherwise FcFalse. 4701ca08ab68Smrg 4702ca08ab68SmrgSynopsis 4703ca08ab68Smrg 4704ca08ab68Smrg #include <fontconfig.h> 4705ca08ab68Smrg 4706a6844aabSmrg 4707ca08ab68Smrg FcBool FcDirCacheClean(const FcChar8 *cache_dir, FcBoolverbose); 4708ca08ab68Smrg 4709ca08ab68SmrgDescription 47102c393a42Smrg 47112c393a42Smrg 47122c393a42Smrg 4713ca08ab68SmrgVersion 47142c393a42Smrg 4715ca08ab68Smrg Fontconfig version 2.10.2 4716ca08ab68Smrg 4717ca08ab68Smrg FcCacheCreateTagFile 47182c393a42Smrg 47192c393a42SmrgName 47202c393a42Smrg 4721ca08ab68Smrg FcCacheCreateTagFile -- Create CACHEDIR.TAG at cache directory. 47222c393a42Smrg 47232c393a42SmrgSynopsis 47242c393a42Smrg 4725ca08ab68Smrg #include <fontconfig.h> 47262c393a42Smrg 4727a6844aabSmrg 4728ca08ab68Smrg void FcCacheCreateTagFile(const FcConfig *config); 47292c393a42Smrg 47302c393a42SmrgDescription 47312c393a42Smrg 4732ca08ab68Smrg This tries to create CACHEDIR.TAG file at the cache directory registered 4733ca08ab68Smrg to config. 47342c393a42Smrg 47352c393a42SmrgVersion 47362c393a42Smrg 4737ca08ab68Smrg Fontconfig version 2.10.2 4738ca08ab68Smrg 4739ca08ab68Smrg -------------------------------------------------------------------------- 4740ca08ab68Smrg 4741ca08ab68Smrg FcStrSet and FcStrList 4742ca08ab68Smrg 4743ca08ab68Smrg Table of Contents 4744ca08ab68Smrg 4745ca08ab68Smrg [160]FcStrSetCreate -- create a string set 4746ca08ab68Smrg 4747ca08ab68Smrg [161]FcStrSetMember -- check set for membership 4748ca08ab68Smrg 4749ca08ab68Smrg [162]FcStrSetEqual -- check sets for equality 4750ca08ab68Smrg 4751ca08ab68Smrg [163]FcStrSetAdd -- add to a string set 4752ca08ab68Smrg 4753ca08ab68Smrg [164]FcStrSetAddFilename -- add a filename to a string set 4754ca08ab68Smrg 4755ca08ab68Smrg [165]FcStrSetDel -- delete from a string set 4756ca08ab68Smrg 4757ca08ab68Smrg [166]FcStrSetDestroy -- destroy a string set 4758ca08ab68Smrg 4759ca08ab68Smrg [167]FcStrListCreate -- create a string iterator 4760ca08ab68Smrg 4761ca08ab68Smrg [168]FcStrListNext -- get next string in iteration 4762ca08ab68Smrg 4763ca08ab68Smrg [169]FcStrListDone -- destroy a string iterator 4764ca08ab68Smrg 4765ca08ab68Smrg A data structure for enumerating strings, used to list directories while 4766ca08ab68Smrg scanning the configuration as directories are added while scanning. 47672c393a42Smrg 4768ca08ab68Smrg FcStrSetCreate 47692c393a42Smrg 47702c393a42SmrgName 47712c393a42Smrg 4772ca08ab68Smrg FcStrSetCreate -- create a string set 47732c393a42Smrg 47742c393a42SmrgSynopsis 47752c393a42Smrg 4776ca08ab68Smrg #include <fontconfig.h> 47772c393a42Smrg 4778a6844aabSmrg 4779ca08ab68Smrg FcStrSet * FcStrSetCreate(void); 47802c393a42Smrg 47812c393a42SmrgDescription 47822c393a42Smrg 4783ca08ab68Smrg Create an empty set. 47842c393a42Smrg 47852c393a42SmrgVersion 47862c393a42Smrg 4787ca08ab68Smrg Fontconfig version 2.10.2 47882c393a42Smrg 4789ca08ab68Smrg FcStrSetMember 47902c393a42Smrg 47912c393a42SmrgName 47922c393a42Smrg 4793ca08ab68Smrg FcStrSetMember -- check set for membership 47942c393a42Smrg 47952c393a42SmrgSynopsis 47962c393a42Smrg 4797ca08ab68Smrg #include <fontconfig.h> 47982c393a42Smrg 4799a6844aabSmrg 4800ca08ab68Smrg FcBool FcStrSetMember(FcStrSet *set, const FcChar8 *s); 48012c393a42Smrg 48022c393a42SmrgDescription 48032c393a42Smrg 4804ca08ab68Smrg Returns whether s is a member of set. 48052c393a42Smrg 48062c393a42SmrgVersion 48072c393a42Smrg 4808ca08ab68Smrg Fontconfig version 2.10.2 48092c393a42Smrg 4810ca08ab68Smrg FcStrSetEqual 48112c393a42Smrg 48122c393a42SmrgName 48132c393a42Smrg 4814ca08ab68Smrg FcStrSetEqual -- check sets for equality 48152c393a42Smrg 48162c393a42SmrgSynopsis 48172c393a42Smrg 4818ca08ab68Smrg #include <fontconfig.h> 48192c393a42Smrg 4820a6844aabSmrg 4821ca08ab68Smrg FcBool FcStrSetEqual(FcStrSet *set_a, FcStrSet *set_b); 48222c393a42Smrg 48232c393a42SmrgDescription 48242c393a42Smrg 4825ca08ab68Smrg Returns whether set_a contains precisely the same strings as set_b. 4826ca08ab68Smrg Ordering of strings within the two sets is not considered. 48272c393a42Smrg 48282c393a42SmrgVersion 48292c393a42Smrg 4830ca08ab68Smrg Fontconfig version 2.10.2 48312c393a42Smrg 4832ca08ab68Smrg FcStrSetAdd 48332c393a42Smrg 48342c393a42SmrgName 48352c393a42Smrg 4836ca08ab68Smrg FcStrSetAdd -- add to a string set 48372c393a42Smrg 48382c393a42SmrgSynopsis 48392c393a42Smrg 4840ca08ab68Smrg #include <fontconfig.h> 48412c393a42Smrg 4842a6844aabSmrg 4843ca08ab68Smrg FcBool FcStrSetAdd(FcStrSet *set, const FcChar8 *s); 48442c393a42Smrg 48452c393a42SmrgDescription 48462c393a42Smrg 4847ca08ab68Smrg Adds a copy of s to set. 48482c393a42Smrg 48492c393a42SmrgVersion 48502c393a42Smrg 4851ca08ab68Smrg Fontconfig version 2.10.2 48522c393a42Smrg 4853ca08ab68Smrg FcStrSetAddFilename 48542c393a42Smrg 48552c393a42SmrgName 48562c393a42Smrg 4857ca08ab68Smrg FcStrSetAddFilename -- add a filename to a string set 48582c393a42Smrg 48592c393a42SmrgSynopsis 48602c393a42Smrg 4861ca08ab68Smrg #include <fontconfig.h> 48622c393a42Smrg 4863a6844aabSmrg 4864ca08ab68Smrg FcBool FcStrSetAddFilename(FcStrSet *set, const FcChar8 *s); 48652c393a42Smrg 48662c393a42SmrgDescription 48672c393a42Smrg 4868ca08ab68Smrg Adds a copy s to set, The copy is created with FcStrCopyFilename so that 4869ca08ab68Smrg leading '~' values are replaced with the value of the HOME environment 4870ca08ab68Smrg variable. 48712c393a42Smrg 48722c393a42SmrgVersion 48732c393a42Smrg 4874ca08ab68Smrg Fontconfig version 2.10.2 48752c393a42Smrg 4876ca08ab68Smrg FcStrSetDel 48772c393a42Smrg 48782c393a42SmrgName 48792c393a42Smrg 4880ca08ab68Smrg FcStrSetDel -- delete from a string set 48812c393a42Smrg 48822c393a42SmrgSynopsis 48832c393a42Smrg 4884ca08ab68Smrg #include <fontconfig.h> 48852c393a42Smrg 4886a6844aabSmrg 4887ca08ab68Smrg FcBool FcStrSetDel(FcStrSet *set, const FcChar8 *s); 48882c393a42Smrg 48892c393a42SmrgDescription 48902c393a42Smrg 4891ca08ab68Smrg Removes s from set, returning FcTrue if s was a member else FcFalse. 48922c393a42Smrg 48932c393a42SmrgVersion 48942c393a42Smrg 4895ca08ab68Smrg Fontconfig version 2.10.2 48962c393a42Smrg 4897ca08ab68Smrg FcStrSetDestroy 48982c393a42Smrg 48992c393a42SmrgName 49002c393a42Smrg 4901ca08ab68Smrg FcStrSetDestroy -- destroy a string set 49022c393a42Smrg 49032c393a42SmrgSynopsis 49042c393a42Smrg 4905ca08ab68Smrg #include <fontconfig.h> 49062c393a42Smrg 4907a6844aabSmrg 4908ca08ab68Smrg void FcStrSetDestroy(FcStrSet *set); 49092c393a42Smrg 49102c393a42SmrgDescription 49112c393a42Smrg 4912ca08ab68Smrg Destroys set. 49132c393a42Smrg 49142c393a42SmrgVersion 49152c393a42Smrg 4916ca08ab68Smrg Fontconfig version 2.10.2 49172c393a42Smrg 4918ca08ab68Smrg FcStrListCreate 49192c393a42Smrg 49202c393a42SmrgName 49212c393a42Smrg 4922ca08ab68Smrg FcStrListCreate -- create a string iterator 49232c393a42Smrg 49242c393a42SmrgSynopsis 49252c393a42Smrg 4926ca08ab68Smrg #include <fontconfig.h> 49272c393a42Smrg 4928a6844aabSmrg 4929ca08ab68Smrg FcStrList * FcStrListCreate(FcStrSet *set); 49302c393a42Smrg 49312c393a42SmrgDescription 49322c393a42Smrg 4933ca08ab68Smrg Creates an iterator to list the strings in set. 49342c393a42Smrg 49352c393a42SmrgVersion 49362c393a42Smrg 4937ca08ab68Smrg Fontconfig version 2.10.2 49382c393a42Smrg 4939ca08ab68Smrg FcStrListNext 49402c393a42Smrg 49412c393a42SmrgName 49422c393a42Smrg 4943ca08ab68Smrg FcStrListNext -- get next string in iteration 49442c393a42Smrg 49452c393a42SmrgSynopsis 49462c393a42Smrg 4947ca08ab68Smrg #include <fontconfig.h> 49482c393a42Smrg 4949a6844aabSmrg 4950ca08ab68Smrg FcChar8 * FcStrListNext(FcStrList *list); 49512c393a42Smrg 49522c393a42SmrgDescription 49532c393a42Smrg 4954ca08ab68Smrg Returns the next string in set. 49552c393a42Smrg 49562c393a42SmrgVersion 49572c393a42Smrg 4958ca08ab68Smrg Fontconfig version 2.10.2 49592c393a42Smrg 4960ca08ab68Smrg FcStrListDone 49612c393a42Smrg 4962ca08ab68SmrgName 4963ca08ab68Smrg 4964ca08ab68Smrg FcStrListDone -- destroy a string iterator 4965ca08ab68Smrg 4966ca08ab68SmrgSynopsis 4967ca08ab68Smrg 4968ca08ab68Smrg #include <fontconfig.h> 4969ca08ab68Smrg 4970ca08ab68Smrg 4971ca08ab68Smrg void FcStrListDone(FcStrList *list); 4972ca08ab68Smrg 4973ca08ab68SmrgDescription 4974ca08ab68Smrg 4975ca08ab68Smrg Destroys the enumerator list. 4976ca08ab68Smrg 4977ca08ab68SmrgVersion 4978ca08ab68Smrg 4979ca08ab68Smrg Fontconfig version 2.10.2 4980ca08ab68Smrg 4981ca08ab68Smrg -------------------------------------------------------------------------- 4982ca08ab68Smrg 4983ca08ab68Smrg String utilities 4984ca08ab68Smrg 4985ca08ab68Smrg Table of Contents 4986ca08ab68Smrg 4987ca08ab68Smrg [170]FcUtf8ToUcs4 -- convert UTF-8 to UCS4 4988ca08ab68Smrg 4989ca08ab68Smrg [171]FcUcs4ToUtf8 -- convert UCS4 to UTF-8 49902c393a42Smrg 4991ca08ab68Smrg [172]FcUtf8Len -- count UTF-8 encoded chars 49922c393a42Smrg 4993ca08ab68Smrg [173]FcUtf16ToUcs4 -- convert UTF-16 to UCS4 49942c393a42Smrg 4995ca08ab68Smrg [174]FcUtf16Len -- count UTF-16 encoded chars 4996ca08ab68Smrg 4997ca08ab68Smrg [175]FcIsLower -- check for lower case ASCII character 4998ca08ab68Smrg 4999ca08ab68Smrg [176]FcIsUpper -- check for upper case ASCII character 5000ca08ab68Smrg 5001ca08ab68Smrg [177]FcToLower -- convert upper case ASCII to lower case 5002ca08ab68Smrg 5003ca08ab68Smrg [178]FcStrCopy -- duplicate a string 5004ca08ab68Smrg 5005ca08ab68Smrg [179]FcStrDowncase -- create a lower case translation of a string 5006ca08ab68Smrg 5007ca08ab68Smrg [180]FcStrCopyFilename -- create a complete path from a filename 5008ca08ab68Smrg 5009ca08ab68Smrg [181]FcStrCmp -- compare UTF-8 strings 5010ca08ab68Smrg 5011ca08ab68Smrg [182]FcStrCmpIgnoreCase -- compare UTF-8 strings ignoring case 5012ca08ab68Smrg 5013ca08ab68Smrg [183]FcStrStr -- locate UTF-8 substring 5014ca08ab68Smrg 5015ca08ab68Smrg [184]FcStrStrIgnoreCase -- locate UTF-8 substring ignoring ASCII case 5016ca08ab68Smrg 5017ca08ab68Smrg [185]FcStrPlus -- concatenate two strings 5018ca08ab68Smrg 5019ca08ab68Smrg [186]FcStrFree -- free a string 5020ca08ab68Smrg 5021ca08ab68Smrg [187]FcStrDirname -- directory part of filename 5022ca08ab68Smrg 5023ca08ab68Smrg [188]FcStrBasename -- last component of filename 5024ca08ab68Smrg 5025ca08ab68Smrg Fontconfig manipulates many UTF-8 strings represented with the FcChar8 5026ca08ab68Smrg type. These functions are exposed to help applications deal with these 5027ca08ab68Smrg UTF-8 strings in a locale-insensitive manner. 5028ca08ab68Smrg 5029ca08ab68Smrg FcUtf8ToUcs4 50302c393a42Smrg 50312c393a42SmrgName 50322c393a42Smrg 5033ca08ab68Smrg FcUtf8ToUcs4 -- convert UTF-8 to UCS4 50342c393a42Smrg 50352c393a42SmrgSynopsis 50362c393a42Smrg 5037ca08ab68Smrg #include <fontconfig.h> 50382c393a42Smrg 5039a6844aabSmrg 5040ca08ab68Smrg int FcUtf8ToUcs4(FcChar8 *src, FcChar32 *dst, int len); 50412c393a42Smrg 50422c393a42SmrgDescription 50432c393a42Smrg 5044ca08ab68Smrg Converts the next Unicode char from src into dst and returns the number of 5045ca08ab68Smrg bytes containing the char. src must be at least len bytes long. 50462c393a42Smrg 50472c393a42SmrgVersion 50482c393a42Smrg 5049ca08ab68Smrg Fontconfig version 2.10.2 50502c393a42Smrg 5051ca08ab68Smrg FcUcs4ToUtf8 50522c393a42Smrg 50532c393a42SmrgName 50542c393a42Smrg 5055ca08ab68Smrg FcUcs4ToUtf8 -- convert UCS4 to UTF-8 50562c393a42Smrg 50572c393a42SmrgSynopsis 50582c393a42Smrg 5059ca08ab68Smrg #include <fontconfig.h> 50602c393a42Smrg 5061a6844aabSmrg 5062ca08ab68Smrg int FcUcs4ToUtf8(FcChar32 src, FcChar8 dst[FC_UTF8_MAX_LEN]); 50632c393a42Smrg 50642c393a42SmrgDescription 50652c393a42Smrg 5066ca08ab68Smrg Converts the Unicode char from src into dst and returns the number of 5067ca08ab68Smrg bytes needed to encode the char. 50682c393a42Smrg 50692c393a42SmrgVersion 50702c393a42Smrg 5071ca08ab68Smrg Fontconfig version 2.10.2 50722c393a42Smrg 5073ca08ab68Smrg FcUtf8Len 50742c393a42Smrg 50752c393a42SmrgName 50762c393a42Smrg 5077ca08ab68Smrg FcUtf8Len -- count UTF-8 encoded chars 50782c393a42Smrg 50792c393a42SmrgSynopsis 50802c393a42Smrg 5081ca08ab68Smrg #include <fontconfig.h> 50822c393a42Smrg 5083a6844aabSmrg 5084ca08ab68Smrg FcBool FcUtf8Len(FcChar8 *src, int len, int *nchar, int *wchar); 50852c393a42Smrg 50862c393a42SmrgDescription 50872c393a42Smrg 5088ca08ab68Smrg Counts the number of Unicode chars in len bytes of src. Places that count 5089ca08ab68Smrg in nchar. wchar contains 1, 2 or 4 depending on the number of bytes needed 5090ca08ab68Smrg to hold the largest Unicode char counted. The return value indicates 5091ca08ab68Smrg whether src is a well-formed UTF8 string. 50922c393a42Smrg 50932c393a42SmrgVersion 50942c393a42Smrg 5095ca08ab68Smrg Fontconfig version 2.10.2 50962c393a42Smrg 5097ca08ab68Smrg FcUtf16ToUcs4 50982c393a42Smrg 50992c393a42SmrgName 51002c393a42Smrg 5101ca08ab68Smrg FcUtf16ToUcs4 -- convert UTF-16 to UCS4 51022c393a42Smrg 51032c393a42SmrgSynopsis 51042c393a42Smrg 5105ca08ab68Smrg #include <fontconfig.h> 51062c393a42Smrg 5107a6844aabSmrg 5108ca08ab68Smrg int FcUtf16ToUcs4(FcChar8 *src, FcEndian endian, FcChar32 *dst, int len); 51092c393a42Smrg 51102c393a42SmrgDescription 51112c393a42Smrg 5112ca08ab68Smrg Converts the next Unicode char from src into dst and returns the number of 5113ca08ab68Smrg bytes containing the char. src must be at least len bytes long. Bytes of 5114ca08ab68Smrg src are combined into 16-bit units according to endian. 51152c393a42Smrg 51162c393a42SmrgVersion 51172c393a42Smrg 5118ca08ab68Smrg Fontconfig version 2.10.2 51192c393a42Smrg 5120ca08ab68Smrg FcUtf16Len 51212c393a42Smrg 51222c393a42SmrgName 51232c393a42Smrg 5124ca08ab68Smrg FcUtf16Len -- count UTF-16 encoded chars 51252c393a42Smrg 51262c393a42SmrgSynopsis 51272c393a42Smrg 5128ca08ab68Smrg #include <fontconfig.h> 51292c393a42Smrg 5130a6844aabSmrg 5131ca08ab68Smrg FcBool FcUtf16Len(FcChar8 *src, FcEndian endian, int len, int *nchar, int 5132ca08ab68Smrg *wchar); 51332c393a42Smrg 51342c393a42SmrgDescription 51352c393a42Smrg 5136ca08ab68Smrg Counts the number of Unicode chars in len bytes of src. Bytes of src are 5137ca08ab68Smrg combined into 16-bit units according to endian. Places that count in 5138ca08ab68Smrg nchar. wchar contains 1, 2 or 4 depending on the number of bytes needed to 5139ca08ab68Smrg hold the largest Unicode char counted. The return value indicates whether 5140ca08ab68Smrg string is a well-formed UTF16 string. 51412c393a42Smrg 51422c393a42SmrgVersion 51432c393a42Smrg 5144ca08ab68Smrg Fontconfig version 2.10.2 51452c393a42Smrg 5146ca08ab68Smrg FcIsLower 51472c393a42Smrg 51482c393a42SmrgName 51492c393a42Smrg 5150ca08ab68Smrg FcIsLower -- check for lower case ASCII character 51512c393a42Smrg 51522c393a42SmrgSynopsis 51532c393a42Smrg 5154ca08ab68Smrg #include <fontconfig.h> 51552c393a42Smrg 5156a6844aabSmrg 5157ca08ab68Smrg FcBool FcIsLower(FcChar8c); 51582c393a42Smrg 51592c393a42SmrgDescription 51602c393a42Smrg 5161ca08ab68Smrg This macro checks whether c is an lower case ASCII letter. 51622c393a42Smrg 51632c393a42SmrgVersion 51642c393a42Smrg 5165ca08ab68Smrg Fontconfig version 2.10.2 51662c393a42Smrg 5167ca08ab68Smrg FcIsUpper 51682c393a42Smrg 51692c393a42SmrgName 51702c393a42Smrg 5171ca08ab68Smrg FcIsUpper -- check for upper case ASCII character 51722c393a42Smrg 51732c393a42SmrgSynopsis 51742c393a42Smrg 5175ca08ab68Smrg #include <fontconfig.h> 51762c393a42Smrg 5177a6844aabSmrg 5178ca08ab68Smrg FcBool FcIsUpper(FcChar8c); 51792c393a42Smrg 51802c393a42SmrgDescription 51812c393a42Smrg 5182ca08ab68Smrg This macro checks whether c is a upper case ASCII letter. 51832c393a42Smrg 51842c393a42SmrgVersion 51852c393a42Smrg 5186ca08ab68Smrg Fontconfig version 2.10.2 51872c393a42Smrg 5188ca08ab68Smrg FcToLower 51892c393a42Smrg 51902c393a42SmrgName 51912c393a42Smrg 5192ca08ab68Smrg FcToLower -- convert upper case ASCII to lower case 51932c393a42Smrg 51942c393a42SmrgSynopsis 51952c393a42Smrg 5196ca08ab68Smrg #include <fontconfig.h> 51972c393a42Smrg 5198a6844aabSmrg 5199ca08ab68Smrg FcChar8 FcToLower(FcChar8c); 52002c393a42Smrg 52012c393a42SmrgDescription 52022c393a42Smrg 5203ca08ab68Smrg This macro converts upper case ASCII c to the equivalent lower case 5204ca08ab68Smrg letter. 52052c393a42Smrg 52062c393a42SmrgVersion 52072c393a42Smrg 5208ca08ab68Smrg Fontconfig version 2.10.2 52092c393a42Smrg 5210ca08ab68Smrg FcStrCopy 52112c393a42Smrg 52122c393a42SmrgName 52132c393a42Smrg 5214ca08ab68Smrg FcStrCopy -- duplicate a string 52152c393a42Smrg 52162c393a42SmrgSynopsis 52172c393a42Smrg 5218ca08ab68Smrg #include <fontconfig.h> 52192c393a42Smrg 5220a6844aabSmrg 5221ca08ab68Smrg FcChar8 * FcStrCopy(const FcChar8 *s); 52222c393a42Smrg 52232c393a42SmrgDescription 52242c393a42Smrg 5225ca08ab68Smrg Allocates memory, copies s and returns the resulting buffer. Yes, this is 5226ca08ab68Smrg strdup, but that function isn't available on every platform. 52272c393a42Smrg 52282c393a42SmrgVersion 52292c393a42Smrg 5230ca08ab68Smrg Fontconfig version 2.10.2 52312c393a42Smrg 5232ca08ab68Smrg FcStrDowncase 52332c393a42Smrg 52342c393a42SmrgName 52352c393a42Smrg 5236ca08ab68Smrg FcStrDowncase -- create a lower case translation of a string 52372c393a42Smrg 52382c393a42SmrgSynopsis 52392c393a42Smrg 5240ca08ab68Smrg #include <fontconfig.h> 52412c393a42Smrg 5242a6844aabSmrg 5243ca08ab68Smrg FcChar8 * FcStrDowncase(const FcChar8 *s); 52442c393a42Smrg 52452c393a42SmrgDescription 52462c393a42Smrg 5247ca08ab68Smrg Allocates memory, copies s, converting upper case letters to lower case 5248ca08ab68Smrg and returns the allocated buffer. 52492c393a42Smrg 52502c393a42SmrgVersion 52512c393a42Smrg 5252ca08ab68Smrg Fontconfig version 2.10.2 52532c393a42Smrg 5254ca08ab68Smrg FcStrCopyFilename 52552c393a42Smrg 52562c393a42SmrgName 52572c393a42Smrg 5258ca08ab68Smrg FcStrCopyFilename -- create a complete path from a filename 52592c393a42Smrg 52602c393a42SmrgSynopsis 52612c393a42Smrg 5262ca08ab68Smrg #include <fontconfig.h> 52632c393a42Smrg 5264a6844aabSmrg 5265ca08ab68Smrg FcChar8 * FcStrCopyFilename(const FcChar8 *s); 52662c393a42Smrg 52672c393a42SmrgDescription 52682c393a42Smrg 5269ca08ab68Smrg FcStrCopyFilename constructs an absolute pathname from s. It converts any 5270ca08ab68Smrg leading '~' characters in to the value of the HOME environment variable, 5271ca08ab68Smrg and any relative paths are converted to absolute paths using the current 5272ca08ab68Smrg working directory. Sequences of '/' characters are converted to a single 5273ca08ab68Smrg '/', and names containing the current directory '.' or parent directory 5274ca08ab68Smrg '..' are correctly reconstructed. Returns NULL if '~' is the leading 5275ca08ab68Smrg character and HOME is unset or disabled (see FcConfigEnableHome). 52762c393a42Smrg 52772c393a42SmrgVersion 52782c393a42Smrg 5279ca08ab68Smrg Fontconfig version 2.10.2 52802c393a42Smrg 5281ca08ab68Smrg FcStrCmp 52822c393a42Smrg 52832c393a42SmrgName 52842c393a42Smrg 5285ca08ab68Smrg FcStrCmp -- compare UTF-8 strings 52862c393a42Smrg 52872c393a42SmrgSynopsis 52882c393a42Smrg 5289ca08ab68Smrg #include <fontconfig.h> 52902c393a42Smrg 5291a6844aabSmrg 5292ca08ab68Smrg int FcStrCmp(const FcChar8 *s1, const FcChar8 *s2); 52932c393a42Smrg 52942c393a42SmrgDescription 52952c393a42Smrg 5296ca08ab68Smrg Returns the usual <0, 0, >0 result of comparing s1 and s2. 52972c393a42Smrg 52982c393a42SmrgVersion 52992c393a42Smrg 5300ca08ab68Smrg Fontconfig version 2.10.2 53012c393a42Smrg 5302ca08ab68Smrg FcStrCmpIgnoreCase 53032c393a42Smrg 53042c393a42SmrgName 53052c393a42Smrg 5306ca08ab68Smrg FcStrCmpIgnoreCase -- compare UTF-8 strings ignoring case 53072c393a42Smrg 53082c393a42SmrgSynopsis 53092c393a42Smrg 5310ca08ab68Smrg #include <fontconfig.h> 53112c393a42Smrg 5312a6844aabSmrg 5313ca08ab68Smrg int FcStrCmpIgnoreCase(const FcChar8 *s1, const FcChar8 *s2); 53142c393a42Smrg 53152c393a42SmrgDescription 53162c393a42Smrg 5317ca08ab68Smrg Returns the usual <0, 0, >0 result of comparing s1 and s2. This test is 5318ca08ab68Smrg case-insensitive for all proper UTF-8 encoded strings. 53192c393a42Smrg 53202c393a42SmrgVersion 53212c393a42Smrg 5322ca08ab68Smrg Fontconfig version 2.10.2 53232c393a42Smrg 5324ca08ab68Smrg FcStrStr 53252c393a42Smrg 53262c393a42SmrgName 53272c393a42Smrg 5328ca08ab68Smrg FcStrStr -- locate UTF-8 substring 53292c393a42Smrg 53302c393a42SmrgSynopsis 53312c393a42Smrg 5332ca08ab68Smrg #include <fontconfig.h> 53332c393a42Smrg 5334a6844aabSmrg 5335ca08ab68Smrg FcChar8 * FcStrStr(const FcChar8 *s1, const FcChar8 *s2); 53362c393a42Smrg 53372c393a42SmrgDescription 53382c393a42Smrg 5339ca08ab68Smrg Returns the location of s2 in s1. Returns NULL if s2 is not present in s1. 5340ca08ab68Smrg This test will operate properly with UTF8 encoded strings. 53412c393a42Smrg 53422c393a42SmrgVersion 53432c393a42Smrg 5344ca08ab68Smrg Fontconfig version 2.10.2 53452c393a42Smrg 5346ca08ab68Smrg FcStrStrIgnoreCase 53472c393a42Smrg 53482c393a42SmrgName 53492c393a42Smrg 5350ca08ab68Smrg FcStrStrIgnoreCase -- locate UTF-8 substring ignoring ASCII case 53512c393a42Smrg 53522c393a42SmrgSynopsis 53532c393a42Smrg 5354ca08ab68Smrg #include <fontconfig.h> 53552c393a42Smrg 5356a6844aabSmrg 5357ca08ab68Smrg FcChar8 * FcStrStrIgnoreCase(const FcChar8 *s1, const FcChar8 *s2); 53582c393a42Smrg 53592c393a42SmrgDescription 53602c393a42Smrg 5361ca08ab68Smrg Returns the location of s2 in s1, ignoring case. Returns NULL if s2 is not 5362ca08ab68Smrg present in s1. This test is case-insensitive for all proper UTF-8 encoded 5363ca08ab68Smrg strings. 53642c393a42Smrg 53652c393a42SmrgVersion 53662c393a42Smrg 5367ca08ab68Smrg Fontconfig version 2.10.2 53682c393a42Smrg 5369ca08ab68Smrg FcStrPlus 53702c393a42Smrg 53712c393a42SmrgName 53722c393a42Smrg 5373ca08ab68Smrg FcStrPlus -- concatenate two strings 53742c393a42Smrg 53752c393a42SmrgSynopsis 53762c393a42Smrg 5377ca08ab68Smrg #include <fontconfig.h> 53782c393a42Smrg 5379a6844aabSmrg 5380ca08ab68Smrg FcChar8 * FcStrPlus(const FcChar8 *s1, const FcChar8 *s2); 53812c393a42Smrg 53822c393a42SmrgDescription 53832c393a42Smrg 5384ca08ab68Smrg This function allocates new storage and places the concatenation of s1 and 5385ca08ab68Smrg s2 there, returning the new string. 53862c393a42Smrg 53872c393a42SmrgVersion 53882c393a42Smrg 5389ca08ab68Smrg Fontconfig version 2.10.2 53902c393a42Smrg 5391ca08ab68Smrg FcStrFree 53922c393a42Smrg 53932c393a42SmrgName 53942c393a42Smrg 5395ca08ab68Smrg FcStrFree -- free a string 53962c393a42Smrg 53972c393a42SmrgSynopsis 53982c393a42Smrg 5399ca08ab68Smrg #include <fontconfig.h> 54002c393a42Smrg 5401a6844aabSmrg 5402ca08ab68Smrg void FcStrFree(FcChar8 *s); 54032c393a42Smrg 54042c393a42SmrgDescription 54052c393a42Smrg 5406ca08ab68Smrg This is just a wrapper around free(3) which helps track memory usage of 5407ca08ab68Smrg strings within the fontconfig library. 54082c393a42Smrg 54092c393a42SmrgVersion 54102c393a42Smrg 5411ca08ab68Smrg Fontconfig version 2.10.2 54122c393a42Smrg 5413ca08ab68Smrg FcStrDirname 54142c393a42Smrg 54152c393a42SmrgName 54162c393a42Smrg 5417ca08ab68Smrg FcStrDirname -- directory part of filename 54182c393a42Smrg 54192c393a42SmrgSynopsis 54202c393a42Smrg 5421ca08ab68Smrg #include <fontconfig.h> 54222c393a42Smrg 5423a6844aabSmrg 5424ca08ab68Smrg FcChar8 * FcStrDirname(const FcChar8 *file); 54252c393a42Smrg 54262c393a42SmrgDescription 54272c393a42Smrg 5428ca08ab68Smrg Returns the directory containing file. This is returned in newly allocated 5429ca08ab68Smrg storage which should be freed when no longer needed. 54302c393a42Smrg 54312c393a42SmrgVersion 54322c393a42Smrg 5433ca08ab68Smrg Fontconfig version 2.10.2 54342c393a42Smrg 5435ca08ab68Smrg FcStrBasename 54362c393a42Smrg 54372c393a42SmrgName 54382c393a42Smrg 5439ca08ab68Smrg FcStrBasename -- last component of filename 54402c393a42Smrg 54412c393a42SmrgSynopsis 54422c393a42Smrg 5443ca08ab68Smrg #include <fontconfig.h> 54442c393a42Smrg 5445a6844aabSmrg 5446ca08ab68Smrg FcChar8 * FcStrBasename(const FcChar8 *file); 54472c393a42Smrg 54482c393a42SmrgDescription 54492c393a42Smrg 5450ca08ab68Smrg Returns the filename of file stripped of any leading directory names. This 5451ca08ab68Smrg is returned in newly allocated storage which should be freed when no 5452ca08ab68Smrg longer needed. 54532c393a42Smrg 54542c393a42SmrgVersion 54552c393a42Smrg 5456ca08ab68Smrg Fontconfig version 2.10.2 5457ca08ab68Smrg 5458ca08ab68SmrgReferences 5459a6844aabSmrg 5460ca08ab68Smrg Visible links 5461ca08ab68Smrg 1. file:///tmp/html-AqcuLC#AEN16 5462ca08ab68Smrg 2. file:///tmp/html-AqcuLC#AEN19 5463ca08ab68Smrg 3. file:///tmp/html-AqcuLC#AEN31 5464ca08ab68Smrg 4. file:///tmp/html-AqcuLC#AEN102 5465ca08ab68Smrg 5. file:///tmp/html-AqcuLC#FCINITLOADCONFIG 5466ca08ab68Smrg 6. file:///tmp/html-AqcuLC#FCINITLOADCONFIGANDFONTS 5467ca08ab68Smrg 7. file:///tmp/html-AqcuLC#FCINIT 5468ca08ab68Smrg 8. file:///tmp/html-AqcuLC#FCFINI 5469ca08ab68Smrg 9. file:///tmp/html-AqcuLC#FCGETVERSION 5470ca08ab68Smrg 10. file:///tmp/html-AqcuLC#FCINITREINITIALIZE 5471ca08ab68Smrg 11. file:///tmp/html-AqcuLC#FCINITBRINGUPTODATE 5472ca08ab68Smrg 12. file:///tmp/html-AqcuLC#FCPATTERNCREATE 5473ca08ab68Smrg 13. file:///tmp/html-AqcuLC#FCPATTERNDUPLICATE 5474ca08ab68Smrg 14. file:///tmp/html-AqcuLC#FCPATTERNREFERENCE 5475ca08ab68Smrg 15. file:///tmp/html-AqcuLC#FCPATTERNDESTROY 5476ca08ab68Smrg 16. file:///tmp/html-AqcuLC#FCPATTERNEQUAL 5477ca08ab68Smrg 17. file:///tmp/html-AqcuLC#FCPATTERNEQUALSUBSET 5478ca08ab68Smrg 18. file:///tmp/html-AqcuLC#FCPATTERNFILTER 5479ca08ab68Smrg 19. file:///tmp/html-AqcuLC#FCPATTERNHASH 5480ca08ab68Smrg 20. file:///tmp/html-AqcuLC#FCPATTERNADD 5481ca08ab68Smrg 21. file:///tmp/html-AqcuLC#FCPATTERNADDWEAK 5482ca08ab68Smrg 22. file:///tmp/html-AqcuLC#FCPATTERNADD-TYPE 5483ca08ab68Smrg 23. file:///tmp/html-AqcuLC#FCPATTERNGET 5484ca08ab68Smrg 24. file:///tmp/html-AqcuLC#FCPATTERNGET-TYPE 5485ca08ab68Smrg 25. file:///tmp/html-AqcuLC#FCPATTERNBUILD 5486ca08ab68Smrg 26. file:///tmp/html-AqcuLC#FCPATTERNDEL 5487ca08ab68Smrg 27. file:///tmp/html-AqcuLC#FCPATTERNREMOVE 5488ca08ab68Smrg 28. file:///tmp/html-AqcuLC#FCPATTERNPRINT 5489ca08ab68Smrg 29. file:///tmp/html-AqcuLC#FCDEFAULTSUBSTITUTE 5490ca08ab68Smrg 30. file:///tmp/html-AqcuLC#FCNAMEPARSE 5491ca08ab68Smrg 31. file:///tmp/html-AqcuLC#FCNAMEUNPARSE 5492ca08ab68Smrg 32. file:///tmp/html-AqcuLC#FCPATTERNFORMAT 5493ca08ab68Smrg 33. file:///tmp/html-AqcuLC#FCFONTSETCREATE 5494ca08ab68Smrg 34. file:///tmp/html-AqcuLC#FCFONTSETDESTROY 5495ca08ab68Smrg 35. file:///tmp/html-AqcuLC#FCFONTSETADD 5496ca08ab68Smrg 36. file:///tmp/html-AqcuLC#FCFONTSETLIST 5497ca08ab68Smrg 37. file:///tmp/html-AqcuLC#FCFONTSETMATCH 5498ca08ab68Smrg 38. file:///tmp/html-AqcuLC#FCFONTSETPRINT 5499ca08ab68Smrg 39. file:///tmp/html-AqcuLC#FCFONTSETSORT 5500ca08ab68Smrg 40. file:///tmp/html-AqcuLC#FCFONTSETSORTDESTROY 5501ca08ab68Smrg 41. file:///tmp/html-AqcuLC#FCOBJECTSETCREATE 5502ca08ab68Smrg 42. file:///tmp/html-AqcuLC#FCOBJECTSETADD 5503ca08ab68Smrg 43. file:///tmp/html-AqcuLC#FCOBJECTSETDESTROY 5504ca08ab68Smrg 44. file:///tmp/html-AqcuLC#FCOBJECTSETBUILD 5505ca08ab68Smrg 45. file:///tmp/html-AqcuLC#FCFREETYPECHARINDEX 5506ca08ab68Smrg 46. file:///tmp/html-AqcuLC#FCFREETYPECHARSET 5507ca08ab68Smrg 47. file:///tmp/html-AqcuLC#FCFREETYPECHARSETANDSPACING 5508ca08ab68Smrg 48. file:///tmp/html-AqcuLC#FCFREETYPEQUERY 5509ca08ab68Smrg 49. file:///tmp/html-AqcuLC#FCFREETYPEQUERYFACE 5510ca08ab68Smrg 50. file:///tmp/html-AqcuLC#FCVALUEDESTROY 5511ca08ab68Smrg 51. file:///tmp/html-AqcuLC#FCVALUESAVE 5512ca08ab68Smrg 52. file:///tmp/html-AqcuLC#FCVALUEPRINT 5513ca08ab68Smrg 53. file:///tmp/html-AqcuLC#FCVALUEEQUAL 5514ca08ab68Smrg 54. file:///tmp/html-AqcuLC#FCCHARSETCREATE 5515ca08ab68Smrg 55. file:///tmp/html-AqcuLC#FCCHARSETDESTROY 5516ca08ab68Smrg 56. file:///tmp/html-AqcuLC#FCCHARSETADDCHAR 5517ca08ab68Smrg 57. file:///tmp/html-AqcuLC#FCCHARSETDELCHAR 5518ca08ab68Smrg 58. file:///tmp/html-AqcuLC#FCCHARSETCOPY 5519ca08ab68Smrg 59. file:///tmp/html-AqcuLC#FCCHARSETEQUAL 5520ca08ab68Smrg 60. file:///tmp/html-AqcuLC#FCCHARSETINTERSECT 5521ca08ab68Smrg 61. file:///tmp/html-AqcuLC#FCCHARSETUNION 5522ca08ab68Smrg 62. file:///tmp/html-AqcuLC#FCCHARSETSUBTRACT 5523ca08ab68Smrg 63. file:///tmp/html-AqcuLC#FCCHARSETMERGE 5524ca08ab68Smrg 64. file:///tmp/html-AqcuLC#FCCHARSETHASCHAR 5525ca08ab68Smrg 65. file:///tmp/html-AqcuLC#FCCHARSETCOUNT 5526ca08ab68Smrg 66. file:///tmp/html-AqcuLC#FCCHARSETINTERSECTCOUNT 5527ca08ab68Smrg 67. file:///tmp/html-AqcuLC#FCCHARSETSUBTRACTCOUNT 5528ca08ab68Smrg 68. file:///tmp/html-AqcuLC#FCCHARSETISSUBSET 5529ca08ab68Smrg 69. file:///tmp/html-AqcuLC#FCCHARSETFIRSTPAGE 5530ca08ab68Smrg 70. file:///tmp/html-AqcuLC#FCCHARSETNEXTPAGE 5531ca08ab68Smrg 71. file:///tmp/html-AqcuLC#FCCHARSETCOVERAGE 5532ca08ab68Smrg 72. file:///tmp/html-AqcuLC#FCCHARSETNEW 5533ca08ab68Smrg 73. file:///tmp/html-AqcuLC#FCLANGSETCREATE 5534ca08ab68Smrg 74. file:///tmp/html-AqcuLC#FCLANGSETDESTROY 5535ca08ab68Smrg 75. file:///tmp/html-AqcuLC#FCLANGSETCOPY 5536ca08ab68Smrg 76. file:///tmp/html-AqcuLC#FCLANGSETADD 5537ca08ab68Smrg 77. file:///tmp/html-AqcuLC#FCLANGSETDEL 5538ca08ab68Smrg 78. file:///tmp/html-AqcuLC#FCLANGSETUNION 5539ca08ab68Smrg 79. file:///tmp/html-AqcuLC#FCLANGSETSUBTRACT 5540ca08ab68Smrg 80. file:///tmp/html-AqcuLC#FCLANGSETCOMPARE 5541ca08ab68Smrg 81. file:///tmp/html-AqcuLC#FCLANGSETCONTAINS 5542ca08ab68Smrg 82. file:///tmp/html-AqcuLC#FCLANGSETEQUAL 5543ca08ab68Smrg 83. file:///tmp/html-AqcuLC#FCLANGSETHASH 5544ca08ab68Smrg 84. file:///tmp/html-AqcuLC#FCLANGSETHASLANG 5545ca08ab68Smrg 85. file:///tmp/html-AqcuLC#FCGETDEFAULTLANGS 5546ca08ab68Smrg 86. file:///tmp/html-AqcuLC#FCGETLANGS 5547ca08ab68Smrg 87. file:///tmp/html-AqcuLC#FCLANGGETCHARSET 5548ca08ab68Smrg 88. file:///tmp/html-AqcuLC#FCMATRIXINIT 5549ca08ab68Smrg 89. file:///tmp/html-AqcuLC#FCMATRIXCOPY 5550ca08ab68Smrg 90. file:///tmp/html-AqcuLC#FCMATRIXEQUAL 5551ca08ab68Smrg 91. file:///tmp/html-AqcuLC#FCMATRIXMULTIPLY 5552ca08ab68Smrg 92. file:///tmp/html-AqcuLC#FCMATRIXROTATE 5553ca08ab68Smrg 93. file:///tmp/html-AqcuLC#FCMATRIXSCALE 5554ca08ab68Smrg 94. file:///tmp/html-AqcuLC#FCMATRIXSHEAR 5555ca08ab68Smrg 95. file:///tmp/html-AqcuLC#FCCONFIGCREATE 5556ca08ab68Smrg 96. file:///tmp/html-AqcuLC#FCCONFIGREFERENCE 5557ca08ab68Smrg 97. file:///tmp/html-AqcuLC#FCCONFIGDESTROY 5558ca08ab68Smrg 98. file:///tmp/html-AqcuLC#FCCONFIGSETCURRENT 5559ca08ab68Smrg 99. file:///tmp/html-AqcuLC#FCCONFIGGETCURRENT 5560ca08ab68Smrg 100. file:///tmp/html-AqcuLC#FCCONFIGUPTODATE 5561ca08ab68Smrg 101. file:///tmp/html-AqcuLC#FCCONFIGHOME 5562ca08ab68Smrg 102. file:///tmp/html-AqcuLC#FCCONFIGENABLEHOME 5563ca08ab68Smrg 103. file:///tmp/html-AqcuLC#FCCONFIGBUILDFONTS 5564ca08ab68Smrg 104. file:///tmp/html-AqcuLC#FCCONFIGGETCONFIGDIRS 5565ca08ab68Smrg 105. file:///tmp/html-AqcuLC#FCCONFIGGETFONTDIRS 5566ca08ab68Smrg 106. file:///tmp/html-AqcuLC#FCCONFIGGETCONFIGFILES 5567ca08ab68Smrg 107. file:///tmp/html-AqcuLC#FCCONFIGGETCACHE 5568ca08ab68Smrg 108. file:///tmp/html-AqcuLC#FCCONFIGGETCACHEDIRS 5569ca08ab68Smrg 109. file:///tmp/html-AqcuLC#FCCONFIGGETFONTS 5570ca08ab68Smrg 110. file:///tmp/html-AqcuLC#FCCONFIGGETBLANKS 5571ca08ab68Smrg 111. file:///tmp/html-AqcuLC#FCCONFIGGETRESCANINTERVAL 5572ca08ab68Smrg 112. file:///tmp/html-AqcuLC#FCCONFIGSETRESCANINTERVAL 5573ca08ab68Smrg 113. file:///tmp/html-AqcuLC#FCCONFIGAPPFONTADDFILE 5574ca08ab68Smrg 114. file:///tmp/html-AqcuLC#FCCONFIGAPPFONTADDDIR 5575ca08ab68Smrg 115. file:///tmp/html-AqcuLC#FCCONFIGAPPFONTCLEAR 5576ca08ab68Smrg 116. file:///tmp/html-AqcuLC#FCCONFIGSUBSTITUTEWITHPAT 5577ca08ab68Smrg 117. file:///tmp/html-AqcuLC#FCCONFIGSUBSTITUTE 5578ca08ab68Smrg 118. file:///tmp/html-AqcuLC#FCFONTMATCH 5579ca08ab68Smrg 119. file:///tmp/html-AqcuLC#FCFONTSORT 5580ca08ab68Smrg 120. file:///tmp/html-AqcuLC#FCFONTRENDERPREPARE 5581ca08ab68Smrg 121. file:///tmp/html-AqcuLC#FCFONTLIST 5582ca08ab68Smrg 122. file:///tmp/html-AqcuLC#FCCONFIGFILENAME 5583ca08ab68Smrg 123. file:///tmp/html-AqcuLC#FCCONFIGPARSEANDLOAD 5584ca08ab68Smrg 124. file:///tmp/html-AqcuLC#FCNAMEREGISTEROBJECTTYPES 5585ca08ab68Smrg 125. file:///tmp/html-AqcuLC#FCNAMEUNREGISTEROBJECTTYPES 5586ca08ab68Smrg 126. file:///tmp/html-AqcuLC#FCNAMEGETOBJECTTYPE 5587ca08ab68Smrg 127. file:///tmp/html-AqcuLC#FCNAMEREGISTERCONSTANTS 5588ca08ab68Smrg 128. file:///tmp/html-AqcuLC#FCNAMEUNREGISTERCONSTANTS 5589ca08ab68Smrg 129. file:///tmp/html-AqcuLC#FCNAMEGETCONSTANT 5590ca08ab68Smrg 130. file:///tmp/html-AqcuLC#FCNAMECONSTANT 5591ca08ab68Smrg 131. file:///tmp/html-AqcuLC#FCBLANKSCREATE 5592ca08ab68Smrg 132. file:///tmp/html-AqcuLC#FCBLANKSDESTROY 5593ca08ab68Smrg 133. file:///tmp/html-AqcuLC#FCBLANKSADD 5594ca08ab68Smrg 134. file:///tmp/html-AqcuLC#FCBLANKSISMEMBER 5595ca08ab68Smrg 135. file:///tmp/html-AqcuLC#FCATOMICCREATE 5596ca08ab68Smrg 136. file:///tmp/html-AqcuLC#FCATOMICLOCK 5597ca08ab68Smrg 137. file:///tmp/html-AqcuLC#FCATOMICNEWFILE 5598ca08ab68Smrg 138. file:///tmp/html-AqcuLC#FCATOMICORIGFILE 5599ca08ab68Smrg 139. file:///tmp/html-AqcuLC#FCATOMICREPLACEORIG 5600ca08ab68Smrg 140. file:///tmp/html-AqcuLC#FCATOMICDELETENEW 5601ca08ab68Smrg 141. file:///tmp/html-AqcuLC#FCATOMICUNLOCK 5602ca08ab68Smrg 142. file:///tmp/html-AqcuLC#FCATOMICDESTROY 5603ca08ab68Smrg 143. file:///tmp/html-AqcuLC#FCFILESCAN 5604ca08ab68Smrg 144. file:///tmp/html-AqcuLC#FCFILEISDIR 5605ca08ab68Smrg 145. file:///tmp/html-AqcuLC#FCDIRSCAN 5606ca08ab68Smrg 146. file:///tmp/html-AqcuLC#FCDIRSAVE 5607ca08ab68Smrg 147. file:///tmp/html-AqcuLC#FCDIRCACHEUNLINK 5608ca08ab68Smrg 148. file:///tmp/html-AqcuLC#FCDIRCACHEVALID 5609ca08ab68Smrg 149. file:///tmp/html-AqcuLC#FCDIRCACHELOAD 5610ca08ab68Smrg 150. file:///tmp/html-AqcuLC#FCDIRCACHEREAD 5611ca08ab68Smrg 151. file:///tmp/html-AqcuLC#FCDIRCACHELOADFILE 5612ca08ab68Smrg 152. file:///tmp/html-AqcuLC#FCDIRCACHEUNLOAD 5613ca08ab68Smrg 153. file:///tmp/html-AqcuLC#FCCACHEDIR 5614ca08ab68Smrg 154. file:///tmp/html-AqcuLC#FCCACHECOPYSET 5615ca08ab68Smrg 155. file:///tmp/html-AqcuLC#FCCACHESUBDIR 5616ca08ab68Smrg 156. file:///tmp/html-AqcuLC#FCCACHENUMSUBDIR 5617ca08ab68Smrg 157. file:///tmp/html-AqcuLC#FCCACHENUMFONT 5618ca08ab68Smrg 158. file:///tmp/html-AqcuLC#FCDIRCACHECLEAN 5619ca08ab68Smrg 159. file:///tmp/html-AqcuLC#FCCACHECREATETAGFILE 5620ca08ab68Smrg 160. file:///tmp/html-AqcuLC#FCSTRSETCREATE 5621ca08ab68Smrg 161. file:///tmp/html-AqcuLC#FCSTRSETMEMBER 5622ca08ab68Smrg 162. file:///tmp/html-AqcuLC#FCSTRSETEQUAL 5623ca08ab68Smrg 163. file:///tmp/html-AqcuLC#FCSTRSETADD 5624ca08ab68Smrg 164. file:///tmp/html-AqcuLC#FCSTRSETADDFILENAME 5625ca08ab68Smrg 165. file:///tmp/html-AqcuLC#FCSTRSETDEL 5626ca08ab68Smrg 166. file:///tmp/html-AqcuLC#FCSTRSETDESTROY 5627ca08ab68Smrg 167. file:///tmp/html-AqcuLC#FCSTRLISTCREATE 5628ca08ab68Smrg 168. file:///tmp/html-AqcuLC#FCSTRLISTNEXT 5629ca08ab68Smrg 169. file:///tmp/html-AqcuLC#FCSTRLISTDONE 5630ca08ab68Smrg 170. file:///tmp/html-AqcuLC#FCUTF8TOUCS4 5631ca08ab68Smrg 171. file:///tmp/html-AqcuLC#FCUCS4TOUTF8 5632ca08ab68Smrg 172. file:///tmp/html-AqcuLC#FCUTF8LEN 5633ca08ab68Smrg 173. file:///tmp/html-AqcuLC#FCUTF16TOUCS4 5634ca08ab68Smrg 174. file:///tmp/html-AqcuLC#FCUTF16LEN 5635ca08ab68Smrg 175. file:///tmp/html-AqcuLC#FCISLOWER 5636ca08ab68Smrg 176. file:///tmp/html-AqcuLC#FCISUPPER 5637ca08ab68Smrg 177. file:///tmp/html-AqcuLC#FCTOLOWER 5638ca08ab68Smrg 178. file:///tmp/html-AqcuLC#FCSTRCOPY 5639ca08ab68Smrg 179. file:///tmp/html-AqcuLC#FCSTRDOWNCASE 5640ca08ab68Smrg 180. file:///tmp/html-AqcuLC#FCSTRCOPYFILENAME 5641ca08ab68Smrg 181. file:///tmp/html-AqcuLC#FCSTRCMP 5642ca08ab68Smrg 182. file:///tmp/html-AqcuLC#FCSTRCMPIGNORECASE 5643ca08ab68Smrg 183. file:///tmp/html-AqcuLC#FCSTRSTR 5644ca08ab68Smrg 184. file:///tmp/html-AqcuLC#FCSTRSTRIGNORECASE 5645ca08ab68Smrg 185. file:///tmp/html-AqcuLC#FCSTRPLUS 5646ca08ab68Smrg 186. file:///tmp/html-AqcuLC#FCSTRFREE 5647ca08ab68Smrg 187. file:///tmp/html-AqcuLC#FCSTRDIRNAME 5648ca08ab68Smrg 188. file:///tmp/html-AqcuLC#FCSTRBASENAME 5649