fontconfig-devel.txt revision c9710b42
1c9710b42Smrg Fontconfig Developers Reference, Version 2.10.93 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 147c9710b42Smrg fontfeatures FC_FONT_FEATURES String List of extra feature tags in 148c9710b42Smrg OpenType to be enabled 149ca08ab68Smrg namelang FC_NAMELANG String Language name to be used for the 150ca08ab68Smrg default value of familylang, 151ca08ab68Smrg stylelang and fullnamelang 152c9710b42Smrg prgname FC_PRGNAME String Name of the running program 153ca08ab68Smrg 154ca08ab68Smrg 155ca08ab68Smrg -------------------------------------------------------------------------- 156a6844aabSmrg 157a6844aabSmrgDatatypes 1582c393a42Smrg 159ca08ab68Smrg Fontconfig uses abstract data types to hide internal implementation 160ca08ab68Smrg details for most data structures. A few structures are exposed where 161ca08ab68Smrg appropriate. 1622c393a42Smrg 163ca08ab68Smrg -------------------------------------------------------------------------- 1642c393a42Smrg 165ca08ab68Smrg FcChar8, FcChar16, FcChar32, FcBool 1662c393a42Smrg 167ca08ab68Smrg These are primitive data types; the FcChar* types hold precisely the 168ca08ab68Smrg number of bits stated (if supported by the C implementation). FcBool holds 169ca08ab68Smrg one of two C preprocessor symbols: FcFalse or FcTrue. 1702c393a42Smrg 171ca08ab68Smrg -------------------------------------------------------------------------- 172a6844aabSmrg 173ca08ab68Smrg FcMatrix 174a6844aabSmrg 175ca08ab68Smrg An FcMatrix holds an affine transformation, usually used to reshape 176ca08ab68Smrg glyphs. A small set of matrix operations are provided to manipulate these. 1772c393a42Smrg 178ca08ab68Smrg typedef struct _FcMatrix { 179ca08ab68Smrg double xx, xy, yx, yy; 180ca08ab68Smrg } FcMatrix; 1812c393a42Smrg 1822c393a42Smrg 183ca08ab68Smrg -------------------------------------------------------------------------- 184a6844aabSmrg 185ca08ab68Smrg FcCharSet 186a6844aabSmrg 187ca08ab68Smrg An FcCharSet is an abstract type that holds the set of encoded Unicode 188ca08ab68Smrg chars in a font. Operations to build and compare these sets are provided. 189a6844aabSmrg 190ca08ab68Smrg -------------------------------------------------------------------------- 191a6844aabSmrg 192ca08ab68Smrg FcLangSet 1932c393a42Smrg 194ca08ab68Smrg An FcLangSet is an abstract type that holds the set of languages supported 195ca08ab68Smrg by a font. Operations to build and compare these sets are provided. These 196ca08ab68Smrg are computed for a font based on orthographic information built into the 197ca08ab68Smrg fontconfig library. Fontconfig has orthographies for all of the ISO 639-1 198ca08ab68Smrg languages except for MS, NA, PA, PS, QU, RN, RW, SD, SG, SN, SU and ZA. If 199ca08ab68Smrg you have orthographic information for any of these languages, please 200ca08ab68Smrg submit them. 2012c393a42Smrg 202ca08ab68Smrg -------------------------------------------------------------------------- 2032c393a42Smrg 204ca08ab68Smrg FcLangResult 2052c393a42Smrg 206ca08ab68Smrg An FcLangResult is an enumeration used to return the results of comparing 207ca08ab68Smrg two language strings or FcLangSet objects. FcLangEqual means the objects 208ca08ab68Smrg match language and territory. FcLangDifferentTerritory means the objects 209ca08ab68Smrg match in language but differ in territory. FcLangDifferentLang means the 210ca08ab68Smrg objects differ in language. 2112c393a42Smrg 212ca08ab68Smrg -------------------------------------------------------------------------- 2132c393a42Smrg 214ca08ab68Smrg FcType 2152c393a42Smrg 216ca08ab68Smrg Tags the kind of data stored in an FcValue. 217a6844aabSmrg 218ca08ab68Smrg -------------------------------------------------------------------------- 219a6844aabSmrg 220ca08ab68Smrg FcValue 221a6844aabSmrg 222ca08ab68Smrg An FcValue object holds a single value with one of a number of different 223ca08ab68Smrg types. The 'type' tag indicates which member is valid. 2242c393a42Smrg 225ca08ab68Smrg typedef struct _FcValue { 226ca08ab68Smrg FcType type; 227ca08ab68Smrg union { 228ca08ab68Smrg const FcChar8 *s; 229ca08ab68Smrg int i; 230ca08ab68Smrg FcBool b; 231ca08ab68Smrg double d; 232ca08ab68Smrg const FcMatrix *m; 233ca08ab68Smrg const FcCharSet *c; 234ca08ab68Smrg void *f; 235ca08ab68Smrg const FcLangSet *l; 236ca08ab68Smrg } u; 237ca08ab68Smrg } FcValue; 2382c393a42Smrg 239a6844aabSmrg 240ca08ab68Smrg FcValue Members 2412c393a42Smrg 242ca08ab68Smrg Type Union member Datatype 243ca08ab68Smrg -------------------------------- 244ca08ab68Smrg FcTypeVoid (none) (none) 245ca08ab68Smrg FcTypeInteger i int 246ca08ab68Smrg FcTypeDouble d double 247ca08ab68Smrg FcTypeString s FcChar8 * 248ca08ab68Smrg FcTypeBool b b 249ca08ab68Smrg FcTypeMatrix m FcMatrix * 250ca08ab68Smrg FcTypeCharSet c FcCharSet * 251ca08ab68Smrg FcTypeFTFace f void * (FT_Face) 252ca08ab68Smrg FcTypeLangSet l FcLangSet * 2532c393a42Smrg 2542c393a42Smrg 255ca08ab68Smrg -------------------------------------------------------------------------- 256a6844aabSmrg 257ca08ab68Smrg FcPattern 2582c393a42Smrg 259ca08ab68Smrg holds a set of names with associated value lists; each name refers to a 260ca08ab68Smrg property of a font. FcPatterns are used as inputs to the matching code as 261ca08ab68Smrg well as holding information about specific fonts. Each property can hold 262ca08ab68Smrg one or more values; conventionally all of the same type, although the 263ca08ab68Smrg interface doesn't demand that. 264a6844aabSmrg 265ca08ab68Smrg -------------------------------------------------------------------------- 266a6844aabSmrg 267ca08ab68Smrg FcFontSet 2682c393a42Smrg 269ca08ab68Smrg typedef struct _FcFontSet { 270ca08ab68Smrg int nfont; 271ca08ab68Smrg int sfont; 272ca08ab68Smrg FcPattern **fonts; 273ca08ab68Smrg } FcFontSet; 2742c393a42Smrg 2752c393a42Smrg 276ca08ab68Smrg An FcFontSet contains a list of FcPatterns. Internally fontconfig uses 277ca08ab68Smrg this data structure to hold sets of fonts. Externally, fontconfig returns 278ca08ab68Smrg the results of listing fonts in this format. 'nfont' holds the number of 279ca08ab68Smrg patterns in the 'fonts' array; 'sfont' is used to indicate the size of 280ca08ab68Smrg that array. 281a6844aabSmrg 282ca08ab68Smrg -------------------------------------------------------------------------- 2832c393a42Smrg 284ca08ab68Smrg FcStrSet, FcStrList 2852c393a42Smrg 286ca08ab68Smrg FcStrSet holds a list of strings that can be appended to and enumerated. 287ca08ab68Smrg Its unique characteristic is that the enumeration works even while strings 288ca08ab68Smrg are appended during enumeration. FcStrList is used during enumeration to 289ca08ab68Smrg safely and correctly walk the list of strings even while that list is 290ca08ab68Smrg edited in the middle of enumeration. 291a6844aabSmrg 292ca08ab68Smrg -------------------------------------------------------------------------- 293a6844aabSmrg 294ca08ab68Smrg FcObjectSet 2952c393a42Smrg 296ca08ab68Smrg typedef struct _FcObjectSet { 297ca08ab68Smrg int nobject; 298ca08ab68Smrg int sobject; 299ca08ab68Smrg const char **objects; 300ca08ab68Smrg } FcObjectSet; 3012c393a42Smrg 3022c393a42Smrg 303ca08ab68Smrg holds a set of names and is used to specify which fields from fonts are 304ca08ab68Smrg placed in the the list of returned patterns when listing fonts. 305a6844aabSmrg 306ca08ab68Smrg -------------------------------------------------------------------------- 307a6844aabSmrg 308ca08ab68Smrg FcObjectType 3092c393a42Smrg 310ca08ab68Smrg typedef struct _FcObjectType { 311ca08ab68Smrg const char *object; 312ca08ab68Smrg FcType type; 313ca08ab68Smrg } FcObjectType; 3142c393a42Smrg 3152c393a42Smrg 316ca08ab68Smrg marks the type of a pattern element generated when parsing font names. 317ca08ab68Smrg Applications can add new object types so that font names may contain the 318ca08ab68Smrg new elements. 319a6844aabSmrg 320ca08ab68Smrg -------------------------------------------------------------------------- 321a6844aabSmrg 322ca08ab68Smrg FcConstant 3232c393a42Smrg 324ca08ab68Smrg typedef struct _FcConstant { 325ca08ab68Smrg const FcChar8 *name; 326ca08ab68Smrg const char *object; 327ca08ab68Smrg int value; 328ca08ab68Smrg } FcConstant; 3292c393a42Smrg 3302c393a42Smrg 331ca08ab68Smrg Provides for symbolic constants for new pattern elements. When 'name' is 332ca08ab68Smrg seen in a font name, an 'object' element is created with value 'value'. 333a6844aabSmrg 334ca08ab68Smrg -------------------------------------------------------------------------- 335a6844aabSmrg 336ca08ab68Smrg FcBlanks 337a6844aabSmrg 338ca08ab68Smrg holds a list of Unicode chars which are expected to be blank; unexpectedly 339ca08ab68Smrg blank chars are assumed to be invalid and are elided from the charset 340ca08ab68Smrg associated with the font. 3412c393a42Smrg 342ca08ab68Smrg -------------------------------------------------------------------------- 3432c393a42Smrg 344ca08ab68Smrg FcFileCache 3452c393a42Smrg 346ca08ab68Smrg holds the per-user cache information for use while loading the font 347ca08ab68Smrg database. This is built automatically for the current configuration when 348ca08ab68Smrg that is loaded. Applications must always pass '0' when one is requested. 3492c393a42Smrg 350ca08ab68Smrg -------------------------------------------------------------------------- 3512c393a42Smrg 352ca08ab68Smrg FcConfig 3532c393a42Smrg 354ca08ab68Smrg holds a complete configuration of the library; there is one default 355ca08ab68Smrg configuration, other can be constructed from XML data structures. All 356ca08ab68Smrg public entry points that need global data can take an optional FcConfig* 357ca08ab68Smrg argument; passing 0 uses the default configuration. FcConfig objects hold 358ca08ab68Smrg two sets of fonts, the first contains those specified by the 359ca08ab68Smrg configuration, the second set holds those added by the application at 360ca08ab68Smrg run-time. Interfaces that need to reference a particular set use one of 361ca08ab68Smrg the FcSetName enumerated values. 3622c393a42Smrg 363ca08ab68Smrg -------------------------------------------------------------------------- 3642c393a42Smrg 365ca08ab68Smrg FcSetName 366a6844aabSmrg 367ca08ab68Smrg Specifies one of the two sets of fonts available in a configuration; 368ca08ab68Smrg FcSetSystem for those fonts specified in the configuration and 369ca08ab68Smrg FcSetApplication which holds fonts provided by the application. 370a6844aabSmrg 371ca08ab68Smrg -------------------------------------------------------------------------- 372a6844aabSmrg 373ca08ab68Smrg FcResult 374a6844aabSmrg 375ca08ab68Smrg Used as a return type for functions manipulating FcPattern objects. 3762c393a42Smrg 377ca08ab68Smrg FcResult Values 378ca08ab68Smrg Result Code Meaning 379ca08ab68Smrg ----------------------------------------------------------- 380ca08ab68Smrg FcResultMatch Object exists with the specified ID 381ca08ab68Smrg FcResultNoMatch Object doesn't exist at all 382ca08ab68Smrg FcResultTypeMismatch Object exists, but the type doesn't match 383ca08ab68Smrg FcResultNoId Object exists, but has fewer values 384ca08ab68Smrg than specified 385ca08ab68Smrg FcResultOutOfMemory malloc failed 3862c393a42Smrg 3872c393a42Smrg 388ca08ab68Smrg -------------------------------------------------------------------------- 389a6844aabSmrg 390ca08ab68Smrg FcAtomic 391a6844aabSmrg 392ca08ab68Smrg Used for locking access to configuration files. Provides a safe way to 393ca08ab68Smrg update configuration files. 3942c393a42Smrg 395ca08ab68Smrg -------------------------------------------------------------------------- 3962c393a42Smrg 397ca08ab68Smrg FcCache 3982c393a42Smrg 399ca08ab68Smrg Holds information about the fonts contained in a single directory. Normal 400ca08ab68Smrg applications need not worry about this as caches for font access are 401ca08ab68Smrg automatically managed by the library. Applications dealing with cache 402ca08ab68Smrg management may want to use some of these objects in their work, however 403ca08ab68Smrg the included 'fc-cache' program generally suffices for all of that. 4042c393a42Smrg 405ca08ab68Smrg -------------------------------------------------------------------------- 4062c393a42Smrg 407a6844aabSmrgFUNCTIONS 4082c393a42Smrg 409ca08ab68Smrg These are grouped by functionality, often using the main data type being 410ca08ab68Smrg manipulated. 411ca08ab68Smrg 412ca08ab68Smrg -------------------------------------------------------------------------- 4132c393a42Smrg 414ca08ab68Smrg Initialization 415a6844aabSmrg 416ca08ab68Smrg Table of Contents 417a6844aabSmrg 418ca08ab68Smrg [5]FcInitLoadConfig -- load configuration 419a6844aabSmrg 420ca08ab68Smrg [6]FcInitLoadConfigAndFonts -- load configuration and font data 4212c393a42Smrg 422ca08ab68Smrg [7]FcInit -- initialize fontconfig library 423ca08ab68Smrg 424ca08ab68Smrg [8]FcFini -- finalize fontconfig library 425ca08ab68Smrg 426ca08ab68Smrg [9]FcGetVersion -- library version number 427ca08ab68Smrg 428ca08ab68Smrg [10]FcInitReinitialize -- re-initialize library 429ca08ab68Smrg 430ca08ab68Smrg [11]FcInitBringUptoDate -- reload configuration files if needed 431ca08ab68Smrg 432ca08ab68Smrg These functions provide some control over how the library is initialized. 433ca08ab68Smrg 434ca08ab68Smrg FcInitLoadConfig 4352c393a42Smrg 4362c393a42SmrgName 4372c393a42Smrg 438ca08ab68Smrg FcInitLoadConfig -- load configuration 4392c393a42Smrg 4402c393a42SmrgSynopsis 4412c393a42Smrg 442c9710b42Smrg #include <fontconfig/fontconfig.h> 4432c393a42Smrg 444a6844aabSmrg 445ca08ab68Smrg FcConfig * FcInitLoadConfig(void); 4462c393a42Smrg 4472c393a42SmrgDescription 4482c393a42Smrg 449ca08ab68Smrg Loads the default configuration file and returns the resulting 450ca08ab68Smrg configuration. Does not load any font information. 4512c393a42Smrg 4522c393a42SmrgVersion 4532c393a42Smrg 454c9710b42Smrg Fontconfig version 2.10.93 4552c393a42Smrg 456ca08ab68Smrg FcInitLoadConfigAndFonts 4572c393a42Smrg 4582c393a42SmrgName 4592c393a42Smrg 460ca08ab68Smrg FcInitLoadConfigAndFonts -- load configuration and font data 4612c393a42Smrg 4622c393a42SmrgSynopsis 4632c393a42Smrg 464c9710b42Smrg #include <fontconfig/fontconfig.h> 4652c393a42Smrg 466a6844aabSmrg 467ca08ab68Smrg FcConfig * FcInitLoadConfigAndFonts(void); 4682c393a42Smrg 4692c393a42SmrgDescription 4702c393a42Smrg 471ca08ab68Smrg Loads the default configuration file and builds information about the 472ca08ab68Smrg available fonts. Returns the resulting configuration. 4732c393a42Smrg 4742c393a42SmrgVersion 4752c393a42Smrg 476c9710b42Smrg Fontconfig version 2.10.93 4772c393a42Smrg 478ca08ab68Smrg FcInit 4792c393a42Smrg 4802c393a42SmrgName 4812c393a42Smrg 482ca08ab68Smrg FcInit -- initialize fontconfig library 4832c393a42Smrg 4842c393a42SmrgSynopsis 4852c393a42Smrg 486c9710b42Smrg #include <fontconfig/fontconfig.h> 4872c393a42Smrg 488a6844aabSmrg 489ca08ab68Smrg FcBool FcInit(void); 4902c393a42Smrg 4912c393a42SmrgDescription 4922c393a42Smrg 493ca08ab68Smrg Loads the default configuration file and the fonts referenced therein and 494ca08ab68Smrg sets the default configuration to that result. Returns whether this 495ca08ab68Smrg process succeeded or not. If the default configuration has already been 496ca08ab68Smrg loaded, this routine does nothing and returns FcTrue. 4972c393a42Smrg 4982c393a42SmrgVersion 4992c393a42Smrg 500c9710b42Smrg Fontconfig version 2.10.93 5012c393a42Smrg 502ca08ab68Smrg FcFini 5032c393a42Smrg 5042c393a42SmrgName 5052c393a42Smrg 506ca08ab68Smrg FcFini -- finalize fontconfig library 5072c393a42Smrg 5082c393a42SmrgSynopsis 5092c393a42Smrg 510c9710b42Smrg #include <fontconfig/fontconfig.h> 5112c393a42Smrg 512a6844aabSmrg 513ca08ab68Smrg void FcFini(void); 5142c393a42Smrg 5152c393a42SmrgDescription 5162c393a42Smrg 517ca08ab68Smrg Frees all data structures allocated by previous calls to fontconfig 518ca08ab68Smrg functions. Fontconfig returns to an uninitialized state, requiring a new 519ca08ab68Smrg call to one of the FcInit functions before any other fontconfig function 520ca08ab68Smrg may be called. 5212c393a42Smrg 5222c393a42SmrgVersion 5232c393a42Smrg 524c9710b42Smrg Fontconfig version 2.10.93 5252c393a42Smrg 526ca08ab68Smrg FcGetVersion 5272c393a42Smrg 5282c393a42SmrgName 5292c393a42Smrg 530ca08ab68Smrg FcGetVersion -- library version number 5312c393a42Smrg 5322c393a42SmrgSynopsis 5332c393a42Smrg 534c9710b42Smrg #include <fontconfig/fontconfig.h> 5352c393a42Smrg 536a6844aabSmrg 537ca08ab68Smrg int FcGetVersion(void); 5382c393a42Smrg 5392c393a42SmrgDescription 5402c393a42Smrg 541ca08ab68Smrg Returns the version number of the library. 5422c393a42Smrg 5432c393a42SmrgVersion 5442c393a42Smrg 545c9710b42Smrg Fontconfig version 2.10.93 5462c393a42Smrg 547ca08ab68Smrg FcInitReinitialize 5482c393a42Smrg 5492c393a42SmrgName 5502c393a42Smrg 551ca08ab68Smrg FcInitReinitialize -- re-initialize library 5522c393a42Smrg 5532c393a42SmrgSynopsis 5542c393a42Smrg 555c9710b42Smrg #include <fontconfig/fontconfig.h> 5562c393a42Smrg 557a6844aabSmrg 558ca08ab68Smrg FcBool FcInitReinitialize(void); 5592c393a42Smrg 5602c393a42SmrgDescription 5612c393a42Smrg 562ca08ab68Smrg Forces the default configuration file to be reloaded and resets the 563ca08ab68Smrg default configuration. Returns FcFalse if the configuration cannot be 564ca08ab68Smrg reloaded (due to configuration file errors, allocation failures or other 565ca08ab68Smrg issues) and leaves the existing configuration unchanged. Otherwise returns 566ca08ab68Smrg FcTrue. 5672c393a42Smrg 5682c393a42SmrgVersion 5692c393a42Smrg 570c9710b42Smrg Fontconfig version 2.10.93 5712c393a42Smrg 572ca08ab68Smrg FcInitBringUptoDate 5732c393a42Smrg 5742c393a42SmrgName 5752c393a42Smrg 576ca08ab68Smrg FcInitBringUptoDate -- reload configuration files if needed 5772c393a42Smrg 5782c393a42SmrgSynopsis 5792c393a42Smrg 580c9710b42Smrg #include <fontconfig/fontconfig.h> 5812c393a42Smrg 582a6844aabSmrg 583ca08ab68Smrg FcBool FcInitBringUptoDate(void); 5842c393a42Smrg 5852c393a42SmrgDescription 5862c393a42Smrg 587ca08ab68Smrg Checks the rescan interval in the default configuration, checking the 588ca08ab68Smrg configuration if the interval has passed and reloading the configuration 589ca08ab68Smrg if when any changes are detected. Returns FcFalse if the configuration 590ca08ab68Smrg cannot be reloaded (see FcInitReinitialize). Otherwise returns FcTrue. 5912c393a42Smrg 5922c393a42SmrgVersion 5932c393a42Smrg 594c9710b42Smrg Fontconfig version 2.10.93 595ca08ab68Smrg 596ca08ab68Smrg -------------------------------------------------------------------------- 597ca08ab68Smrg 598ca08ab68Smrg FcPattern 599ca08ab68Smrg 600ca08ab68Smrg Table of Contents 601ca08ab68Smrg 602ca08ab68Smrg [12]FcPatternCreate -- Create a pattern 603ca08ab68Smrg 604ca08ab68Smrg [13]FcPatternDuplicate -- Copy a pattern 605ca08ab68Smrg 606ca08ab68Smrg [14]FcPatternReference -- Increment pattern reference count 607ca08ab68Smrg 608ca08ab68Smrg [15]FcPatternDestroy -- Destroy a pattern 609ca08ab68Smrg 610ca08ab68Smrg [16]FcPatternEqual -- Compare patterns 611ca08ab68Smrg 612ca08ab68Smrg [17]FcPatternEqualSubset -- Compare portions of patterns 613ca08ab68Smrg 614ca08ab68Smrg [18]FcPatternFilter -- Filter the objects of pattern 615ca08ab68Smrg 616ca08ab68Smrg [19]FcPatternHash -- Compute a pattern hash value 617ca08ab68Smrg 618ca08ab68Smrg [20]FcPatternAdd -- Add a value to a pattern 619ca08ab68Smrg 620ca08ab68Smrg [21]FcPatternAddWeak -- Add a value to a pattern with weak binding 621ca08ab68Smrg 622ca08ab68Smrg [22]FcPatternAdd-Type -- Add a typed value to a pattern 623ca08ab68Smrg 624ca08ab68Smrg [23]FcPatternGet -- Return a value from a pattern 625ca08ab68Smrg 626ca08ab68Smrg [24]FcPatternGet-Type -- Return a typed value from a pattern 627ca08ab68Smrg 628ca08ab68Smrg [25]FcPatternBuild -- Create patterns from arguments 629ca08ab68Smrg 630ca08ab68Smrg [26]FcPatternDel -- Delete a property from a pattern 631ca08ab68Smrg 632ca08ab68Smrg [27]FcPatternRemove -- Remove one object of the specified type from the 633ca08ab68Smrg pattern 634ca08ab68Smrg 635ca08ab68Smrg [28]FcPatternPrint -- Print a pattern for debugging 636ca08ab68Smrg 637ca08ab68Smrg [29]FcDefaultSubstitute -- Perform default substitutions in a pattern 6382c393a42Smrg 639ca08ab68Smrg [30]FcNameParse -- Parse a pattern string 6402c393a42Smrg 641ca08ab68Smrg [31]FcNameUnparse -- Convert a pattern back into a string that can be 642ca08ab68Smrg parsed 6432c393a42Smrg 644ca08ab68Smrg [32]FcPatternFormat -- Format a pattern into a string according to a 645ca08ab68Smrg format specifier 6462c393a42Smrg 647ca08ab68Smrg An FcPattern is an opaque type that holds both patterns to match against 648ca08ab68Smrg the available fonts, as well as the information about each font. 6492c393a42Smrg 650ca08ab68Smrg FcPatternCreate 6512c393a42Smrg 6522c393a42SmrgName 6532c393a42Smrg 654ca08ab68Smrg FcPatternCreate -- Create a pattern 6552c393a42Smrg 6562c393a42SmrgSynopsis 6572c393a42Smrg 658c9710b42Smrg #include <fontconfig/fontconfig.h> 6592c393a42Smrg 660a6844aabSmrg 661ca08ab68Smrg FcPattern * FcPatternCreate(void); 6622c393a42Smrg 6632c393a42SmrgDescription 6642c393a42Smrg 665ca08ab68Smrg Creates a pattern with no properties; used to build patterns from scratch. 6662c393a42Smrg 6672c393a42SmrgVersion 6682c393a42Smrg 669c9710b42Smrg Fontconfig version 2.10.93 6702c393a42Smrg 671ca08ab68Smrg FcPatternDuplicate 6722c393a42Smrg 6732c393a42SmrgName 6742c393a42Smrg 675ca08ab68Smrg FcPatternDuplicate -- Copy a pattern 6762c393a42Smrg 6772c393a42SmrgSynopsis 6782c393a42Smrg 679c9710b42Smrg #include <fontconfig/fontconfig.h> 6802c393a42Smrg 681a6844aabSmrg 682ca08ab68Smrg FcPattern * FcPatternDuplicate(const FcPattern *p); 6832c393a42Smrg 6842c393a42SmrgDescription 6852c393a42Smrg 686ca08ab68Smrg Copy a pattern, returning a new pattern that matches p. Each pattern may 687ca08ab68Smrg be modified without affecting the other. 6882c393a42Smrg 6892c393a42SmrgVersion 6902c393a42Smrg 691c9710b42Smrg Fontconfig version 2.10.93 6922c393a42Smrg 693ca08ab68Smrg FcPatternReference 6942c393a42Smrg 6952c393a42SmrgName 6962c393a42Smrg 697ca08ab68Smrg FcPatternReference -- Increment pattern reference count 6982c393a42Smrg 6992c393a42SmrgSynopsis 7002c393a42Smrg 701c9710b42Smrg #include <fontconfig/fontconfig.h> 7022c393a42Smrg 703a6844aabSmrg 704ca08ab68Smrg void FcPatternReference(FcPattern *p); 7052c393a42Smrg 7062c393a42SmrgDescription 7072c393a42Smrg 708ca08ab68Smrg Add another reference to p. Patterns are freed only when the reference 709ca08ab68Smrg count reaches zero. 7102c393a42Smrg 7112c393a42SmrgVersion 7122c393a42Smrg 713c9710b42Smrg Fontconfig version 2.10.93 7142c393a42Smrg 715ca08ab68Smrg FcPatternDestroy 7162c393a42Smrg 7172c393a42SmrgName 7182c393a42Smrg 719ca08ab68Smrg FcPatternDestroy -- Destroy a pattern 7202c393a42Smrg 7212c393a42SmrgSynopsis 7222c393a42Smrg 723c9710b42Smrg #include <fontconfig/fontconfig.h> 7242c393a42Smrg 725a6844aabSmrg 726ca08ab68Smrg void FcPatternDestroy(FcPattern *p); 7272c393a42Smrg 7282c393a42SmrgDescription 7292c393a42Smrg 730ca08ab68Smrg Decrement the pattern reference count. If all references are gone, 731ca08ab68Smrg destroys the pattern, in the process destroying all related values. 7322c393a42Smrg 7332c393a42SmrgVersion 7342c393a42Smrg 735c9710b42Smrg Fontconfig version 2.10.93 7362c393a42Smrg 737ca08ab68Smrg FcPatternEqual 7382c393a42Smrg 7392c393a42SmrgName 7402c393a42Smrg 741ca08ab68Smrg FcPatternEqual -- Compare patterns 7422c393a42Smrg 7432c393a42SmrgSynopsis 7442c393a42Smrg 745c9710b42Smrg #include <fontconfig/fontconfig.h> 7462c393a42Smrg 747a6844aabSmrg 748ca08ab68Smrg FcBool FcPatternEqual(const FcPattern *pa, const FcPattern *pb); 7492c393a42Smrg 7502c393a42SmrgDescription 7512c393a42Smrg 752ca08ab68Smrg Returns whether pa and pb are exactly alike. 7532c393a42Smrg 7542c393a42SmrgVersion 7552c393a42Smrg 756c9710b42Smrg Fontconfig version 2.10.93 7572c393a42Smrg 758ca08ab68Smrg FcPatternEqualSubset 7592c393a42Smrg 7602c393a42SmrgName 7612c393a42Smrg 762ca08ab68Smrg FcPatternEqualSubset -- Compare portions of patterns 7632c393a42Smrg 7642c393a42SmrgSynopsis 7652c393a42Smrg 766c9710b42Smrg #include <fontconfig/fontconfig.h> 7672c393a42Smrg 768a6844aabSmrg 769ca08ab68Smrg FcBool FcPatternEqualSubset(const FcPattern *pa, const FcPattern *pb, 770ca08ab68Smrg const FcObjectSet *os); 7712c393a42Smrg 7722c393a42SmrgDescription 7732c393a42Smrg 774ca08ab68Smrg Returns whether pa and pb have exactly the same values for all of the 775ca08ab68Smrg objects in os. 7762c393a42Smrg 7772c393a42SmrgVersion 7782c393a42Smrg 779c9710b42Smrg Fontconfig version 2.10.93 780a6844aabSmrg 781ca08ab68Smrg FcPatternFilter 782a6844aabSmrg 783a6844aabSmrgName 784a6844aabSmrg 785ca08ab68Smrg FcPatternFilter -- Filter the objects of pattern 786a6844aabSmrg 787a6844aabSmrgSynopsis 788a6844aabSmrg 789c9710b42Smrg #include <fontconfig/fontconfig.h> 790a6844aabSmrg 791a6844aabSmrg 792ca08ab68Smrg FcPattern * FcPatternFilter(FcPattern *p, const FcObjectSet *); 793a6844aabSmrg 794a6844aabSmrgDescription 795a6844aabSmrg 796ca08ab68Smrg Returns a new pattern that only has those objects from p that are in os. 797ca08ab68Smrg If os is NULL, a duplicate of p is returned. 798a6844aabSmrg 799a6844aabSmrgVersion 800a6844aabSmrg 801c9710b42Smrg Fontconfig version 2.10.93 8022c393a42Smrg 803ca08ab68Smrg FcPatternHash 8042c393a42Smrg 8052c393a42SmrgName 8062c393a42Smrg 807ca08ab68Smrg FcPatternHash -- Compute a pattern hash value 8082c393a42Smrg 8092c393a42SmrgSynopsis 8102c393a42Smrg 811c9710b42Smrg #include <fontconfig/fontconfig.h> 8122c393a42Smrg 813a6844aabSmrg 814ca08ab68Smrg FcChar32 FcPatternHash(const FcPattern *p); 8152c393a42Smrg 8162c393a42SmrgDescription 8172c393a42Smrg 818ca08ab68Smrg Returns a 32-bit number which is the same for any two patterns which are 819ca08ab68Smrg equal. 8202c393a42Smrg 8212c393a42SmrgVersion 8222c393a42Smrg 823c9710b42Smrg Fontconfig version 2.10.93 8242c393a42Smrg 825ca08ab68Smrg FcPatternAdd 8262c393a42Smrg 8272c393a42SmrgName 8282c393a42Smrg 829ca08ab68Smrg FcPatternAdd -- Add a value to a pattern 8302c393a42Smrg 8312c393a42SmrgSynopsis 8322c393a42Smrg 833c9710b42Smrg #include <fontconfig/fontconfig.h> 8342c393a42Smrg 835a6844aabSmrg 836ca08ab68Smrg FcBool FcPatternAdd(FcPattern *p, const char *object, FcValue value, 837ca08ab68Smrg FcBool append); 8382c393a42Smrg 8392c393a42SmrgDescription 8402c393a42Smrg 841ca08ab68Smrg Adds a single value to the list of values associated with the property 842ca08ab68Smrg named `object. If `append is FcTrue, the value is added at the end of any 843ca08ab68Smrg existing list, otherwise it is inserted at the beginning. `value' is saved 844ca08ab68Smrg (with FcValueSave) when inserted into the pattern so that the library 845ca08ab68Smrg retains no reference to any application-supplied data structure. 8462c393a42Smrg 8472c393a42SmrgVersion 8482c393a42Smrg 849c9710b42Smrg Fontconfig version 2.10.93 8502c393a42Smrg 851ca08ab68Smrg FcPatternAddWeak 8522c393a42Smrg 8532c393a42SmrgName 8542c393a42Smrg 855ca08ab68Smrg FcPatternAddWeak -- Add a value to a pattern with weak binding 8562c393a42Smrg 8572c393a42SmrgSynopsis 8582c393a42Smrg 859c9710b42Smrg #include <fontconfig/fontconfig.h> 8602c393a42Smrg 861a6844aabSmrg 862ca08ab68Smrg FcBool FcPatternAddWeak(FcPattern *p, const char *object, FcValue value, 863ca08ab68Smrg FcBool append); 8642c393a42Smrg 8652c393a42SmrgDescription 8662c393a42Smrg 867ca08ab68Smrg FcPatternAddWeak is essentially the same as FcPatternAdd except that any 868ca08ab68Smrg values added to the list have binding weak instead of strong. 8692c393a42Smrg 8702c393a42SmrgVersion 8712c393a42Smrg 872c9710b42Smrg Fontconfig version 2.10.93 8732c393a42Smrg 874ca08ab68Smrg FcPatternAdd-Type 8752c393a42Smrg 8762c393a42SmrgName 8772c393a42Smrg 878ca08ab68Smrg FcPatternAddInteger, FcPatternAddDouble, FcPatternAddString, 879ca08ab68Smrg FcPatternAddMatrix, FcPatternAddCharSet, FcPatternAddBool, 880ca08ab68Smrg FcPatternAddFTFace, FcPatternAddLangSet -- Add a typed value to a pattern 8812c393a42Smrg 8822c393a42SmrgSynopsis 8832c393a42Smrg 884c9710b42Smrg #include <fontconfig/fontconfig.h> 8852c393a42Smrg 8862c393a42Smrg 887ca08ab68Smrg FcBool FcPatternAddInteger(FcPattern *p, const char *object, int i); 888a6844aabSmrg 889ca08ab68Smrg FcBool FcPatternAddDouble(FcPattern *p, const char *object, double d); 8902c393a42Smrg 891ca08ab68Smrg FcBool FcPatternAddString(FcPattern *p, const char *object, const FcChar8 892ca08ab68Smrg *s); 8932c393a42Smrg 894ca08ab68Smrg FcBool FcPatternAddMatrix(FcPattern *p, const char *object, const FcMatrix 895ca08ab68Smrg *m); 8962c393a42Smrg 897ca08ab68Smrg FcBool FcPatternAddCharSet(FcPattern *p, const char *object, const 898ca08ab68Smrg FcCharSet *c); 8992c393a42Smrg 900ca08ab68Smrg FcBool FcPatternAddBool(FcPattern *p, const char *object, FcBool b); 9012c393a42Smrg 902ca08ab68Smrg FcBool FcPatternAddFTFace(FcPattern *p, const char *object, const 903ca08ab68Smrg FT_Facef); 9042c393a42Smrg 905ca08ab68Smrg FcBool FcPatternAddLangSet(FcPattern *p, const char *object, const 906ca08ab68Smrg FcLangSet *l); 9072c393a42Smrg 9082c393a42SmrgDescription 9092c393a42Smrg 910ca08ab68Smrg These are all convenience functions that insert objects of the specified 911ca08ab68Smrg type into the pattern. Use these in preference to FcPatternAdd as they 912ca08ab68Smrg will provide compile-time typechecking. These all append values to any 913ca08ab68Smrg existing list of values. 9142c393a42Smrg 9152c393a42SmrgVersion 9162c393a42Smrg 917c9710b42Smrg Fontconfig version 2.10.93 9182c393a42Smrg 919ca08ab68Smrg FcPatternGet 9202c393a42Smrg 9212c393a42SmrgName 9222c393a42Smrg 923ca08ab68Smrg FcPatternGet -- Return a value from a pattern 9242c393a42Smrg 9252c393a42SmrgSynopsis 9262c393a42Smrg 927c9710b42Smrg #include <fontconfig/fontconfig.h> 9282c393a42Smrg 929a6844aabSmrg 930ca08ab68Smrg FcResult FcPatternGet(FcPattern *p, const char *object, int id, FcValue 931ca08ab68Smrg *v); 9322c393a42Smrg 9332c393a42SmrgDescription 9342c393a42Smrg 935ca08ab68Smrg Returns in v the id'th value associated with the property object. The 936ca08ab68Smrg value returned is not a copy, but rather refers to the data stored within 937ca08ab68Smrg the pattern directly. Applications must not free this value. 9382c393a42Smrg 9392c393a42SmrgVersion 9402c393a42Smrg 941c9710b42Smrg Fontconfig version 2.10.93 9422c393a42Smrg 943ca08ab68Smrg FcPatternGet-Type 9442c393a42Smrg 9452c393a42SmrgName 9462c393a42Smrg 947ca08ab68Smrg FcPatternGetInteger, FcPatternGetDouble, FcPatternGetString, 948ca08ab68Smrg FcPatternGetMatrix, FcPatternGetCharSet, FcPatternGetBool, 949ca08ab68Smrg FcPatternGetFTFace, FcPatternGetLangSet -- Return a typed value from a 950ca08ab68Smrg pattern 9512c393a42Smrg 9522c393a42SmrgSynopsis 9532c393a42Smrg 954c9710b42Smrg #include <fontconfig/fontconfig.h> 9552c393a42Smrg 9562c393a42Smrg 957ca08ab68Smrg FcResult FcPatternGetInteger(FcPattern *p, const char *object, int n, int 958ca08ab68Smrg *i); 959a6844aabSmrg 960ca08ab68Smrg FcResult FcPatternGetDouble(FcPattern *p, const char *object, int n, 961ca08ab68Smrg double *d); 9622c393a42Smrg 963ca08ab68Smrg FcResult FcPatternGetString(FcPattern *p, const char *object, int n, 964ca08ab68Smrg FcChar8 **s); 9652c393a42Smrg 966ca08ab68Smrg FcResult FcPatternGetMatrix(FcPattern *p, const char *object, int n, 967ca08ab68Smrg FcMatrix **s); 9682c393a42Smrg 969ca08ab68Smrg FcResult FcPatternGetCharSet(FcPattern *p, const char *object, int n, 970ca08ab68Smrg FcCharSet **c); 9712c393a42Smrg 972ca08ab68Smrg FcResult FcPatternGetBool(FcPattern *p, const char *object, int n, FcBool 973ca08ab68Smrg *b); 9742c393a42Smrg 975ca08ab68Smrg FcResult FcPatternGetFTFace(FcPattern *p, const char *object, int n); 9762c393a42Smrg 977ca08ab68Smrg FcResult FcPatternGetLangSet(FcPattern *p, const char *object, FT_Face 978ca08ab68Smrg *f); 9792c393a42Smrg 9802c393a42SmrgDescription 9812c393a42Smrg 982ca08ab68Smrg These are convenience functions that call FcPatternGet and verify that the 983ca08ab68Smrg returned data is of the expected type. They return FcResultTypeMismatch if 984ca08ab68Smrg this is not the case. Note that these (like FcPatternGet) do not make a 985ca08ab68Smrg copy of any data structure referenced by the return value. Use these in 986ca08ab68Smrg preference to FcPatternGet to provide compile-time typechecking. 9872c393a42Smrg 9882c393a42SmrgVersion 9892c393a42Smrg 990c9710b42Smrg Fontconfig version 2.10.93 9912c393a42Smrg 992ca08ab68Smrg FcPatternBuild 9932c393a42Smrg 9942c393a42SmrgName 9952c393a42Smrg 996ca08ab68Smrg FcPatternBuild, FcPatternVaBuild, FcPatternVapBuild -- Create patterns 997ca08ab68Smrg from arguments 9982c393a42Smrg 9992c393a42SmrgSynopsis 10002c393a42Smrg 1001c9710b42Smrg #include <fontconfig/fontconfig.h> 10022c393a42Smrg 10032c393a42Smrg 1004ca08ab68Smrg FcPattern * FcPatternBuild(FcPattern *pattern, ...); 10052c393a42Smrg 1006ca08ab68Smrg FcPattern * FcPatternVaBuild(FcPattern *pattern, va_list va); 1007a6844aabSmrg 1008ca08ab68Smrg void FcPatternVapBuild(FcPattern *result, FcPattern *pattern, va_list va); 10092c393a42Smrg 10102c393a42SmrgDescription 10112c393a42Smrg 1012ca08ab68Smrg Builds a pattern using a list of objects, types and values. Each value to 1013ca08ab68Smrg be entered in the pattern is specified with three arguments: 1014a6844aabSmrg 1015ca08ab68Smrg 1. Object name, a string describing the property to be added. 1016a6844aabSmrg 1017ca08ab68Smrg 2. Object type, one of the FcType enumerated values 10182c393a42Smrg 1019ca08ab68Smrg 3. Value, not an FcValue, but the raw type as passed to any of the 1020ca08ab68Smrg FcPatternAdd<type> functions. Must match the type of the second 1021ca08ab68Smrg argument. 10222c393a42Smrg 1023ca08ab68Smrg The argument list is terminated by a null object name, no object type nor 1024ca08ab68Smrg value need be passed for this. The values are added to `pattern', if 1025ca08ab68Smrg `pattern' is null, a new pattern is created. In either case, the pattern 1026ca08ab68Smrg is returned. Example 10272c393a42Smrg 1028ca08ab68Smrg pattern = FcPatternBuild (0, FC_FAMILY, FcTypeString, "Times", (char *) 0); 1029a6844aabSmrg 1030ca08ab68Smrg FcPatternVaBuild is used when the arguments are already in the form of a 1031ca08ab68Smrg varargs value. FcPatternVapBuild is a macro version of FcPatternVaBuild 1032ca08ab68Smrg which returns its result directly in the result variable. 10332c393a42Smrg 10342c393a42SmrgVersion 10352c393a42Smrg 1036c9710b42Smrg Fontconfig version 2.10.93 10372c393a42Smrg 1038ca08ab68Smrg FcPatternDel 10392c393a42Smrg 10402c393a42SmrgName 10412c393a42Smrg 1042ca08ab68Smrg FcPatternDel -- Delete a property from a pattern 10432c393a42Smrg 10442c393a42SmrgSynopsis 10452c393a42Smrg 1046c9710b42Smrg #include <fontconfig/fontconfig.h> 10472c393a42Smrg 1048a6844aabSmrg 1049ca08ab68Smrg FcBool FcPatternDel(FcPattern *p, const char *object); 10502c393a42Smrg 10512c393a42SmrgDescription 10522c393a42Smrg 1053ca08ab68Smrg Deletes all values associated with the property `object', returning 1054ca08ab68Smrg whether the property existed or not. 10552c393a42Smrg 10562c393a42SmrgVersion 10572c393a42Smrg 1058c9710b42Smrg Fontconfig version 2.10.93 10592c393a42Smrg 1060ca08ab68Smrg FcPatternRemove 10612c393a42Smrg 10622c393a42SmrgName 10632c393a42Smrg 1064ca08ab68Smrg FcPatternRemove -- Remove one object of the specified type from the 1065ca08ab68Smrg pattern 10662c393a42Smrg 10672c393a42SmrgSynopsis 10682c393a42Smrg 1069c9710b42Smrg #include <fontconfig/fontconfig.h> 10702c393a42Smrg 1071a6844aabSmrg 1072ca08ab68Smrg FcBool FcPatternRemove(FcPattern *p, const char *object, int id); 10732c393a42Smrg 10742c393a42SmrgDescription 10752c393a42Smrg 1076ca08ab68Smrg Removes the value associated with the property `object' at position `id', 1077ca08ab68Smrg returning whether the property existed and had a value at that position or 1078ca08ab68Smrg not. 10792c393a42Smrg 10802c393a42SmrgVersion 10812c393a42Smrg 1082c9710b42Smrg Fontconfig version 2.10.93 10832c393a42Smrg 1084ca08ab68Smrg FcPatternPrint 10852c393a42Smrg 10862c393a42SmrgName 10872c393a42Smrg 1088ca08ab68Smrg FcPatternPrint -- Print a pattern for debugging 10892c393a42Smrg 10902c393a42SmrgSynopsis 10912c393a42Smrg 1092c9710b42Smrg #include <fontconfig/fontconfig.h> 10932c393a42Smrg 1094a6844aabSmrg 1095ca08ab68Smrg void FcPatternPrint(const FcPattern *p); 10962c393a42Smrg 10972c393a42SmrgDescription 10982c393a42Smrg 1099ca08ab68Smrg Prints an easily readable version of the pattern to stdout. There is no 1100ca08ab68Smrg provision for reparsing data in this format, it's just for diagnostics and 1101ca08ab68Smrg debugging. 11022c393a42Smrg 11032c393a42SmrgVersion 11042c393a42Smrg 1105c9710b42Smrg Fontconfig version 2.10.93 11062c393a42Smrg 1107ca08ab68Smrg FcDefaultSubstitute 11082c393a42Smrg 11092c393a42SmrgName 11102c393a42Smrg 1111ca08ab68Smrg FcDefaultSubstitute -- Perform default substitutions in a pattern 11122c393a42Smrg 11132c393a42SmrgSynopsis 11142c393a42Smrg 1115c9710b42Smrg #include <fontconfig/fontconfig.h> 11162c393a42Smrg 1117a6844aabSmrg 1118ca08ab68Smrg void FcDefaultSubstitute(FcPattern *pattern); 11192c393a42Smrg 11202c393a42SmrgDescription 11212c393a42Smrg 1122ca08ab68Smrg Supplies default values for underspecified font patterns: 1123a6844aabSmrg 1124ca08ab68Smrg * Patterns without a specified style or weight are set to Medium 11252c393a42Smrg 1126ca08ab68Smrg * Patterns without a specified style or slant are set to Roman 1127a6844aabSmrg 1128ca08ab68Smrg * Patterns without a specified pixel size are given one computed from 1129ca08ab68Smrg any specified point size (default 12), dpi (default 75) and scale 1130ca08ab68Smrg (default 1). 11312c393a42Smrg 11322c393a42SmrgVersion 11332c393a42Smrg 1134c9710b42Smrg Fontconfig version 2.10.93 11352c393a42Smrg 1136ca08ab68Smrg FcNameParse 11372c393a42Smrg 11382c393a42SmrgName 11392c393a42Smrg 1140ca08ab68Smrg FcNameParse -- Parse a pattern string 11412c393a42Smrg 11422c393a42SmrgSynopsis 11432c393a42Smrg 1144c9710b42Smrg #include <fontconfig/fontconfig.h> 11452c393a42Smrg 1146a6844aabSmrg 1147ca08ab68Smrg FcPattern * FcNameParse(const FcChar8 *name); 11482c393a42Smrg 11492c393a42SmrgDescription 11502c393a42Smrg 1151ca08ab68Smrg Converts name from the standard text format described above into a 1152ca08ab68Smrg pattern. 11532c393a42Smrg 11542c393a42SmrgVersion 11552c393a42Smrg 1156c9710b42Smrg Fontconfig version 2.10.93 11572c393a42Smrg 1158ca08ab68Smrg FcNameUnparse 11592c393a42Smrg 11602c393a42SmrgName 11612c393a42Smrg 1162ca08ab68Smrg FcNameUnparse -- Convert a pattern back into a string that can be parsed 11632c393a42Smrg 11642c393a42SmrgSynopsis 11652c393a42Smrg 1166c9710b42Smrg #include <fontconfig/fontconfig.h> 11672c393a42Smrg 1168a6844aabSmrg 1169ca08ab68Smrg FcChar8 * FcNameUnparse(FcPattern *pat); 11702c393a42Smrg 11712c393a42SmrgDescription 11722c393a42Smrg 1173ca08ab68Smrg Converts the given pattern into the standard text format described above. 1174ca08ab68Smrg The return value is not static, but instead refers to newly allocated 1175ca08ab68Smrg memory which should be freed by the caller using free(). 1176a6844aabSmrg 1177a6844aabSmrgVersion 1178a6844aabSmrg 1179c9710b42Smrg Fontconfig version 2.10.93 1180a6844aabSmrg 1181ca08ab68Smrg FcPatternFormat 1182a6844aabSmrg 1183a6844aabSmrgName 1184a6844aabSmrg 1185ca08ab68Smrg FcPatternFormat -- Format a pattern into a string according to a format 1186ca08ab68Smrg specifier 1187a6844aabSmrg 1188a6844aabSmrgSynopsis 1189a6844aabSmrg 1190c9710b42Smrg #include <fontconfig/fontconfig.h> 1191a6844aabSmrg 1192a6844aabSmrg 1193ca08ab68Smrg FcChar8 * FcPatternFormat(FcPattern *pat, const FcChar8 *format); 1194a6844aabSmrg 1195a6844aabSmrgDescription 1196a6844aabSmrg 1197ca08ab68Smrg Converts given pattern pat into text described by the format specifier 1198ca08ab68Smrg format. The return value refers to newly allocated memory which should be 1199ca08ab68Smrg freed by the caller using free(), or NULL if format is invalid. 1200a6844aabSmrg 1201ca08ab68Smrg The format is loosely modeled after printf-style format string. The 1202ca08ab68Smrg format string is composed of zero or more directives: ordinary characters 1203ca08ab68Smrg (not "%"), which are copied unchanged to the output stream; and tags which 1204ca08ab68Smrg are interpreted to construct text from the pattern in a variety of ways 1205ca08ab68Smrg (explained below). Special characters can be escaped using backslash. 1206ca08ab68Smrg C-string style special characters like \n and \r are also supported (this 1207ca08ab68Smrg is useful when the format string is not a C string literal). It is 1208ca08ab68Smrg advisable to always escape curly braces that are meant to be copied to the 1209ca08ab68Smrg output as ordinary characters. 1210a6844aabSmrg 1211ca08ab68Smrg Each tag is introduced by the character "%", followed by an optional 1212ca08ab68Smrg minimum field width, followed by tag contents in curly braces ({}). If the 1213ca08ab68Smrg minimum field width value is provided the tag will be expanded and the 1214ca08ab68Smrg result padded to achieve the minimum width. If the minimum field width is 1215ca08ab68Smrg positive, the padding will right-align the text. Negative field width will 1216ca08ab68Smrg left-align. The rest of this section describes various supported tag 1217ca08ab68Smrg contents and their expansion. 1218a6844aabSmrg 1219ca08ab68Smrg A simple tag is one where the content is an identifier. When simple tags 1220ca08ab68Smrg are expanded, the named identifier will be looked up in pattern and the 1221ca08ab68Smrg resulting list of values returned, joined together using comma. For 1222ca08ab68Smrg example, to print the family name and style of the pattern, use the format 1223ca08ab68Smrg "%{family} %{style}\n". To extend the family column to forty characters 1224ca08ab68Smrg use "%-40{family}%{style}\n". 1225a6844aabSmrg 1226ca08ab68Smrg Simple tags expand to list of all values for an element. To only choose 1227ca08ab68Smrg one of the values, one can index using the syntax "%{elt[idx]}". For 1228ca08ab68Smrg example, to get the first family name only, use "%{family[0]}". 1229a6844aabSmrg 1230ca08ab68Smrg If a simple tag ends with "=" and the element is found in the pattern, 1231ca08ab68Smrg the name of the element followed by "=" will be output before the list of 1232ca08ab68Smrg values. For example, "%{weight=}" may expand to the string "weight=80". Or 1233ca08ab68Smrg to the empty string if pattern does not have weight set. 1234a6844aabSmrg 1235ca08ab68Smrg If a simple tag starts with ":" and the element is found in the pattern, 1236ca08ab68Smrg ":" will be printed first. For example, combining this with the =, the 1237ca08ab68Smrg format "%{:weight=}" may expand to ":weight=80" or to the empty string if 1238ca08ab68Smrg pattern does not have weight set. 1239a6844aabSmrg 1240ca08ab68Smrg If a simple tag contains the string ":-", the rest of the the tag 1241ca08ab68Smrg contents will be used as a default string. The default string is output if 1242ca08ab68Smrg the element is not found in the pattern. For example, the format 1243ca08ab68Smrg "%{:weight=:-123}" may expand to ":weight=80" or to the string 1244ca08ab68Smrg ":weight=123" if pattern does not have weight set. 1245a6844aabSmrg 1246ca08ab68Smrg A count tag is one that starts with the character "#" followed by an 1247ca08ab68Smrg element name, and expands to the number of values for the element in the 1248ca08ab68Smrg pattern. For example, "%{#family}" expands to the number of family names 1249ca08ab68Smrg pattern has set, which may be zero. 1250a6844aabSmrg 1251ca08ab68Smrg A sub-expression tag is one that expands a sub-expression. The tag 1252ca08ab68Smrg contents are the sub-expression to expand placed inside another set of 1253ca08ab68Smrg curly braces. Sub-expression tags are useful for aligning an entire 1254ca08ab68Smrg sub-expression, or to apply converters (explained later) to the entire 1255ca08ab68Smrg sub-expression output. For example, the format "%40{{%{family} %{style}}}" 1256ca08ab68Smrg expands the sub-expression to construct the family name followed by the 1257ca08ab68Smrg style, then takes the entire string and pads it on the left to be at least 1258ca08ab68Smrg forty characters. 1259a6844aabSmrg 1260ca08ab68Smrg A filter-out tag is one starting with the character "-" followed by a 1261ca08ab68Smrg comma-separated list of element names, followed by a sub-expression 1262ca08ab68Smrg enclosed in curly braces. The sub-expression will be expanded but with a 1263ca08ab68Smrg pattern that has the listed elements removed from it. For example, the 1264ca08ab68Smrg format "%{-size,pixelsize{sub-expr}}" will expand "sub-expr" with pattern 1265ca08ab68Smrg sans the size and pixelsize elements. 1266a6844aabSmrg 1267ca08ab68Smrg A filter-in tag is one starting with the character "+" followed by a 1268ca08ab68Smrg comma-separated list of element names, followed by a sub-expression 1269ca08ab68Smrg enclosed in curly braces. The sub-expression will be expanded but with a 1270ca08ab68Smrg pattern that only has the listed elements from the surrounding pattern. 1271ca08ab68Smrg For example, the format "%{+family,familylang{sub-expr}}" will expand 1272ca08ab68Smrg "sub-expr" with a sub-pattern consisting only the family and family lang 1273ca08ab68Smrg elements of pattern. 1274a6844aabSmrg 1275ca08ab68Smrg A conditional tag is one starting with the character "?" followed by a 1276ca08ab68Smrg comma-separated list of element conditions, followed by two sub-expression 1277ca08ab68Smrg enclosed in curly braces. An element condition can be an element name, in 1278ca08ab68Smrg which case it tests whether the element is defined in pattern, or the 1279ca08ab68Smrg character "!" followed by an element name, in which case the test is 1280ca08ab68Smrg negated. The conditional passes if all the element conditions pass. The 1281ca08ab68Smrg tag expands the first sub-expression if the conditional passes, and 1282ca08ab68Smrg expands the second sub-expression otherwise. For example, the format 1283ca08ab68Smrg "%{?size,dpi,!pixelsize{pass}{fail}}" will expand to "pass" if pattern has 1284ca08ab68Smrg size and dpi elements but no pixelsize element, and to "fail" otherwise. 1285a6844aabSmrg 1286ca08ab68Smrg An enumerate tag is one starting with the string "[]" followed by a 1287ca08ab68Smrg comma-separated list of element names, followed by a sub-expression 1288ca08ab68Smrg enclosed in curly braces. The list of values for the named elements are 1289ca08ab68Smrg walked in parallel and the sub-expression expanded each time with a 1290ca08ab68Smrg pattern just having a single value for those elements, starting from the 1291ca08ab68Smrg first value and continuing as long as any of those elements has a value. 1292ca08ab68Smrg For example, the format "%{[]family,familylang{%{family} 1293ca08ab68Smrg (%{familylang})\n}}" will expand the pattern "%{family} (%{familylang})\n" 1294ca08ab68Smrg with a pattern having only the first value of the family and familylang 1295ca08ab68Smrg elements, then expands it with the second values, then the third, etc. 1296a6844aabSmrg 1297ca08ab68Smrg As a special case, if an enumerate tag has only one element, and that 1298ca08ab68Smrg element has only one value in the pattern, and that value is of type 1299ca08ab68Smrg FcLangSet, the individual languages in the language set are enumerated. 1300a6844aabSmrg 1301ca08ab68Smrg A builtin tag is one starting with the character "=" followed by a 1302ca08ab68Smrg builtin name. The following builtins are defined: 1303a6844aabSmrg 1304ca08ab68Smrg unparse 1305a6844aabSmrg 1306ca08ab68Smrg Expands to the result of calling FcNameUnparse() on the pattern. 1307a6844aabSmrg 1308ca08ab68Smrg fcmatch 1309a6844aabSmrg 1310ca08ab68Smrg Expands to the output of the default output format of the fc-match 1311ca08ab68Smrg command on the pattern, without the final newline. 1312a6844aabSmrg 1313ca08ab68Smrg fclist 1314a6844aabSmrg 1315ca08ab68Smrg Expands to the output of the default output format of the fc-list 1316ca08ab68Smrg command on the pattern, without the final newline. 1317a6844aabSmrg 1318ca08ab68Smrg fccat 1319a6844aabSmrg 1320ca08ab68Smrg Expands to the output of the default output format of the fc-cat 1321ca08ab68Smrg command on the pattern, without the final newline. 1322a6844aabSmrg 1323ca08ab68Smrg pkgkit 1324a6844aabSmrg 1325ca08ab68Smrg Expands to the list of PackageKit font() tags for the pattern. 1326ca08ab68Smrg Currently this includes tags for each family name, and each 1327ca08ab68Smrg language from the pattern, enumerated and sanitized into a set of 1328ca08ab68Smrg tags terminated by newline. Package management systems can use 1329ca08ab68Smrg these tags to tag their packages accordingly. 1330a6844aabSmrg 1331ca08ab68Smrg For example, the format "%{+family,style{%{=unparse}}}\n" will expand to 1332ca08ab68Smrg an unparsed name containing only the family and style element values from 1333ca08ab68Smrg pattern. 1334a6844aabSmrg 1335ca08ab68Smrg The contents of any tag can be followed by a set of zero or more 1336ca08ab68Smrg converters. A converter is specified by the character "|" followed by the 1337ca08ab68Smrg converter name and arguments. The following converters are defined: 1338a6844aabSmrg 1339ca08ab68Smrg basename 1340a6844aabSmrg 1341ca08ab68Smrg Replaces text with the results of calling FcStrBasename() on it. 1342a6844aabSmrg 1343ca08ab68Smrg dirname 1344a6844aabSmrg 1345ca08ab68Smrg Replaces text with the results of calling FcStrDirname() on it. 1346a6844aabSmrg 1347ca08ab68Smrg downcase 1348a6844aabSmrg 1349ca08ab68Smrg Replaces text with the results of calling FcStrDowncase() on it. 1350a6844aabSmrg 1351ca08ab68Smrg shescape 1352a6844aabSmrg 1353ca08ab68Smrg Escapes text for one level of shell expansion. (Escapes 1354ca08ab68Smrg single-quotes, also encloses text in single-quotes.) 1355a6844aabSmrg 1356ca08ab68Smrg cescape 1357a6844aabSmrg 1358ca08ab68Smrg Escapes text such that it can be used as part of a C string 1359ca08ab68Smrg literal. (Escapes backslash and double-quotes.) 1360a6844aabSmrg 1361ca08ab68Smrg xmlescape 1362a6844aabSmrg 1363ca08ab68Smrg Escapes text such that it can be used in XML and HTML. (Escapes 1364ca08ab68Smrg less-than, greater-than, and ampersand.) 1365a6844aabSmrg 1366ca08ab68Smrg delete(chars) 1367a6844aabSmrg 1368ca08ab68Smrg Deletes all occurrences of each of the characters in chars from 1369ca08ab68Smrg the text. FIXME: This converter is not UTF-8 aware yet. 1370a6844aabSmrg 1371ca08ab68Smrg escape(chars) 1372a6844aabSmrg 1373ca08ab68Smrg Escapes all occurrences of each of the characters in chars by 1374ca08ab68Smrg prepending it by the first character in chars. FIXME: This 1375ca08ab68Smrg converter is not UTF-8 aware yet. 1376a6844aabSmrg 1377ca08ab68Smrg translate(from,to) 1378ca08ab68Smrg 1379ca08ab68Smrg Translates all occurrences of each of the characters in from by 1380ca08ab68Smrg replacing them with their corresponding character in to. If to has 1381ca08ab68Smrg fewer characters than from, it will be extended by repeating its 1382ca08ab68Smrg last character. FIXME: This converter is not UTF-8 aware yet. 1383ca08ab68Smrg 1384ca08ab68Smrg For example, the format "%{family|downcase|delete( )}\n" will expand to 1385ca08ab68Smrg the values of the family element in pattern, lower-cased and with spaces 1386ca08ab68Smrg removed. 13872c393a42Smrg 13882c393a42SmrgVersion 13892c393a42Smrg 1390c9710b42Smrg Fontconfig version 2.10.93 1391ca08ab68Smrg 1392ca08ab68Smrg -------------------------------------------------------------------------- 1393ca08ab68Smrg 1394ca08ab68Smrg FcFontSet 1395ca08ab68Smrg 1396ca08ab68Smrg Table of Contents 1397ca08ab68Smrg 1398ca08ab68Smrg [33]FcFontSetCreate -- Create a font set 1399ca08ab68Smrg 1400ca08ab68Smrg [34]FcFontSetDestroy -- Destroy a font set 1401ca08ab68Smrg 1402ca08ab68Smrg [35]FcFontSetAdd -- Add to a font set 1403ca08ab68Smrg 1404ca08ab68Smrg [36]FcFontSetList -- List fonts from a set of font sets 1405a6844aabSmrg 1406ca08ab68Smrg [37]FcFontSetMatch -- Return the best font from a set of font sets 14072c393a42Smrg 1408ca08ab68Smrg [38]FcFontSetPrint -- Print a set of patterns to stdout 14092c393a42Smrg 1410ca08ab68Smrg [39]FcFontSetSort -- Add to a font set 14112c393a42Smrg 1412ca08ab68Smrg [40]FcFontSetSortDestroy -- DEPRECATED destroy a font set 14132c393a42Smrg 1414ca08ab68Smrg An FcFontSet simply holds a list of patterns; these are used to return the 1415ca08ab68Smrg results of listing available fonts. 1416ca08ab68Smrg 1417ca08ab68Smrg FcFontSetCreate 14182c393a42Smrg 14192c393a42SmrgName 14202c393a42Smrg 1421ca08ab68Smrg FcFontSetCreate -- Create a font set 14222c393a42Smrg 14232c393a42SmrgSynopsis 14242c393a42Smrg 1425c9710b42Smrg #include <fontconfig/fontconfig.h> 14262c393a42Smrg 1427a6844aabSmrg 1428ca08ab68Smrg FcFontSet * FcFontSetCreate(void); 14292c393a42Smrg 14302c393a42SmrgDescription 14312c393a42Smrg 1432ca08ab68Smrg Creates an empty font set. 14332c393a42Smrg 14342c393a42SmrgVersion 14352c393a42Smrg 1436c9710b42Smrg Fontconfig version 2.10.93 14372c393a42Smrg 1438ca08ab68Smrg FcFontSetDestroy 14392c393a42Smrg 14402c393a42SmrgName 14412c393a42Smrg 1442ca08ab68Smrg FcFontSetDestroy -- Destroy a font set 14432c393a42Smrg 14442c393a42SmrgSynopsis 14452c393a42Smrg 1446c9710b42Smrg #include <fontconfig/fontconfig.h> 14472c393a42Smrg 1448a6844aabSmrg 1449ca08ab68Smrg void FcFontSetDestroy(FcFontSet *s); 14502c393a42Smrg 14512c393a42SmrgDescription 14522c393a42Smrg 1453ca08ab68Smrg Destroys a font set. Note that this destroys any referenced patterns as 1454ca08ab68Smrg well. 14552c393a42Smrg 14562c393a42SmrgVersion 14572c393a42Smrg 1458c9710b42Smrg Fontconfig version 2.10.93 14592c393a42Smrg 1460ca08ab68Smrg FcFontSetAdd 14612c393a42Smrg 14622c393a42SmrgName 14632c393a42Smrg 1464ca08ab68Smrg FcFontSetAdd -- Add to a font set 14652c393a42Smrg 14662c393a42SmrgSynopsis 14672c393a42Smrg 1468c9710b42Smrg #include <fontconfig/fontconfig.h> 14692c393a42Smrg 1470a6844aabSmrg 1471ca08ab68Smrg FcBool FcFontSetAdd(FcFontSet *s, FcPattern *font); 14722c393a42Smrg 14732c393a42SmrgDescription 14742c393a42Smrg 1475ca08ab68Smrg Adds a pattern to a font set. Note that the pattern is not copied before 1476ca08ab68Smrg being inserted into the set. Returns FcFalse if the pattern cannot be 1477ca08ab68Smrg inserted into the set (due to allocation failure). Otherwise returns 1478ca08ab68Smrg FcTrue. 14792c393a42Smrg 14802c393a42SmrgVersion 14812c393a42Smrg 1482c9710b42Smrg Fontconfig version 2.10.93 14832c393a42Smrg 1484ca08ab68Smrg FcFontSetList 14852c393a42Smrg 14862c393a42SmrgName 14872c393a42Smrg 1488ca08ab68Smrg FcFontSetList -- List fonts from a set of font sets 14892c393a42Smrg 14902c393a42SmrgSynopsis 14912c393a42Smrg 1492c9710b42Smrg #include <fontconfig/fontconfig.h> 14932c393a42Smrg 1494a6844aabSmrg 1495ca08ab68Smrg FcFontSet * FcFontSetList(FcConfig *config, FcFontSet **sets, intnsets, 1496ca08ab68Smrg FcPattern *pattern, FcObjectSet *object_set); 14972c393a42Smrg 14982c393a42SmrgDescription 14992c393a42Smrg 1500ca08ab68Smrg Selects fonts matching pattern from sets, creates patterns from those 1501ca08ab68Smrg fonts containing only the objects in object_set and returns the set of 1502ca08ab68Smrg unique such patterns. If config is NULL, the default configuration is 1503ca08ab68Smrg checked to be up to date, and used. 15042c393a42Smrg 15052c393a42SmrgVersion 15062c393a42Smrg 1507c9710b42Smrg Fontconfig version 2.10.93 15082c393a42Smrg 1509ca08ab68Smrg FcFontSetMatch 15102c393a42Smrg 15112c393a42SmrgName 15122c393a42Smrg 1513ca08ab68Smrg FcFontSetMatch -- Return the best font from a set of font sets 15142c393a42Smrg 15152c393a42SmrgSynopsis 15162c393a42Smrg 1517c9710b42Smrg #include <fontconfig/fontconfig.h> 15182c393a42Smrg 1519a6844aabSmrg 1520ca08ab68Smrg FcPattern * FcFontSetMatch(FcConfig *config, FcFontSet **sets, intnsets, 1521ca08ab68Smrg FcPattern *pattern, FcResult *result); 15222c393a42Smrg 15232c393a42SmrgDescription 15242c393a42Smrg 1525ca08ab68Smrg Finds the font in sets most closely matching pattern and returns the 1526ca08ab68Smrg result of FcFontRenderPrepare for that font and the provided pattern. This 1527ca08ab68Smrg function should be called only after FcConfigSubstitute and 1528ca08ab68Smrg FcDefaultSubstitute have been called for pattern; otherwise the results 1529ca08ab68Smrg will not be correct. If config is NULL, the current configuration is used. 1530ca08ab68Smrg Returns NULL if an error occurs during this process. 15312c393a42Smrg 15322c393a42SmrgVersion 15332c393a42Smrg 1534c9710b42Smrg Fontconfig version 2.10.93 15352c393a42Smrg 1536ca08ab68Smrg FcFontSetPrint 15372c393a42Smrg 15382c393a42SmrgName 15392c393a42Smrg 1540ca08ab68Smrg FcFontSetPrint -- Print a set of patterns to stdout 15412c393a42Smrg 15422c393a42SmrgSynopsis 15432c393a42Smrg 1544c9710b42Smrg #include <fontconfig/fontconfig.h> 15452c393a42Smrg 1546a6844aabSmrg 1547ca08ab68Smrg void FcFontSetPrint(FcFontSet *set); 15482c393a42Smrg 15492c393a42SmrgDescription 15502c393a42Smrg 1551ca08ab68Smrg This function is useful for diagnosing font related issues, printing the 1552ca08ab68Smrg complete contents of every pattern in set. The format of the output is 1553ca08ab68Smrg designed to be of help to users and developers, and may change at any 1554ca08ab68Smrg time. 15552c393a42Smrg 15562c393a42SmrgVersion 15572c393a42Smrg 1558c9710b42Smrg Fontconfig version 2.10.93 15592c393a42Smrg 1560ca08ab68Smrg FcFontSetSort 15612c393a42Smrg 15622c393a42SmrgName 15632c393a42Smrg 1564ca08ab68Smrg FcFontSetSort -- Add to a font set 15652c393a42Smrg 15662c393a42SmrgSynopsis 15672c393a42Smrg 1568c9710b42Smrg #include <fontconfig/fontconfig.h> 15692c393a42Smrg 1570a6844aabSmrg 1571ca08ab68Smrg FcFontSetSort(FcConfig *config, FcFontSet **sets, intnsets, FcPattern 1572ca08ab68Smrg *pattern, FcBool trim, FcCharSet **csp, FcResult *result); 15732c393a42Smrg 15742c393a42SmrgDescription 15752c393a42Smrg 1576ca08ab68Smrg Returns the list of fonts from sets sorted by closeness to pattern. If 1577ca08ab68Smrg trim is FcTrue, elements in the list which don't include Unicode coverage 1578ca08ab68Smrg not provided by earlier elements in the list are elided. The union of 1579ca08ab68Smrg Unicode coverage of all of the fonts is returned in csp, if csp is not 1580ca08ab68Smrg NULL. This function should be called only after FcConfigSubstitute and 1581ca08ab68Smrg FcDefaultSubstitute have been called for p; otherwise the results will not 1582ca08ab68Smrg be correct. 15832c393a42Smrg 1584ca08ab68Smrg The returned FcFontSet references FcPattern structures which may be shared 1585ca08ab68Smrg by the return value from multiple FcFontSort calls, applications cannot 1586ca08ab68Smrg modify these patterns. Instead, they should be passed, along with pattern 1587ca08ab68Smrg to FcFontRenderPrepare which combines them into a complete pattern. 15882c393a42Smrg 1589ca08ab68Smrg The FcFontSet returned by FcFontSetSort is destroyed by calling 1590ca08ab68Smrg FcFontSetDestroy. 15912c393a42Smrg 15922c393a42SmrgVersion 15932c393a42Smrg 1594c9710b42Smrg Fontconfig version 2.10.93 15952c393a42Smrg 1596ca08ab68Smrg FcFontSetSortDestroy 15972c393a42Smrg 15982c393a42SmrgName 15992c393a42Smrg 1600ca08ab68Smrg FcFontSetSortDestroy -- DEPRECATED destroy a font set 16012c393a42Smrg 16022c393a42SmrgSynopsis 16032c393a42Smrg 1604c9710b42Smrg #include <fontconfig/fontconfig.h> 16052c393a42Smrg 1606a6844aabSmrg 1607ca08ab68Smrg FcFontSetSortDestroy(FcFontSet *set); 16082c393a42Smrg 16092c393a42SmrgDescription 16102c393a42Smrg 1611ca08ab68Smrg This function is DEPRECATED. FcFontSetSortDestroy destroys set by calling 1612ca08ab68Smrg FcFontSetDestroy. Applications should use FcFontSetDestroy directly 1613ca08ab68Smrg instead. 16142c393a42Smrg 16152c393a42SmrgVersion 16162c393a42Smrg 1617c9710b42Smrg Fontconfig version 2.10.93 1618ca08ab68Smrg 1619ca08ab68Smrg -------------------------------------------------------------------------- 1620ca08ab68Smrg 1621ca08ab68Smrg FcObjectSet 1622ca08ab68Smrg 1623ca08ab68Smrg Table of Contents 1624ca08ab68Smrg 1625ca08ab68Smrg [41]FcObjectSetCreate -- Create an object set 1626a6844aabSmrg 1627ca08ab68Smrg [42]FcObjectSetAdd -- Add to an object set 16282c393a42Smrg 1629ca08ab68Smrg [43]FcObjectSetDestroy -- Destroy an object set 16302c393a42Smrg 1631ca08ab68Smrg [44]FcObjectSetBuild -- Build object set from args 16322c393a42Smrg 1633ca08ab68Smrg An FcObjectSet holds a list of pattern property names; it is used to 1634ca08ab68Smrg indicate which properties are to be returned in the patterns from 1635ca08ab68Smrg FcFontList. 16362c393a42Smrg 1637ca08ab68Smrg FcObjectSetCreate 16382c393a42Smrg 16392c393a42SmrgName 16402c393a42Smrg 1641ca08ab68Smrg FcObjectSetCreate -- Create an object set 16422c393a42Smrg 16432c393a42SmrgSynopsis 16442c393a42Smrg 1645c9710b42Smrg #include <fontconfig/fontconfig.h> 16462c393a42Smrg 1647a6844aabSmrg 1648ca08ab68Smrg FcObjectSet * FcObjectSetCreate(void); 16492c393a42Smrg 16502c393a42SmrgDescription 16512c393a42Smrg 1652ca08ab68Smrg Creates an empty set. 16532c393a42Smrg 16542c393a42SmrgVersion 16552c393a42Smrg 1656c9710b42Smrg Fontconfig version 2.10.93 16572c393a42Smrg 1658ca08ab68Smrg FcObjectSetAdd 16592c393a42Smrg 16602c393a42SmrgName 16612c393a42Smrg 1662ca08ab68Smrg FcObjectSetAdd -- Add to an object set 16632c393a42Smrg 16642c393a42SmrgSynopsis 16652c393a42Smrg 1666c9710b42Smrg #include <fontconfig/fontconfig.h> 16672c393a42Smrg 1668a6844aabSmrg 1669ca08ab68Smrg FcBool FcObjectSetAdd(FcObjectSet *os, const char *object); 16702c393a42Smrg 16712c393a42SmrgDescription 16722c393a42Smrg 1673ca08ab68Smrg Adds a property name to the set. Returns FcFalse if the property name 1674ca08ab68Smrg cannot be inserted into the set (due to allocation failure). Otherwise 1675ca08ab68Smrg returns FcTrue. 16762c393a42Smrg 16772c393a42SmrgVersion 16782c393a42Smrg 1679c9710b42Smrg Fontconfig version 2.10.93 16802c393a42Smrg 1681ca08ab68Smrg FcObjectSetDestroy 16822c393a42Smrg 16832c393a42SmrgName 16842c393a42Smrg 1685ca08ab68Smrg FcObjectSetDestroy -- Destroy an object set 16862c393a42Smrg 16872c393a42SmrgSynopsis 16882c393a42Smrg 1689c9710b42Smrg #include <fontconfig/fontconfig.h> 16902c393a42Smrg 1691a6844aabSmrg 1692ca08ab68Smrg void FcObjectSetDestroy(FcObjectSet *os); 16932c393a42Smrg 16942c393a42SmrgDescription 16952c393a42Smrg 1696ca08ab68Smrg Destroys an object set. 16972c393a42Smrg 16982c393a42SmrgVersion 16992c393a42Smrg 1700c9710b42Smrg Fontconfig version 2.10.93 17012c393a42Smrg 1702ca08ab68Smrg FcObjectSetBuild 17032c393a42Smrg 17042c393a42SmrgName 17052c393a42Smrg 1706ca08ab68Smrg FcObjectSetBuild, FcObjectSetVaBuild, FcObjectSetVapBuild -- Build object 1707ca08ab68Smrg set from args 17082c393a42Smrg 17092c393a42SmrgSynopsis 17102c393a42Smrg 1711c9710b42Smrg #include <fontconfig/fontconfig.h> 17122c393a42Smrg 17132c393a42Smrg 1714ca08ab68Smrg FcObjectSet * FcObjectSetBuild(const char *first, ...); 17152c393a42Smrg 1716ca08ab68Smrg FcObjectSet * FcObjectSetVaBuild(const char *first, va_list va); 1717a6844aabSmrg 1718ca08ab68Smrg void FcObjectSetVapBuild(FcObjectSet *result, const char *first, va_list 1719ca08ab68Smrg va); 17202c393a42Smrg 17212c393a42SmrgDescription 17222c393a42Smrg 1723ca08ab68Smrg These build an object set from a null-terminated list of property names. 1724ca08ab68Smrg FcObjectSetVapBuild is a macro version of FcObjectSetVaBuild which returns 1725ca08ab68Smrg the result in the result variable directly. 17262c393a42Smrg 17272c393a42SmrgVersion 17282c393a42Smrg 1729c9710b42Smrg Fontconfig version 2.10.93 1730ca08ab68Smrg 1731ca08ab68Smrg -------------------------------------------------------------------------- 1732ca08ab68Smrg 1733ca08ab68Smrg FreeType specific functions 1734ca08ab68Smrg 1735ca08ab68Smrg Table of Contents 1736ca08ab68Smrg 1737ca08ab68Smrg [45]FcFreeTypeCharIndex -- map Unicode to glyph id 17382c393a42Smrg 1739ca08ab68Smrg [46]FcFreeTypeCharSet -- compute Unicode coverage 17402c393a42Smrg 1741ca08ab68Smrg [47]FcFreeTypeCharSetAndSpacing -- compute Unicode coverage and spacing 1742ca08ab68Smrg type 17432c393a42Smrg 1744ca08ab68Smrg [48]FcFreeTypeQuery -- compute pattern from font file (and index) 17452c393a42Smrg 1746ca08ab68Smrg [49]FcFreeTypeQueryFace -- compute pattern from FT_Face 17472c393a42Smrg 1748ca08ab68Smrg While the fontconfig library doesn't insist that FreeType be used as the 1749ca08ab68Smrg rasterization mechanism for fonts, it does provide some convenience 1750ca08ab68Smrg functions. 1751ca08ab68Smrg 1752ca08ab68Smrg FcFreeTypeCharIndex 17532c393a42Smrg 17542c393a42SmrgName 17552c393a42Smrg 1756ca08ab68Smrg FcFreeTypeCharIndex -- map Unicode to glyph id 17572c393a42Smrg 17582c393a42SmrgSynopsis 17592c393a42Smrg 1760ca08ab68Smrg #include <fontconfig.h> 1761ca08ab68Smrg #include <fcfreetype.h> 17622c393a42Smrg 1763a6844aabSmrg 1764ca08ab68Smrg FT_UInt FcFreeTypeCharIndex(FT_Face face, FcChar32 ucs4); 17652c393a42Smrg 17662c393a42SmrgDescription 17672c393a42Smrg 1768ca08ab68Smrg Maps a Unicode char to a glyph index. This function uses information from 1769ca08ab68Smrg several possible underlying encoding tables to work around broken fonts. 1770ca08ab68Smrg As a result, this function isn't designed to be used in performance 1771ca08ab68Smrg sensitive areas; results from this function are intended to be cached by 1772ca08ab68Smrg higher level functions. 17732c393a42Smrg 17742c393a42SmrgVersion 17752c393a42Smrg 1776c9710b42Smrg Fontconfig version 2.10.93 17772c393a42Smrg 1778ca08ab68Smrg FcFreeTypeCharSet 17792c393a42Smrg 17802c393a42SmrgName 17812c393a42Smrg 1782ca08ab68Smrg FcFreeTypeCharSet -- compute Unicode coverage 17832c393a42Smrg 17842c393a42SmrgSynopsis 17852c393a42Smrg 1786ca08ab68Smrg #include <fontconfig.h> 1787ca08ab68Smrg #include <fcfreetype.h> 17882c393a42Smrg 1789a6844aabSmrg 1790ca08ab68Smrg FcCharSet * FcFreeTypeCharSet(FT_Face face, FcBlanks *blanks); 17912c393a42Smrg 17922c393a42SmrgDescription 17932c393a42Smrg 1794ca08ab68Smrg Scans a FreeType face and returns the set of encoded Unicode chars. This 1795ca08ab68Smrg scans several encoding tables to build as complete a list as possible. If 1796ca08ab68Smrg 'blanks' is not 0, the glyphs in the font are examined and any blank 1797ca08ab68Smrg glyphs not in 'blanks' are not placed in the returned FcCharSet. 17982c393a42Smrg 17992c393a42SmrgVersion 18002c393a42Smrg 1801c9710b42Smrg Fontconfig version 2.10.93 18022c393a42Smrg 1803ca08ab68Smrg FcFreeTypeCharSetAndSpacing 18042c393a42Smrg 18052c393a42SmrgName 18062c393a42Smrg 1807ca08ab68Smrg FcFreeTypeCharSetAndSpacing -- compute Unicode coverage and spacing type 18082c393a42Smrg 18092c393a42SmrgSynopsis 18102c393a42Smrg 1811ca08ab68Smrg #include <fontconfig.h> 1812ca08ab68Smrg #include <fcfreetype.h> 18132c393a42Smrg 1814a6844aabSmrg 1815ca08ab68Smrg FcCharSet * FcFreeTypeCharSetAndSpacing(FT_Face face, FcBlanks *blanks, 1816ca08ab68Smrg int *spacing); 18172c393a42Smrg 18182c393a42SmrgDescription 18192c393a42Smrg 1820ca08ab68Smrg Scans a FreeType face and returns the set of encoded Unicode chars. This 1821ca08ab68Smrg scans several encoding tables to build as complete a list as possible. If 1822ca08ab68Smrg 'blanks' is not 0, the glyphs in the font are examined and any blank 1823ca08ab68Smrg glyphs not in 'blanks' are not placed in the returned FcCharSet. spacing 1824ca08ab68Smrg receives the computed spacing type of the font, one of FC_MONO for a font 1825ca08ab68Smrg where all glyphs have the same width, FC_DUAL, where the font has glyphs 1826ca08ab68Smrg in precisely two widths, one twice as wide as the other, or 1827ca08ab68Smrg FC_PROPORTIONAL where the font has glyphs of many widths. 18282c393a42Smrg 18292c393a42SmrgVersion 18302c393a42Smrg 1831c9710b42Smrg Fontconfig version 2.10.93 18322c393a42Smrg 1833ca08ab68Smrg FcFreeTypeQuery 18342c393a42Smrg 18352c393a42SmrgName 18362c393a42Smrg 1837ca08ab68Smrg FcFreeTypeQuery -- compute pattern from font file (and index) 18382c393a42Smrg 18392c393a42SmrgSynopsis 18402c393a42Smrg 1841ca08ab68Smrg #include <fontconfig.h> 1842ca08ab68Smrg #include <fcfreetype.h> 18432c393a42Smrg 1844a6844aabSmrg 1845ca08ab68Smrg FcPattern * FcFreeTypeQuery(const FcChar8 *file, int id, FcBlanks *blanks, 1846ca08ab68Smrg int *count); 18472c393a42Smrg 18482c393a42SmrgDescription 18492c393a42Smrg 1850ca08ab68Smrg Constructs a pattern representing the 'id'th font in 'file'. The number of 1851ca08ab68Smrg fonts in 'file' is returned in 'count'. 18522c393a42Smrg 18532c393a42SmrgVersion 18542c393a42Smrg 1855c9710b42Smrg Fontconfig version 2.10.93 18562c393a42Smrg 1857ca08ab68Smrg FcFreeTypeQueryFace 18582c393a42Smrg 18592c393a42SmrgName 18602c393a42Smrg 1861ca08ab68Smrg FcFreeTypeQueryFace -- compute pattern from FT_Face 18622c393a42Smrg 18632c393a42SmrgSynopsis 18642c393a42Smrg 1865ca08ab68Smrg #include <fontconfig.h> 1866ca08ab68Smrg #include <fcfreetype.h> 18672c393a42Smrg 1868a6844aabSmrg 1869ca08ab68Smrg FcPattern * FcFreeTypeQueryFace(const FT_Face face, const FcChar8 *file, 1870ca08ab68Smrg int id, FcBlanks *blanks); 18712c393a42Smrg 18722c393a42SmrgDescription 18732c393a42Smrg 1874ca08ab68Smrg Constructs a pattern representing 'face'. 'file' and 'id' are used solely 1875ca08ab68Smrg as data for pattern elements (FC_FILE, FC_INDEX and sometimes FC_FAMILY). 18762c393a42Smrg 18772c393a42SmrgVersion 18782c393a42Smrg 1879c9710b42Smrg Fontconfig version 2.10.93 1880ca08ab68Smrg 1881ca08ab68Smrg -------------------------------------------------------------------------- 1882ca08ab68Smrg 1883ca08ab68Smrg FcValue 1884ca08ab68Smrg 1885ca08ab68Smrg Table of Contents 1886ca08ab68Smrg 1887ca08ab68Smrg [50]FcValueDestroy -- Free a value 1888a6844aabSmrg 1889ca08ab68Smrg [51]FcValueSave -- Copy a value 18902c393a42Smrg 1891ca08ab68Smrg [52]FcValuePrint -- Print a value to stdout 18922c393a42Smrg 1893ca08ab68Smrg [53]FcValueEqual -- Test two values for equality 18942c393a42Smrg 1895ca08ab68Smrg FcValue is a structure containing a type tag and a union of all possible 1896ca08ab68Smrg datatypes. The tag is an enum of type FcType and is intended to provide a 1897ca08ab68Smrg measure of run-time typechecking, although that depends on careful 1898ca08ab68Smrg programming. 18992c393a42Smrg 1900ca08ab68Smrg FcValueDestroy 19012c393a42Smrg 19022c393a42SmrgName 19032c393a42Smrg 1904ca08ab68Smrg FcValueDestroy -- Free a value 19052c393a42Smrg 19062c393a42SmrgSynopsis 19072c393a42Smrg 1908c9710b42Smrg #include <fontconfig/fontconfig.h> 19092c393a42Smrg 1910a6844aabSmrg 1911ca08ab68Smrg void FcValueDestroy(FcValue v); 19122c393a42Smrg 19132c393a42SmrgDescription 19142c393a42Smrg 1915ca08ab68Smrg Frees any memory referenced by v. Values of type FcTypeString, 1916ca08ab68Smrg FcTypeMatrix and FcTypeCharSet reference memory, the other types do not. 19172c393a42Smrg 19182c393a42SmrgVersion 19192c393a42Smrg 1920c9710b42Smrg Fontconfig version 2.10.93 19212c393a42Smrg 1922ca08ab68Smrg FcValueSave 19232c393a42Smrg 19242c393a42SmrgName 19252c393a42Smrg 1926ca08ab68Smrg FcValueSave -- Copy a value 19272c393a42Smrg 19282c393a42SmrgSynopsis 19292c393a42Smrg 1930c9710b42Smrg #include <fontconfig/fontconfig.h> 19312c393a42Smrg 1932a6844aabSmrg 1933ca08ab68Smrg FcValue FcValueSave(FcValue v); 19342c393a42Smrg 19352c393a42SmrgDescription 19362c393a42Smrg 1937ca08ab68Smrg Returns a copy of v duplicating any object referenced by it so that v may 1938ca08ab68Smrg be safely destroyed without harming the new value. 19392c393a42Smrg 19402c393a42SmrgVersion 19412c393a42Smrg 1942c9710b42Smrg Fontconfig version 2.10.93 19432c393a42Smrg 1944ca08ab68Smrg FcValuePrint 19452c393a42Smrg 19462c393a42SmrgName 19472c393a42Smrg 1948ca08ab68Smrg FcValuePrint -- Print a value to stdout 19492c393a42Smrg 19502c393a42SmrgSynopsis 19512c393a42Smrg 1952c9710b42Smrg #include <fontconfig/fontconfig.h> 19532c393a42Smrg 1954a6844aabSmrg 1955ca08ab68Smrg void FcValuePrint(FcValue v); 19562c393a42Smrg 19572c393a42SmrgDescription 19582c393a42Smrg 1959ca08ab68Smrg Prints a human-readable representation of v to stdout. The format should 1960ca08ab68Smrg not be considered part of the library specification as it may change in 1961ca08ab68Smrg the future. 19622c393a42Smrg 19632c393a42SmrgVersion 19642c393a42Smrg 1965c9710b42Smrg Fontconfig version 2.10.93 19662c393a42Smrg 1967ca08ab68Smrg FcValueEqual 19682c393a42Smrg 19692c393a42SmrgName 19702c393a42Smrg 1971ca08ab68Smrg FcValueEqual -- Test two values for equality 19722c393a42Smrg 19732c393a42SmrgSynopsis 19742c393a42Smrg 1975c9710b42Smrg #include <fontconfig/fontconfig.h> 19762c393a42Smrg 1977a6844aabSmrg 1978ca08ab68Smrg FcBool FcValueEqual(FcValue v_a, FcValue v_b); 19792c393a42Smrg 19802c393a42SmrgDescription 19812c393a42Smrg 1982ca08ab68Smrg Compares two values. Integers and Doubles are compared as numbers; 1983ca08ab68Smrg otherwise the two values have to be the same type to be considered equal. 1984ca08ab68Smrg Strings are compared ignoring case. 19852c393a42Smrg 19862c393a42SmrgVersion 19872c393a42Smrg 1988c9710b42Smrg Fontconfig version 2.10.93 1989ca08ab68Smrg 1990ca08ab68Smrg -------------------------------------------------------------------------- 1991ca08ab68Smrg 1992ca08ab68Smrg FcCharSet 1993ca08ab68Smrg 1994ca08ab68Smrg Table of Contents 1995ca08ab68Smrg 1996ca08ab68Smrg [54]FcCharSetCreate -- Create an empty character set 1997ca08ab68Smrg 1998ca08ab68Smrg [55]FcCharSetDestroy -- Destroy a character set 1999ca08ab68Smrg 2000ca08ab68Smrg [56]FcCharSetAddChar -- Add a character to a charset 2001ca08ab68Smrg 2002ca08ab68Smrg [57]FcCharSetDelChar -- Add a character to a charset 2003ca08ab68Smrg 2004ca08ab68Smrg [58]FcCharSetCopy -- Copy a charset 2005ca08ab68Smrg 2006ca08ab68Smrg [59]FcCharSetEqual -- Compare two charsets 2007ca08ab68Smrg 2008ca08ab68Smrg [60]FcCharSetIntersect -- Intersect charsets 2009ca08ab68Smrg 2010ca08ab68Smrg [61]FcCharSetUnion -- Add charsets 2011ca08ab68Smrg 2012ca08ab68Smrg [62]FcCharSetSubtract -- Subtract charsets 2013ca08ab68Smrg 2014ca08ab68Smrg [63]FcCharSetMerge -- Merge charsets 20152c393a42Smrg 2016ca08ab68Smrg [64]FcCharSetHasChar -- Check a charset for a char 20172c393a42Smrg 2018ca08ab68Smrg [65]FcCharSetCount -- Count entries in a charset 20192c393a42Smrg 2020ca08ab68Smrg [66]FcCharSetIntersectCount -- Intersect and count charsets 20212c393a42Smrg 2022ca08ab68Smrg [67]FcCharSetSubtractCount -- Subtract and count charsets 20232c393a42Smrg 2024ca08ab68Smrg [68]FcCharSetIsSubset -- Test for charset inclusion 2025ca08ab68Smrg 2026ca08ab68Smrg [69]FcCharSetFirstPage -- Start enumerating charset contents 2027ca08ab68Smrg 2028ca08ab68Smrg [70]FcCharSetNextPage -- Continue enumerating charset contents 2029ca08ab68Smrg 2030ca08ab68Smrg [71]FcCharSetCoverage -- DEPRECATED return coverage for a Unicode page 2031ca08ab68Smrg 2032ca08ab68Smrg [72]FcCharSetNew -- DEPRECATED alias for FcCharSetCreate 2033ca08ab68Smrg 2034ca08ab68Smrg An FcCharSet is a boolean array indicating a set of Unicode chars. Those 2035ca08ab68Smrg associated with a font are marked constant and cannot be edited. 2036ca08ab68Smrg FcCharSets may be reference counted internally to reduce memory 2037ca08ab68Smrg consumption; this may be visible to applications as the result of 2038ca08ab68Smrg FcCharSetCopy may return it's argument, and that CharSet may remain 2039ca08ab68Smrg unmodifiable. 2040ca08ab68Smrg 2041ca08ab68Smrg FcCharSetCreate 2042ca08ab68Smrg 2043ca08ab68SmrgName 2044ca08ab68Smrg 2045ca08ab68Smrg FcCharSetCreate -- Create an empty character set 2046ca08ab68Smrg 2047ca08ab68SmrgSynopsis 2048ca08ab68Smrg 2049c9710b42Smrg #include <fontconfig/fontconfig.h> 2050ca08ab68Smrg 2051ca08ab68Smrg 2052ca08ab68Smrg FcCharSet * FcCharSetCreate(void); 2053ca08ab68Smrg 2054ca08ab68SmrgDescription 2055ca08ab68Smrg 2056ca08ab68Smrg FcCharSetCreate allocates and initializes a new empty character set 2057ca08ab68Smrg object. 2058ca08ab68Smrg 2059ca08ab68SmrgVersion 2060ca08ab68Smrg 2061c9710b42Smrg Fontconfig version 2.10.93 2062ca08ab68Smrg 2063ca08ab68Smrg FcCharSetDestroy 20642c393a42Smrg 20652c393a42SmrgName 20662c393a42Smrg 2067ca08ab68Smrg FcCharSetDestroy -- Destroy a character set 20682c393a42Smrg 20692c393a42SmrgSynopsis 20702c393a42Smrg 2071c9710b42Smrg #include <fontconfig/fontconfig.h> 20722c393a42Smrg 2073a6844aabSmrg 2074ca08ab68Smrg void FcCharSetDestroy(FcCharSet *fcs); 20752c393a42Smrg 20762c393a42SmrgDescription 20772c393a42Smrg 2078ca08ab68Smrg FcCharSetDestroy decrements the reference count fcs. If the reference 2079ca08ab68Smrg count becomes zero, all memory referenced is freed. 20802c393a42Smrg 20812c393a42SmrgVersion 20822c393a42Smrg 2083c9710b42Smrg Fontconfig version 2.10.93 20842c393a42Smrg 2085ca08ab68Smrg FcCharSetAddChar 20862c393a42Smrg 20872c393a42SmrgName 20882c393a42Smrg 2089ca08ab68Smrg FcCharSetAddChar -- Add a character to a charset 20902c393a42Smrg 20912c393a42SmrgSynopsis 20922c393a42Smrg 2093c9710b42Smrg #include <fontconfig/fontconfig.h> 20942c393a42Smrg 2095a6844aabSmrg 2096ca08ab68Smrg FcBool FcCharSetAddChar(FcCharSet *fcs, FcChar32 ucs4); 20972c393a42Smrg 20982c393a42SmrgDescription 20992c393a42Smrg 2100ca08ab68Smrg FcCharSetAddChar adds a single Unicode char to the set, returning FcFalse 2101ca08ab68Smrg on failure, either as a result of a constant set or from running out of 2102ca08ab68Smrg memory. 21032c393a42Smrg 21042c393a42SmrgVersion 21052c393a42Smrg 2106c9710b42Smrg Fontconfig version 2.10.93 21072c393a42Smrg 2108ca08ab68Smrg FcCharSetDelChar 21092c393a42Smrg 21102c393a42SmrgName 21112c393a42Smrg 2112ca08ab68Smrg FcCharSetDelChar -- Add a character to a charset 21132c393a42Smrg 21142c393a42SmrgSynopsis 21152c393a42Smrg 2116c9710b42Smrg #include <fontconfig/fontconfig.h> 21172c393a42Smrg 2118a6844aabSmrg 2119ca08ab68Smrg FcBool FcCharSetDelChar(FcCharSet *fcs, FcChar32 ucs4); 21202c393a42Smrg 21212c393a42SmrgDescription 21222c393a42Smrg 2123ca08ab68Smrg FcCharSetDelChar deletes a single Unicode char from the set, returning 2124ca08ab68Smrg FcFalse on failure, either as a result of a constant set or from running 2125ca08ab68Smrg out of memory. 21262c393a42Smrg 21272c393a42SmrgVersion 21282c393a42Smrg 2129c9710b42Smrg Fontconfig version 2.10.93 21302c393a42Smrg 2131ca08ab68Smrg FcCharSetCopy 21322c393a42Smrg 21332c393a42SmrgName 21342c393a42Smrg 2135ca08ab68Smrg FcCharSetCopy -- Copy a charset 21362c393a42Smrg 21372c393a42SmrgSynopsis 21382c393a42Smrg 2139c9710b42Smrg #include <fontconfig/fontconfig.h> 21402c393a42Smrg 2141a6844aabSmrg 2142ca08ab68Smrg FcCharSet * FcCharSetCopy(FcCharSet *src); 21432c393a42Smrg 21442c393a42SmrgDescription 21452c393a42Smrg 2146ca08ab68Smrg Makes a copy of src; note that this may not actually do anything more than 2147ca08ab68Smrg increment the reference count on src. 21482c393a42Smrg 21492c393a42SmrgVersion 21502c393a42Smrg 2151c9710b42Smrg Fontconfig version 2.10.93 21522c393a42Smrg 2153ca08ab68Smrg FcCharSetEqual 21542c393a42Smrg 21552c393a42SmrgName 21562c393a42Smrg 2157ca08ab68Smrg FcCharSetEqual -- Compare two charsets 21582c393a42Smrg 21592c393a42SmrgSynopsis 21602c393a42Smrg 2161c9710b42Smrg #include <fontconfig/fontconfig.h> 21622c393a42Smrg 2163a6844aabSmrg 2164ca08ab68Smrg FcBool FcCharSetEqual(const FcCharSet *a, const FcCharSet *b); 21652c393a42Smrg 21662c393a42SmrgDescription 21672c393a42Smrg 2168ca08ab68Smrg Returns whether a and b contain the same set of Unicode chars. 21692c393a42Smrg 21702c393a42SmrgVersion 21712c393a42Smrg 2172c9710b42Smrg Fontconfig version 2.10.93 21732c393a42Smrg 2174ca08ab68Smrg FcCharSetIntersect 21752c393a42Smrg 21762c393a42SmrgName 21772c393a42Smrg 2178ca08ab68Smrg FcCharSetIntersect -- Intersect charsets 21792c393a42Smrg 21802c393a42SmrgSynopsis 21812c393a42Smrg 2182c9710b42Smrg #include <fontconfig/fontconfig.h> 21832c393a42Smrg 2184a6844aabSmrg 2185ca08ab68Smrg FcCharSet * FcCharSetIntersect(const FcCharSet *a, const FcCharSet *b); 21862c393a42Smrg 21872c393a42SmrgDescription 21882c393a42Smrg 2189ca08ab68Smrg Returns a set including only those chars found in both a and b. 21902c393a42Smrg 21912c393a42SmrgVersion 21922c393a42Smrg 2193c9710b42Smrg Fontconfig version 2.10.93 21942c393a42Smrg 2195ca08ab68Smrg FcCharSetUnion 21962c393a42Smrg 21972c393a42SmrgName 21982c393a42Smrg 2199ca08ab68Smrg FcCharSetUnion -- Add charsets 22002c393a42Smrg 22012c393a42SmrgSynopsis 22022c393a42Smrg 2203c9710b42Smrg #include <fontconfig/fontconfig.h> 22042c393a42Smrg 2205a6844aabSmrg 2206ca08ab68Smrg FcCharSet * FcCharSetUnion(const FcCharSet *a, const FcCharSet *b); 22072c393a42Smrg 22082c393a42SmrgDescription 22092c393a42Smrg 2210ca08ab68Smrg Returns a set including only those chars found in either a or b. 22112c393a42Smrg 22122c393a42SmrgVersion 22132c393a42Smrg 2214c9710b42Smrg Fontconfig version 2.10.93 22152c393a42Smrg 2216ca08ab68Smrg FcCharSetSubtract 22172c393a42Smrg 22182c393a42SmrgName 22192c393a42Smrg 2220ca08ab68Smrg FcCharSetSubtract -- Subtract charsets 22212c393a42Smrg 22222c393a42SmrgSynopsis 22232c393a42Smrg 2224c9710b42Smrg #include <fontconfig/fontconfig.h> 22252c393a42Smrg 2226a6844aabSmrg 2227ca08ab68Smrg FcCharSet * FcCharSetSubtract(const FcCharSet *a, const FcCharSet *b); 22282c393a42Smrg 22292c393a42SmrgDescription 22302c393a42Smrg 2231ca08ab68Smrg Returns a set including only those chars found in a but not b. 22322c393a42Smrg 22332c393a42SmrgVersion 22342c393a42Smrg 2235c9710b42Smrg Fontconfig version 2.10.93 2236a6844aabSmrg 2237ca08ab68Smrg FcCharSetMerge 2238a6844aabSmrg 2239a6844aabSmrgName 2240a6844aabSmrg 2241ca08ab68Smrg FcCharSetMerge -- Merge charsets 2242a6844aabSmrg 2243a6844aabSmrgSynopsis 2244a6844aabSmrg 2245c9710b42Smrg #include <fontconfig/fontconfig.h> 2246a6844aabSmrg 2247a6844aabSmrg 2248ca08ab68Smrg FcBool FcCharSetMerge(FcCharSet *a, const FcCharSet *b, FcBool *changed); 2249a6844aabSmrg 2250a6844aabSmrgDescription 2251a6844aabSmrg 2252ca08ab68Smrg Adds all chars in b to a. In other words, this is an in-place version of 2253ca08ab68Smrg FcCharSetUnion. If changed is not NULL, then it returns whether any new 2254ca08ab68Smrg chars from b were added to a. Returns FcFalse on failure, either when a is 2255ca08ab68Smrg a constant set or from running out of memory. 2256a6844aabSmrg 2257a6844aabSmrgVersion 2258a6844aabSmrg 2259c9710b42Smrg Fontconfig version 2.10.93 22602c393a42Smrg 2261ca08ab68Smrg FcCharSetHasChar 22622c393a42Smrg 22632c393a42SmrgName 22642c393a42Smrg 2265ca08ab68Smrg FcCharSetHasChar -- Check a charset for a char 22662c393a42Smrg 22672c393a42SmrgSynopsis 22682c393a42Smrg 2269c9710b42Smrg #include <fontconfig/fontconfig.h> 22702c393a42Smrg 2271a6844aabSmrg 2272ca08ab68Smrg FcBool FcCharSetHasChar(const FcCharSet *fcs, FcChar32 ucs4); 22732c393a42Smrg 22742c393a42SmrgDescription 22752c393a42Smrg 2276ca08ab68Smrg Returns whether fcs contains the char ucs4. 22772c393a42Smrg 22782c393a42SmrgVersion 22792c393a42Smrg 2280c9710b42Smrg Fontconfig version 2.10.93 22812c393a42Smrg 2282ca08ab68Smrg FcCharSetCount 22832c393a42Smrg 22842c393a42SmrgName 22852c393a42Smrg 2286ca08ab68Smrg FcCharSetCount -- Count entries in a charset 22872c393a42Smrg 22882c393a42SmrgSynopsis 22892c393a42Smrg 2290c9710b42Smrg #include <fontconfig/fontconfig.h> 22912c393a42Smrg 2292a6844aabSmrg 2293ca08ab68Smrg FcChar32 FcCharSetCount(const FcCharSet *a); 22942c393a42Smrg 22952c393a42SmrgDescription 22962c393a42Smrg 2297ca08ab68Smrg Returns the total number of Unicode chars in a. 22982c393a42Smrg 22992c393a42SmrgVersion 23002c393a42Smrg 2301c9710b42Smrg Fontconfig version 2.10.93 23022c393a42Smrg 2303ca08ab68Smrg FcCharSetIntersectCount 23042c393a42Smrg 23052c393a42SmrgName 23062c393a42Smrg 2307ca08ab68Smrg FcCharSetIntersectCount -- Intersect and count charsets 23082c393a42Smrg 23092c393a42SmrgSynopsis 23102c393a42Smrg 2311c9710b42Smrg #include <fontconfig/fontconfig.h> 23122c393a42Smrg 2313a6844aabSmrg 2314ca08ab68Smrg FcChar32 FcCharSetIntersectCount(const FcCharSet *a, const FcCharSet *b); 23152c393a42Smrg 23162c393a42SmrgDescription 23172c393a42Smrg 2318ca08ab68Smrg Returns the number of chars that are in both a and b. 23192c393a42Smrg 23202c393a42SmrgVersion 23212c393a42Smrg 2322c9710b42Smrg Fontconfig version 2.10.93 23232c393a42Smrg 2324ca08ab68Smrg FcCharSetSubtractCount 23252c393a42Smrg 23262c393a42SmrgName 23272c393a42Smrg 2328ca08ab68Smrg FcCharSetSubtractCount -- Subtract and count charsets 23292c393a42Smrg 23302c393a42SmrgSynopsis 23312c393a42Smrg 2332c9710b42Smrg #include <fontconfig/fontconfig.h> 23332c393a42Smrg 2334a6844aabSmrg 2335ca08ab68Smrg FcChar32 FcCharSetSubtractCount(const FcCharSet *a, const FcCharSet *b); 23362c393a42Smrg 23372c393a42SmrgDescription 23382c393a42Smrg 2339ca08ab68Smrg Returns the number of chars that are in a but not in b. 23402c393a42Smrg 23412c393a42SmrgVersion 23422c393a42Smrg 2343c9710b42Smrg Fontconfig version 2.10.93 23442c393a42Smrg 2345ca08ab68Smrg FcCharSetIsSubset 23462c393a42Smrg 23472c393a42SmrgName 23482c393a42Smrg 2349ca08ab68Smrg FcCharSetIsSubset -- Test for charset inclusion 23502c393a42Smrg 23512c393a42SmrgSynopsis 23522c393a42Smrg 2353c9710b42Smrg #include <fontconfig/fontconfig.h> 23542c393a42Smrg 2355a6844aabSmrg 2356ca08ab68Smrg FcBool FcCharSetIsSubset(const FcCharSet *a, const FcCharSet *b); 23572c393a42Smrg 23582c393a42SmrgDescription 23592c393a42Smrg 2360ca08ab68Smrg Returns whether a is a subset of b. 23612c393a42Smrg 23622c393a42SmrgVersion 23632c393a42Smrg 2364c9710b42Smrg Fontconfig version 2.10.93 23652c393a42Smrg 2366ca08ab68Smrg FcCharSetFirstPage 23672c393a42Smrg 23682c393a42SmrgName 23692c393a42Smrg 2370ca08ab68Smrg FcCharSetFirstPage -- Start enumerating charset contents 23712c393a42Smrg 23722c393a42SmrgSynopsis 23732c393a42Smrg 2374c9710b42Smrg #include <fontconfig/fontconfig.h> 23752c393a42Smrg 2376a6844aabSmrg 2377ca08ab68Smrg FcChar32 FcCharSetFirstPage(const FcCharSet *a, 2378ca08ab68Smrg FcChar32[FC_CHARSET_MAP_SIZE] map, FcChar32 *next); 23792c393a42Smrg 23802c393a42SmrgDescription 23812c393a42Smrg 2382ca08ab68Smrg Builds an array of bits marking the first page of Unicode coverage of a. 2383ca08ab68Smrg Returns the base of the array. next contains the next page in the font. 23842c393a42Smrg 23852c393a42SmrgVersion 23862c393a42Smrg 2387c9710b42Smrg Fontconfig version 2.10.93 23882c393a42Smrg 2389ca08ab68Smrg FcCharSetNextPage 23902c393a42Smrg 23912c393a42SmrgName 23922c393a42Smrg 2393ca08ab68Smrg FcCharSetNextPage -- Continue enumerating charset contents 23942c393a42Smrg 23952c393a42SmrgSynopsis 23962c393a42Smrg 2397c9710b42Smrg #include <fontconfig/fontconfig.h> 23982c393a42Smrg 2399a6844aabSmrg 2400ca08ab68Smrg FcChar32 FcCharSetNextPage(const FcCharSet *a, 2401ca08ab68Smrg FcChar32[FC_CHARSET_MAP_SIZE] map, FcChar32 *next); 24022c393a42Smrg 24032c393a42SmrgDescription 24042c393a42Smrg 2405ca08ab68Smrg Builds an array of bits marking the Unicode coverage of a for page *next. 2406ca08ab68Smrg Returns the base of the array. next contains the next page in the font. 24072c393a42Smrg 24082c393a42SmrgVersion 24092c393a42Smrg 2410c9710b42Smrg Fontconfig version 2.10.93 24112c393a42Smrg 2412ca08ab68Smrg FcCharSetCoverage 24132c393a42Smrg 24142c393a42SmrgName 24152c393a42Smrg 2416ca08ab68Smrg FcCharSetCoverage -- DEPRECATED return coverage for a Unicode page 24172c393a42Smrg 24182c393a42SmrgSynopsis 24192c393a42Smrg 2420c9710b42Smrg #include <fontconfig/fontconfig.h> 24212c393a42Smrg 2422a6844aabSmrg 2423ca08ab68Smrg FcChar32 FcCharSetCoverage(const FcCharSet *a, FcChar32page, 2424ca08ab68Smrg FcChar32[8]result); 24252c393a42Smrg 24262c393a42SmrgDescription 24272c393a42Smrg 2428ca08ab68Smrg DEPRECATED This function returns a bitmask in result which indicates which 2429ca08ab68Smrg code points in page are included in a. FcCharSetCoverage returns the next 2430ca08ab68Smrg page in the charset which has any coverage. 24312c393a42Smrg 24322c393a42SmrgVersion 24332c393a42Smrg 2434c9710b42Smrg Fontconfig version 2.10.93 24352c393a42Smrg 2436ca08ab68Smrg FcCharSetNew 24372c393a42Smrg 24382c393a42SmrgName 24392c393a42Smrg 2440ca08ab68Smrg FcCharSetNew -- DEPRECATED alias for FcCharSetCreate 24412c393a42Smrg 24422c393a42SmrgSynopsis 24432c393a42Smrg 2444c9710b42Smrg #include <fontconfig/fontconfig.h> 24452c393a42Smrg 2446a6844aabSmrg 2447ca08ab68Smrg FcCharSet * FcCharSetNew(void); 24482c393a42Smrg 24492c393a42SmrgDescription 24502c393a42Smrg 2451ca08ab68Smrg FcCharSetNew is a DEPRECATED alias for FcCharSetCreate. 24522c393a42Smrg 24532c393a42SmrgVersion 24542c393a42Smrg 2455c9710b42Smrg Fontconfig version 2.10.93 2456ca08ab68Smrg 2457ca08ab68Smrg -------------------------------------------------------------------------- 2458ca08ab68Smrg 2459ca08ab68Smrg FcLangSet 2460ca08ab68Smrg 2461ca08ab68Smrg Table of Contents 2462ca08ab68Smrg 2463ca08ab68Smrg [73]FcLangSetCreate -- create a langset object 2464ca08ab68Smrg 2465ca08ab68Smrg [74]FcLangSetDestroy -- destroy a langset object 2466ca08ab68Smrg 2467ca08ab68Smrg [75]FcLangSetCopy -- copy a langset object 2468ca08ab68Smrg 2469ca08ab68Smrg [76]FcLangSetAdd -- add a language to a langset 2470ca08ab68Smrg 2471ca08ab68Smrg [77]FcLangSetDel -- delete a language from a langset 2472ca08ab68Smrg 2473ca08ab68Smrg [78]FcLangSetUnion -- Add langsets 2474ca08ab68Smrg 2475ca08ab68Smrg [79]FcLangSetSubtract -- Subtract langsets 2476ca08ab68Smrg 2477ca08ab68Smrg [80]FcLangSetCompare -- compare language sets 2478ca08ab68Smrg 2479ca08ab68Smrg [81]FcLangSetContains -- check langset subset relation 2480ca08ab68Smrg 2481ca08ab68Smrg [82]FcLangSetEqual -- test for matching langsets 2482ca08ab68Smrg 2483ca08ab68Smrg [83]FcLangSetHash -- return a hash value for a langset 2484ca08ab68Smrg 2485ca08ab68Smrg [84]FcLangSetHasLang -- test langset for language support 2486ca08ab68Smrg 2487ca08ab68Smrg [85]FcGetDefaultLangs -- Get the default languages list 2488ca08ab68Smrg 2489ca08ab68Smrg [86]FcGetLangs -- Get list of languages 2490ca08ab68Smrg 2491c9710b42Smrg [87]FcLangNormalize -- Normalize the language string 2492c9710b42Smrg 2493c9710b42Smrg [88]FcLangGetCharSet -- Get character map for a language 2494ca08ab68Smrg 2495ca08ab68Smrg An FcLangSet is a set of language names (each of which include language 2496ca08ab68Smrg and an optional territory). They are used when selecting fonts to indicate 2497ca08ab68Smrg which languages the fonts need to support. Each font is marked, using 2498ca08ab68Smrg language orthography information built into fontconfig, with the set of 2499ca08ab68Smrg supported languages. 2500ca08ab68Smrg 2501ca08ab68Smrg FcLangSetCreate 2502ca08ab68Smrg 2503ca08ab68SmrgName 2504ca08ab68Smrg 2505ca08ab68Smrg FcLangSetCreate -- create a langset object 2506ca08ab68Smrg 2507ca08ab68SmrgSynopsis 2508ca08ab68Smrg 2509c9710b42Smrg #include <fontconfig/fontconfig.h> 2510ca08ab68Smrg 2511ca08ab68Smrg 2512ca08ab68Smrg FcLangSet * FcLangSetCreate(void); 2513ca08ab68Smrg 2514ca08ab68SmrgDescription 2515ca08ab68Smrg 2516ca08ab68Smrg FcLangSetCreate creates a new FcLangSet object. 2517ca08ab68Smrg 2518ca08ab68SmrgVersion 2519ca08ab68Smrg 2520c9710b42Smrg Fontconfig version 2.10.93 2521ca08ab68Smrg 2522ca08ab68Smrg FcLangSetDestroy 2523ca08ab68Smrg 2524ca08ab68SmrgName 2525ca08ab68Smrg 2526ca08ab68Smrg FcLangSetDestroy -- destroy a langset object 2527ca08ab68Smrg 2528ca08ab68SmrgSynopsis 2529ca08ab68Smrg 2530c9710b42Smrg #include <fontconfig/fontconfig.h> 2531ca08ab68Smrg 2532ca08ab68Smrg 2533ca08ab68Smrg void FcLangSetDestroy(FcLangSet *ls); 2534ca08ab68Smrg 2535ca08ab68SmrgDescription 2536ca08ab68Smrg 2537ca08ab68Smrg FcLangSetDestroy destroys a FcLangSet object, freeing all memory 2538ca08ab68Smrg associated with it. 2539ca08ab68Smrg 2540ca08ab68SmrgVersion 2541ca08ab68Smrg 2542c9710b42Smrg Fontconfig version 2.10.93 2543ca08ab68Smrg 2544ca08ab68Smrg FcLangSetCopy 2545a6844aabSmrg 2546ca08ab68SmrgName 2547ca08ab68Smrg 2548ca08ab68Smrg FcLangSetCopy -- copy a langset object 2549ca08ab68Smrg 2550ca08ab68SmrgSynopsis 2551ca08ab68Smrg 2552c9710b42Smrg #include <fontconfig/fontconfig.h> 2553ca08ab68Smrg 2554ca08ab68Smrg 2555ca08ab68Smrg FcLangSet * FcLangSetCopy(const FcLangSet *ls); 2556ca08ab68Smrg 2557ca08ab68SmrgDescription 25582c393a42Smrg 2559ca08ab68Smrg FcLangSetCopy creates a new FcLangSet object and populates it with the 2560ca08ab68Smrg contents of ls. 25612c393a42Smrg 2562ca08ab68SmrgVersion 25632c393a42Smrg 2564c9710b42Smrg Fontconfig version 2.10.93 25652c393a42Smrg 2566ca08ab68Smrg FcLangSetAdd 25672c393a42Smrg 25682c393a42SmrgName 25692c393a42Smrg 2570ca08ab68Smrg FcLangSetAdd -- add a language to a langset 25712c393a42Smrg 25722c393a42SmrgSynopsis 25732c393a42Smrg 2574c9710b42Smrg #include <fontconfig/fontconfig.h> 25752c393a42Smrg 2576a6844aabSmrg 2577ca08ab68Smrg FcBool FcLangSetAdd(FcLangSet *ls, const FcChar8 *lang); 25782c393a42Smrg 25792c393a42SmrgDescription 25802c393a42Smrg 2581ca08ab68Smrg lang is added to ls. lang should be of the form Ll-Tt where Ll is a two or 2582ca08ab68Smrg three letter language from ISO 639 and Tt is a territory from ISO 3166. 25832c393a42Smrg 25842c393a42SmrgVersion 25852c393a42Smrg 2586c9710b42Smrg Fontconfig version 2.10.93 25872c393a42Smrg 2588ca08ab68Smrg FcLangSetDel 25892c393a42Smrg 25902c393a42SmrgName 25912c393a42Smrg 2592ca08ab68Smrg FcLangSetDel -- delete a language from a langset 25932c393a42Smrg 25942c393a42SmrgSynopsis 25952c393a42Smrg 2596c9710b42Smrg #include <fontconfig/fontconfig.h> 25972c393a42Smrg 2598a6844aabSmrg 2599ca08ab68Smrg FcBool FcLangSetDel(FcLangSet *ls, const FcChar8 *lang); 26002c393a42Smrg 26012c393a42SmrgDescription 26022c393a42Smrg 2603ca08ab68Smrg lang is removed from ls. lang should be of the form Ll-Tt where Ll is a 2604ca08ab68Smrg two or three letter language from ISO 639 and Tt is a territory from ISO 2605ca08ab68Smrg 3166. 26062c393a42Smrg 26072c393a42SmrgVersion 26082c393a42Smrg 2609c9710b42Smrg Fontconfig version 2.10.93 26102c393a42Smrg 2611ca08ab68Smrg FcLangSetUnion 26122c393a42Smrg 26132c393a42SmrgName 26142c393a42Smrg 2615ca08ab68Smrg FcLangSetUnion -- Add langsets 26162c393a42Smrg 26172c393a42SmrgSynopsis 26182c393a42Smrg 2619c9710b42Smrg #include <fontconfig/fontconfig.h> 26202c393a42Smrg 2621a6844aabSmrg 2622ca08ab68Smrg FcLangSet * FcLangSetUnion(const FcLangSet *ls_a, const FcLangSet *ls_b); 26232c393a42Smrg 26242c393a42SmrgDescription 26252c393a42Smrg 2626ca08ab68Smrg Returns a set including only those languages found in either ls_a or ls_b. 26272c393a42Smrg 26282c393a42SmrgVersion 26292c393a42Smrg 2630c9710b42Smrg Fontconfig version 2.10.93 26312c393a42Smrg 2632ca08ab68Smrg FcLangSetSubtract 26332c393a42Smrg 26342c393a42SmrgName 26352c393a42Smrg 2636ca08ab68Smrg FcLangSetSubtract -- Subtract langsets 26372c393a42Smrg 26382c393a42SmrgSynopsis 26392c393a42Smrg 2640c9710b42Smrg #include <fontconfig/fontconfig.h> 26412c393a42Smrg 2642a6844aabSmrg 2643ca08ab68Smrg FcLangSet * FcLangSetSubtract(const FcLangSet *ls_a, const FcLangSet 2644ca08ab68Smrg *ls_b); 26452c393a42Smrg 26462c393a42SmrgDescription 26472c393a42Smrg 2648ca08ab68Smrg Returns a set including only those languages found in ls_a but not in 2649ca08ab68Smrg ls_b. 26502c393a42Smrg 26512c393a42SmrgVersion 26522c393a42Smrg 2653c9710b42Smrg Fontconfig version 2.10.93 26542c393a42Smrg 2655ca08ab68Smrg FcLangSetCompare 26562c393a42Smrg 26572c393a42SmrgName 26582c393a42Smrg 2659ca08ab68Smrg FcLangSetCompare -- compare language sets 26602c393a42Smrg 26612c393a42SmrgSynopsis 26622c393a42Smrg 2663c9710b42Smrg #include <fontconfig/fontconfig.h> 26642c393a42Smrg 2665a6844aabSmrg 2666ca08ab68Smrg FcLangResult FcLangSetCompare(const FcLangSet *ls_a, const FcLangSet 2667ca08ab68Smrg *ls_b); 26682c393a42Smrg 26692c393a42SmrgDescription 26702c393a42Smrg 2671ca08ab68Smrg FcLangSetCompare compares language coverage for ls_a and ls_b. If they 2672ca08ab68Smrg share any language and territory pair, this function returns FcLangEqual. 2673ca08ab68Smrg If they share a language but differ in which territory that language is 2674ca08ab68Smrg for, this function returns FcLangDifferentTerritory. If they share no 2675ca08ab68Smrg languages in common, this function returns FcLangDifferentLang. 26762c393a42Smrg 26772c393a42SmrgVersion 26782c393a42Smrg 2679c9710b42Smrg Fontconfig version 2.10.93 26802c393a42Smrg 2681ca08ab68Smrg FcLangSetContains 26822c393a42Smrg 26832c393a42SmrgName 26842c393a42Smrg 2685ca08ab68Smrg FcLangSetContains -- check langset subset relation 26862c393a42Smrg 26872c393a42SmrgSynopsis 26882c393a42Smrg 2689c9710b42Smrg #include <fontconfig/fontconfig.h> 26902c393a42Smrg 2691a6844aabSmrg 2692ca08ab68Smrg FcBool FcLangSetContains(const FcLangSet *ls_a, const FcLangSet *ls_b); 26932c393a42Smrg 26942c393a42SmrgDescription 26952c393a42Smrg 2696ca08ab68Smrg FcLangSetContains returns FcTrue if ls_a contains every language in ls_b. 2697ca08ab68Smrg ls_a will 'contain' a language from ls_b if ls_a has exactly the language, 2698ca08ab68Smrg or either the language or ls_a has no territory. 26992c393a42Smrg 27002c393a42SmrgVersion 27012c393a42Smrg 2702c9710b42Smrg Fontconfig version 2.10.93 27032c393a42Smrg 2704ca08ab68Smrg FcLangSetEqual 27052c393a42Smrg 27062c393a42SmrgName 27072c393a42Smrg 2708ca08ab68Smrg FcLangSetEqual -- test for matching langsets 27092c393a42Smrg 27102c393a42SmrgSynopsis 27112c393a42Smrg 2712c9710b42Smrg #include <fontconfig/fontconfig.h> 27132c393a42Smrg 2714a6844aabSmrg 2715ca08ab68Smrg FcBool FcLangSetEqual(const FcLangSet *ls_a, const FcLangSet *ls_b); 27162c393a42Smrg 27172c393a42SmrgDescription 27182c393a42Smrg 2719ca08ab68Smrg Returns FcTrue if and only if ls_a supports precisely the same language 2720ca08ab68Smrg and territory combinations as ls_b. 27212c393a42Smrg 27222c393a42SmrgVersion 27232c393a42Smrg 2724c9710b42Smrg Fontconfig version 2.10.93 27252c393a42Smrg 2726ca08ab68Smrg FcLangSetHash 27272c393a42Smrg 27282c393a42SmrgName 27292c393a42Smrg 2730ca08ab68Smrg FcLangSetHash -- return a hash value for a langset 27312c393a42Smrg 27322c393a42SmrgSynopsis 27332c393a42Smrg 2734c9710b42Smrg #include <fontconfig/fontconfig.h> 27352c393a42Smrg 2736a6844aabSmrg 2737ca08ab68Smrg FcChar32 FcLangSetHash(const FcLangSet *ls); 27382c393a42Smrg 27392c393a42SmrgDescription 27402c393a42Smrg 2741ca08ab68Smrg This function returns a value which depends solely on the languages 2742ca08ab68Smrg supported by ls. Any language which equals ls will have the same result 2743ca08ab68Smrg from FcLangSetHash. However, two langsets with the same hash value may not 2744ca08ab68Smrg be equal. 27452c393a42Smrg 27462c393a42SmrgVersion 27472c393a42Smrg 2748c9710b42Smrg Fontconfig version 2.10.93 27492c393a42Smrg 2750ca08ab68Smrg FcLangSetHasLang 27512c393a42Smrg 27522c393a42SmrgName 27532c393a42Smrg 2754ca08ab68Smrg FcLangSetHasLang -- test langset for language support 2755a6844aabSmrg 2756a6844aabSmrgSynopsis 2757a6844aabSmrg 2758c9710b42Smrg #include <fontconfig/fontconfig.h> 2759a6844aabSmrg 2760a6844aabSmrg 2761ca08ab68Smrg FcLangResult FcLangSetHasLang(const FcLangSet *ls, const FcChar8 *lang); 2762a6844aabSmrg 2763a6844aabSmrgDescription 2764a6844aabSmrg 2765ca08ab68Smrg FcLangSetHasLang checks whether ls supports lang. If ls has a matching 2766ca08ab68Smrg language and territory pair, this function returns FcLangEqual. If ls has 2767ca08ab68Smrg a matching language but differs in which territory that language is for, 2768ca08ab68Smrg this function returns FcLangDifferentTerritory. If ls has no matching 2769ca08ab68Smrg language, this function returns FcLangDifferentLang. 2770a6844aabSmrg 2771a6844aabSmrgVersion 2772a6844aabSmrg 2773c9710b42Smrg Fontconfig version 2.10.93 2774a6844aabSmrg 2775ca08ab68Smrg FcGetDefaultLangs 2776a6844aabSmrg 2777a6844aabSmrgName 2778a6844aabSmrg 2779ca08ab68Smrg FcGetDefaultLangs -- Get the default languages list 27802c393a42Smrg 27812c393a42SmrgSynopsis 27822c393a42Smrg 2783c9710b42Smrg #include <fontconfig/fontconfig.h> 27842c393a42Smrg 2785a6844aabSmrg 2786ca08ab68Smrg FcStrSet * FcGetDefaultLangs(voidls); 27872c393a42Smrg 27882c393a42SmrgDescription 27892c393a42Smrg 2790ca08ab68Smrg Returns a string set of the default languages according to the environment 2791ca08ab68Smrg variables on the system. This function looks for them in order of FC_LANG, 2792ca08ab68Smrg LC_ALL, LC_CTYPE and LANG then. If there are no valid values in those 2793ca08ab68Smrg environment variables, "en" will be set as fallback. 27942c393a42Smrg 27952c393a42SmrgVersion 27962c393a42Smrg 2797c9710b42Smrg Fontconfig version 2.10.93 27982c393a42Smrg 2799ca08ab68Smrg FcGetLangs 28002c393a42Smrg 28012c393a42SmrgName 28022c393a42Smrg 2803ca08ab68Smrg FcGetLangs -- Get list of languages 28042c393a42Smrg 28052c393a42SmrgSynopsis 28062c393a42Smrg 2807c9710b42Smrg #include <fontconfig/fontconfig.h> 28082c393a42Smrg 2809a6844aabSmrg 2810ca08ab68Smrg FcStrSet * FcGetLangs(void); 28112c393a42Smrg 28122c393a42SmrgDescription 28132c393a42Smrg 2814ca08ab68Smrg Returns a string set of all known languages. 28152c393a42Smrg 28162c393a42SmrgVersion 28172c393a42Smrg 2818c9710b42Smrg Fontconfig version 2.10.93 2819c9710b42Smrg 2820c9710b42Smrg FcLangNormalize 2821c9710b42Smrg 2822c9710b42SmrgName 2823c9710b42Smrg 2824c9710b42Smrg FcLangNormalize -- Normalize the language string 2825c9710b42Smrg 2826c9710b42SmrgSynopsis 2827c9710b42Smrg 2828c9710b42Smrg #include <fontconfig/fontconfig.h> 2829c9710b42Smrg 2830c9710b42Smrg 2831c9710b42Smrg FcChar8 * FcLangNormalize(const FcChar8 *lang); 2832c9710b42Smrg 2833c9710b42SmrgDescription 2834c9710b42Smrg 2835c9710b42Smrg Returns a string to make lang suitable on fontconfig. 2836c9710b42Smrg 2837c9710b42SmrgVersion 2838c9710b42Smrg 2839c9710b42Smrg Fontconfig version 2.10.93 28402c393a42Smrg 2841ca08ab68Smrg FcLangGetCharSet 28422c393a42Smrg 28432c393a42SmrgName 28442c393a42Smrg 2845ca08ab68Smrg FcLangGetCharSet -- Get character map for a language 28462c393a42Smrg 28472c393a42SmrgSynopsis 28482c393a42Smrg 2849c9710b42Smrg #include <fontconfig/fontconfig.h> 28502c393a42Smrg 2851a6844aabSmrg 2852ca08ab68Smrg const FcCharSet * FcLangGetCharSet(const FcChar8 *lang); 28532c393a42Smrg 28542c393a42SmrgDescription 28552c393a42Smrg 2856ca08ab68Smrg Returns the FcCharMap for a language. 28572c393a42Smrg 28582c393a42SmrgVersion 28592c393a42Smrg 2860c9710b42Smrg Fontconfig version 2.10.93 2861ca08ab68Smrg 2862ca08ab68Smrg -------------------------------------------------------------------------- 2863ca08ab68Smrg 2864ca08ab68Smrg FcMatrix 2865ca08ab68Smrg 2866ca08ab68Smrg Table of Contents 2867ca08ab68Smrg 2868c9710b42Smrg [89]FcMatrixInit -- initialize an FcMatrix structure 2869a6844aabSmrg 2870c9710b42Smrg [90]FcMatrixCopy -- Copy a matrix 28712c393a42Smrg 2872c9710b42Smrg [91]FcMatrixEqual -- Compare two matrices 28732c393a42Smrg 2874c9710b42Smrg [92]FcMatrixMultiply -- Multiply matrices 28752c393a42Smrg 2876c9710b42Smrg [93]FcMatrixRotate -- Rotate a matrix 28772c393a42Smrg 2878c9710b42Smrg [94]FcMatrixScale -- Scale a matrix 2879ca08ab68Smrg 2880c9710b42Smrg [95]FcMatrixShear -- Shear a matrix 2881ca08ab68Smrg 2882ca08ab68Smrg FcMatrix structures hold an affine transformation in matrix form. 2883ca08ab68Smrg 2884ca08ab68Smrg FcMatrixInit 28852c393a42Smrg 28862c393a42SmrgName 28872c393a42Smrg 2888ca08ab68Smrg FcMatrixInit -- initialize an FcMatrix structure 28892c393a42Smrg 28902c393a42SmrgSynopsis 28912c393a42Smrg 2892c9710b42Smrg #include <fontconfig/fontconfig.h> 28932c393a42Smrg 2894a6844aabSmrg 2895ca08ab68Smrg void FcMatrixInit(FcMatrix *matrix); 28962c393a42Smrg 28972c393a42SmrgDescription 28982c393a42Smrg 2899ca08ab68Smrg FcMatrixInit initializes matrix to the identity matrix. 29002c393a42Smrg 29012c393a42SmrgVersion 29022c393a42Smrg 2903c9710b42Smrg Fontconfig version 2.10.93 29042c393a42Smrg 2905ca08ab68Smrg FcMatrixCopy 29062c393a42Smrg 29072c393a42SmrgName 29082c393a42Smrg 2909ca08ab68Smrg FcMatrixCopy -- Copy a matrix 29102c393a42Smrg 29112c393a42SmrgSynopsis 29122c393a42Smrg 2913c9710b42Smrg #include <fontconfig/fontconfig.h> 29142c393a42Smrg 2915a6844aabSmrg 2916ca08ab68Smrg void FcMatrixCopy(const FcMatrix *matrix); 29172c393a42Smrg 29182c393a42SmrgDescription 29192c393a42Smrg 2920ca08ab68Smrg FcMatrixCopy allocates a new FcMatrix and copies mat into it. 29212c393a42Smrg 29222c393a42SmrgVersion 29232c393a42Smrg 2924c9710b42Smrg Fontconfig version 2.10.93 29252c393a42Smrg 2926ca08ab68Smrg FcMatrixEqual 29272c393a42Smrg 29282c393a42SmrgName 29292c393a42Smrg 2930ca08ab68Smrg FcMatrixEqual -- Compare two matrices 29312c393a42Smrg 29322c393a42SmrgSynopsis 29332c393a42Smrg 2934c9710b42Smrg #include <fontconfig/fontconfig.h> 29352c393a42Smrg 2936a6844aabSmrg 2937ca08ab68Smrg void FcMatrixEqual(const FcMatrix *matrix1, const FcMatrix *matrix2); 29382c393a42Smrg 29392c393a42SmrgDescription 29402c393a42Smrg 2941ca08ab68Smrg FcMatrixEqual compares matrix1 and matrix2 returning FcTrue when they are 2942ca08ab68Smrg equal and FcFalse when they are not. 29432c393a42Smrg 29442c393a42SmrgVersion 29452c393a42Smrg 2946c9710b42Smrg Fontconfig version 2.10.93 29472c393a42Smrg 2948ca08ab68Smrg FcMatrixMultiply 29492c393a42Smrg 29502c393a42SmrgName 29512c393a42Smrg 2952ca08ab68Smrg FcMatrixMultiply -- Multiply matrices 29532c393a42Smrg 29542c393a42SmrgSynopsis 29552c393a42Smrg 2956c9710b42Smrg #include <fontconfig/fontconfig.h> 29572c393a42Smrg 2958a6844aabSmrg 2959ca08ab68Smrg void FcMatrixMultiply(FcMatrix *result, const FcMatrix *matrix1, const 2960ca08ab68Smrg FcMatrix *matrix2); 29612c393a42Smrg 29622c393a42SmrgDescription 29632c393a42Smrg 2964ca08ab68Smrg FcMatrixMultiply multiplies matrix1 and matrix2 storing the result in 2965ca08ab68Smrg result. 29662c393a42Smrg 29672c393a42SmrgVersion 29682c393a42Smrg 2969c9710b42Smrg Fontconfig version 2.10.93 29702c393a42Smrg 2971ca08ab68Smrg FcMatrixRotate 29722c393a42Smrg 29732c393a42SmrgName 29742c393a42Smrg 2975ca08ab68Smrg FcMatrixRotate -- Rotate a matrix 29762c393a42Smrg 29772c393a42SmrgSynopsis 29782c393a42Smrg 2979c9710b42Smrg #include <fontconfig/fontconfig.h> 29802c393a42Smrg 2981a6844aabSmrg 2982ca08ab68Smrg void FcMatrixRotate(FcMatrix *matrix, double cos, double sin); 29832c393a42Smrg 29842c393a42SmrgDescription 29852c393a42Smrg 2986ca08ab68Smrg FcMatrixRotate rotates matrix by the angle who's sine is sin and cosine is 2987ca08ab68Smrg cos. This is done by multiplying by the matrix: 2988a6844aabSmrg 2989ca08ab68Smrg cos -sin 2990ca08ab68Smrg sin cos 29912c393a42Smrg 29922c393a42SmrgVersion 29932c393a42Smrg 2994c9710b42Smrg Fontconfig version 2.10.93 29952c393a42Smrg 2996ca08ab68Smrg FcMatrixScale 29972c393a42Smrg 29982c393a42SmrgName 29992c393a42Smrg 3000ca08ab68Smrg FcMatrixScale -- Scale a matrix 30012c393a42Smrg 30022c393a42SmrgSynopsis 30032c393a42Smrg 3004c9710b42Smrg #include <fontconfig/fontconfig.h> 30052c393a42Smrg 3006a6844aabSmrg 3007ca08ab68Smrg void FcMatrixScale(FcMatrix *matrix, double sx, double dy); 30082c393a42Smrg 30092c393a42SmrgDescription 30102c393a42Smrg 3011ca08ab68Smrg FcMatrixScale multiplies matrix x values by sx and y values by dy. This is 3012ca08ab68Smrg done by multiplying by the matrix: 3013a6844aabSmrg 3014ca08ab68Smrg sx 0 3015ca08ab68Smrg 0 dy 30162c393a42Smrg 30172c393a42SmrgVersion 30182c393a42Smrg 3019c9710b42Smrg Fontconfig version 2.10.93 30202c393a42Smrg 3021ca08ab68Smrg FcMatrixShear 30222c393a42Smrg 30232c393a42SmrgName 30242c393a42Smrg 3025ca08ab68Smrg FcMatrixShear -- Shear a matrix 30262c393a42Smrg 30272c393a42SmrgSynopsis 30282c393a42Smrg 3029c9710b42Smrg #include <fontconfig/fontconfig.h> 30302c393a42Smrg 3031a6844aabSmrg 3032ca08ab68Smrg void FcMatrixShear(FcMatrix *matrix, double sh, double sv); 30332c393a42Smrg 30342c393a42SmrgDescription 30352c393a42Smrg 3036ca08ab68Smrg FcMatrixShare shears matrix horizontally by sh and vertically by sv. This 3037ca08ab68Smrg is done by multiplying by the matrix: 3038a6844aabSmrg 3039ca08ab68Smrg 1 sh 3040ca08ab68Smrg sv 1 30412c393a42Smrg 30422c393a42SmrgVersion 30432c393a42Smrg 3044c9710b42Smrg Fontconfig version 2.10.93 3045ca08ab68Smrg 3046ca08ab68Smrg -------------------------------------------------------------------------- 3047ca08ab68Smrg 3048ca08ab68Smrg FcConfig 3049ca08ab68Smrg 3050ca08ab68Smrg Table of Contents 3051ca08ab68Smrg 3052c9710b42Smrg [96]FcConfigCreate -- Create a configuration 3053ca08ab68Smrg 3054c9710b42Smrg [97]FcConfigReference -- Increment config reference count 3055ca08ab68Smrg 3056c9710b42Smrg [98]FcConfigDestroy -- Destroy a configuration 3057ca08ab68Smrg 3058c9710b42Smrg [99]FcConfigSetCurrent -- Set configuration as default 3059ca08ab68Smrg 3060c9710b42Smrg [100]FcConfigGetCurrent -- Return current configuration 3061ca08ab68Smrg 3062c9710b42Smrg [101]FcConfigUptoDate -- Check timestamps on config files 3063ca08ab68Smrg 3064c9710b42Smrg [102]FcConfigHome -- return the current home directory. 3065ca08ab68Smrg 3066c9710b42Smrg [103]FcConfigEnableHome -- controls use of the home directory. 3067ca08ab68Smrg 3068c9710b42Smrg [104]FcConfigBuildFonts -- Build font database 3069ca08ab68Smrg 3070c9710b42Smrg [105]FcConfigGetConfigDirs -- Get config directories 3071ca08ab68Smrg 3072c9710b42Smrg [106]FcConfigGetFontDirs -- Get font directories 3073ca08ab68Smrg 3074c9710b42Smrg [107]FcConfigGetConfigFiles -- Get config files 3075ca08ab68Smrg 3076c9710b42Smrg [108]FcConfigGetCache -- DEPRECATED used to return per-user cache filename 3077ca08ab68Smrg 3078c9710b42Smrg [109]FcConfigGetCacheDirs -- return the list of directories searched for 3079ca08ab68Smrg cache files 3080ca08ab68Smrg 3081c9710b42Smrg [110]FcConfigGetFonts -- Get config font set 3082ca08ab68Smrg 3083c9710b42Smrg [111]FcConfigGetBlanks -- Get config blanks 3084a6844aabSmrg 3085c9710b42Smrg [112]FcConfigGetRescanInterval -- Get config rescan interval 3086a6844aabSmrg 3087c9710b42Smrg [113]FcConfigSetRescanInterval -- Set config rescan interval 3088a6844aabSmrg 3089c9710b42Smrg [114]FcConfigAppFontAddFile -- Add font file to font database 3090a6844aabSmrg 3091c9710b42Smrg [115]FcConfigAppFontAddDir -- Add fonts from directory to font database 30922c393a42Smrg 3093c9710b42Smrg [116]FcConfigAppFontClear -- Remove all app fonts from font database 3094ca08ab68Smrg 3095c9710b42Smrg [117]FcConfigSubstituteWithPat -- Execute substitutions 3096ca08ab68Smrg 3097c9710b42Smrg [118]FcConfigSubstitute -- Execute substitutions 3098ca08ab68Smrg 3099c9710b42Smrg [119]FcFontMatch -- Return best font 3100ca08ab68Smrg 3101c9710b42Smrg [120]FcFontSort -- Return list of matching fonts 3102ca08ab68Smrg 3103c9710b42Smrg [121]FcFontRenderPrepare -- Prepare pattern for loading font file 3104ca08ab68Smrg 3105c9710b42Smrg [122]FcFontList -- List fonts 3106ca08ab68Smrg 3107c9710b42Smrg [123]FcConfigFilename -- Find a config file 3108ca08ab68Smrg 3109c9710b42Smrg [124]FcConfigParseAndLoad -- load a configuration file 3110c9710b42Smrg 3111c9710b42Smrg [125]FcConfigGetSysRoot -- Obtain the system root directory 3112c9710b42Smrg 3113c9710b42Smrg [126]FcConfigSetSysRoot -- Set the system root directory 3114ca08ab68Smrg 3115ca08ab68Smrg An FcConfig object holds the internal representation of a configuration. 3116ca08ab68Smrg There is a default configuration which applications may use by passing 0 3117ca08ab68Smrg to any function using the data within an FcConfig. 3118ca08ab68Smrg 3119ca08ab68Smrg FcConfigCreate 31202c393a42Smrg 31212c393a42SmrgName 31222c393a42Smrg 3123ca08ab68Smrg FcConfigCreate -- Create a configuration 31242c393a42Smrg 31252c393a42SmrgSynopsis 31262c393a42Smrg 3127c9710b42Smrg #include <fontconfig/fontconfig.h> 31282c393a42Smrg 3129a6844aabSmrg 3130ca08ab68Smrg FcConfig * FcConfigCreate(void); 31312c393a42Smrg 31322c393a42SmrgDescription 31332c393a42Smrg 3134ca08ab68Smrg Creates an empty configuration. 31352c393a42Smrg 31362c393a42SmrgVersion 31372c393a42Smrg 3138c9710b42Smrg Fontconfig version 2.10.93 3139a6844aabSmrg 3140ca08ab68Smrg FcConfigReference 3141a6844aabSmrg 3142a6844aabSmrgName 3143a6844aabSmrg 3144ca08ab68Smrg FcConfigReference -- Increment config reference count 3145a6844aabSmrg 3146a6844aabSmrgSynopsis 3147a6844aabSmrg 3148c9710b42Smrg #include <fontconfig/fontconfig.h> 3149a6844aabSmrg 3150a6844aabSmrg 3151ca08ab68Smrg FcConfig * FcConfigReference(FcConfig *config); 3152a6844aabSmrg 3153a6844aabSmrgDescription 3154a6844aabSmrg 3155ca08ab68Smrg Add another reference to config. Configs are freed only when the reference 3156ca08ab68Smrg count reaches zero. If config is NULL, the current configuration is used. 3157ca08ab68Smrg In that case this function will be similar to FcConfigGetCurrent() except 3158ca08ab68Smrg that it increments the reference count before returning and the user is 3159ca08ab68Smrg responsible for destroying the configuration when not needed anymore. 3160a6844aabSmrg 3161a6844aabSmrgVersion 3162a6844aabSmrg 3163c9710b42Smrg Fontconfig version 2.10.93 31642c393a42Smrg 3165ca08ab68Smrg FcConfigDestroy 31662c393a42Smrg 31672c393a42SmrgName 31682c393a42Smrg 3169ca08ab68Smrg FcConfigDestroy -- Destroy a configuration 31702c393a42Smrg 31712c393a42SmrgSynopsis 31722c393a42Smrg 3173c9710b42Smrg #include <fontconfig/fontconfig.h> 31742c393a42Smrg 3175a6844aabSmrg 3176ca08ab68Smrg void FcConfigDestroy(FcConfig *config); 31772c393a42Smrg 31782c393a42SmrgDescription 31792c393a42Smrg 3180ca08ab68Smrg Decrements the config reference count. If all references are gone, 3181ca08ab68Smrg destroys the configuration and any data associated with it. Note that 3182ca08ab68Smrg calling this function with the return from FcConfigGetCurrent will cause a 3183ca08ab68Smrg new configuration to be created for use as current configuration. 31842c393a42Smrg 31852c393a42SmrgVersion 31862c393a42Smrg 3187c9710b42Smrg Fontconfig version 2.10.93 31882c393a42Smrg 3189ca08ab68Smrg FcConfigSetCurrent 31902c393a42Smrg 31912c393a42SmrgName 31922c393a42Smrg 3193ca08ab68Smrg FcConfigSetCurrent -- Set configuration as default 31942c393a42Smrg 31952c393a42SmrgSynopsis 31962c393a42Smrg 3197c9710b42Smrg #include <fontconfig/fontconfig.h> 31982c393a42Smrg 3199a6844aabSmrg 3200ca08ab68Smrg FcBool FcConfigSetCurrent(FcConfig *config); 32012c393a42Smrg 32022c393a42SmrgDescription 32032c393a42Smrg 3204ca08ab68Smrg Sets the current default configuration to config. Implicitly calls 3205ca08ab68Smrg FcConfigBuildFonts if necessary, returning FcFalse if that call fails. 32062c393a42Smrg 32072c393a42SmrgVersion 32082c393a42Smrg 3209c9710b42Smrg Fontconfig version 2.10.93 32102c393a42Smrg 3211ca08ab68Smrg FcConfigGetCurrent 32122c393a42Smrg 32132c393a42SmrgName 32142c393a42Smrg 3215ca08ab68Smrg FcConfigGetCurrent -- Return current configuration 32162c393a42Smrg 32172c393a42SmrgSynopsis 32182c393a42Smrg 3219c9710b42Smrg #include <fontconfig/fontconfig.h> 32202c393a42Smrg 3221a6844aabSmrg 3222ca08ab68Smrg FcConfig * FcConfigGetCurrent(void); 32232c393a42Smrg 32242c393a42SmrgDescription 32252c393a42Smrg 3226ca08ab68Smrg Returns the current default configuration. 32272c393a42Smrg 32282c393a42SmrgVersion 32292c393a42Smrg 3230c9710b42Smrg Fontconfig version 2.10.93 32312c393a42Smrg 3232ca08ab68Smrg FcConfigUptoDate 32332c393a42Smrg 32342c393a42SmrgName 32352c393a42Smrg 3236ca08ab68Smrg FcConfigUptoDate -- Check timestamps on config files 32372c393a42Smrg 32382c393a42SmrgSynopsis 32392c393a42Smrg 3240c9710b42Smrg #include <fontconfig/fontconfig.h> 32412c393a42Smrg 3242a6844aabSmrg 3243ca08ab68Smrg FcBool FcConfigUptoDate(FcConfig *config); 32442c393a42Smrg 32452c393a42SmrgDescription 32462c393a42Smrg 3247ca08ab68Smrg Checks all of the files related to config and returns whether any of them 3248ca08ab68Smrg has been modified since the configuration was created. If config is NULL, 3249ca08ab68Smrg the current configuration is used. 32502c393a42Smrg 32512c393a42SmrgVersion 32522c393a42Smrg 3253c9710b42Smrg Fontconfig version 2.10.93 32542c393a42Smrg 3255ca08ab68Smrg FcConfigHome 32562c393a42Smrg 32572c393a42SmrgName 32582c393a42Smrg 3259ca08ab68Smrg FcConfigHome -- return the current home directory. 32602c393a42Smrg 32612c393a42SmrgSynopsis 32622c393a42Smrg 3263c9710b42Smrg #include <fontconfig/fontconfig.h> 32642c393a42Smrg 3265a6844aabSmrg 3266ca08ab68Smrg FcChar8 * FcConfigHome(void); 32672c393a42Smrg 32682c393a42SmrgDescription 32692c393a42Smrg 3270ca08ab68Smrg Return the current user's home directory, if it is available, and if using 3271ca08ab68Smrg it is enabled, and NULL otherwise. See also FcConfigEnableHome). 32722c393a42Smrg 32732c393a42SmrgVersion 32742c393a42Smrg 3275c9710b42Smrg Fontconfig version 2.10.93 32762c393a42Smrg 3277ca08ab68Smrg FcConfigEnableHome 32782c393a42Smrg 32792c393a42SmrgName 32802c393a42Smrg 3281ca08ab68Smrg FcConfigEnableHome -- controls use of the home directory. 32822c393a42Smrg 32832c393a42SmrgSynopsis 32842c393a42Smrg 3285c9710b42Smrg #include <fontconfig/fontconfig.h> 32862c393a42Smrg 3287a6844aabSmrg 3288ca08ab68Smrg FcBool FcConfigEnableHome(FcBool enable); 32892c393a42Smrg 32902c393a42SmrgDescription 32912c393a42Smrg 3292ca08ab68Smrg If enable is FcTrue, then Fontconfig will use various files which are 3293ca08ab68Smrg specified relative to the user's home directory (using the ~ notation in 3294ca08ab68Smrg the configuration). When enable is FcFalse, then all use of the home 3295ca08ab68Smrg directory in these contexts will be disabled. The previous setting of the 3296ca08ab68Smrg value is returned. 32972c393a42Smrg 32982c393a42SmrgVersion 32992c393a42Smrg 3300c9710b42Smrg Fontconfig version 2.10.93 33012c393a42Smrg 3302ca08ab68Smrg FcConfigBuildFonts 33032c393a42Smrg 33042c393a42SmrgName 33052c393a42Smrg 3306ca08ab68Smrg FcConfigBuildFonts -- Build font database 33072c393a42Smrg 33082c393a42SmrgSynopsis 33092c393a42Smrg 3310c9710b42Smrg #include <fontconfig/fontconfig.h> 33112c393a42Smrg 3312a6844aabSmrg 3313ca08ab68Smrg FcBool FcConfigBuildFonts(FcConfig *config); 33142c393a42Smrg 33152c393a42SmrgDescription 33162c393a42Smrg 3317ca08ab68Smrg Builds the set of available fonts for the given configuration. Note that 3318ca08ab68Smrg any changes to the configuration after this call have indeterminate 3319ca08ab68Smrg effects. Returns FcFalse if this operation runs out of memory. If config 3320ca08ab68Smrg is NULL, the current configuration is used. 33212c393a42Smrg 33222c393a42SmrgVersion 33232c393a42Smrg 3324c9710b42Smrg Fontconfig version 2.10.93 33252c393a42Smrg 3326ca08ab68Smrg FcConfigGetConfigDirs 33272c393a42Smrg 33282c393a42SmrgName 33292c393a42Smrg 3330ca08ab68Smrg FcConfigGetConfigDirs -- Get config directories 33312c393a42Smrg 33322c393a42SmrgSynopsis 33332c393a42Smrg 3334c9710b42Smrg #include <fontconfig/fontconfig.h> 33352c393a42Smrg 3336a6844aabSmrg 3337ca08ab68Smrg FcStrList * FcConfigGetConfigDirs(FcConfig *config); 33382c393a42Smrg 33392c393a42SmrgDescription 33402c393a42Smrg 3341ca08ab68Smrg Returns the list of font directories specified in the configuration files 3342ca08ab68Smrg for config. Does not include any subdirectories. If config is NULL, the 3343ca08ab68Smrg current configuration is used. 33442c393a42Smrg 33452c393a42SmrgVersion 33462c393a42Smrg 3347c9710b42Smrg Fontconfig version 2.10.93 33482c393a42Smrg 3349ca08ab68Smrg FcConfigGetFontDirs 33502c393a42Smrg 33512c393a42SmrgName 33522c393a42Smrg 3353ca08ab68Smrg FcConfigGetFontDirs -- Get font directories 33542c393a42Smrg 33552c393a42SmrgSynopsis 33562c393a42Smrg 3357c9710b42Smrg #include <fontconfig/fontconfig.h> 33582c393a42Smrg 3359a6844aabSmrg 3360ca08ab68Smrg FcStrList * FcConfigGetFontDirs(FcConfig *config); 33612c393a42Smrg 33622c393a42SmrgDescription 33632c393a42Smrg 3364ca08ab68Smrg Returns the list of font directories in config. This includes the 3365ca08ab68Smrg configured font directories along with any directories below those in the 3366ca08ab68Smrg filesystem. If config is NULL, the current configuration is used. 33672c393a42Smrg 33682c393a42SmrgVersion 33692c393a42Smrg 3370c9710b42Smrg Fontconfig version 2.10.93 33712c393a42Smrg 3372ca08ab68Smrg FcConfigGetConfigFiles 33732c393a42Smrg 33742c393a42SmrgName 33752c393a42Smrg 3376ca08ab68Smrg FcConfigGetConfigFiles -- Get config files 33772c393a42Smrg 33782c393a42SmrgSynopsis 33792c393a42Smrg 3380c9710b42Smrg #include <fontconfig/fontconfig.h> 33812c393a42Smrg 3382a6844aabSmrg 3383ca08ab68Smrg FcStrList * FcConfigGetConfigFiles(FcConfig *config); 33842c393a42Smrg 33852c393a42SmrgDescription 33862c393a42Smrg 3387ca08ab68Smrg Returns the list of known configuration files used to generate config. If 3388ca08ab68Smrg config is NULL, the current configuration is used. 33892c393a42Smrg 33902c393a42SmrgVersion 33912c393a42Smrg 3392c9710b42Smrg Fontconfig version 2.10.93 33932c393a42Smrg 3394ca08ab68Smrg FcConfigGetCache 33952c393a42Smrg 33962c393a42SmrgName 33972c393a42Smrg 3398ca08ab68Smrg FcConfigGetCache -- DEPRECATED used to return per-user cache filename 33992c393a42Smrg 34002c393a42SmrgSynopsis 34012c393a42Smrg 3402c9710b42Smrg #include <fontconfig/fontconfig.h> 34032c393a42Smrg 3404a6844aabSmrg 3405ca08ab68Smrg FcChar8 * FcConfigGetCache(FcConfig *config); 34062c393a42Smrg 34072c393a42SmrgDescription 34082c393a42Smrg 3409ca08ab68Smrg With fontconfig no longer using per-user cache files, this function now 3410ca08ab68Smrg simply returns NULL to indicate that no per-user file exists. 34112c393a42Smrg 34122c393a42SmrgVersion 34132c393a42Smrg 3414c9710b42Smrg Fontconfig version 2.10.93 34152c393a42Smrg 3416ca08ab68Smrg FcConfigGetCacheDirs 34172c393a42Smrg 34182c393a42SmrgName 34192c393a42Smrg 3420ca08ab68Smrg FcConfigGetCacheDirs -- return the list of directories searched for cache 3421ca08ab68Smrg files 34222c393a42Smrg 34232c393a42SmrgSynopsis 34242c393a42Smrg 3425c9710b42Smrg #include <fontconfig/fontconfig.h> 34262c393a42Smrg 3427a6844aabSmrg 3428ca08ab68Smrg FcStrList * FcConfigGetCacheDirs(const FcConfig *config); 34292c393a42Smrg 34302c393a42SmrgDescription 34312c393a42Smrg 3432ca08ab68Smrg FcConfigGetCacheDirs returns a string list containing all of the 3433ca08ab68Smrg directories that fontconfig will search when attempting to load a cache 3434ca08ab68Smrg file for a font directory. If config is NULL, the current configuration is 3435ca08ab68Smrg used. 34362c393a42Smrg 34372c393a42SmrgVersion 34382c393a42Smrg 3439c9710b42Smrg Fontconfig version 2.10.93 34402c393a42Smrg 3441ca08ab68Smrg FcConfigGetFonts 34422c393a42Smrg 34432c393a42SmrgName 34442c393a42Smrg 3445ca08ab68Smrg FcConfigGetFonts -- Get config font set 34462c393a42Smrg 34472c393a42SmrgSynopsis 34482c393a42Smrg 3449c9710b42Smrg #include <fontconfig/fontconfig.h> 34502c393a42Smrg 3451a6844aabSmrg 3452ca08ab68Smrg FcFontSet * FcConfigGetFonts(FcConfig *config, FcSetName set); 34532c393a42Smrg 34542c393a42SmrgDescription 34552c393a42Smrg 3456ca08ab68Smrg Returns one of the two sets of fonts from the configuration as specified 3457ca08ab68Smrg by set. This font set is owned by the library and must not be modified or 3458ca08ab68Smrg freed. If config is NULL, the current configuration is used. 34592c393a42Smrg 34602c393a42SmrgVersion 34612c393a42Smrg 3462c9710b42Smrg Fontconfig version 2.10.93 34632c393a42Smrg 3464ca08ab68Smrg FcConfigGetBlanks 34652c393a42Smrg 34662c393a42SmrgName 34672c393a42Smrg 3468ca08ab68Smrg FcConfigGetBlanks -- Get config blanks 34692c393a42Smrg 34702c393a42SmrgSynopsis 34712c393a42Smrg 3472c9710b42Smrg #include <fontconfig/fontconfig.h> 34732c393a42Smrg 3474a6844aabSmrg 3475ca08ab68Smrg FcBlanks * FcConfigGetBlanks(FcConfig *config); 34762c393a42Smrg 34772c393a42SmrgDescription 34782c393a42Smrg 3479ca08ab68Smrg Returns the FcBlanks object associated with the given configuration, if no 3480ca08ab68Smrg blanks were present in the configuration, this function will return 0. The 3481ca08ab68Smrg returned FcBlanks object if not NULL, is valid as long as the owning 3482ca08ab68Smrg FcConfig is alive. If config is NULL, the current configuration is used. 34832c393a42Smrg 34842c393a42SmrgVersion 34852c393a42Smrg 3486c9710b42Smrg Fontconfig version 2.10.93 34872c393a42Smrg 3488ca08ab68Smrg FcConfigGetRescanInterval 34892c393a42Smrg 34902c393a42SmrgName 34912c393a42Smrg 3492ca08ab68Smrg FcConfigGetRescanInterval -- Get config rescan interval 34932c393a42Smrg 34942c393a42SmrgSynopsis 34952c393a42Smrg 3496c9710b42Smrg #include <fontconfig/fontconfig.h> 34972c393a42Smrg 3498a6844aabSmrg 3499ca08ab68Smrg int FcConfigGetRescanInterval(FcConfig *config); 35002c393a42Smrg 35012c393a42SmrgDescription 35022c393a42Smrg 3503ca08ab68Smrg Returns the interval between automatic checks of the configuration (in 3504ca08ab68Smrg seconds) specified in config. The configuration is checked during a call 3505ca08ab68Smrg to FcFontList when this interval has passed since the last check. An 3506ca08ab68Smrg interval setting of zero disables automatic checks. If config is NULL, the 3507ca08ab68Smrg current configuration is used. 35082c393a42Smrg 35092c393a42SmrgVersion 35102c393a42Smrg 3511c9710b42Smrg Fontconfig version 2.10.93 35122c393a42Smrg 3513ca08ab68Smrg FcConfigSetRescanInterval 35142c393a42Smrg 35152c393a42SmrgName 35162c393a42Smrg 3517ca08ab68Smrg FcConfigSetRescanInterval -- Set config rescan interval 35182c393a42Smrg 35192c393a42SmrgSynopsis 35202c393a42Smrg 3521c9710b42Smrg #include <fontconfig/fontconfig.h> 35222c393a42Smrg 3523a6844aabSmrg 3524ca08ab68Smrg FcBool FcConfigSetRescanInterval(FcConfig *config, int rescanInterval); 35252c393a42Smrg 35262c393a42SmrgDescription 35272c393a42Smrg 3528ca08ab68Smrg Sets the rescan interval. Returns FcFalse if the interval cannot be set 3529ca08ab68Smrg (due to allocation failure). Otherwise returns FcTrue. An interval setting 3530ca08ab68Smrg of zero disables automatic checks. If config is NULL, the current 3531ca08ab68Smrg configuration is used. 35322c393a42Smrg 35332c393a42SmrgVersion 35342c393a42Smrg 3535c9710b42Smrg Fontconfig version 2.10.93 35362c393a42Smrg 3537ca08ab68Smrg FcConfigAppFontAddFile 35382c393a42Smrg 35392c393a42SmrgName 35402c393a42Smrg 3541ca08ab68Smrg FcConfigAppFontAddFile -- Add font file to font database 35422c393a42Smrg 35432c393a42SmrgSynopsis 35442c393a42Smrg 3545c9710b42Smrg #include <fontconfig/fontconfig.h> 35462c393a42Smrg 3547a6844aabSmrg 3548ca08ab68Smrg FcBool FcConfigAppFontAddFile(FcConfig *config, const FcChar8 *file); 35492c393a42Smrg 35502c393a42SmrgDescription 35512c393a42Smrg 3552ca08ab68Smrg Adds an application-specific font to the configuration. Returns FcFalse if 3553ca08ab68Smrg the fonts cannot be added (due to allocation failure). Otherwise returns 3554ca08ab68Smrg FcTrue. If config is NULL, the current configuration is used. 35552c393a42Smrg 35562c393a42SmrgVersion 35572c393a42Smrg 3558c9710b42Smrg Fontconfig version 2.10.93 35592c393a42Smrg 3560ca08ab68Smrg FcConfigAppFontAddDir 35612c393a42Smrg 35622c393a42SmrgName 35632c393a42Smrg 3564ca08ab68Smrg FcConfigAppFontAddDir -- Add fonts from directory to font database 35652c393a42Smrg 35662c393a42SmrgSynopsis 35672c393a42Smrg 3568c9710b42Smrg #include <fontconfig/fontconfig.h> 35692c393a42Smrg 3570a6844aabSmrg 3571ca08ab68Smrg FcBool FcConfigAppFontAddDir(FcConfig *config, const FcChar8 *dir); 35722c393a42Smrg 35732c393a42SmrgDescription 35742c393a42Smrg 3575ca08ab68Smrg Scans the specified directory for fonts, adding each one found to the 3576ca08ab68Smrg application-specific set of fonts. Returns FcFalse if the fonts cannot be 3577ca08ab68Smrg added (due to allocation failure). Otherwise returns FcTrue. If config is 3578ca08ab68Smrg NULL, the current configuration is used. 35792c393a42Smrg 35802c393a42SmrgVersion 35812c393a42Smrg 3582c9710b42Smrg Fontconfig version 2.10.93 35832c393a42Smrg 3584ca08ab68Smrg FcConfigAppFontClear 35852c393a42Smrg 35862c393a42SmrgName 35872c393a42Smrg 3588ca08ab68Smrg FcConfigAppFontClear -- Remove all app fonts from font database 35892c393a42Smrg 35902c393a42SmrgSynopsis 35912c393a42Smrg 3592c9710b42Smrg #include <fontconfig/fontconfig.h> 35932c393a42Smrg 3594a6844aabSmrg 3595ca08ab68Smrg void FcConfigAppFontClear(FcConfig *config); 35962c393a42Smrg 35972c393a42SmrgDescription 35982c393a42Smrg 3599ca08ab68Smrg Clears the set of application-specific fonts. If config is NULL, the 3600ca08ab68Smrg current configuration is used. 36012c393a42Smrg 36022c393a42SmrgVersion 36032c393a42Smrg 3604c9710b42Smrg Fontconfig version 2.10.93 36052c393a42Smrg 3606ca08ab68Smrg FcConfigSubstituteWithPat 36072c393a42Smrg 36082c393a42SmrgName 36092c393a42Smrg 3610ca08ab68Smrg FcConfigSubstituteWithPat -- Execute substitutions 36112c393a42Smrg 36122c393a42SmrgSynopsis 36132c393a42Smrg 3614c9710b42Smrg #include <fontconfig/fontconfig.h> 36152c393a42Smrg 3616a6844aabSmrg 3617ca08ab68Smrg FcBool FcConfigSubstituteWithPat(FcConfig *config, FcPattern *p, FcPattern 3618ca08ab68Smrg *p_pat, FcMatchKind kind); 36192c393a42Smrg 36202c393a42SmrgDescription 36212c393a42Smrg 3622ca08ab68Smrg Performs the sequence of pattern modification operations, if kind is 3623ca08ab68Smrg FcMatchPattern, then those tagged as pattern operations are applied, else 3624ca08ab68Smrg if kind is FcMatchFont, those tagged as font operations are applied and 3625ca08ab68Smrg p_pat is used for <test> elements with target=pattern. Returns FcFalse if 3626ca08ab68Smrg the substitution cannot be performed (due to allocation failure). 3627ca08ab68Smrg Otherwise returns FcTrue. If config is NULL, the current configuration is 3628ca08ab68Smrg used. 36292c393a42Smrg 36302c393a42SmrgVersion 36312c393a42Smrg 3632c9710b42Smrg Fontconfig version 2.10.93 36332c393a42Smrg 3634ca08ab68Smrg FcConfigSubstitute 36352c393a42Smrg 36362c393a42SmrgName 36372c393a42Smrg 3638ca08ab68Smrg FcConfigSubstitute -- Execute substitutions 36392c393a42Smrg 36402c393a42SmrgSynopsis 36412c393a42Smrg 3642c9710b42Smrg #include <fontconfig/fontconfig.h> 36432c393a42Smrg 3644a6844aabSmrg 3645ca08ab68Smrg FcBool FcConfigSubstitute(FcConfig *config, FcPattern *p, FcMatchKind 3646ca08ab68Smrg kind); 36472c393a42Smrg 36482c393a42SmrgDescription 36492c393a42Smrg 3650ca08ab68Smrg Calls FcConfigSubstituteWithPat setting p_pat to NULL. Returns FcFalse if 3651ca08ab68Smrg the substitution cannot be performed (due to allocation failure). 3652ca08ab68Smrg Otherwise returns FcTrue. If config is NULL, the current configuration is 3653ca08ab68Smrg used. 36542c393a42Smrg 36552c393a42SmrgVersion 36562c393a42Smrg 3657c9710b42Smrg Fontconfig version 2.10.93 36582c393a42Smrg 3659ca08ab68Smrg FcFontMatch 36602c393a42Smrg 36612c393a42SmrgName 36622c393a42Smrg 3663ca08ab68Smrg FcFontMatch -- Return best font 36642c393a42Smrg 36652c393a42SmrgSynopsis 36662c393a42Smrg 3667c9710b42Smrg #include <fontconfig/fontconfig.h> 36682c393a42Smrg 3669a6844aabSmrg 3670ca08ab68Smrg FcPattern * FcFontMatch(FcConfig *config, FcPattern *p, FcResult *result); 36712c393a42Smrg 36722c393a42SmrgDescription 36732c393a42Smrg 3674ca08ab68Smrg Finds the font in sets most closely matching pattern and returns the 3675ca08ab68Smrg result of FcFontRenderPrepare for that font and the provided pattern. This 3676ca08ab68Smrg function should be called only after FcConfigSubstitute and 3677ca08ab68Smrg FcDefaultSubstitute have been called for p; otherwise the results will not 3678ca08ab68Smrg be correct. If config is NULL, the current configuration is used. 36792c393a42Smrg 36802c393a42SmrgVersion 36812c393a42Smrg 3682c9710b42Smrg Fontconfig version 2.10.93 36832c393a42Smrg 3684ca08ab68Smrg FcFontSort 36852c393a42Smrg 36862c393a42SmrgName 36872c393a42Smrg 3688ca08ab68Smrg FcFontSort -- Return list of matching fonts 36892c393a42Smrg 36902c393a42SmrgSynopsis 36912c393a42Smrg 3692c9710b42Smrg #include <fontconfig/fontconfig.h> 36932c393a42Smrg 3694a6844aabSmrg 3695ca08ab68Smrg FcFontSet * FcFontSort(FcConfig *config, FcPattern *p, FcBool trim, 3696ca08ab68Smrg FcCharSet **csp, FcResult *result); 36972c393a42Smrg 36982c393a42SmrgDescription 36992c393a42Smrg 3700ca08ab68Smrg Returns the list of fonts sorted by closeness to p. If trim is FcTrue, 3701ca08ab68Smrg elements in the list which don't include Unicode coverage not provided by 3702ca08ab68Smrg earlier elements in the list are elided. The union of Unicode coverage of 3703ca08ab68Smrg all of the fonts is returned in csp, if csp is not NULL. This function 3704ca08ab68Smrg should be called only after FcConfigSubstitute and FcDefaultSubstitute 3705ca08ab68Smrg have been called for p; otherwise the results will not be correct. 37062c393a42Smrg 3707ca08ab68Smrg The returned FcFontSet references FcPattern structures which may be shared 3708ca08ab68Smrg by the return value from multiple FcFontSort calls, applications must not 3709ca08ab68Smrg modify these patterns. Instead, they should be passed, along with p to 3710ca08ab68Smrg FcFontRenderPrepare which combines them into a complete pattern. 37112c393a42Smrg 3712ca08ab68Smrg The FcFontSet returned by FcFontSort is destroyed by calling 3713ca08ab68Smrg FcFontSetDestroy. If config is NULL, the current configuration is used. 37142c393a42Smrg 37152c393a42SmrgVersion 37162c393a42Smrg 3717c9710b42Smrg Fontconfig version 2.10.93 37182c393a42Smrg 3719ca08ab68Smrg FcFontRenderPrepare 37202c393a42Smrg 37212c393a42SmrgName 37222c393a42Smrg 3723ca08ab68Smrg FcFontRenderPrepare -- Prepare pattern for loading font file 37242c393a42Smrg 37252c393a42SmrgSynopsis 37262c393a42Smrg 3727c9710b42Smrg #include <fontconfig/fontconfig.h> 37282c393a42Smrg 3729a6844aabSmrg 3730ca08ab68Smrg FcPattern * FcFontRenderPrepare(FcConfig *config, FcPattern *pat, 3731ca08ab68Smrg FcPattern *font); 37322c393a42Smrg 37332c393a42SmrgDescription 37342c393a42Smrg 3735ca08ab68Smrg Creates a new pattern consisting of elements of font not appearing in pat, 3736ca08ab68Smrg elements of pat not appearing in font and the best matching value from pat 3737ca08ab68Smrg for elements appearing in both. The result is passed to 3738ca08ab68Smrg FcConfigSubstituteWithPat with kind FcMatchFont and then returned. 37392c393a42Smrg 37402c393a42SmrgVersion 37412c393a42Smrg 3742c9710b42Smrg Fontconfig version 2.10.93 37432c393a42Smrg 3744ca08ab68Smrg FcFontList 37452c393a42Smrg 37462c393a42SmrgName 37472c393a42Smrg 3748ca08ab68Smrg FcFontList -- List fonts 37492c393a42Smrg 37502c393a42SmrgSynopsis 37512c393a42Smrg 3752c9710b42Smrg #include <fontconfig/fontconfig.h> 37532c393a42Smrg 3754a6844aabSmrg 3755ca08ab68Smrg FcFontSet * FcFontList(FcConfig *config, FcPattern *p, FcObjectSet *os); 37562c393a42Smrg 37572c393a42SmrgDescription 37582c393a42Smrg 3759ca08ab68Smrg Selects fonts matching p, creates patterns from those fonts containing 3760ca08ab68Smrg only the objects in os and returns the set of unique such patterns. If 3761ca08ab68Smrg config is NULL, the default configuration is checked to be up to date, and 3762ca08ab68Smrg used. 37632c393a42Smrg 37642c393a42SmrgVersion 37652c393a42Smrg 3766c9710b42Smrg Fontconfig version 2.10.93 37672c393a42Smrg 3768ca08ab68Smrg FcConfigFilename 37692c393a42Smrg 37702c393a42SmrgName 37712c393a42Smrg 3772ca08ab68Smrg FcConfigFilename -- Find a config file 37732c393a42Smrg 37742c393a42SmrgSynopsis 37752c393a42Smrg 3776c9710b42Smrg #include <fontconfig/fontconfig.h> 37772c393a42Smrg 3778a6844aabSmrg 3779ca08ab68Smrg FcChar8 * FcConfigFilename(const FcChar8 *name); 37802c393a42Smrg 37812c393a42SmrgDescription 37822c393a42Smrg 3783ca08ab68Smrg Given the specified external entity name, return the associated filename. 3784ca08ab68Smrg This provides applications a way to convert various configuration file 3785ca08ab68Smrg references into filename form. 37862c393a42Smrg 3787ca08ab68Smrg A null or empty name indicates that the default configuration file should 3788ca08ab68Smrg be used; which file this references can be overridden with the 3789ca08ab68Smrg FONTCONFIG_FILE environment variable. Next, if the name starts with ~, it 3790ca08ab68Smrg refers to a file in the current users home directory. Otherwise if the 3791ca08ab68Smrg name doesn't start with '/', it refers to a file in the default 3792ca08ab68Smrg configuration directory; the built-in default directory can be overridden 3793ca08ab68Smrg with the FONTCONFIG_PATH environment variable. 37942c393a42Smrg 37952c393a42SmrgVersion 37962c393a42Smrg 3797c9710b42Smrg Fontconfig version 2.10.93 37982c393a42Smrg 3799ca08ab68Smrg FcConfigParseAndLoad 38002c393a42Smrg 38012c393a42SmrgName 38022c393a42Smrg 3803ca08ab68Smrg FcConfigParseAndLoad -- load a configuration file 38042c393a42Smrg 38052c393a42SmrgSynopsis 38062c393a42Smrg 3807c9710b42Smrg #include <fontconfig/fontconfig.h> 38082c393a42Smrg 3809a6844aabSmrg 3810ca08ab68Smrg FcBool FcConfigParseAndLoad(FcConfig *config, const FcChar8 *file, FcBool 3811ca08ab68Smrg complain); 38122c393a42Smrg 38132c393a42SmrgDescription 38142c393a42Smrg 3815ca08ab68Smrg Walks the configuration in 'file' and constructs the internal 3816ca08ab68Smrg representation in 'config'. Any include files referenced from within 3817ca08ab68Smrg 'file' will be loaded and parsed. If 'complain' is FcFalse, no warning 3818ca08ab68Smrg will be displayed if 'file' does not exist. Error and warning messages 3819ca08ab68Smrg will be output to stderr. Returns FcFalse if some error occurred while 3820ca08ab68Smrg loading the file, either a parse error, semantic error or allocation 3821ca08ab68Smrg failure. Otherwise returns FcTrue. 38222c393a42Smrg 38232c393a42SmrgVersion 38242c393a42Smrg 3825c9710b42Smrg Fontconfig version 2.10.93 3826c9710b42Smrg 3827c9710b42Smrg FcConfigGetSysRoot 3828c9710b42Smrg 3829c9710b42SmrgName 3830c9710b42Smrg 3831c9710b42Smrg FcConfigGetSysRoot -- Obtain the system root directory 3832c9710b42Smrg 3833c9710b42SmrgSynopsis 3834c9710b42Smrg 3835c9710b42Smrg #include <fontconfig/fontconfig.h> 3836c9710b42Smrg 3837c9710b42Smrg 3838c9710b42Smrg const FcChar8 * FcConfigGetSysRoot(const FcConfig *config); 3839c9710b42Smrg 3840c9710b42SmrgDescription 3841c9710b42Smrg 3842c9710b42Smrg Obtrains the system root directory in 'config' if available. 3843c9710b42Smrg 3844c9710b42SmrgVersion 3845c9710b42Smrg 3846c9710b42Smrg Fontconfig version 2.10.93 3847c9710b42Smrg 3848c9710b42Smrg FcConfigSetSysRoot 3849c9710b42Smrg 3850c9710b42SmrgName 3851c9710b42Smrg 3852c9710b42Smrg FcConfigSetSysRoot -- Set the system root directory 3853c9710b42Smrg 3854c9710b42SmrgSynopsis 3855c9710b42Smrg 3856c9710b42Smrg #include <fontconfig/fontconfig.h> 3857c9710b42Smrg 3858c9710b42Smrg 3859c9710b42Smrg void FcConfigSetSysRoot(FcConfig *config, const FcChar8 *sysroot); 3860c9710b42Smrg 3861c9710b42SmrgDescription 3862c9710b42Smrg 3863c9710b42Smrg Set 'sysroot' as the system root directory. fontconfig prepend 'sysroot' 3864c9710b42Smrg to the cache directories in order to allow people to generate caches at 3865c9710b42Smrg the build time. Note that this causes changing current config. i.e. this 3866c9710b42Smrg function calls FcConfigSetCurrent() internally. 3867c9710b42Smrg 3868c9710b42SmrgVersion 3869c9710b42Smrg 3870c9710b42Smrg Fontconfig version 2.10.93 3871ca08ab68Smrg 3872ca08ab68Smrg -------------------------------------------------------------------------- 3873ca08ab68Smrg 3874ca08ab68Smrg FcObjectType 38752c393a42Smrg 3876ca08ab68Smrg Table of Contents 38772c393a42Smrg 3878c9710b42Smrg [127]FcNameRegisterObjectTypes -- Register object types 38792c393a42Smrg 3880c9710b42Smrg [128]FcNameUnregisterObjectTypes -- Unregister object types 3881a6844aabSmrg 3882c9710b42Smrg [129]FcNameGetObjectType -- Lookup an object type 38832c393a42Smrg 3884ca08ab68Smrg Provides for application-specified font name object types so that new 3885ca08ab68Smrg pattern elements can be generated from font names. 3886ca08ab68Smrg 3887ca08ab68Smrg FcNameRegisterObjectTypes 38882c393a42Smrg 38892c393a42SmrgName 38902c393a42Smrg 3891ca08ab68Smrg FcNameRegisterObjectTypes -- Register object types 38922c393a42Smrg 38932c393a42SmrgSynopsis 38942c393a42Smrg 3895c9710b42Smrg #include <fontconfig/fontconfig.h> 38962c393a42Smrg 3897a6844aabSmrg 3898ca08ab68Smrg FcBool FcNameRegisterObjectTypes(const FcObjectType *types, int ntype); 38992c393a42Smrg 39002c393a42SmrgDescription 39012c393a42Smrg 3902c9710b42Smrg Deprecated. Does nothing. Returns FcFalse. 39032c393a42Smrg 39042c393a42SmrgVersion 39052c393a42Smrg 3906c9710b42Smrg Fontconfig version 2.10.93 39072c393a42Smrg 3908ca08ab68Smrg FcNameUnregisterObjectTypes 39092c393a42Smrg 39102c393a42SmrgName 39112c393a42Smrg 3912ca08ab68Smrg FcNameUnregisterObjectTypes -- Unregister object types 39132c393a42Smrg 39142c393a42SmrgSynopsis 39152c393a42Smrg 3916c9710b42Smrg #include <fontconfig/fontconfig.h> 39172c393a42Smrg 3918a6844aabSmrg 3919ca08ab68Smrg FcBool FcNameUnregisterObjectTypes(const FcObjectType *types, int ntype); 39202c393a42Smrg 39212c393a42SmrgDescription 39222c393a42Smrg 3923c9710b42Smrg Deprecated. Does nothing. Returns FcFalse. 39242c393a42Smrg 39252c393a42SmrgVersion 39262c393a42Smrg 3927c9710b42Smrg Fontconfig version 2.10.93 39282c393a42Smrg 3929ca08ab68Smrg FcNameGetObjectType 39302c393a42Smrg 39312c393a42SmrgName 39322c393a42Smrg 3933ca08ab68Smrg FcNameGetObjectType -- Lookup an object type 39342c393a42Smrg 39352c393a42SmrgSynopsis 39362c393a42Smrg 3937c9710b42Smrg #include <fontconfig/fontconfig.h> 39382c393a42Smrg 3939a6844aabSmrg 3940ca08ab68Smrg const FcObjectType * FcNameGetObjectType(const char *object); 39412c393a42Smrg 39422c393a42SmrgDescription 39432c393a42Smrg 3944ca08ab68Smrg Return the object type for the pattern element named object. 39452c393a42Smrg 39462c393a42SmrgVersion 39472c393a42Smrg 3948c9710b42Smrg Fontconfig version 2.10.93 3949ca08ab68Smrg 3950ca08ab68Smrg -------------------------------------------------------------------------- 3951a6844aabSmrg 3952ca08ab68Smrg FcConstant 39532c393a42Smrg 3954ca08ab68Smrg Table of Contents 39552c393a42Smrg 3956c9710b42Smrg [130]FcNameRegisterConstants -- Register symbolic constants 39572c393a42Smrg 3958c9710b42Smrg [131]FcNameUnregisterConstants -- Unregister symbolic constants 39592c393a42Smrg 3960c9710b42Smrg [132]FcNameGetConstant -- Lookup symbolic constant 3961ca08ab68Smrg 3962c9710b42Smrg [133]FcNameConstant -- Get the value for a symbolic constant 3963ca08ab68Smrg 3964ca08ab68Smrg Provides for application-specified symbolic constants for font names. 3965ca08ab68Smrg 3966ca08ab68Smrg FcNameRegisterConstants 39672c393a42Smrg 39682c393a42SmrgName 39692c393a42Smrg 3970ca08ab68Smrg FcNameRegisterConstants -- Register symbolic constants 39712c393a42Smrg 39722c393a42SmrgSynopsis 39732c393a42Smrg 3974c9710b42Smrg #include <fontconfig/fontconfig.h> 39752c393a42Smrg 3976a6844aabSmrg 3977ca08ab68Smrg FcBool FcNameRegisterConstants(const FcConstant *consts, int nconsts); 39782c393a42Smrg 39792c393a42SmrgDescription 39802c393a42Smrg 3981c9710b42Smrg Deprecated. Does nothing. Returns FcFalse. 39822c393a42Smrg 39832c393a42SmrgVersion 39842c393a42Smrg 3985c9710b42Smrg Fontconfig version 2.10.93 39862c393a42Smrg 3987ca08ab68Smrg FcNameUnregisterConstants 39882c393a42Smrg 39892c393a42SmrgName 39902c393a42Smrg 3991ca08ab68Smrg FcNameUnregisterConstants -- Unregister symbolic constants 39922c393a42Smrg 39932c393a42SmrgSynopsis 39942c393a42Smrg 3995c9710b42Smrg #include <fontconfig/fontconfig.h> 39962c393a42Smrg 3997a6844aabSmrg 3998ca08ab68Smrg FcBool FcNameUnregisterConstants(const FcConstant *consts, int nconsts); 39992c393a42Smrg 40002c393a42SmrgDescription 40012c393a42Smrg 4002c9710b42Smrg Deprecated. Does nothing. Returns FcFalse. 40032c393a42Smrg 40042c393a42SmrgVersion 40052c393a42Smrg 4006c9710b42Smrg Fontconfig version 2.10.93 40072c393a42Smrg 4008ca08ab68Smrg FcNameGetConstant 40092c393a42Smrg 40102c393a42SmrgName 40112c393a42Smrg 4012ca08ab68Smrg FcNameGetConstant -- Lookup symbolic constant 40132c393a42Smrg 40142c393a42SmrgSynopsis 40152c393a42Smrg 4016c9710b42Smrg #include <fontconfig/fontconfig.h> 40172c393a42Smrg 4018a6844aabSmrg 4019ca08ab68Smrg const FcConstant * FcNameGetConstant(FcChar8 *string); 40202c393a42Smrg 40212c393a42SmrgDescription 40222c393a42Smrg 4023ca08ab68Smrg Return the FcConstant structure related to symbolic constant string. 40242c393a42Smrg 40252c393a42SmrgVersion 40262c393a42Smrg 4027c9710b42Smrg Fontconfig version 2.10.93 40282c393a42Smrg 4029ca08ab68Smrg FcNameConstant 40302c393a42Smrg 40312c393a42SmrgName 40322c393a42Smrg 4033ca08ab68Smrg FcNameConstant -- Get the value for a symbolic constant 40342c393a42Smrg 40352c393a42SmrgSynopsis 40362c393a42Smrg 4037c9710b42Smrg #include <fontconfig/fontconfig.h> 40382c393a42Smrg 4039a6844aabSmrg 4040ca08ab68Smrg FcBool FcNameConstant(FcChar8 *string, int *result); 40412c393a42Smrg 40422c393a42SmrgDescription 40432c393a42Smrg 4044ca08ab68Smrg Returns whether a symbolic constant with name string is registered, 4045ca08ab68Smrg placing the value of the constant in result if present. 40462c393a42Smrg 40472c393a42SmrgVersion 40482c393a42Smrg 4049c9710b42Smrg Fontconfig version 2.10.93 4050ca08ab68Smrg 4051ca08ab68Smrg -------------------------------------------------------------------------- 4052a6844aabSmrg 4053ca08ab68Smrg FcBlanks 40542c393a42Smrg 4055ca08ab68Smrg Table of Contents 40562c393a42Smrg 4057c9710b42Smrg [134]FcBlanksCreate -- Create an FcBlanks 40582c393a42Smrg 4059c9710b42Smrg [135]FcBlanksDestroy -- Destroy and FcBlanks 40602c393a42Smrg 4061c9710b42Smrg [136]FcBlanksAdd -- Add a character to an FcBlanks 4062ca08ab68Smrg 4063c9710b42Smrg [137]FcBlanksIsMember -- Query membership in an FcBlanks 4064ca08ab68Smrg 4065ca08ab68Smrg An FcBlanks object holds a list of Unicode chars which are expected to be 4066ca08ab68Smrg blank when drawn. When scanning new fonts, any glyphs which are empty and 4067ca08ab68Smrg not in this list will be assumed to be broken and not placed in the 4068ca08ab68Smrg FcCharSet associated with the font. This provides a significantly more 4069ca08ab68Smrg accurate CharSet for applications. 4070ca08ab68Smrg 4071ca08ab68Smrg FcBlanksCreate 40722c393a42Smrg 40732c393a42SmrgName 40742c393a42Smrg 4075ca08ab68Smrg FcBlanksCreate -- Create an FcBlanks 40762c393a42Smrg 40772c393a42SmrgSynopsis 40782c393a42Smrg 4079c9710b42Smrg #include <fontconfig/fontconfig.h> 40802c393a42Smrg 4081a6844aabSmrg 4082ca08ab68Smrg FcBlanks * FcBlanksCreate(void); 40832c393a42Smrg 40842c393a42SmrgDescription 40852c393a42Smrg 4086ca08ab68Smrg Creates an empty FcBlanks object. 40872c393a42Smrg 40882c393a42SmrgVersion 40892c393a42Smrg 4090c9710b42Smrg Fontconfig version 2.10.93 40912c393a42Smrg 4092ca08ab68Smrg FcBlanksDestroy 40932c393a42Smrg 40942c393a42SmrgName 40952c393a42Smrg 4096ca08ab68Smrg FcBlanksDestroy -- Destroy and FcBlanks 40972c393a42Smrg 40982c393a42SmrgSynopsis 40992c393a42Smrg 4100c9710b42Smrg #include <fontconfig/fontconfig.h> 41012c393a42Smrg 4102a6844aabSmrg 4103ca08ab68Smrg void FcBlanksDestroy(FcBlanks *b); 41042c393a42Smrg 41052c393a42SmrgDescription 41062c393a42Smrg 4107ca08ab68Smrg Destroys an FcBlanks object, freeing any associated memory. 41082c393a42Smrg 41092c393a42SmrgVersion 41102c393a42Smrg 4111c9710b42Smrg Fontconfig version 2.10.93 41122c393a42Smrg 4113ca08ab68Smrg FcBlanksAdd 41142c393a42Smrg 41152c393a42SmrgName 41162c393a42Smrg 4117ca08ab68Smrg FcBlanksAdd -- Add a character to an FcBlanks 41182c393a42Smrg 41192c393a42SmrgSynopsis 41202c393a42Smrg 4121c9710b42Smrg #include <fontconfig/fontconfig.h> 41222c393a42Smrg 4123a6844aabSmrg 4124ca08ab68Smrg FcBool FcBlanksAdd(FcBlanks *b, FcChar32 ucs4); 41252c393a42Smrg 41262c393a42SmrgDescription 41272c393a42Smrg 4128ca08ab68Smrg Adds a single character to an FcBlanks object, returning FcFalse if this 4129ca08ab68Smrg process ran out of memory. 41302c393a42Smrg 41312c393a42SmrgVersion 41322c393a42Smrg 4133c9710b42Smrg Fontconfig version 2.10.93 41342c393a42Smrg 4135ca08ab68Smrg FcBlanksIsMember 41362c393a42Smrg 41372c393a42SmrgName 41382c393a42Smrg 4139ca08ab68Smrg FcBlanksIsMember -- Query membership in an FcBlanks 41402c393a42Smrg 41412c393a42SmrgSynopsis 41422c393a42Smrg 4143c9710b42Smrg #include <fontconfig/fontconfig.h> 41442c393a42Smrg 4145a6844aabSmrg 4146ca08ab68Smrg FcBool FcBlanksIsMember(FcBlanks *b, FcChar32 ucs4); 41472c393a42Smrg 41482c393a42SmrgDescription 41492c393a42Smrg 4150ca08ab68Smrg Returns whether the specified FcBlanks object contains the indicated 4151ca08ab68Smrg Unicode value. 41522c393a42Smrg 41532c393a42SmrgVersion 41542c393a42Smrg 4155c9710b42Smrg Fontconfig version 2.10.93 4156ca08ab68Smrg 4157ca08ab68Smrg -------------------------------------------------------------------------- 4158ca08ab68Smrg 4159ca08ab68Smrg FcAtomic 4160ca08ab68Smrg 4161ca08ab68Smrg Table of Contents 4162ca08ab68Smrg 4163c9710b42Smrg [138]FcAtomicCreate -- create an FcAtomic object 4164ca08ab68Smrg 4165c9710b42Smrg [139]FcAtomicLock -- lock a file 4166ca08ab68Smrg 4167c9710b42Smrg [140]FcAtomicNewFile -- return new temporary file name 4168a6844aabSmrg 4169c9710b42Smrg [141]FcAtomicOrigFile -- return original file name 41702c393a42Smrg 4171c9710b42Smrg [142]FcAtomicReplaceOrig -- replace original with new 41722c393a42Smrg 4173c9710b42Smrg [143]FcAtomicDeleteNew -- delete new file 41742c393a42Smrg 4175c9710b42Smrg [144]FcAtomicUnlock -- unlock a file 41762c393a42Smrg 4177c9710b42Smrg [145]FcAtomicDestroy -- destroy an FcAtomic object 4178ca08ab68Smrg 4179ca08ab68Smrg These functions provide a safe way to update configuration files, allowing 4180ca08ab68Smrg ongoing reading of the old configuration file while locked for writing and 4181ca08ab68Smrg ensuring that a consistent and complete version of the configuration file 4182ca08ab68Smrg is always available. 4183ca08ab68Smrg 4184ca08ab68Smrg FcAtomicCreate 41852c393a42Smrg 41862c393a42SmrgName 41872c393a42Smrg 4188ca08ab68Smrg FcAtomicCreate -- create an FcAtomic object 41892c393a42Smrg 41902c393a42SmrgSynopsis 41912c393a42Smrg 4192c9710b42Smrg #include <fontconfig/fontconfig.h> 41932c393a42Smrg 4194a6844aabSmrg 4195ca08ab68Smrg FcAtomic * FcAtomicCreate(const FcChar8 *file); 41962c393a42Smrg 41972c393a42SmrgDescription 41982c393a42Smrg 4199ca08ab68Smrg Creates a data structure containing data needed to control access to file. 4200ca08ab68Smrg Writing is done to a separate file. Once that file is complete, the 4201ca08ab68Smrg original configuration file is atomically replaced so that reading process 4202ca08ab68Smrg always see a consistent and complete file without the need to lock for 4203ca08ab68Smrg reading. 42042c393a42Smrg 42052c393a42SmrgVersion 42062c393a42Smrg 4207c9710b42Smrg Fontconfig version 2.10.93 42082c393a42Smrg 4209ca08ab68Smrg FcAtomicLock 42102c393a42Smrg 42112c393a42SmrgName 42122c393a42Smrg 4213ca08ab68Smrg FcAtomicLock -- lock a file 42142c393a42Smrg 42152c393a42SmrgSynopsis 42162c393a42Smrg 4217c9710b42Smrg #include <fontconfig/fontconfig.h> 42182c393a42Smrg 4219a6844aabSmrg 4220ca08ab68Smrg FcBool FcAtomicLock(FcAtomic *atomic); 42212c393a42Smrg 42222c393a42SmrgDescription 42232c393a42Smrg 4224ca08ab68Smrg Attempts to lock the file referenced by atomic. Returns FcFalse if the 4225ca08ab68Smrg file is already locked, else returns FcTrue and leaves the file locked. 42262c393a42Smrg 42272c393a42SmrgVersion 42282c393a42Smrg 4229c9710b42Smrg Fontconfig version 2.10.93 42302c393a42Smrg 4231ca08ab68Smrg FcAtomicNewFile 42322c393a42Smrg 42332c393a42SmrgName 42342c393a42Smrg 4235ca08ab68Smrg FcAtomicNewFile -- return new temporary file name 42362c393a42Smrg 42372c393a42SmrgSynopsis 42382c393a42Smrg 4239c9710b42Smrg #include <fontconfig/fontconfig.h> 42402c393a42Smrg 4241a6844aabSmrg 4242ca08ab68Smrg FcChar8 * FcAtomicNewFile(FcAtomic *atomic); 42432c393a42Smrg 42442c393a42SmrgDescription 42452c393a42Smrg 4246ca08ab68Smrg Returns the filename for writing a new version of the file referenced by 4247ca08ab68Smrg atomic. 42482c393a42Smrg 42492c393a42SmrgVersion 42502c393a42Smrg 4251c9710b42Smrg Fontconfig version 2.10.93 42522c393a42Smrg 4253ca08ab68Smrg FcAtomicOrigFile 42542c393a42Smrg 42552c393a42SmrgName 42562c393a42Smrg 4257ca08ab68Smrg FcAtomicOrigFile -- return original file name 42582c393a42Smrg 42592c393a42SmrgSynopsis 42602c393a42Smrg 4261c9710b42Smrg #include <fontconfig/fontconfig.h> 42622c393a42Smrg 4263a6844aabSmrg 4264ca08ab68Smrg FcChar8 * FcAtomicOrigFile(FcAtomic *atomic); 42652c393a42Smrg 42662c393a42SmrgDescription 42672c393a42Smrg 4268ca08ab68Smrg Returns the file referenced by atomic. 42692c393a42Smrg 42702c393a42SmrgVersion 42712c393a42Smrg 4272c9710b42Smrg Fontconfig version 2.10.93 42732c393a42Smrg 4274ca08ab68Smrg FcAtomicReplaceOrig 42752c393a42Smrg 42762c393a42SmrgName 42772c393a42Smrg 4278ca08ab68Smrg FcAtomicReplaceOrig -- replace original with new 42792c393a42Smrg 42802c393a42SmrgSynopsis 42812c393a42Smrg 4282c9710b42Smrg #include <fontconfig/fontconfig.h> 42832c393a42Smrg 4284a6844aabSmrg 4285ca08ab68Smrg FcBool FcAtomicReplaceOrig(FcAtomic *atomic); 42862c393a42Smrg 42872c393a42SmrgDescription 42882c393a42Smrg 4289ca08ab68Smrg Replaces the original file referenced by atomic with the new file. Returns 4290ca08ab68Smrg FcFalse if the file cannot be replaced due to permission issues in the 4291ca08ab68Smrg filesystem. Otherwise returns FcTrue. 42922c393a42Smrg 42932c393a42SmrgVersion 42942c393a42Smrg 4295c9710b42Smrg Fontconfig version 2.10.93 42962c393a42Smrg 4297ca08ab68Smrg FcAtomicDeleteNew 42982c393a42Smrg 42992c393a42SmrgName 43002c393a42Smrg 4301ca08ab68Smrg FcAtomicDeleteNew -- delete new file 43022c393a42Smrg 43032c393a42SmrgSynopsis 43042c393a42Smrg 4305c9710b42Smrg #include <fontconfig/fontconfig.h> 43062c393a42Smrg 4307a6844aabSmrg 4308ca08ab68Smrg void FcAtomicDeleteNew(FcAtomic *atomic); 43092c393a42Smrg 43102c393a42SmrgDescription 43112c393a42Smrg 4312ca08ab68Smrg Deletes the new file. Used in error recovery to back out changes. 43132c393a42Smrg 43142c393a42SmrgVersion 43152c393a42Smrg 4316c9710b42Smrg Fontconfig version 2.10.93 43172c393a42Smrg 4318ca08ab68Smrg FcAtomicUnlock 43192c393a42Smrg 43202c393a42SmrgName 43212c393a42Smrg 4322ca08ab68Smrg FcAtomicUnlock -- unlock a file 43232c393a42Smrg 43242c393a42SmrgSynopsis 43252c393a42Smrg 4326c9710b42Smrg #include <fontconfig/fontconfig.h> 43272c393a42Smrg 4328a6844aabSmrg 4329ca08ab68Smrg void FcAtomicUnlock(FcAtomic *atomic); 43302c393a42Smrg 43312c393a42SmrgDescription 43322c393a42Smrg 4333ca08ab68Smrg Unlocks the file. 43342c393a42Smrg 43352c393a42SmrgVersion 43362c393a42Smrg 4337c9710b42Smrg Fontconfig version 2.10.93 43382c393a42Smrg 4339ca08ab68Smrg FcAtomicDestroy 43402c393a42Smrg 43412c393a42SmrgName 43422c393a42Smrg 4343ca08ab68Smrg FcAtomicDestroy -- destroy an FcAtomic object 43442c393a42Smrg 43452c393a42SmrgSynopsis 43462c393a42Smrg 4347c9710b42Smrg #include <fontconfig/fontconfig.h> 43482c393a42Smrg 4349a6844aabSmrg 4350ca08ab68Smrg void FcAtomicDestroy(FcAtomic *atomic); 43512c393a42Smrg 43522c393a42SmrgDescription 43532c393a42Smrg 4354ca08ab68Smrg Destroys atomic. 43552c393a42Smrg 43562c393a42SmrgVersion 43572c393a42Smrg 4358c9710b42Smrg Fontconfig version 2.10.93 4359ca08ab68Smrg 4360ca08ab68Smrg -------------------------------------------------------------------------- 4361ca08ab68Smrg 4362ca08ab68Smrg File and Directory routines 4363ca08ab68Smrg 4364ca08ab68Smrg Table of Contents 4365ca08ab68Smrg 4366c9710b42Smrg [146]FcFileScan -- scan a font file 4367ca08ab68Smrg 4368c9710b42Smrg [147]FcFileIsDir -- check whether a file is a directory 4369ca08ab68Smrg 4370c9710b42Smrg [148]FcDirScan -- scan a font directory without caching it 4371ca08ab68Smrg 4372c9710b42Smrg [149]FcDirSave -- DEPRECATED: formerly used to save a directory cache 43732c393a42Smrg 4374c9710b42Smrg [150]FcDirCacheUnlink -- Remove all caches related to dir 43752c393a42Smrg 4376c9710b42Smrg [151]FcDirCacheValid -- check directory cache 43772c393a42Smrg 4378c9710b42Smrg [152]FcDirCacheLoad -- load a directory cache 43792c393a42Smrg 4380c9710b42Smrg [153]FcDirCacheRead -- read or construct a directory cache 43812c393a42Smrg 4382c9710b42Smrg [154]FcDirCacheLoadFile -- load a cache file 4383ca08ab68Smrg 4384c9710b42Smrg [155]FcDirCacheUnload -- unload a cache file 4385ca08ab68Smrg 4386ca08ab68Smrg These routines work with font files and directories, including font 4387ca08ab68Smrg directory cache files. 4388ca08ab68Smrg 4389ca08ab68Smrg FcFileScan 43902c393a42Smrg 43912c393a42SmrgName 43922c393a42Smrg 4393ca08ab68Smrg FcFileScan -- scan a font file 43942c393a42Smrg 43952c393a42SmrgSynopsis 43962c393a42Smrg 4397c9710b42Smrg #include <fontconfig/fontconfig.h> 43982c393a42Smrg 4399a6844aabSmrg 4400ca08ab68Smrg FcBool FcFileScan(FcFontSet *set, FcStrSet *dirs, FcFileCache *cache, 4401ca08ab68Smrg FcBlanks *blanks, const FcChar8 *file, FcBool force); 44022c393a42Smrg 44032c393a42SmrgDescription 44042c393a42Smrg 4405ca08ab68Smrg Scans a single file and adds all fonts found to set. If force is FcTrue, 4406ca08ab68Smrg then the file is scanned even if associated information is found in cache. 4407ca08ab68Smrg If file is a directory, it is added to dirs. Whether fonts are found 4408ca08ab68Smrg depends on fontconfig policy as well as the current configuration. 4409ca08ab68Smrg Internally, fontconfig will ignore BDF and PCF fonts which are not in 4410ca08ab68Smrg Unicode (or the effectively equivalent ISO Latin-1) encoding as those are 4411ca08ab68Smrg not usable by Unicode-based applications. The configuration can ignore 4412ca08ab68Smrg fonts based on filename or contents of the font file itself. Returns 4413ca08ab68Smrg FcFalse if any of the fonts cannot be added (due to allocation failure). 4414ca08ab68Smrg Otherwise returns FcTrue. 44152c393a42Smrg 44162c393a42SmrgVersion 44172c393a42Smrg 4418c9710b42Smrg Fontconfig version 2.10.93 44192c393a42Smrg 4420ca08ab68Smrg FcFileIsDir 44212c393a42Smrg 44222c393a42SmrgName 44232c393a42Smrg 4424ca08ab68Smrg FcFileIsDir -- check whether a file is a directory 44252c393a42Smrg 44262c393a42SmrgSynopsis 44272c393a42Smrg 4428c9710b42Smrg #include <fontconfig/fontconfig.h> 44292c393a42Smrg 4430a6844aabSmrg 4431ca08ab68Smrg FcBool FcFileIsDir(const FcChar8 *file); 44322c393a42Smrg 44332c393a42SmrgDescription 44342c393a42Smrg 4435ca08ab68Smrg Returns FcTrue if file is a directory, otherwise returns FcFalse. 44362c393a42Smrg 44372c393a42SmrgVersion 44382c393a42Smrg 4439c9710b42Smrg Fontconfig version 2.10.93 44402c393a42Smrg 4441ca08ab68Smrg FcDirScan 44422c393a42Smrg 44432c393a42SmrgName 44442c393a42Smrg 4445ca08ab68Smrg FcDirScan -- scan a font directory without caching it 44462c393a42Smrg 44472c393a42SmrgSynopsis 44482c393a42Smrg 4449c9710b42Smrg #include <fontconfig/fontconfig.h> 44502c393a42Smrg 4451a6844aabSmrg 4452ca08ab68Smrg FcBool FcDirScan(FcFontSet *set, FcStrSet *dirs, FcFileCache *cache, 4453ca08ab68Smrg FcBlanks *blanks, const FcChar8 *dir, FcBool force); 44542c393a42Smrg 44552c393a42SmrgDescription 44562c393a42Smrg 4457ca08ab68Smrg If cache is not zero or if force is FcFalse, this function currently 4458ca08ab68Smrg returns FcFalse. Otherwise, it scans an entire directory and adds all 4459ca08ab68Smrg fonts found to set. Any subdirectories found are added to dirs. Calling 4460ca08ab68Smrg this function does not create any cache files. Use FcDirCacheRead() if 4461ca08ab68Smrg caching is desired. 44622c393a42Smrg 44632c393a42SmrgVersion 44642c393a42Smrg 4465c9710b42Smrg Fontconfig version 2.10.93 44662c393a42Smrg 4467ca08ab68Smrg FcDirSave 44682c393a42Smrg 44692c393a42SmrgName 44702c393a42Smrg 4471ca08ab68Smrg FcDirSave -- DEPRECATED: formerly used to save a directory cache 44722c393a42Smrg 44732c393a42SmrgSynopsis 44742c393a42Smrg 4475c9710b42Smrg #include <fontconfig/fontconfig.h> 44762c393a42Smrg 4477a6844aabSmrg 4478ca08ab68Smrg FcBool FcDirSave(FcFontSet *set, FcStrSet *dirs, const FcChar8 *dir); 44792c393a42Smrg 44802c393a42SmrgDescription 44812c393a42Smrg 4482ca08ab68Smrg This function now does nothing aside from returning FcFalse. It used to 4483ca08ab68Smrg creates the per-directory cache file for dir and populates it with the 4484ca08ab68Smrg fonts in set and subdirectories in dirs. All of this functionality is now 4485ca08ab68Smrg automatically managed by FcDirCacheLoad and FcDirCacheRead. 44862c393a42Smrg 44872c393a42SmrgVersion 44882c393a42Smrg 4489c9710b42Smrg Fontconfig version 2.10.93 44902c393a42Smrg 4491ca08ab68Smrg FcDirCacheUnlink 44922c393a42Smrg 44932c393a42SmrgName 44942c393a42Smrg 4495ca08ab68Smrg FcDirCacheUnlink -- Remove all caches related to dir 44962c393a42Smrg 44972c393a42SmrgSynopsis 44982c393a42Smrg 4499c9710b42Smrg #include <fontconfig/fontconfig.h> 45002c393a42Smrg 4501a6844aabSmrg 4502ca08ab68Smrg FcBool FcDirCacheUnlink(const FcChar8 *dir, FcConfig *config); 45032c393a42Smrg 45042c393a42SmrgDescription 45052c393a42Smrg 4506ca08ab68Smrg Scans the cache directories in config, removing any instances of the cache 4507ca08ab68Smrg file for dir. Returns FcFalse when some internal error occurs (out of 4508ca08ab68Smrg memory, etc). Errors actually unlinking any files are ignored. 45092c393a42Smrg 45102c393a42SmrgVersion 45112c393a42Smrg 4512c9710b42Smrg Fontconfig version 2.10.93 45132c393a42Smrg 4514ca08ab68Smrg FcDirCacheValid 45152c393a42Smrg 45162c393a42SmrgName 45172c393a42Smrg 4518ca08ab68Smrg FcDirCacheValid -- check directory cache 45192c393a42Smrg 45202c393a42SmrgSynopsis 45212c393a42Smrg 4522c9710b42Smrg #include <fontconfig/fontconfig.h> 45232c393a42Smrg 4524a6844aabSmrg 4525ca08ab68Smrg FcBool FcDirCacheValid(const FcChar8 *dir); 45262c393a42Smrg 45272c393a42SmrgDescription 45282c393a42Smrg 4529ca08ab68Smrg Returns FcTrue if dir has an associated valid cache file, else returns 4530ca08ab68Smrg FcFalse 45312c393a42Smrg 45322c393a42SmrgVersion 45332c393a42Smrg 4534c9710b42Smrg Fontconfig version 2.10.93 45352c393a42Smrg 4536ca08ab68Smrg FcDirCacheLoad 45372c393a42Smrg 45382c393a42SmrgName 45392c393a42Smrg 4540ca08ab68Smrg FcDirCacheLoad -- load a directory cache 45412c393a42Smrg 45422c393a42SmrgSynopsis 45432c393a42Smrg 4544c9710b42Smrg #include <fontconfig/fontconfig.h> 45452c393a42Smrg 4546a6844aabSmrg 4547ca08ab68Smrg FcCache * FcDirCacheLoad(const FcChar8 *dir, FcConfig *config, FcChar8 4548ca08ab68Smrg **cache_file); 45492c393a42Smrg 45502c393a42SmrgDescription 45512c393a42Smrg 4552ca08ab68Smrg Loads the cache related to dir. If no cache file exists, returns NULL. The 4553ca08ab68Smrg name of the cache file is returned in cache_file, unless that is NULL. See 4554ca08ab68Smrg also FcDirCacheRead. 45552c393a42Smrg 45562c393a42SmrgVersion 45572c393a42Smrg 4558c9710b42Smrg Fontconfig version 2.10.93 45592c393a42Smrg 4560ca08ab68Smrg FcDirCacheRead 45612c393a42Smrg 45622c393a42SmrgName 45632c393a42Smrg 4564ca08ab68Smrg FcDirCacheRead -- read or construct a directory cache 45652c393a42Smrg 45662c393a42SmrgSynopsis 45672c393a42Smrg 4568c9710b42Smrg #include <fontconfig/fontconfig.h> 45692c393a42Smrg 4570a6844aabSmrg 4571ca08ab68Smrg FcCache * FcDirCacheRead(const FcChar8 *dir, FcBool force, FcConfig 4572ca08ab68Smrg *config); 45732c393a42Smrg 45742c393a42SmrgDescription 45752c393a42Smrg 4576ca08ab68Smrg This returns a cache for dir. If force is FcFalse, then an existing, valid 4577ca08ab68Smrg cache file will be used. Otherwise, a new cache will be created by 4578ca08ab68Smrg scanning the directory and that returned. 45792c393a42Smrg 45802c393a42SmrgVersion 45812c393a42Smrg 4582c9710b42Smrg Fontconfig version 2.10.93 45832c393a42Smrg 4584ca08ab68Smrg FcDirCacheLoadFile 45852c393a42Smrg 45862c393a42SmrgName 45872c393a42Smrg 4588ca08ab68Smrg FcDirCacheLoadFile -- load a cache file 45892c393a42Smrg 45902c393a42SmrgSynopsis 45912c393a42Smrg 4592c9710b42Smrg #include <fontconfig/fontconfig.h> 45932c393a42Smrg 4594a6844aabSmrg 4595ca08ab68Smrg FcCache * FcDirCacheLoadFile(const FcChar8 *cache_file, struct stat 4596ca08ab68Smrg *file_stat); 45972c393a42Smrg 45982c393a42SmrgDescription 45992c393a42Smrg 4600ca08ab68Smrg This function loads a directory cache from cache_file. If file_stat is 4601ca08ab68Smrg non-NULL, it will be filled with the results of stat(2) on the cache file. 46022c393a42Smrg 46032c393a42SmrgVersion 46042c393a42Smrg 4605c9710b42Smrg Fontconfig version 2.10.93 46062c393a42Smrg 4607ca08ab68Smrg FcDirCacheUnload 46082c393a42Smrg 46092c393a42SmrgName 46102c393a42Smrg 4611ca08ab68Smrg FcDirCacheUnload -- unload a cache file 46122c393a42Smrg 46132c393a42SmrgSynopsis 46142c393a42Smrg 4615c9710b42Smrg #include <fontconfig/fontconfig.h> 46162c393a42Smrg 4617a6844aabSmrg 4618ca08ab68Smrg void FcDirCacheUnload(FcCache *cache); 46192c393a42Smrg 46202c393a42SmrgDescription 46212c393a42Smrg 4622ca08ab68Smrg This function dereferences cache. When no other references to it remain, 4623ca08ab68Smrg all memory associated with the cache will be freed. 46242c393a42Smrg 46252c393a42SmrgVersion 46262c393a42Smrg 4627c9710b42Smrg Fontconfig version 2.10.93 4628ca08ab68Smrg 4629ca08ab68Smrg -------------------------------------------------------------------------- 4630ca08ab68Smrg 4631ca08ab68Smrg FcCache routines 4632ca08ab68Smrg 4633ca08ab68Smrg Table of Contents 4634ca08ab68Smrg 4635c9710b42Smrg [156]FcCacheDir -- Return directory of cache 4636ca08ab68Smrg 4637c9710b42Smrg [157]FcCacheCopySet -- Returns a copy of the fontset from cache 4638ca08ab68Smrg 4639c9710b42Smrg [158]FcCacheSubdir -- Return the i'th subdirectory. 46402c393a42Smrg 4641c9710b42Smrg [159]FcCacheNumSubdir -- Return the number of subdirectories in cache. 46422c393a42Smrg 4643c9710b42Smrg [160]FcCacheNumFont -- Returns the number of fonts in cache. 46442c393a42Smrg 4645c9710b42Smrg [161]FcDirCacheClean -- This tries to clean up the cache directory of 4646ca08ab68Smrg cache_dir. This returns FcTrue if the operation is successfully complete. 4647ca08ab68Smrg otherwise FcFalse. 46482c393a42Smrg 4649c9710b42Smrg [162]FcCacheCreateTagFile -- Create CACHEDIR.TAG at cache directory. 46502c393a42Smrg 4651ca08ab68Smrg These routines work with font directory caches, accessing their contents 4652ca08ab68Smrg in limited ways. It is not expected that normal applications will need to 4653ca08ab68Smrg use these functions. 4654ca08ab68Smrg 4655ca08ab68Smrg FcCacheDir 46562c393a42Smrg 46572c393a42SmrgName 46582c393a42Smrg 4659ca08ab68Smrg FcCacheDir -- Return directory of cache 46602c393a42Smrg 46612c393a42SmrgSynopsis 46622c393a42Smrg 4663c9710b42Smrg #include <fontconfig/fontconfig.h> 46642c393a42Smrg 4665a6844aabSmrg 4666ca08ab68Smrg const FcChar8 * FcCacheDir(const FcCache *cache); 46672c393a42Smrg 46682c393a42SmrgDescription 46692c393a42Smrg 4670ca08ab68Smrg This function returns the directory from which the cache was constructed. 46712c393a42Smrg 46722c393a42SmrgVersion 46732c393a42Smrg 4674c9710b42Smrg Fontconfig version 2.10.93 46752c393a42Smrg 4676ca08ab68Smrg FcCacheCopySet 46772c393a42Smrg 46782c393a42SmrgName 46792c393a42Smrg 4680ca08ab68Smrg FcCacheCopySet -- Returns a copy of the fontset from cache 46812c393a42Smrg 46822c393a42SmrgSynopsis 46832c393a42Smrg 4684c9710b42Smrg #include <fontconfig/fontconfig.h> 46852c393a42Smrg 4686a6844aabSmrg 4687ca08ab68Smrg FcFontSet * FcCacheCopySet(const FcCache *cache); 46882c393a42Smrg 46892c393a42SmrgDescription 46902c393a42Smrg 4691ca08ab68Smrg The returned fontset contains each of the font patterns from cache. This 4692ca08ab68Smrg fontset may be modified, but the patterns from the cache are read-only. 46932c393a42Smrg 46942c393a42SmrgVersion 46952c393a42Smrg 4696c9710b42Smrg Fontconfig version 2.10.93 46972c393a42Smrg 4698ca08ab68Smrg FcCacheSubdir 46992c393a42Smrg 47002c393a42SmrgName 47012c393a42Smrg 4702ca08ab68Smrg FcCacheSubdir -- Return the i'th subdirectory. 47032c393a42Smrg 47042c393a42SmrgSynopsis 47052c393a42Smrg 4706c9710b42Smrg #include <fontconfig/fontconfig.h> 47072c393a42Smrg 4708a6844aabSmrg 4709ca08ab68Smrg const FcChar8 * FcCacheSubdir(const FcCache *cache, inti); 47102c393a42Smrg 47112c393a42SmrgDescription 47122c393a42Smrg 4713ca08ab68Smrg The set of subdirectories stored in a cache file are indexed by this 4714ca08ab68Smrg function, i should range from 0 to n-1, where n is the return value from 4715ca08ab68Smrg FcCacheNumSubdir. 47162c393a42Smrg 47172c393a42SmrgVersion 47182c393a42Smrg 4719c9710b42Smrg Fontconfig version 2.10.93 47202c393a42Smrg 4721ca08ab68Smrg FcCacheNumSubdir 47222c393a42Smrg 47232c393a42SmrgName 47242c393a42Smrg 4725ca08ab68Smrg FcCacheNumSubdir -- Return the number of subdirectories in cache. 47262c393a42Smrg 47272c393a42SmrgSynopsis 47282c393a42Smrg 4729c9710b42Smrg #include <fontconfig/fontconfig.h> 47302c393a42Smrg 4731a6844aabSmrg 4732ca08ab68Smrg int FcCacheNumSubdir(const FcCache *cache); 47332c393a42Smrg 47342c393a42SmrgDescription 47352c393a42Smrg 4736ca08ab68Smrg This returns the total number of subdirectories in the cache. 47372c393a42Smrg 47382c393a42SmrgVersion 47392c393a42Smrg 4740c9710b42Smrg Fontconfig version 2.10.93 47412c393a42Smrg 4742ca08ab68Smrg FcCacheNumFont 47432c393a42Smrg 47442c393a42SmrgName 47452c393a42Smrg 4746ca08ab68Smrg FcCacheNumFont -- Returns the number of fonts in cache. 47472c393a42Smrg 47482c393a42SmrgSynopsis 47492c393a42Smrg 4750c9710b42Smrg #include <fontconfig/fontconfig.h> 47512c393a42Smrg 4752a6844aabSmrg 4753ca08ab68Smrg int FcCacheNumFont(const FcCache *cache); 47542c393a42Smrg 47552c393a42SmrgDescription 47562c393a42Smrg 4757ca08ab68Smrg This returns the number of fonts which would be included in the return 4758ca08ab68Smrg from FcCacheCopySet. 47592c393a42Smrg 47602c393a42SmrgVersion 47612c393a42Smrg 4762c9710b42Smrg Fontconfig version 2.10.93 4763ca08ab68Smrg 4764ca08ab68Smrg FcDirCacheClean 4765ca08ab68Smrg 4766ca08ab68SmrgName 4767ca08ab68Smrg 4768ca08ab68Smrg FcDirCacheClean -- This tries to clean up the cache directory of 4769ca08ab68Smrg cache_dir. This returns FcTrue if the operation is successfully complete. 4770ca08ab68Smrg otherwise FcFalse. 4771ca08ab68Smrg 4772ca08ab68SmrgSynopsis 4773ca08ab68Smrg 4774c9710b42Smrg #include <fontconfig/fontconfig.h> 4775ca08ab68Smrg 4776a6844aabSmrg 4777ca08ab68Smrg FcBool FcDirCacheClean(const FcChar8 *cache_dir, FcBoolverbose); 4778ca08ab68Smrg 4779ca08ab68SmrgDescription 47802c393a42Smrg 47812c393a42Smrg 47822c393a42Smrg 4783ca08ab68SmrgVersion 47842c393a42Smrg 4785c9710b42Smrg Fontconfig version 2.10.93 4786ca08ab68Smrg 4787ca08ab68Smrg FcCacheCreateTagFile 47882c393a42Smrg 47892c393a42SmrgName 47902c393a42Smrg 4791ca08ab68Smrg FcCacheCreateTagFile -- Create CACHEDIR.TAG at cache directory. 47922c393a42Smrg 47932c393a42SmrgSynopsis 47942c393a42Smrg 4795c9710b42Smrg #include <fontconfig/fontconfig.h> 47962c393a42Smrg 4797a6844aabSmrg 4798ca08ab68Smrg void FcCacheCreateTagFile(const FcConfig *config); 47992c393a42Smrg 48002c393a42SmrgDescription 48012c393a42Smrg 4802ca08ab68Smrg This tries to create CACHEDIR.TAG file at the cache directory registered 4803ca08ab68Smrg to config. 48042c393a42Smrg 48052c393a42SmrgVersion 48062c393a42Smrg 4807c9710b42Smrg Fontconfig version 2.10.93 4808ca08ab68Smrg 4809ca08ab68Smrg -------------------------------------------------------------------------- 4810ca08ab68Smrg 4811ca08ab68Smrg FcStrSet and FcStrList 4812ca08ab68Smrg 4813ca08ab68Smrg Table of Contents 4814ca08ab68Smrg 4815c9710b42Smrg [163]FcStrSetCreate -- create a string set 4816ca08ab68Smrg 4817c9710b42Smrg [164]FcStrSetMember -- check set for membership 4818ca08ab68Smrg 4819c9710b42Smrg [165]FcStrSetEqual -- check sets for equality 4820ca08ab68Smrg 4821c9710b42Smrg [166]FcStrSetAdd -- add to a string set 4822ca08ab68Smrg 4823c9710b42Smrg [167]FcStrSetAddFilename -- add a filename to a string set 4824ca08ab68Smrg 4825c9710b42Smrg [168]FcStrSetDel -- delete from a string set 4826ca08ab68Smrg 4827c9710b42Smrg [169]FcStrSetDestroy -- destroy a string set 4828ca08ab68Smrg 4829c9710b42Smrg [170]FcStrListCreate -- create a string iterator 4830ca08ab68Smrg 4831c9710b42Smrg [171]FcStrListNext -- get next string in iteration 4832ca08ab68Smrg 4833c9710b42Smrg [172]FcStrListDone -- destroy a string iterator 4834ca08ab68Smrg 4835ca08ab68Smrg A data structure for enumerating strings, used to list directories while 4836ca08ab68Smrg scanning the configuration as directories are added while scanning. 48372c393a42Smrg 4838ca08ab68Smrg FcStrSetCreate 48392c393a42Smrg 48402c393a42SmrgName 48412c393a42Smrg 4842ca08ab68Smrg FcStrSetCreate -- create a string set 48432c393a42Smrg 48442c393a42SmrgSynopsis 48452c393a42Smrg 4846c9710b42Smrg #include <fontconfig/fontconfig.h> 48472c393a42Smrg 4848a6844aabSmrg 4849ca08ab68Smrg FcStrSet * FcStrSetCreate(void); 48502c393a42Smrg 48512c393a42SmrgDescription 48522c393a42Smrg 4853ca08ab68Smrg Create an empty set. 48542c393a42Smrg 48552c393a42SmrgVersion 48562c393a42Smrg 4857c9710b42Smrg Fontconfig version 2.10.93 48582c393a42Smrg 4859ca08ab68Smrg FcStrSetMember 48602c393a42Smrg 48612c393a42SmrgName 48622c393a42Smrg 4863ca08ab68Smrg FcStrSetMember -- check set for membership 48642c393a42Smrg 48652c393a42SmrgSynopsis 48662c393a42Smrg 4867c9710b42Smrg #include <fontconfig/fontconfig.h> 48682c393a42Smrg 4869a6844aabSmrg 4870ca08ab68Smrg FcBool FcStrSetMember(FcStrSet *set, const FcChar8 *s); 48712c393a42Smrg 48722c393a42SmrgDescription 48732c393a42Smrg 4874ca08ab68Smrg Returns whether s is a member of set. 48752c393a42Smrg 48762c393a42SmrgVersion 48772c393a42Smrg 4878c9710b42Smrg Fontconfig version 2.10.93 48792c393a42Smrg 4880ca08ab68Smrg FcStrSetEqual 48812c393a42Smrg 48822c393a42SmrgName 48832c393a42Smrg 4884ca08ab68Smrg FcStrSetEqual -- check sets for equality 48852c393a42Smrg 48862c393a42SmrgSynopsis 48872c393a42Smrg 4888c9710b42Smrg #include <fontconfig/fontconfig.h> 48892c393a42Smrg 4890a6844aabSmrg 4891ca08ab68Smrg FcBool FcStrSetEqual(FcStrSet *set_a, FcStrSet *set_b); 48922c393a42Smrg 48932c393a42SmrgDescription 48942c393a42Smrg 4895ca08ab68Smrg Returns whether set_a contains precisely the same strings as set_b. 4896ca08ab68Smrg Ordering of strings within the two sets is not considered. 48972c393a42Smrg 48982c393a42SmrgVersion 48992c393a42Smrg 4900c9710b42Smrg Fontconfig version 2.10.93 49012c393a42Smrg 4902ca08ab68Smrg FcStrSetAdd 49032c393a42Smrg 49042c393a42SmrgName 49052c393a42Smrg 4906ca08ab68Smrg FcStrSetAdd -- add to a string set 49072c393a42Smrg 49082c393a42SmrgSynopsis 49092c393a42Smrg 4910c9710b42Smrg #include <fontconfig/fontconfig.h> 49112c393a42Smrg 4912a6844aabSmrg 4913ca08ab68Smrg FcBool FcStrSetAdd(FcStrSet *set, const FcChar8 *s); 49142c393a42Smrg 49152c393a42SmrgDescription 49162c393a42Smrg 4917ca08ab68Smrg Adds a copy of s to set. 49182c393a42Smrg 49192c393a42SmrgVersion 49202c393a42Smrg 4921c9710b42Smrg Fontconfig version 2.10.93 49222c393a42Smrg 4923ca08ab68Smrg FcStrSetAddFilename 49242c393a42Smrg 49252c393a42SmrgName 49262c393a42Smrg 4927ca08ab68Smrg FcStrSetAddFilename -- add a filename to a string set 49282c393a42Smrg 49292c393a42SmrgSynopsis 49302c393a42Smrg 4931c9710b42Smrg #include <fontconfig/fontconfig.h> 49322c393a42Smrg 4933a6844aabSmrg 4934ca08ab68Smrg FcBool FcStrSetAddFilename(FcStrSet *set, const FcChar8 *s); 49352c393a42Smrg 49362c393a42SmrgDescription 49372c393a42Smrg 4938ca08ab68Smrg Adds a copy s to set, The copy is created with FcStrCopyFilename so that 4939ca08ab68Smrg leading '~' values are replaced with the value of the HOME environment 4940ca08ab68Smrg variable. 49412c393a42Smrg 49422c393a42SmrgVersion 49432c393a42Smrg 4944c9710b42Smrg Fontconfig version 2.10.93 49452c393a42Smrg 4946ca08ab68Smrg FcStrSetDel 49472c393a42Smrg 49482c393a42SmrgName 49492c393a42Smrg 4950ca08ab68Smrg FcStrSetDel -- delete from a string set 49512c393a42Smrg 49522c393a42SmrgSynopsis 49532c393a42Smrg 4954c9710b42Smrg #include <fontconfig/fontconfig.h> 49552c393a42Smrg 4956a6844aabSmrg 4957ca08ab68Smrg FcBool FcStrSetDel(FcStrSet *set, const FcChar8 *s); 49582c393a42Smrg 49592c393a42SmrgDescription 49602c393a42Smrg 4961ca08ab68Smrg Removes s from set, returning FcTrue if s was a member else FcFalse. 49622c393a42Smrg 49632c393a42SmrgVersion 49642c393a42Smrg 4965c9710b42Smrg Fontconfig version 2.10.93 49662c393a42Smrg 4967ca08ab68Smrg FcStrSetDestroy 49682c393a42Smrg 49692c393a42SmrgName 49702c393a42Smrg 4971ca08ab68Smrg FcStrSetDestroy -- destroy a string set 49722c393a42Smrg 49732c393a42SmrgSynopsis 49742c393a42Smrg 4975c9710b42Smrg #include <fontconfig/fontconfig.h> 49762c393a42Smrg 4977a6844aabSmrg 4978ca08ab68Smrg void FcStrSetDestroy(FcStrSet *set); 49792c393a42Smrg 49802c393a42SmrgDescription 49812c393a42Smrg 4982ca08ab68Smrg Destroys set. 49832c393a42Smrg 49842c393a42SmrgVersion 49852c393a42Smrg 4986c9710b42Smrg Fontconfig version 2.10.93 49872c393a42Smrg 4988ca08ab68Smrg FcStrListCreate 49892c393a42Smrg 49902c393a42SmrgName 49912c393a42Smrg 4992ca08ab68Smrg FcStrListCreate -- create a string iterator 49932c393a42Smrg 49942c393a42SmrgSynopsis 49952c393a42Smrg 4996c9710b42Smrg #include <fontconfig/fontconfig.h> 49972c393a42Smrg 4998a6844aabSmrg 4999ca08ab68Smrg FcStrList * FcStrListCreate(FcStrSet *set); 50002c393a42Smrg 50012c393a42SmrgDescription 50022c393a42Smrg 5003ca08ab68Smrg Creates an iterator to list the strings in set. 50042c393a42Smrg 50052c393a42SmrgVersion 50062c393a42Smrg 5007c9710b42Smrg Fontconfig version 2.10.93 50082c393a42Smrg 5009ca08ab68Smrg FcStrListNext 50102c393a42Smrg 50112c393a42SmrgName 50122c393a42Smrg 5013ca08ab68Smrg FcStrListNext -- get next string in iteration 50142c393a42Smrg 50152c393a42SmrgSynopsis 50162c393a42Smrg 5017c9710b42Smrg #include <fontconfig/fontconfig.h> 50182c393a42Smrg 5019a6844aabSmrg 5020ca08ab68Smrg FcChar8 * FcStrListNext(FcStrList *list); 50212c393a42Smrg 50222c393a42SmrgDescription 50232c393a42Smrg 5024ca08ab68Smrg Returns the next string in set. 50252c393a42Smrg 50262c393a42SmrgVersion 50272c393a42Smrg 5028c9710b42Smrg Fontconfig version 2.10.93 50292c393a42Smrg 5030ca08ab68Smrg FcStrListDone 50312c393a42Smrg 5032ca08ab68SmrgName 5033ca08ab68Smrg 5034ca08ab68Smrg FcStrListDone -- destroy a string iterator 5035ca08ab68Smrg 5036ca08ab68SmrgSynopsis 5037ca08ab68Smrg 5038c9710b42Smrg #include <fontconfig/fontconfig.h> 5039ca08ab68Smrg 5040ca08ab68Smrg 5041ca08ab68Smrg void FcStrListDone(FcStrList *list); 5042ca08ab68Smrg 5043ca08ab68SmrgDescription 5044ca08ab68Smrg 5045ca08ab68Smrg Destroys the enumerator list. 5046ca08ab68Smrg 5047ca08ab68SmrgVersion 5048ca08ab68Smrg 5049c9710b42Smrg Fontconfig version 2.10.93 5050ca08ab68Smrg 5051ca08ab68Smrg -------------------------------------------------------------------------- 5052ca08ab68Smrg 5053ca08ab68Smrg String utilities 5054ca08ab68Smrg 5055ca08ab68Smrg Table of Contents 5056ca08ab68Smrg 5057c9710b42Smrg [173]FcUtf8ToUcs4 -- convert UTF-8 to UCS4 5058ca08ab68Smrg 5059c9710b42Smrg [174]FcUcs4ToUtf8 -- convert UCS4 to UTF-8 50602c393a42Smrg 5061c9710b42Smrg [175]FcUtf8Len -- count UTF-8 encoded chars 50622c393a42Smrg 5063c9710b42Smrg [176]FcUtf16ToUcs4 -- convert UTF-16 to UCS4 50642c393a42Smrg 5065c9710b42Smrg [177]FcUtf16Len -- count UTF-16 encoded chars 5066ca08ab68Smrg 5067c9710b42Smrg [178]FcIsLower -- check for lower case ASCII character 5068ca08ab68Smrg 5069c9710b42Smrg [179]FcIsUpper -- check for upper case ASCII character 5070ca08ab68Smrg 5071c9710b42Smrg [180]FcToLower -- convert upper case ASCII to lower case 5072ca08ab68Smrg 5073c9710b42Smrg [181]FcStrCopy -- duplicate a string 5074ca08ab68Smrg 5075c9710b42Smrg [182]FcStrDowncase -- create a lower case translation of a string 5076ca08ab68Smrg 5077c9710b42Smrg [183]FcStrCopyFilename -- create a complete path from a filename 5078ca08ab68Smrg 5079c9710b42Smrg [184]FcStrCmp -- compare UTF-8 strings 5080ca08ab68Smrg 5081c9710b42Smrg [185]FcStrCmpIgnoreCase -- compare UTF-8 strings ignoring case 5082ca08ab68Smrg 5083c9710b42Smrg [186]FcStrStr -- locate UTF-8 substring 5084ca08ab68Smrg 5085c9710b42Smrg [187]FcStrStrIgnoreCase -- locate UTF-8 substring ignoring ASCII case 5086ca08ab68Smrg 5087c9710b42Smrg [188]FcStrPlus -- concatenate two strings 5088ca08ab68Smrg 5089c9710b42Smrg [189]FcStrFree -- free a string 5090ca08ab68Smrg 5091c9710b42Smrg [190]FcStrDirname -- directory part of filename 5092ca08ab68Smrg 5093c9710b42Smrg [191]FcStrBasename -- last component of filename 5094ca08ab68Smrg 5095ca08ab68Smrg Fontconfig manipulates many UTF-8 strings represented with the FcChar8 5096ca08ab68Smrg type. These functions are exposed to help applications deal with these 5097ca08ab68Smrg UTF-8 strings in a locale-insensitive manner. 5098ca08ab68Smrg 5099ca08ab68Smrg FcUtf8ToUcs4 51002c393a42Smrg 51012c393a42SmrgName 51022c393a42Smrg 5103ca08ab68Smrg FcUtf8ToUcs4 -- convert UTF-8 to UCS4 51042c393a42Smrg 51052c393a42SmrgSynopsis 51062c393a42Smrg 5107c9710b42Smrg #include <fontconfig/fontconfig.h> 51082c393a42Smrg 5109a6844aabSmrg 5110ca08ab68Smrg int FcUtf8ToUcs4(FcChar8 *src, FcChar32 *dst, int len); 51112c393a42Smrg 51122c393a42SmrgDescription 51132c393a42Smrg 5114ca08ab68Smrg Converts the next Unicode char from src into dst and returns the number of 5115ca08ab68Smrg bytes containing the char. src must be at least len bytes long. 51162c393a42Smrg 51172c393a42SmrgVersion 51182c393a42Smrg 5119c9710b42Smrg Fontconfig version 2.10.93 51202c393a42Smrg 5121ca08ab68Smrg FcUcs4ToUtf8 51222c393a42Smrg 51232c393a42SmrgName 51242c393a42Smrg 5125ca08ab68Smrg FcUcs4ToUtf8 -- convert UCS4 to UTF-8 51262c393a42Smrg 51272c393a42SmrgSynopsis 51282c393a42Smrg 5129c9710b42Smrg #include <fontconfig/fontconfig.h> 51302c393a42Smrg 5131a6844aabSmrg 5132ca08ab68Smrg int FcUcs4ToUtf8(FcChar32 src, FcChar8 dst[FC_UTF8_MAX_LEN]); 51332c393a42Smrg 51342c393a42SmrgDescription 51352c393a42Smrg 5136ca08ab68Smrg Converts the Unicode char from src into dst and returns the number of 5137ca08ab68Smrg bytes needed to encode the char. 51382c393a42Smrg 51392c393a42SmrgVersion 51402c393a42Smrg 5141c9710b42Smrg Fontconfig version 2.10.93 51422c393a42Smrg 5143ca08ab68Smrg FcUtf8Len 51442c393a42Smrg 51452c393a42SmrgName 51462c393a42Smrg 5147ca08ab68Smrg FcUtf8Len -- count UTF-8 encoded chars 51482c393a42Smrg 51492c393a42SmrgSynopsis 51502c393a42Smrg 5151c9710b42Smrg #include <fontconfig/fontconfig.h> 51522c393a42Smrg 5153a6844aabSmrg 5154ca08ab68Smrg FcBool FcUtf8Len(FcChar8 *src, int len, int *nchar, int *wchar); 51552c393a42Smrg 51562c393a42SmrgDescription 51572c393a42Smrg 5158ca08ab68Smrg Counts the number of Unicode chars in len bytes of src. Places that count 5159ca08ab68Smrg in nchar. wchar contains 1, 2 or 4 depending on the number of bytes needed 5160ca08ab68Smrg to hold the largest Unicode char counted. The return value indicates 5161ca08ab68Smrg whether src is a well-formed UTF8 string. 51622c393a42Smrg 51632c393a42SmrgVersion 51642c393a42Smrg 5165c9710b42Smrg Fontconfig version 2.10.93 51662c393a42Smrg 5167ca08ab68Smrg FcUtf16ToUcs4 51682c393a42Smrg 51692c393a42SmrgName 51702c393a42Smrg 5171ca08ab68Smrg FcUtf16ToUcs4 -- convert UTF-16 to UCS4 51722c393a42Smrg 51732c393a42SmrgSynopsis 51742c393a42Smrg 5175c9710b42Smrg #include <fontconfig/fontconfig.h> 51762c393a42Smrg 5177a6844aabSmrg 5178ca08ab68Smrg int FcUtf16ToUcs4(FcChar8 *src, FcEndian endian, FcChar32 *dst, int len); 51792c393a42Smrg 51802c393a42SmrgDescription 51812c393a42Smrg 5182ca08ab68Smrg Converts the next Unicode char from src into dst and returns the number of 5183ca08ab68Smrg bytes containing the char. src must be at least len bytes long. Bytes of 5184ca08ab68Smrg src are combined into 16-bit units according to endian. 51852c393a42Smrg 51862c393a42SmrgVersion 51872c393a42Smrg 5188c9710b42Smrg Fontconfig version 2.10.93 51892c393a42Smrg 5190ca08ab68Smrg FcUtf16Len 51912c393a42Smrg 51922c393a42SmrgName 51932c393a42Smrg 5194ca08ab68Smrg FcUtf16Len -- count UTF-16 encoded chars 51952c393a42Smrg 51962c393a42SmrgSynopsis 51972c393a42Smrg 5198c9710b42Smrg #include <fontconfig/fontconfig.h> 51992c393a42Smrg 5200a6844aabSmrg 5201ca08ab68Smrg FcBool FcUtf16Len(FcChar8 *src, FcEndian endian, int len, int *nchar, int 5202ca08ab68Smrg *wchar); 52032c393a42Smrg 52042c393a42SmrgDescription 52052c393a42Smrg 5206ca08ab68Smrg Counts the number of Unicode chars in len bytes of src. Bytes of src are 5207ca08ab68Smrg combined into 16-bit units according to endian. Places that count in 5208ca08ab68Smrg nchar. wchar contains 1, 2 or 4 depending on the number of bytes needed to 5209ca08ab68Smrg hold the largest Unicode char counted. The return value indicates whether 5210ca08ab68Smrg string is a well-formed UTF16 string. 52112c393a42Smrg 52122c393a42SmrgVersion 52132c393a42Smrg 5214c9710b42Smrg Fontconfig version 2.10.93 52152c393a42Smrg 5216ca08ab68Smrg FcIsLower 52172c393a42Smrg 52182c393a42SmrgName 52192c393a42Smrg 5220ca08ab68Smrg FcIsLower -- check for lower case ASCII character 52212c393a42Smrg 52222c393a42SmrgSynopsis 52232c393a42Smrg 5224c9710b42Smrg #include <fontconfig/fontconfig.h> 52252c393a42Smrg 5226a6844aabSmrg 5227ca08ab68Smrg FcBool FcIsLower(FcChar8c); 52282c393a42Smrg 52292c393a42SmrgDescription 52302c393a42Smrg 5231ca08ab68Smrg This macro checks whether c is an lower case ASCII letter. 52322c393a42Smrg 52332c393a42SmrgVersion 52342c393a42Smrg 5235c9710b42Smrg Fontconfig version 2.10.93 52362c393a42Smrg 5237ca08ab68Smrg FcIsUpper 52382c393a42Smrg 52392c393a42SmrgName 52402c393a42Smrg 5241ca08ab68Smrg FcIsUpper -- check for upper case ASCII character 52422c393a42Smrg 52432c393a42SmrgSynopsis 52442c393a42Smrg 5245c9710b42Smrg #include <fontconfig/fontconfig.h> 52462c393a42Smrg 5247a6844aabSmrg 5248ca08ab68Smrg FcBool FcIsUpper(FcChar8c); 52492c393a42Smrg 52502c393a42SmrgDescription 52512c393a42Smrg 5252ca08ab68Smrg This macro checks whether c is a upper case ASCII letter. 52532c393a42Smrg 52542c393a42SmrgVersion 52552c393a42Smrg 5256c9710b42Smrg Fontconfig version 2.10.93 52572c393a42Smrg 5258ca08ab68Smrg FcToLower 52592c393a42Smrg 52602c393a42SmrgName 52612c393a42Smrg 5262ca08ab68Smrg FcToLower -- convert upper case ASCII to lower case 52632c393a42Smrg 52642c393a42SmrgSynopsis 52652c393a42Smrg 5266c9710b42Smrg #include <fontconfig/fontconfig.h> 52672c393a42Smrg 5268a6844aabSmrg 5269ca08ab68Smrg FcChar8 FcToLower(FcChar8c); 52702c393a42Smrg 52712c393a42SmrgDescription 52722c393a42Smrg 5273ca08ab68Smrg This macro converts upper case ASCII c to the equivalent lower case 5274ca08ab68Smrg letter. 52752c393a42Smrg 52762c393a42SmrgVersion 52772c393a42Smrg 5278c9710b42Smrg Fontconfig version 2.10.93 52792c393a42Smrg 5280ca08ab68Smrg FcStrCopy 52812c393a42Smrg 52822c393a42SmrgName 52832c393a42Smrg 5284ca08ab68Smrg FcStrCopy -- duplicate a string 52852c393a42Smrg 52862c393a42SmrgSynopsis 52872c393a42Smrg 5288c9710b42Smrg #include <fontconfig/fontconfig.h> 52892c393a42Smrg 5290a6844aabSmrg 5291ca08ab68Smrg FcChar8 * FcStrCopy(const FcChar8 *s); 52922c393a42Smrg 52932c393a42SmrgDescription 52942c393a42Smrg 5295ca08ab68Smrg Allocates memory, copies s and returns the resulting buffer. Yes, this is 5296ca08ab68Smrg strdup, but that function isn't available on every platform. 52972c393a42Smrg 52982c393a42SmrgVersion 52992c393a42Smrg 5300c9710b42Smrg Fontconfig version 2.10.93 53012c393a42Smrg 5302ca08ab68Smrg FcStrDowncase 53032c393a42Smrg 53042c393a42SmrgName 53052c393a42Smrg 5306ca08ab68Smrg FcStrDowncase -- create a lower case translation of a string 53072c393a42Smrg 53082c393a42SmrgSynopsis 53092c393a42Smrg 5310c9710b42Smrg #include <fontconfig/fontconfig.h> 53112c393a42Smrg 5312a6844aabSmrg 5313ca08ab68Smrg FcChar8 * FcStrDowncase(const FcChar8 *s); 53142c393a42Smrg 53152c393a42SmrgDescription 53162c393a42Smrg 5317ca08ab68Smrg Allocates memory, copies s, converting upper case letters to lower case 5318ca08ab68Smrg and returns the allocated buffer. 53192c393a42Smrg 53202c393a42SmrgVersion 53212c393a42Smrg 5322c9710b42Smrg Fontconfig version 2.10.93 53232c393a42Smrg 5324ca08ab68Smrg FcStrCopyFilename 53252c393a42Smrg 53262c393a42SmrgName 53272c393a42Smrg 5328ca08ab68Smrg FcStrCopyFilename -- create a complete path from a filename 53292c393a42Smrg 53302c393a42SmrgSynopsis 53312c393a42Smrg 5332c9710b42Smrg #include <fontconfig/fontconfig.h> 53332c393a42Smrg 5334a6844aabSmrg 5335ca08ab68Smrg FcChar8 * FcStrCopyFilename(const FcChar8 *s); 53362c393a42Smrg 53372c393a42SmrgDescription 53382c393a42Smrg 5339ca08ab68Smrg FcStrCopyFilename constructs an absolute pathname from s. It converts any 5340ca08ab68Smrg leading '~' characters in to the value of the HOME environment variable, 5341ca08ab68Smrg and any relative paths are converted to absolute paths using the current 5342ca08ab68Smrg working directory. Sequences of '/' characters are converted to a single 5343ca08ab68Smrg '/', and names containing the current directory '.' or parent directory 5344ca08ab68Smrg '..' are correctly reconstructed. Returns NULL if '~' is the leading 5345ca08ab68Smrg character and HOME is unset or disabled (see FcConfigEnableHome). 53462c393a42Smrg 53472c393a42SmrgVersion 53482c393a42Smrg 5349c9710b42Smrg Fontconfig version 2.10.93 53502c393a42Smrg 5351ca08ab68Smrg FcStrCmp 53522c393a42Smrg 53532c393a42SmrgName 53542c393a42Smrg 5355ca08ab68Smrg FcStrCmp -- compare UTF-8 strings 53562c393a42Smrg 53572c393a42SmrgSynopsis 53582c393a42Smrg 5359c9710b42Smrg #include <fontconfig/fontconfig.h> 53602c393a42Smrg 5361a6844aabSmrg 5362ca08ab68Smrg int FcStrCmp(const FcChar8 *s1, const FcChar8 *s2); 53632c393a42Smrg 53642c393a42SmrgDescription 53652c393a42Smrg 5366ca08ab68Smrg Returns the usual <0, 0, >0 result of comparing s1 and s2. 53672c393a42Smrg 53682c393a42SmrgVersion 53692c393a42Smrg 5370c9710b42Smrg Fontconfig version 2.10.93 53712c393a42Smrg 5372ca08ab68Smrg FcStrCmpIgnoreCase 53732c393a42Smrg 53742c393a42SmrgName 53752c393a42Smrg 5376ca08ab68Smrg FcStrCmpIgnoreCase -- compare UTF-8 strings ignoring case 53772c393a42Smrg 53782c393a42SmrgSynopsis 53792c393a42Smrg 5380c9710b42Smrg #include <fontconfig/fontconfig.h> 53812c393a42Smrg 5382a6844aabSmrg 5383ca08ab68Smrg int FcStrCmpIgnoreCase(const FcChar8 *s1, const FcChar8 *s2); 53842c393a42Smrg 53852c393a42SmrgDescription 53862c393a42Smrg 5387ca08ab68Smrg Returns the usual <0, 0, >0 result of comparing s1 and s2. This test is 5388ca08ab68Smrg case-insensitive for all proper UTF-8 encoded strings. 53892c393a42Smrg 53902c393a42SmrgVersion 53912c393a42Smrg 5392c9710b42Smrg Fontconfig version 2.10.93 53932c393a42Smrg 5394ca08ab68Smrg FcStrStr 53952c393a42Smrg 53962c393a42SmrgName 53972c393a42Smrg 5398ca08ab68Smrg FcStrStr -- locate UTF-8 substring 53992c393a42Smrg 54002c393a42SmrgSynopsis 54012c393a42Smrg 5402c9710b42Smrg #include <fontconfig/fontconfig.h> 54032c393a42Smrg 5404a6844aabSmrg 5405ca08ab68Smrg FcChar8 * FcStrStr(const FcChar8 *s1, const FcChar8 *s2); 54062c393a42Smrg 54072c393a42SmrgDescription 54082c393a42Smrg 5409ca08ab68Smrg Returns the location of s2 in s1. Returns NULL if s2 is not present in s1. 5410ca08ab68Smrg This test will operate properly with UTF8 encoded strings. 54112c393a42Smrg 54122c393a42SmrgVersion 54132c393a42Smrg 5414c9710b42Smrg Fontconfig version 2.10.93 54152c393a42Smrg 5416ca08ab68Smrg FcStrStrIgnoreCase 54172c393a42Smrg 54182c393a42SmrgName 54192c393a42Smrg 5420ca08ab68Smrg FcStrStrIgnoreCase -- locate UTF-8 substring ignoring ASCII case 54212c393a42Smrg 54222c393a42SmrgSynopsis 54232c393a42Smrg 5424c9710b42Smrg #include <fontconfig/fontconfig.h> 54252c393a42Smrg 5426a6844aabSmrg 5427ca08ab68Smrg FcChar8 * FcStrStrIgnoreCase(const FcChar8 *s1, const FcChar8 *s2); 54282c393a42Smrg 54292c393a42SmrgDescription 54302c393a42Smrg 5431ca08ab68Smrg Returns the location of s2 in s1, ignoring case. Returns NULL if s2 is not 5432ca08ab68Smrg present in s1. This test is case-insensitive for all proper UTF-8 encoded 5433ca08ab68Smrg strings. 54342c393a42Smrg 54352c393a42SmrgVersion 54362c393a42Smrg 5437c9710b42Smrg Fontconfig version 2.10.93 54382c393a42Smrg 5439ca08ab68Smrg FcStrPlus 54402c393a42Smrg 54412c393a42SmrgName 54422c393a42Smrg 5443ca08ab68Smrg FcStrPlus -- concatenate two strings 54442c393a42Smrg 54452c393a42SmrgSynopsis 54462c393a42Smrg 5447c9710b42Smrg #include <fontconfig/fontconfig.h> 54482c393a42Smrg 5449a6844aabSmrg 5450ca08ab68Smrg FcChar8 * FcStrPlus(const FcChar8 *s1, const FcChar8 *s2); 54512c393a42Smrg 54522c393a42SmrgDescription 54532c393a42Smrg 5454ca08ab68Smrg This function allocates new storage and places the concatenation of s1 and 5455ca08ab68Smrg s2 there, returning the new string. 54562c393a42Smrg 54572c393a42SmrgVersion 54582c393a42Smrg 5459c9710b42Smrg Fontconfig version 2.10.93 54602c393a42Smrg 5461ca08ab68Smrg FcStrFree 54622c393a42Smrg 54632c393a42SmrgName 54642c393a42Smrg 5465ca08ab68Smrg FcStrFree -- free a string 54662c393a42Smrg 54672c393a42SmrgSynopsis 54682c393a42Smrg 5469c9710b42Smrg #include <fontconfig/fontconfig.h> 54702c393a42Smrg 5471a6844aabSmrg 5472ca08ab68Smrg void FcStrFree(FcChar8 *s); 54732c393a42Smrg 54742c393a42SmrgDescription 54752c393a42Smrg 5476ca08ab68Smrg This is just a wrapper around free(3) which helps track memory usage of 5477ca08ab68Smrg strings within the fontconfig library. 54782c393a42Smrg 54792c393a42SmrgVersion 54802c393a42Smrg 5481c9710b42Smrg Fontconfig version 2.10.93 54822c393a42Smrg 5483ca08ab68Smrg FcStrDirname 54842c393a42Smrg 54852c393a42SmrgName 54862c393a42Smrg 5487ca08ab68Smrg FcStrDirname -- directory part of filename 54882c393a42Smrg 54892c393a42SmrgSynopsis 54902c393a42Smrg 5491c9710b42Smrg #include <fontconfig/fontconfig.h> 54922c393a42Smrg 5493a6844aabSmrg 5494ca08ab68Smrg FcChar8 * FcStrDirname(const FcChar8 *file); 54952c393a42Smrg 54962c393a42SmrgDescription 54972c393a42Smrg 5498ca08ab68Smrg Returns the directory containing file. This is returned in newly allocated 5499ca08ab68Smrg storage which should be freed when no longer needed. 55002c393a42Smrg 55012c393a42SmrgVersion 55022c393a42Smrg 5503c9710b42Smrg Fontconfig version 2.10.93 55042c393a42Smrg 5505ca08ab68Smrg FcStrBasename 55062c393a42Smrg 55072c393a42SmrgName 55082c393a42Smrg 5509ca08ab68Smrg FcStrBasename -- last component of filename 55102c393a42Smrg 55112c393a42SmrgSynopsis 55122c393a42Smrg 5513c9710b42Smrg #include <fontconfig/fontconfig.h> 55142c393a42Smrg 5515a6844aabSmrg 5516ca08ab68Smrg FcChar8 * FcStrBasename(const FcChar8 *file); 55172c393a42Smrg 55182c393a42SmrgDescription 55192c393a42Smrg 5520ca08ab68Smrg Returns the filename of file stripped of any leading directory names. This 5521ca08ab68Smrg is returned in newly allocated storage which should be freed when no 5522ca08ab68Smrg longer needed. 55232c393a42Smrg 55242c393a42SmrgVersion 55252c393a42Smrg 5526c9710b42Smrg Fontconfig version 2.10.93 5527ca08ab68Smrg 5528ca08ab68SmrgReferences 5529a6844aabSmrg 5530ca08ab68Smrg Visible links 5531c9710b42Smrg 1. file:///tmp/html-eJSsR7#AEN16 5532c9710b42Smrg 2. file:///tmp/html-eJSsR7#AEN19 5533c9710b42Smrg 3. file:///tmp/html-eJSsR7#AEN31 5534c9710b42Smrg 4. file:///tmp/html-eJSsR7#AEN102 5535c9710b42Smrg 5. file:///tmp/html-eJSsR7#FCINITLOADCONFIG 5536c9710b42Smrg 6. file:///tmp/html-eJSsR7#FCINITLOADCONFIGANDFONTS 5537c9710b42Smrg 7. file:///tmp/html-eJSsR7#FCINIT 5538c9710b42Smrg 8. file:///tmp/html-eJSsR7#FCFINI 5539c9710b42Smrg 9. file:///tmp/html-eJSsR7#FCGETVERSION 5540c9710b42Smrg 10. file:///tmp/html-eJSsR7#FCINITREINITIALIZE 5541c9710b42Smrg 11. file:///tmp/html-eJSsR7#FCINITBRINGUPTODATE 5542c9710b42Smrg 12. file:///tmp/html-eJSsR7#FCPATTERNCREATE 5543c9710b42Smrg 13. file:///tmp/html-eJSsR7#FCPATTERNDUPLICATE 5544c9710b42Smrg 14. file:///tmp/html-eJSsR7#FCPATTERNREFERENCE 5545c9710b42Smrg 15. file:///tmp/html-eJSsR7#FCPATTERNDESTROY 5546c9710b42Smrg 16. file:///tmp/html-eJSsR7#FCPATTERNEQUAL 5547c9710b42Smrg 17. file:///tmp/html-eJSsR7#FCPATTERNEQUALSUBSET 5548c9710b42Smrg 18. file:///tmp/html-eJSsR7#FCPATTERNFILTER 5549c9710b42Smrg 19. file:///tmp/html-eJSsR7#FCPATTERNHASH 5550c9710b42Smrg 20. file:///tmp/html-eJSsR7#FCPATTERNADD 5551c9710b42Smrg 21. file:///tmp/html-eJSsR7#FCPATTERNADDWEAK 5552c9710b42Smrg 22. file:///tmp/html-eJSsR7#FCPATTERNADD-TYPE 5553c9710b42Smrg 23. file:///tmp/html-eJSsR7#FCPATTERNGET 5554c9710b42Smrg 24. file:///tmp/html-eJSsR7#FCPATTERNGET-TYPE 5555c9710b42Smrg 25. file:///tmp/html-eJSsR7#FCPATTERNBUILD 5556c9710b42Smrg 26. file:///tmp/html-eJSsR7#FCPATTERNDEL 5557c9710b42Smrg 27. file:///tmp/html-eJSsR7#FCPATTERNREMOVE 5558c9710b42Smrg 28. file:///tmp/html-eJSsR7#FCPATTERNPRINT 5559c9710b42Smrg 29. file:///tmp/html-eJSsR7#FCDEFAULTSUBSTITUTE 5560c9710b42Smrg 30. file:///tmp/html-eJSsR7#FCNAMEPARSE 5561c9710b42Smrg 31. file:///tmp/html-eJSsR7#FCNAMEUNPARSE 5562c9710b42Smrg 32. file:///tmp/html-eJSsR7#FCPATTERNFORMAT 5563c9710b42Smrg 33. file:///tmp/html-eJSsR7#FCFONTSETCREATE 5564c9710b42Smrg 34. file:///tmp/html-eJSsR7#FCFONTSETDESTROY 5565c9710b42Smrg 35. file:///tmp/html-eJSsR7#FCFONTSETADD 5566c9710b42Smrg 36. file:///tmp/html-eJSsR7#FCFONTSETLIST 5567c9710b42Smrg 37. file:///tmp/html-eJSsR7#FCFONTSETMATCH 5568c9710b42Smrg 38. file:///tmp/html-eJSsR7#FCFONTSETPRINT 5569c9710b42Smrg 39. file:///tmp/html-eJSsR7#FCFONTSETSORT 5570c9710b42Smrg 40. file:///tmp/html-eJSsR7#FCFONTSETSORTDESTROY 5571c9710b42Smrg 41. file:///tmp/html-eJSsR7#FCOBJECTSETCREATE 5572c9710b42Smrg 42. file:///tmp/html-eJSsR7#FCOBJECTSETADD 5573c9710b42Smrg 43. file:///tmp/html-eJSsR7#FCOBJECTSETDESTROY 5574c9710b42Smrg 44. file:///tmp/html-eJSsR7#FCOBJECTSETBUILD 5575c9710b42Smrg 45. file:///tmp/html-eJSsR7#FCFREETYPECHARINDEX 5576c9710b42Smrg 46. file:///tmp/html-eJSsR7#FCFREETYPECHARSET 5577c9710b42Smrg 47. file:///tmp/html-eJSsR7#FCFREETYPECHARSETANDSPACING 5578c9710b42Smrg 48. file:///tmp/html-eJSsR7#FCFREETYPEQUERY 5579c9710b42Smrg 49. file:///tmp/html-eJSsR7#FCFREETYPEQUERYFACE 5580c9710b42Smrg 50. file:///tmp/html-eJSsR7#FCVALUEDESTROY 5581c9710b42Smrg 51. file:///tmp/html-eJSsR7#FCVALUESAVE 5582c9710b42Smrg 52. file:///tmp/html-eJSsR7#FCVALUEPRINT 5583c9710b42Smrg 53. file:///tmp/html-eJSsR7#FCVALUEEQUAL 5584c9710b42Smrg 54. file:///tmp/html-eJSsR7#FCCHARSETCREATE 5585c9710b42Smrg 55. file:///tmp/html-eJSsR7#FCCHARSETDESTROY 5586c9710b42Smrg 56. file:///tmp/html-eJSsR7#FCCHARSETADDCHAR 5587c9710b42Smrg 57. file:///tmp/html-eJSsR7#FCCHARSETDELCHAR 5588c9710b42Smrg 58. file:///tmp/html-eJSsR7#FCCHARSETCOPY 5589c9710b42Smrg 59. file:///tmp/html-eJSsR7#FCCHARSETEQUAL 5590c9710b42Smrg 60. file:///tmp/html-eJSsR7#FCCHARSETINTERSECT 5591c9710b42Smrg 61. file:///tmp/html-eJSsR7#FCCHARSETUNION 5592c9710b42Smrg 62. file:///tmp/html-eJSsR7#FCCHARSETSUBTRACT 5593c9710b42Smrg 63. file:///tmp/html-eJSsR7#FCCHARSETMERGE 5594c9710b42Smrg 64. file:///tmp/html-eJSsR7#FCCHARSETHASCHAR 5595c9710b42Smrg 65. file:///tmp/html-eJSsR7#FCCHARSETCOUNT 5596c9710b42Smrg 66. file:///tmp/html-eJSsR7#FCCHARSETINTERSECTCOUNT 5597c9710b42Smrg 67. file:///tmp/html-eJSsR7#FCCHARSETSUBTRACTCOUNT 5598c9710b42Smrg 68. file:///tmp/html-eJSsR7#FCCHARSETISSUBSET 5599c9710b42Smrg 69. file:///tmp/html-eJSsR7#FCCHARSETFIRSTPAGE 5600c9710b42Smrg 70. file:///tmp/html-eJSsR7#FCCHARSETNEXTPAGE 5601c9710b42Smrg 71. file:///tmp/html-eJSsR7#FCCHARSETCOVERAGE 5602c9710b42Smrg 72. file:///tmp/html-eJSsR7#FCCHARSETNEW 5603c9710b42Smrg 73. file:///tmp/html-eJSsR7#FCLANGSETCREATE 5604c9710b42Smrg 74. file:///tmp/html-eJSsR7#FCLANGSETDESTROY 5605c9710b42Smrg 75. file:///tmp/html-eJSsR7#FCLANGSETCOPY 5606c9710b42Smrg 76. file:///tmp/html-eJSsR7#FCLANGSETADD 5607c9710b42Smrg 77. file:///tmp/html-eJSsR7#FCLANGSETDEL 5608c9710b42Smrg 78. file:///tmp/html-eJSsR7#FCLANGSETUNION 5609c9710b42Smrg 79. file:///tmp/html-eJSsR7#FCLANGSETSUBTRACT 5610c9710b42Smrg 80. file:///tmp/html-eJSsR7#FCLANGSETCOMPARE 5611c9710b42Smrg 81. file:///tmp/html-eJSsR7#FCLANGSETCONTAINS 5612c9710b42Smrg 82. file:///tmp/html-eJSsR7#FCLANGSETEQUAL 5613c9710b42Smrg 83. file:///tmp/html-eJSsR7#FCLANGSETHASH 5614c9710b42Smrg 84. file:///tmp/html-eJSsR7#FCLANGSETHASLANG 5615c9710b42Smrg 85. file:///tmp/html-eJSsR7#FCGETDEFAULTLANGS 5616c9710b42Smrg 86. file:///tmp/html-eJSsR7#FCGETLANGS 5617c9710b42Smrg 87. file:///tmp/html-eJSsR7#FCLANGNORMALIZE 5618c9710b42Smrg 88. file:///tmp/html-eJSsR7#FCLANGGETCHARSET 5619c9710b42Smrg 89. file:///tmp/html-eJSsR7#FCMATRIXINIT 5620c9710b42Smrg 90. file:///tmp/html-eJSsR7#FCMATRIXCOPY 5621c9710b42Smrg 91. file:///tmp/html-eJSsR7#FCMATRIXEQUAL 5622c9710b42Smrg 92. file:///tmp/html-eJSsR7#FCMATRIXMULTIPLY 5623c9710b42Smrg 93. file:///tmp/html-eJSsR7#FCMATRIXROTATE 5624c9710b42Smrg 94. file:///tmp/html-eJSsR7#FCMATRIXSCALE 5625c9710b42Smrg 95. file:///tmp/html-eJSsR7#FCMATRIXSHEAR 5626c9710b42Smrg 96. file:///tmp/html-eJSsR7#FCCONFIGCREATE 5627c9710b42Smrg 97. file:///tmp/html-eJSsR7#FCCONFIGREFERENCE 5628c9710b42Smrg 98. file:///tmp/html-eJSsR7#FCCONFIGDESTROY 5629c9710b42Smrg 99. file:///tmp/html-eJSsR7#FCCONFIGSETCURRENT 5630c9710b42Smrg 100. file:///tmp/html-eJSsR7#FCCONFIGGETCURRENT 5631c9710b42Smrg 101. file:///tmp/html-eJSsR7#FCCONFIGUPTODATE 5632c9710b42Smrg 102. file:///tmp/html-eJSsR7#FCCONFIGHOME 5633c9710b42Smrg 103. file:///tmp/html-eJSsR7#FCCONFIGENABLEHOME 5634c9710b42Smrg 104. file:///tmp/html-eJSsR7#FCCONFIGBUILDFONTS 5635c9710b42Smrg 105. file:///tmp/html-eJSsR7#FCCONFIGGETCONFIGDIRS 5636c9710b42Smrg 106. file:///tmp/html-eJSsR7#FCCONFIGGETFONTDIRS 5637c9710b42Smrg 107. file:///tmp/html-eJSsR7#FCCONFIGGETCONFIGFILES 5638c9710b42Smrg 108. file:///tmp/html-eJSsR7#FCCONFIGGETCACHE 5639c9710b42Smrg 109. file:///tmp/html-eJSsR7#FCCONFIGGETCACHEDIRS 5640c9710b42Smrg 110. file:///tmp/html-eJSsR7#FCCONFIGGETFONTS 5641c9710b42Smrg 111. file:///tmp/html-eJSsR7#FCCONFIGGETBLANKS 5642c9710b42Smrg 112. file:///tmp/html-eJSsR7#FCCONFIGGETRESCANINTERVAL 5643c9710b42Smrg 113. file:///tmp/html-eJSsR7#FCCONFIGSETRESCANINTERVAL 5644c9710b42Smrg 114. file:///tmp/html-eJSsR7#FCCONFIGAPPFONTADDFILE 5645c9710b42Smrg 115. file:///tmp/html-eJSsR7#FCCONFIGAPPFONTADDDIR 5646c9710b42Smrg 116. file:///tmp/html-eJSsR7#FCCONFIGAPPFONTCLEAR 5647c9710b42Smrg 117. file:///tmp/html-eJSsR7#FCCONFIGSUBSTITUTEWITHPAT 5648c9710b42Smrg 118. file:///tmp/html-eJSsR7#FCCONFIGSUBSTITUTE 5649c9710b42Smrg 119. file:///tmp/html-eJSsR7#FCFONTMATCH 5650c9710b42Smrg 120. file:///tmp/html-eJSsR7#FCFONTSORT 5651c9710b42Smrg 121. file:///tmp/html-eJSsR7#FCFONTRENDERPREPARE 5652c9710b42Smrg 122. file:///tmp/html-eJSsR7#FCFONTLIST 5653c9710b42Smrg 123. file:///tmp/html-eJSsR7#FCCONFIGFILENAME 5654c9710b42Smrg 124. file:///tmp/html-eJSsR7#FCCONFIGPARSEANDLOAD 5655c9710b42Smrg 125. file:///tmp/html-eJSsR7#FCCONFIGGETSYSROOT 5656c9710b42Smrg 126. file:///tmp/html-eJSsR7#FCCONFIGSETSYSROOT 5657c9710b42Smrg 127. file:///tmp/html-eJSsR7#FCNAMEREGISTEROBJECTTYPES 5658c9710b42Smrg 128. file:///tmp/html-eJSsR7#FCNAMEUNREGISTEROBJECTTYPES 5659c9710b42Smrg 129. file:///tmp/html-eJSsR7#FCNAMEGETOBJECTTYPE 5660c9710b42Smrg 130. file:///tmp/html-eJSsR7#FCNAMEREGISTERCONSTANTS 5661c9710b42Smrg 131. file:///tmp/html-eJSsR7#FCNAMEUNREGISTERCONSTANTS 5662c9710b42Smrg 132. file:///tmp/html-eJSsR7#FCNAMEGETCONSTANT 5663c9710b42Smrg 133. file:///tmp/html-eJSsR7#FCNAMECONSTANT 5664c9710b42Smrg 134. file:///tmp/html-eJSsR7#FCBLANKSCREATE 5665c9710b42Smrg 135. file:///tmp/html-eJSsR7#FCBLANKSDESTROY 5666c9710b42Smrg 136. file:///tmp/html-eJSsR7#FCBLANKSADD 5667c9710b42Smrg 137. file:///tmp/html-eJSsR7#FCBLANKSISMEMBER 5668c9710b42Smrg 138. file:///tmp/html-eJSsR7#FCATOMICCREATE 5669c9710b42Smrg 139. file:///tmp/html-eJSsR7#FCATOMICLOCK 5670c9710b42Smrg 140. file:///tmp/html-eJSsR7#FCATOMICNEWFILE 5671c9710b42Smrg 141. file:///tmp/html-eJSsR7#FCATOMICORIGFILE 5672c9710b42Smrg 142. file:///tmp/html-eJSsR7#FCATOMICREPLACEORIG 5673c9710b42Smrg 143. file:///tmp/html-eJSsR7#FCATOMICDELETENEW 5674c9710b42Smrg 144. file:///tmp/html-eJSsR7#FCATOMICUNLOCK 5675c9710b42Smrg 145. file:///tmp/html-eJSsR7#FCATOMICDESTROY 5676c9710b42Smrg 146. file:///tmp/html-eJSsR7#FCFILESCAN 5677c9710b42Smrg 147. file:///tmp/html-eJSsR7#FCFILEISDIR 5678c9710b42Smrg 148. file:///tmp/html-eJSsR7#FCDIRSCAN 5679c9710b42Smrg 149. file:///tmp/html-eJSsR7#FCDIRSAVE 5680c9710b42Smrg 150. file:///tmp/html-eJSsR7#FCDIRCACHEUNLINK 5681c9710b42Smrg 151. file:///tmp/html-eJSsR7#FCDIRCACHEVALID 5682c9710b42Smrg 152. file:///tmp/html-eJSsR7#FCDIRCACHELOAD 5683c9710b42Smrg 153. file:///tmp/html-eJSsR7#FCDIRCACHEREAD 5684c9710b42Smrg 154. file:///tmp/html-eJSsR7#FCDIRCACHELOADFILE 5685c9710b42Smrg 155. file:///tmp/html-eJSsR7#FCDIRCACHEUNLOAD 5686c9710b42Smrg 156. file:///tmp/html-eJSsR7#FCCACHEDIR 5687c9710b42Smrg 157. file:///tmp/html-eJSsR7#FCCACHECOPYSET 5688c9710b42Smrg 158. file:///tmp/html-eJSsR7#FCCACHESUBDIR 5689c9710b42Smrg 159. file:///tmp/html-eJSsR7#FCCACHENUMSUBDIR 5690c9710b42Smrg 160. file:///tmp/html-eJSsR7#FCCACHENUMFONT 5691c9710b42Smrg 161. file:///tmp/html-eJSsR7#FCDIRCACHECLEAN 5692c9710b42Smrg 162. file:///tmp/html-eJSsR7#FCCACHECREATETAGFILE 5693c9710b42Smrg 163. file:///tmp/html-eJSsR7#FCSTRSETCREATE 5694c9710b42Smrg 164. file:///tmp/html-eJSsR7#FCSTRSETMEMBER 5695c9710b42Smrg 165. file:///tmp/html-eJSsR7#FCSTRSETEQUAL 5696c9710b42Smrg 166. file:///tmp/html-eJSsR7#FCSTRSETADD 5697c9710b42Smrg 167. file:///tmp/html-eJSsR7#FCSTRSETADDFILENAME 5698c9710b42Smrg 168. file:///tmp/html-eJSsR7#FCSTRSETDEL 5699c9710b42Smrg 169. file:///tmp/html-eJSsR7#FCSTRSETDESTROY 5700c9710b42Smrg 170. file:///tmp/html-eJSsR7#FCSTRLISTCREATE 5701c9710b42Smrg 171. file:///tmp/html-eJSsR7#FCSTRLISTNEXT 5702c9710b42Smrg 172. file:///tmp/html-eJSsR7#FCSTRLISTDONE 5703c9710b42Smrg 173. file:///tmp/html-eJSsR7#FCUTF8TOUCS4 5704c9710b42Smrg 174. file:///tmp/html-eJSsR7#FCUCS4TOUTF8 5705c9710b42Smrg 175. file:///tmp/html-eJSsR7#FCUTF8LEN 5706c9710b42Smrg 176. file:///tmp/html-eJSsR7#FCUTF16TOUCS4 5707c9710b42Smrg 177. file:///tmp/html-eJSsR7#FCUTF16LEN 5708c9710b42Smrg 178. file:///tmp/html-eJSsR7#FCISLOWER 5709c9710b42Smrg 179. file:///tmp/html-eJSsR7#FCISUPPER 5710c9710b42Smrg 180. file:///tmp/html-eJSsR7#FCTOLOWER 5711c9710b42Smrg 181. file:///tmp/html-eJSsR7#FCSTRCOPY 5712c9710b42Smrg 182. file:///tmp/html-eJSsR7#FCSTRDOWNCASE 5713c9710b42Smrg 183. file:///tmp/html-eJSsR7#FCSTRCOPYFILENAME 5714c9710b42Smrg 184. file:///tmp/html-eJSsR7#FCSTRCMP 5715c9710b42Smrg 185. file:///tmp/html-eJSsR7#FCSTRCMPIGNORECASE 5716c9710b42Smrg 186. file:///tmp/html-eJSsR7#FCSTRSTR 5717c9710b42Smrg 187. file:///tmp/html-eJSsR7#FCSTRSTRIGNORECASE 5718c9710b42Smrg 188. file:///tmp/html-eJSsR7#FCSTRPLUS 5719c9710b42Smrg 189. file:///tmp/html-eJSsR7#FCSTRFREE 5720c9710b42Smrg 190. file:///tmp/html-eJSsR7#FCSTRDIRNAME 5721c9710b42Smrg 191. file:///tmp/html-eJSsR7#FCSTRBASENAME 5722