x103.html revision ae02b298
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2<HTML 3><HEAD 4><TITLE 5>FUNCTIONS</TITLE 6><META 7NAME="GENERATOR" 8CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK 9REL="HOME" 10HREF="t1.html"><LINK 11REL="PREVIOUS" 12TITLE="Datatypes" 13HREF="x31.html"></HEAD 14><BODY 15CLASS="SECT1" 16BGCOLOR="#FFFFFF" 17TEXT="#000000" 18LINK="#0000FF" 19VLINK="#840084" 20ALINK="#0000FF" 21><DIV 22CLASS="NAVHEADER" 23><TABLE 24SUMMARY="Header navigation table" 25WIDTH="100%" 26BORDER="0" 27CELLPADDING="0" 28CELLSPACING="0" 29><TR 30><TH 31COLSPAN="3" 32ALIGN="center" 33></TH 34></TR 35><TR 36><TD 37WIDTH="10%" 38ALIGN="left" 39VALIGN="bottom" 40><A 41HREF="x31.html" 42ACCESSKEY="P" 43><<< Previous</A 44></TD 45><TD 46WIDTH="80%" 47ALIGN="center" 48VALIGN="bottom" 49></TD 50><TD 51WIDTH="10%" 52ALIGN="right" 53VALIGN="bottom" 54> </TD 55></TR 56></TABLE 57><HR 58ALIGN="LEFT" 59WIDTH="100%"></DIV 60><DIV 61CLASS="SECT1" 62><H1 63CLASS="SECT1" 64><A 65NAME="AEN103" 66>FUNCTIONS</A 67></H1 68><P 69>These are grouped by functionality, often using the main data type being 70manipulated. 71 </P 72><DIV 73CLASS="SECT2" 74><H2 75CLASS="SECT2" 76><A 77NAME="AEN106" 78>Initialization</A 79></H2 80><DIV 81CLASS="TOC" 82><DL 83><DT 84><B 85>Table of Contents</B 86></DT 87><DT 88><A 89HREF="fcinitloadconfig.html" 90>FcInitLoadConfig</A 91> -- load configuration</DT 92><DT 93><A 94HREF="fcinitloadconfigandfonts.html" 95>FcInitLoadConfigAndFonts</A 96> -- load configuration and font data</DT 97><DT 98><A 99HREF="fcinit.html" 100>FcInit</A 101> -- initialize fontconfig library</DT 102><DT 103><A 104HREF="fcfini.html" 105>FcFini</A 106> -- finalize fontconfig library</DT 107><DT 108><A 109HREF="fcgetversion.html" 110>FcGetVersion</A 111> -- library version number</DT 112><DT 113><A 114HREF="fcinitreinitialize.html" 115>FcInitReinitialize</A 116> -- re-initialize library</DT 117><DT 118><A 119HREF="fcinitbringuptodate.html" 120>FcInitBringUptoDate</A 121> -- reload configuration files if needed</DT 122></DL 123></DIV 124><P 125>These functions provide some control over how the library is initialized. 126 </P 127></DIV 128><DIV 129CLASS="SECT2" 130><H2 131CLASS="SECT2" 132><A 133NAME="AEN242" 134>FcPattern</A 135></H2 136><DIV 137CLASS="TOC" 138><DL 139><DT 140><B 141>Table of Contents</B 142></DT 143><DT 144><A 145HREF="fcpatterncreate.html" 146>FcPatternCreate</A 147> -- Create a pattern</DT 148><DT 149><A 150HREF="fcpatternduplicate.html" 151>FcPatternDuplicate</A 152> -- Copy a pattern</DT 153><DT 154><A 155HREF="fcpatternreference.html" 156>FcPatternReference</A 157> -- Increment pattern reference count</DT 158><DT 159><A 160HREF="fcpatterndestroy.html" 161>FcPatternDestroy</A 162> -- Destroy a pattern</DT 163><DT 164><A 165HREF="fcpatternobjectcount.html" 166>FcPatternObjectCount</A 167> -- Returns the number of the object</DT 168><DT 169><A 170HREF="fcpatternequal.html" 171>FcPatternEqual</A 172> -- Compare patterns</DT 173><DT 174><A 175HREF="fcpatternequalsubset.html" 176>FcPatternEqualSubset</A 177> -- Compare portions of patterns</DT 178><DT 179><A 180HREF="fcpatternfilter.html" 181>FcPatternFilter</A 182> -- Filter the objects of pattern</DT 183><DT 184><A 185HREF="fcpatternhash.html" 186>FcPatternHash</A 187> -- Compute a pattern hash value</DT 188><DT 189><A 190HREF="fcpatternadd.html" 191>FcPatternAdd</A 192> -- Add a value to a pattern</DT 193><DT 194><A 195HREF="fcpatternaddweak.html" 196>FcPatternAddWeak</A 197> -- Add a value to a pattern with weak binding</DT 198><DT 199><A 200HREF="fcpatternadd-type.html" 201>FcPatternAdd-Type</A 202> -- Add a typed value to a pattern</DT 203><DT 204><A 205HREF="fcpatterngetwithbinding.html" 206>FcPatternGetWithBinding</A 207> -- Return a value with binding from a pattern</DT 208><DT 209><A 210HREF="fcpatternget.html" 211>FcPatternGet</A 212> -- Return a value from a pattern</DT 213><DT 214><A 215HREF="fcpatternget-type.html" 216>FcPatternGet-Type</A 217> -- Return a typed value from a pattern</DT 218><DT 219><A 220HREF="fcpatternbuild.html" 221>FcPatternBuild</A 222> -- Create patterns from arguments</DT 223><DT 224><A 225HREF="fcpatterndel.html" 226>FcPatternDel</A 227> -- Delete a property from a pattern</DT 228><DT 229><A 230HREF="fcpatternremove.html" 231>FcPatternRemove</A 232> -- Remove one object of the specified type from the pattern</DT 233><DT 234><A 235HREF="fcpatterniterstart.html" 236>FcPatternIterStart</A 237> -- Initialize the iterator with the first iterator in the pattern</DT 238><DT 239><A 240HREF="fcpatterniternext.html" 241>FcPatternIterNext</A 242> -- </DT 243><DT 244><A 245HREF="fcpatterniterequal.html" 246>FcPatternIterEqual</A 247> -- Compare iterators</DT 248><DT 249><A 250HREF="fcpatternfinditer.html" 251>FcPatternFindIter</A 252> -- Set the iterator to point to the object in the pattern</DT 253><DT 254><A 255HREF="fcpatterniterisvalid.html" 256>FcPatternIterIsValid</A 257> -- Check whether the iterator is valid or not</DT 258><DT 259><A 260HREF="fcpatternitergetobject.html" 261>FcPatternIterGetObject</A 262> -- Returns an object name which the iterator point to</DT 263><DT 264><A 265HREF="fcpatternitervaluecount.html" 266>FcPatternIterValueCount</A 267> -- Returns the number of the values which the iterator point to</DT 268><DT 269><A 270HREF="fcpatternitergetvalue.html" 271>FcPatternIterGetValue</A 272> -- Returns a value which the iterator point to</DT 273><DT 274><A 275HREF="fcpatternprint.html" 276>FcPatternPrint</A 277> -- Print a pattern for debugging</DT 278><DT 279><A 280HREF="fcdefaultsubstitute.html" 281>FcDefaultSubstitute</A 282> -- Perform default substitutions in a pattern</DT 283><DT 284><A 285HREF="fcnameparse.html" 286>FcNameParse</A 287> -- Parse a pattern string</DT 288><DT 289><A 290HREF="fcnameunparse.html" 291>FcNameUnparse</A 292> -- Convert a pattern back into a string that can be parsed</DT 293><DT 294><A 295HREF="fcpatternformat.html" 296>FcPatternFormat</A 297> -- Format a pattern into a string according to a format specifier</DT 298></DL 299></DIV 300><P 301>An FcPattern is an opaque type that holds both patterns to match against the 302available fonts, as well as the information about each font. 303 </P 304></DIV 305><DIV 306CLASS="SECT2" 307><H2 308CLASS="SECT2" 309><A 310NAME="AEN1316" 311>FcFontSet</A 312></H2 313><DIV 314CLASS="TOC" 315><DL 316><DT 317><B 318>Table of Contents</B 319></DT 320><DT 321><A 322HREF="fcfontsetcreate.html" 323>FcFontSetCreate</A 324> -- Create a font set</DT 325><DT 326><A 327HREF="fcfontsetdestroy.html" 328>FcFontSetDestroy</A 329> -- Destroy a font set</DT 330><DT 331><A 332HREF="fcfontsetadd.html" 333>FcFontSetAdd</A 334> -- Add to a font set</DT 335><DT 336><A 337HREF="fcfontsetlist.html" 338>FcFontSetList</A 339> -- List fonts from a set of font sets</DT 340><DT 341><A 342HREF="fcfontsetmatch.html" 343>FcFontSetMatch</A 344> -- Return the best font from a set of font sets</DT 345><DT 346><A 347HREF="fcfontsetprint.html" 348>FcFontSetPrint</A 349> -- Print a set of patterns to stdout</DT 350><DT 351><A 352HREF="fcfontsetsort.html" 353>FcFontSetSort</A 354> -- Add to a font set</DT 355><DT 356><A 357HREF="fcfontsetsortdestroy.html" 358>FcFontSetSortDestroy</A 359> -- DEPRECATED destroy a font set</DT 360></DL 361></DIV 362><P 363>An FcFontSet simply holds a list of patterns; these are used to return the 364results of listing available fonts. 365 </P 366></DIV 367><DIV 368CLASS="SECT2" 369><H2 370CLASS="SECT2" 371><A 372NAME="AEN1527" 373>FcObjectSet</A 374></H2 375><DIV 376CLASS="TOC" 377><DL 378><DT 379><B 380>Table of Contents</B 381></DT 382><DT 383><A 384HREF="fcobjectsetcreate.html" 385>FcObjectSetCreate</A 386> -- Create an object set</DT 387><DT 388><A 389HREF="fcobjectsetadd.html" 390>FcObjectSetAdd</A 391> -- Add to an object set</DT 392><DT 393><A 394HREF="fcobjectsetdestroy.html" 395>FcObjectSetDestroy</A 396> -- Destroy an object set</DT 397><DT 398><A 399HREF="fcobjectsetbuild.html" 400>FcObjectSetBuild</A 401> -- Build object set from args</DT 402></DL 403></DIV 404><P 405>An FcObjectSet holds a list of pattern property names; it is used to 406indicate which properties are to be returned in the patterns from 407FcFontList. 408 </P 409></DIV 410><DIV 411CLASS="SECT2" 412><H2 413CLASS="SECT2" 414><A 415NAME="AEN1629" 416>FreeType specific functions</A 417></H2 418><DIV 419CLASS="TOC" 420><DL 421><DT 422><B 423>Table of Contents</B 424></DT 425><DT 426><A 427HREF="fcfreetypecharindex.html" 428>FcFreeTypeCharIndex</A 429> -- map Unicode to glyph id</DT 430><DT 431><A 432HREF="fcfreetypecharset.html" 433>FcFreeTypeCharSet</A 434> -- compute Unicode coverage</DT 435><DT 436><A 437HREF="fcfreetypecharsetandspacing.html" 438>FcFreeTypeCharSetAndSpacing</A 439> -- compute Unicode coverage and spacing type</DT 440><DT 441><A 442HREF="fcfreetypequery.html" 443>FcFreeTypeQuery</A 444> -- compute pattern from font file (and index)</DT 445><DT 446><A 447HREF="fcfreetypequeryall.html" 448>FcFreeTypeQueryAll</A 449> -- compute all patterns from font file (and index)</DT 450><DT 451><A 452HREF="fcfreetypequeryface.html" 453>FcFreeTypeQueryFace</A 454> -- compute pattern from FT_Face</DT 455></DL 456></DIV 457><P 458>While the fontconfig library doesn't insist that FreeType be used as the 459rasterization mechanism for fonts, it does provide some convenience 460functions. 461 </P 462></DIV 463><DIV 464CLASS="SECT2" 465><H2 466CLASS="SECT2" 467><A 468NAME="AEN1783" 469>FcValue</A 470></H2 471><DIV 472CLASS="TOC" 473><DL 474><DT 475><B 476>Table of Contents</B 477></DT 478><DT 479><A 480HREF="fcvaluedestroy.html" 481>FcValueDestroy</A 482> -- Free a value</DT 483><DT 484><A 485HREF="fcvaluesave.html" 486>FcValueSave</A 487> -- Copy a value</DT 488><DT 489><A 490HREF="fcvalueprint.html" 491>FcValuePrint</A 492> -- Print a value to stdout</DT 493><DT 494><A 495HREF="fcvalueequal.html" 496>FcValueEqual</A 497> -- Test two values for equality</DT 498></DL 499></DIV 500><P 501>FcValue is a structure containing a type tag and a union of all possible 502datatypes. The tag is an enum of type 503<I 504CLASS="EMPHASIS" 505>FcType</I 506> 507and is intended to provide a measure of run-time 508typechecking, although that depends on careful programming. 509 </P 510></DIV 511><DIV 512CLASS="SECT2" 513><H2 514CLASS="SECT2" 515><A 516NAME="AEN1869" 517>FcCharSet</A 518></H2 519><DIV 520CLASS="TOC" 521><DL 522><DT 523><B 524>Table of Contents</B 525></DT 526><DT 527><A 528HREF="fccharsetcreate.html" 529>FcCharSetCreate</A 530> -- Create an empty character set</DT 531><DT 532><A 533HREF="fccharsetdestroy.html" 534>FcCharSetDestroy</A 535> -- Destroy a character set</DT 536><DT 537><A 538HREF="fccharsetaddchar.html" 539>FcCharSetAddChar</A 540> -- Add a character to a charset</DT 541><DT 542><A 543HREF="fccharsetdelchar.html" 544>FcCharSetDelChar</A 545> -- Delete a character from a charset</DT 546><DT 547><A 548HREF="fccharsetcopy.html" 549>FcCharSetCopy</A 550> -- Copy a charset</DT 551><DT 552><A 553HREF="fccharsetequal.html" 554>FcCharSetEqual</A 555> -- Compare two charsets</DT 556><DT 557><A 558HREF="fccharsetintersect.html" 559>FcCharSetIntersect</A 560> -- Intersect charsets</DT 561><DT 562><A 563HREF="fccharsetunion.html" 564>FcCharSetUnion</A 565> -- Add charsets</DT 566><DT 567><A 568HREF="fccharsetsubtract.html" 569>FcCharSetSubtract</A 570> -- Subtract charsets</DT 571><DT 572><A 573HREF="fccharsetmerge.html" 574>FcCharSetMerge</A 575> -- Merge charsets</DT 576><DT 577><A 578HREF="fccharsethaschar.html" 579>FcCharSetHasChar</A 580> -- Check a charset for a char</DT 581><DT 582><A 583HREF="fccharsetcount.html" 584>FcCharSetCount</A 585> -- Count entries in a charset</DT 586><DT 587><A 588HREF="fccharsetintersectcount.html" 589>FcCharSetIntersectCount</A 590> -- Intersect and count charsets</DT 591><DT 592><A 593HREF="fccharsetsubtractcount.html" 594>FcCharSetSubtractCount</A 595> -- Subtract and count charsets</DT 596><DT 597><A 598HREF="fccharsetissubset.html" 599>FcCharSetIsSubset</A 600> -- Test for charset inclusion</DT 601><DT 602><A 603HREF="fccharsetfirstpage.html" 604>FcCharSetFirstPage</A 605> -- Start enumerating charset contents</DT 606><DT 607><A 608HREF="fccharsetnextpage.html" 609>FcCharSetNextPage</A 610> -- Continue enumerating charset contents</DT 611><DT 612><A 613HREF="fccharsetcoverage.html" 614>FcCharSetCoverage</A 615> -- DEPRECATED return coverage for a Unicode page</DT 616><DT 617><A 618HREF="fccharsetnew.html" 619>FcCharSetNew</A 620> -- DEPRECATED alias for FcCharSetCreate</DT 621></DL 622></DIV 623><P 624>An FcCharSet is a boolean array indicating a set of Unicode chars. Those 625associated with a font are marked constant and cannot be edited. 626FcCharSets may be reference counted internally to reduce memory consumption; 627this may be visible to applications as the result of FcCharSetCopy may 628return it's argument, and that CharSet may remain unmodifiable. 629 </P 630></DIV 631><DIV 632CLASS="SECT2" 633><H2 634CLASS="SECT2" 635><A 636NAME="AEN2336" 637>FcLangSet</A 638></H2 639><DIV 640CLASS="TOC" 641><DL 642><DT 643><B 644>Table of Contents</B 645></DT 646><DT 647><A 648HREF="fclangsetcreate.html" 649>FcLangSetCreate</A 650> -- create a langset object</DT 651><DT 652><A 653HREF="fclangsetdestroy.html" 654>FcLangSetDestroy</A 655> -- destroy a langset object</DT 656><DT 657><A 658HREF="fclangsetcopy.html" 659>FcLangSetCopy</A 660> -- copy a langset object</DT 661><DT 662><A 663HREF="fclangsetadd.html" 664>FcLangSetAdd</A 665> -- add a language to a langset</DT 666><DT 667><A 668HREF="fclangsetdel.html" 669>FcLangSetDel</A 670> -- delete a language from a langset</DT 671><DT 672><A 673HREF="fclangsetunion.html" 674>FcLangSetUnion</A 675> -- Add langsets</DT 676><DT 677><A 678HREF="fclangsetsubtract.html" 679>FcLangSetSubtract</A 680> -- Subtract langsets</DT 681><DT 682><A 683HREF="fclangsetcompare.html" 684>FcLangSetCompare</A 685> -- compare language sets</DT 686><DT 687><A 688HREF="fclangsetcontains.html" 689>FcLangSetContains</A 690> -- check langset subset relation</DT 691><DT 692><A 693HREF="fclangsetequal.html" 694>FcLangSetEqual</A 695> -- test for matching langsets</DT 696><DT 697><A 698HREF="fclangsethash.html" 699>FcLangSetHash</A 700> -- return a hash value for a langset</DT 701><DT 702><A 703HREF="fclangsethaslang.html" 704>FcLangSetHasLang</A 705> -- test langset for language support</DT 706><DT 707><A 708HREF="fcgetdefaultlangs.html" 709>FcGetDefaultLangs</A 710> -- Get the default languages list</DT 711><DT 712><A 713HREF="fclangsetgetlangs.html" 714>FcLangSetGetLangs</A 715> -- get the list of languages in the langset</DT 716><DT 717><A 718HREF="fcgetlangs.html" 719>FcGetLangs</A 720> -- Get list of languages</DT 721><DT 722><A 723HREF="fclangnormalize.html" 724>FcLangNormalize</A 725> -- Normalize the language string</DT 726><DT 727><A 728HREF="fclanggetcharset.html" 729>FcLangGetCharSet</A 730> -- Get character map for a language</DT 731></DL 732></DIV 733><P 734>An FcLangSet is a set of language names (each of which include language and 735an optional territory). They are used when selecting fonts to indicate which 736languages the fonts need to support. Each font is marked, using language 737orthography information built into fontconfig, with the set of supported 738languages. 739 </P 740></DIV 741><DIV 742CLASS="SECT2" 743><H2 744CLASS="SECT2" 745><A 746NAME="AEN2730" 747>FcMatrix</A 748></H2 749><DIV 750CLASS="TOC" 751><DL 752><DT 753><B 754>Table of Contents</B 755></DT 756><DT 757><A 758HREF="fcmatrixinit.html" 759>FcMatrixInit</A 760> -- initialize an FcMatrix structure</DT 761><DT 762><A 763HREF="fcmatrixcopy.html" 764>FcMatrixCopy</A 765> -- Copy a matrix</DT 766><DT 767><A 768HREF="fcmatrixequal.html" 769>FcMatrixEqual</A 770> -- Compare two matrices</DT 771><DT 772><A 773HREF="fcmatrixmultiply.html" 774>FcMatrixMultiply</A 775> -- Multiply matrices</DT 776><DT 777><A 778HREF="fcmatrixrotate.html" 779>FcMatrixRotate</A 780> -- Rotate a matrix</DT 781><DT 782><A 783HREF="fcmatrixscale.html" 784>FcMatrixScale</A 785> -- Scale a matrix</DT 786><DT 787><A 788HREF="fcmatrixshear.html" 789>FcMatrixShear</A 790> -- Shear a matrix</DT 791></DL 792></DIV 793><P 794>FcMatrix structures hold an affine transformation in matrix form. 795 </P 796></DIV 797><DIV 798CLASS="SECT2" 799><H2 800CLASS="SECT2" 801><A 802NAME="AEN2910" 803>FcRange</A 804></H2 805><DIV 806CLASS="TOC" 807><DL 808><DT 809><B 810>Table of Contents</B 811></DT 812><DT 813><A 814HREF="fcrangecopy.html" 815>FcRangeCopy</A 816> -- Copy a range object</DT 817><DT 818><A 819HREF="fcrangecreatedouble.html" 820>FcRangeCreateDouble</A 821> -- create a range object for double</DT 822><DT 823><A 824HREF="fcrangecreateinteger.html" 825>FcRangeCreateInteger</A 826> -- create a range object for integer</DT 827><DT 828><A 829HREF="fcrangedestroy.html" 830>FcRangeDestroy</A 831> -- destroy a range object</DT 832><DT 833><A 834HREF="fcrangegetdouble.html" 835>FcRangeGetDouble</A 836> -- Get the range in double</DT 837></DL 838></DIV 839><P 840>An FcRange holds two variables to indicate a range in between. 841 </P 842></DIV 843><DIV 844CLASS="SECT2" 845><H2 846CLASS="SECT2" 847><A 848NAME="AEN3038" 849>FcConfig</A 850></H2 851><DIV 852CLASS="TOC" 853><DL 854><DT 855><B 856>Table of Contents</B 857></DT 858><DT 859><A 860HREF="fcconfigcreate.html" 861>FcConfigCreate</A 862> -- Create a configuration</DT 863><DT 864><A 865HREF="fcconfigreference.html" 866>FcConfigReference</A 867> -- Increment config reference count</DT 868><DT 869><A 870HREF="fcconfigdestroy.html" 871>FcConfigDestroy</A 872> -- Destroy a configuration</DT 873><DT 874><A 875HREF="fcconfigsetcurrent.html" 876>FcConfigSetCurrent</A 877> -- Set configuration as default</DT 878><DT 879><A 880HREF="fcconfiggetcurrent.html" 881>FcConfigGetCurrent</A 882> -- Return current configuration</DT 883><DT 884><A 885HREF="fcconfiguptodate.html" 886>FcConfigUptoDate</A 887> -- Check timestamps on config files</DT 888><DT 889><A 890HREF="fcconfighome.html" 891>FcConfigHome</A 892> -- return the current home directory.</DT 893><DT 894><A 895HREF="fcconfigenablehome.html" 896>FcConfigEnableHome</A 897> -- controls use of the home directory.</DT 898><DT 899><A 900HREF="fcconfigbuildfonts.html" 901>FcConfigBuildFonts</A 902> -- Build font database</DT 903><DT 904><A 905HREF="fcconfiggetconfigdirs.html" 906>FcConfigGetConfigDirs</A 907> -- Get config directories</DT 908><DT 909><A 910HREF="fcconfiggetfontdirs.html" 911>FcConfigGetFontDirs</A 912> -- Get font directories</DT 913><DT 914><A 915HREF="fcconfiggetconfigfiles.html" 916>FcConfigGetConfigFiles</A 917> -- Get config files</DT 918><DT 919><A 920HREF="fcconfiggetcache.html" 921>FcConfigGetCache</A 922> -- DEPRECATED used to return per-user cache filename</DT 923><DT 924><A 925HREF="fcconfiggetcachedirs.html" 926>FcConfigGetCacheDirs</A 927> -- return the list of directories searched for cache files</DT 928><DT 929><A 930HREF="fcconfiggetfonts.html" 931>FcConfigGetFonts</A 932> -- Get config font set</DT 933><DT 934><A 935HREF="fcconfiggetblanks.html" 936>FcConfigGetBlanks</A 937> -- Get config blanks</DT 938><DT 939><A 940HREF="fcconfiggetrescaninterval.html" 941>FcConfigGetRescanInterval</A 942> -- Get config rescan interval</DT 943><DT 944><A 945HREF="fcconfigsetrescaninterval.html" 946>FcConfigSetRescanInterval</A 947> -- Set config rescan interval</DT 948><DT 949><A 950HREF="fcconfigappfontaddfile.html" 951>FcConfigAppFontAddFile</A 952> -- Add font file to font database</DT 953><DT 954><A 955HREF="fcconfigappfontadddir.html" 956>FcConfigAppFontAddDir</A 957> -- Add fonts from directory to font database</DT 958><DT 959><A 960HREF="fcconfigappfontclear.html" 961>FcConfigAppFontClear</A 962> -- Remove all app fonts from font database</DT 963><DT 964><A 965HREF="fcconfigsubstitutewithpat.html" 966>FcConfigSubstituteWithPat</A 967> -- Execute substitutions</DT 968><DT 969><A 970HREF="fcconfigsubstitute.html" 971>FcConfigSubstitute</A 972> -- Execute substitutions</DT 973><DT 974><A 975HREF="fcfontmatch.html" 976>FcFontMatch</A 977> -- Return best font</DT 978><DT 979><A 980HREF="fcfontsort.html" 981>FcFontSort</A 982> -- Return list of matching fonts</DT 983><DT 984><A 985HREF="fcfontrenderprepare.html" 986>FcFontRenderPrepare</A 987> -- Prepare pattern for loading font file</DT 988><DT 989><A 990HREF="fcfontlist.html" 991>FcFontList</A 992> -- List fonts</DT 993><DT 994><A 995HREF="fcconfigfilename.html" 996>FcConfigFilename</A 997> -- Find a config file</DT 998><DT 999><A 1000HREF="fcconfiggetfilename.html" 1001>FcConfigGetFilename</A 1002> -- Find a config file</DT 1003><DT 1004><A 1005HREF="fcconfigparseandload.html" 1006>FcConfigParseAndLoad</A 1007> -- load a configuration file</DT 1008><DT 1009><A 1010HREF="fcconfigparseandloadfrommemory.html" 1011>FcConfigParseAndLoadFromMemory</A 1012> -- load a configuration from memory</DT 1013><DT 1014><A 1015HREF="fcconfiggetsysroot.html" 1016>FcConfigGetSysRoot</A 1017> -- Obtain the system root directory</DT 1018><DT 1019><A 1020HREF="fcconfigsetsysroot.html" 1021>FcConfigSetSysRoot</A 1022> -- Set the system root directory</DT 1023><DT 1024><A 1025HREF="fcconfigfileinfoiterinit.html" 1026>FcConfigFileInfoIterInit</A 1027> -- Initialize the iterator</DT 1028><DT 1029><A 1030HREF="fcconfigfileinfoiternext.html" 1031>FcConfigFileInfoIterNext</A 1032> -- Set the iterator to point to the next list</DT 1033><DT 1034><A 1035HREF="fcconfigfileinfoiterget.html" 1036>FcConfigFileInfoIterGet</A 1037> -- Obtain the configuration file information</DT 1038></DL 1039></DIV 1040><P 1041>An FcConfig object holds the internal representation of a configuration. 1042There is a default configuration which applications may use by passing 0 to 1043any function using the data within an FcConfig. 1044 </P 1045></DIV 1046><DIV 1047CLASS="SECT2" 1048><H2 1049CLASS="SECT2" 1050><A 1051NAME="AEN3895" 1052>FcObjectType</A 1053></H2 1054><DIV 1055CLASS="TOC" 1056><DL 1057><DT 1058><B 1059>Table of Contents</B 1060></DT 1061><DT 1062><A 1063HREF="fcnameregisterobjecttypes.html" 1064>FcNameRegisterObjectTypes</A 1065> -- Register object types</DT 1066><DT 1067><A 1068HREF="fcnameunregisterobjecttypes.html" 1069>FcNameUnregisterObjectTypes</A 1070> -- Unregister object types</DT 1071><DT 1072><A 1073HREF="fcnamegetobjecttype.html" 1074>FcNameGetObjectType</A 1075> -- Lookup an object type</DT 1076></DL 1077></DIV 1078><P 1079>Provides for application-specified font name object types so that new 1080pattern elements can be generated from font names. 1081 </P 1082></DIV 1083><DIV 1084CLASS="SECT2" 1085><H2 1086CLASS="SECT2" 1087><A 1088NAME="AEN3960" 1089>FcConstant</A 1090></H2 1091><DIV 1092CLASS="TOC" 1093><DL 1094><DT 1095><B 1096>Table of Contents</B 1097></DT 1098><DT 1099><A 1100HREF="fcnameregisterconstants.html" 1101>FcNameRegisterConstants</A 1102> -- Register symbolic constants</DT 1103><DT 1104><A 1105HREF="fcnameunregisterconstants.html" 1106>FcNameUnregisterConstants</A 1107> -- Unregister symbolic constants</DT 1108><DT 1109><A 1110HREF="fcnamegetconstant.html" 1111>FcNameGetConstant</A 1112> -- Lookup symbolic constant</DT 1113><DT 1114><A 1115HREF="fcnamegetconstantfor.html" 1116>FcNameGetConstantFor</A 1117> -- Lookup symbolic constant For object</DT 1118><DT 1119><A 1120HREF="fcnameconstant.html" 1121>FcNameConstant</A 1122> -- Get the value for a symbolic constant</DT 1123></DL 1124></DIV 1125><P 1126>Provides for application-specified symbolic constants for font names. 1127 </P 1128></DIV 1129><DIV 1130CLASS="SECT2" 1131><H2 1132CLASS="SECT2" 1133><A 1134NAME="AEN4071" 1135>FcWeight</A 1136></H2 1137><DIV 1138CLASS="TOC" 1139><DL 1140><DT 1141><B 1142>Table of Contents</B 1143></DT 1144><DT 1145><A 1146HREF="fcweightfromopentypedouble.html" 1147>FcWeightFromOpenTypeDouble</A 1148> -- Convert from OpenType weight values to fontconfig ones</DT 1149><DT 1150><A 1151HREF="fcweighttoopentypedouble.html" 1152>FcWeightToOpenTypeDouble</A 1153> -- Convert from fontconfig weight values to OpenType ones</DT 1154><DT 1155><A 1156HREF="fcweightfromopentype.html" 1157>FcWeightFromOpenType</A 1158> -- Convert from OpenType weight values to fontconfig ones</DT 1159><DT 1160><A 1161HREF="fcweighttoopentype.html" 1162>FcWeightToOpenType</A 1163> -- Convert from fontconfig weight values to OpenType ones</DT 1164></DL 1165></DIV 1166><P 1167>Maps weights to and from OpenType weights. 1168 </P 1169></DIV 1170><DIV 1171CLASS="SECT2" 1172><H2 1173CLASS="SECT2" 1174><A 1175NAME="AEN4169" 1176>FcBlanks</A 1177></H2 1178><DIV 1179CLASS="TOC" 1180><DL 1181><DT 1182><B 1183>Table of Contents</B 1184></DT 1185><DT 1186><A 1187HREF="fcblankscreate.html" 1188>FcBlanksCreate</A 1189> -- Create an FcBlanks</DT 1190><DT 1191><A 1192HREF="fcblanksdestroy.html" 1193>FcBlanksDestroy</A 1194> -- Destroy and FcBlanks</DT 1195><DT 1196><A 1197HREF="fcblanksadd.html" 1198>FcBlanksAdd</A 1199> -- Add a character to an FcBlanks</DT 1200><DT 1201><A 1202HREF="fcblanksismember.html" 1203>FcBlanksIsMember</A 1204> -- Query membership in an FcBlanks</DT 1205></DL 1206></DIV 1207><P 1208>An FcBlanks object holds a list of Unicode chars which are expected to 1209be blank when drawn. When scanning new fonts, any glyphs which are 1210empty and not in this list will be assumed to be broken and not placed in 1211the FcCharSet associated with the font. This provides a significantly more 1212accurate CharSet for applications. 1213 </P 1214><P 1215> FcBlanks is deprecated and should not be used in newly written code. 1216 It is still accepted by some functions for compatibility with 1217 older code but will be removed in the future. 1218 </P 1219></DIV 1220><DIV 1221CLASS="SECT2" 1222><H2 1223CLASS="SECT2" 1224><A 1225NAME="AEN4253" 1226>FcAtomic</A 1227></H2 1228><DIV 1229CLASS="TOC" 1230><DL 1231><DT 1232><B 1233>Table of Contents</B 1234></DT 1235><DT 1236><A 1237HREF="fcatomiccreate.html" 1238>FcAtomicCreate</A 1239> -- create an FcAtomic object</DT 1240><DT 1241><A 1242HREF="fcatomiclock.html" 1243>FcAtomicLock</A 1244> -- lock a file</DT 1245><DT 1246><A 1247HREF="fcatomicnewfile.html" 1248>FcAtomicNewFile</A 1249> -- return new temporary file name</DT 1250><DT 1251><A 1252HREF="fcatomicorigfile.html" 1253>FcAtomicOrigFile</A 1254> -- return original file name</DT 1255><DT 1256><A 1257HREF="fcatomicreplaceorig.html" 1258>FcAtomicReplaceOrig</A 1259> -- replace original with new</DT 1260><DT 1261><A 1262HREF="fcatomicdeletenew.html" 1263>FcAtomicDeleteNew</A 1264> -- delete new file</DT 1265><DT 1266><A 1267HREF="fcatomicunlock.html" 1268>FcAtomicUnlock</A 1269> -- unlock a file</DT 1270><DT 1271><A 1272HREF="fcatomicdestroy.html" 1273>FcAtomicDestroy</A 1274> -- destroy an FcAtomic object</DT 1275></DL 1276></DIV 1277><P 1278>These functions provide a safe way to update configuration files, allowing ongoing 1279reading of the old configuration file while locked for writing and ensuring that a 1280consistent and complete version of the configuration file is always available. 1281 </P 1282></DIV 1283><DIV 1284CLASS="SECT2" 1285><H2 1286CLASS="SECT2" 1287><A 1288NAME="AEN4414" 1289>File and Directory routines</A 1290></H2 1291><DIV 1292CLASS="TOC" 1293><DL 1294><DT 1295><B 1296>Table of Contents</B 1297></DT 1298><DT 1299><A 1300HREF="fcfilescan.html" 1301>FcFileScan</A 1302> -- scan a font file</DT 1303><DT 1304><A 1305HREF="fcfileisdir.html" 1306>FcFileIsDir</A 1307> -- check whether a file is a directory</DT 1308><DT 1309><A 1310HREF="fcdirscan.html" 1311>FcDirScan</A 1312> -- scan a font directory without caching it</DT 1313><DT 1314><A 1315HREF="fcdirsave.html" 1316>FcDirSave</A 1317> -- DEPRECATED: formerly used to save a directory cache</DT 1318><DT 1319><A 1320HREF="fcdircacheunlink.html" 1321>FcDirCacheUnlink</A 1322> -- Remove all caches related to <TT 1323CLASS="PARAMETER" 1324><I 1325>dir</I 1326></TT 1327></DT 1328><DT 1329><A 1330HREF="fcdircachevalid.html" 1331>FcDirCacheValid</A 1332> -- check directory cache</DT 1333><DT 1334><A 1335HREF="fcdircacheload.html" 1336>FcDirCacheLoad</A 1337> -- load a directory cache</DT 1338><DT 1339><A 1340HREF="fcdircacherescan.html" 1341>FcDirCacheRescan</A 1342> -- Re-scan a directory cache</DT 1343><DT 1344><A 1345HREF="fcdircacheread.html" 1346>FcDirCacheRead</A 1347> -- read or construct a directory cache</DT 1348><DT 1349><A 1350HREF="fcdircacheloadfile.html" 1351>FcDirCacheLoadFile</A 1352> -- load a cache file</DT 1353><DT 1354><A 1355HREF="fcdircacheunload.html" 1356>FcDirCacheUnload</A 1357> -- unload a cache file</DT 1358></DL 1359></DIV 1360><P 1361>These routines work with font files and directories, including font 1362directory cache files. 1363 </P 1364></DIV 1365><DIV 1366CLASS="SECT2" 1367><H2 1368CLASS="SECT2" 1369><A 1370NAME="AEN4692" 1371>FcCache routines</A 1372></H2 1373><DIV 1374CLASS="TOC" 1375><DL 1376><DT 1377><B 1378>Table of Contents</B 1379></DT 1380><DT 1381><A 1382HREF="fccachedir.html" 1383>FcCacheDir</A 1384> -- Return directory of <TT 1385CLASS="PARAMETER" 1386><I 1387>cache</I 1388></TT 1389></DT 1390><DT 1391><A 1392HREF="fccachecopyset.html" 1393>FcCacheCopySet</A 1394> -- Returns a copy of the fontset from <TT 1395CLASS="PARAMETER" 1396><I 1397>cache</I 1398></TT 1399></DT 1400><DT 1401><A 1402HREF="fccachesubdir.html" 1403>FcCacheSubdir</A 1404> -- Return the <TT 1405CLASS="PARAMETER" 1406><I 1407>i</I 1408></TT 1409>'th subdirectory.</DT 1410><DT 1411><A 1412HREF="fccachenumsubdir.html" 1413>FcCacheNumSubdir</A 1414> -- Return the number of subdirectories in <TT 1415CLASS="PARAMETER" 1416><I 1417>cache</I 1418></TT 1419>.</DT 1420><DT 1421><A 1422HREF="fccachenumfont.html" 1423>FcCacheNumFont</A 1424> -- Returns the number of fonts in <TT 1425CLASS="PARAMETER" 1426><I 1427>cache</I 1428></TT 1429>.</DT 1430><DT 1431><A 1432HREF="fcdircacheclean.html" 1433>FcDirCacheClean</A 1434> -- Clean up a cache directory</DT 1435><DT 1436><A 1437HREF="fccachecreatetagfile.html" 1438>FcCacheCreateTagFile</A 1439> -- Create CACHEDIR.TAG at cache directory.</DT 1440><DT 1441><A 1442HREF="fcdircachecreateuuid.html" 1443>FcDirCacheCreateUUID</A 1444> -- Create .uuid file at a directory</DT 1445><DT 1446><A 1447HREF="fcdircachedeleteuuid.html" 1448>FcDirCacheDeleteUUID</A 1449> -- Delete .uuid file</DT 1450></DL 1451></DIV 1452><P 1453>These routines work with font directory caches, accessing their contents in 1454limited ways. It is not expected that normal applications will need to use 1455these functions. 1456 </P 1457></DIV 1458><DIV 1459CLASS="SECT2" 1460><H2 1461CLASS="SECT2" 1462><A 1463NAME="AEN4900" 1464>FcStrSet and FcStrList</A 1465></H2 1466><DIV 1467CLASS="TOC" 1468><DL 1469><DT 1470><B 1471>Table of Contents</B 1472></DT 1473><DT 1474><A 1475HREF="fcstrsetcreate.html" 1476>FcStrSetCreate</A 1477> -- create a string set</DT 1478><DT 1479><A 1480HREF="fcstrsetmember.html" 1481>FcStrSetMember</A 1482> -- check set for membership</DT 1483><DT 1484><A 1485HREF="fcstrsetequal.html" 1486>FcStrSetEqual</A 1487> -- check sets for equality</DT 1488><DT 1489><A 1490HREF="fcstrsetadd.html" 1491>FcStrSetAdd</A 1492> -- add to a string set</DT 1493><DT 1494><A 1495HREF="fcstrsetaddfilename.html" 1496>FcStrSetAddFilename</A 1497> -- add a filename to a string set</DT 1498><DT 1499><A 1500HREF="fcstrsetdel.html" 1501>FcStrSetDel</A 1502> -- delete from a string set</DT 1503><DT 1504><A 1505HREF="fcstrsetdestroy.html" 1506>FcStrSetDestroy</A 1507> -- destroy a string set</DT 1508><DT 1509><A 1510HREF="fcstrlistcreate.html" 1511>FcStrListCreate</A 1512> -- create a string iterator</DT 1513><DT 1514><A 1515HREF="fcstrlistfirst.html" 1516>FcStrListFirst</A 1517> -- get first string in iteration</DT 1518><DT 1519><A 1520HREF="fcstrlistnext.html" 1521>FcStrListNext</A 1522> -- get next string in iteration</DT 1523><DT 1524><A 1525HREF="fcstrlistdone.html" 1526>FcStrListDone</A 1527> -- destroy a string iterator</DT 1528></DL 1529></DIV 1530><P 1531>A data structure for enumerating strings, used to list directories while 1532scanning the configuration as directories are added while scanning. 1533 </P 1534></DIV 1535><DIV 1536CLASS="SECT2" 1537><H2 1538CLASS="SECT2" 1539><A 1540NAME="AEN5141" 1541>String utilities</A 1542></H2 1543><DIV 1544CLASS="TOC" 1545><DL 1546><DT 1547><B 1548>Table of Contents</B 1549></DT 1550><DT 1551><A 1552HREF="fcutf8toucs4.html" 1553>FcUtf8ToUcs4</A 1554> -- convert UTF-8 to UCS4</DT 1555><DT 1556><A 1557HREF="fcucs4toutf8.html" 1558>FcUcs4ToUtf8</A 1559> -- convert UCS4 to UTF-8</DT 1560><DT 1561><A 1562HREF="fcutf8len.html" 1563>FcUtf8Len</A 1564> -- count UTF-8 encoded chars</DT 1565><DT 1566><A 1567HREF="fcutf16toucs4.html" 1568>FcUtf16ToUcs4</A 1569> -- convert UTF-16 to UCS4</DT 1570><DT 1571><A 1572HREF="fcutf16len.html" 1573>FcUtf16Len</A 1574> -- count UTF-16 encoded chars</DT 1575><DT 1576><A 1577HREF="fcislower.html" 1578>FcIsLower</A 1579> -- check for lower case ASCII character</DT 1580><DT 1581><A 1582HREF="fcisupper.html" 1583>FcIsUpper</A 1584> -- check for upper case ASCII character</DT 1585><DT 1586><A 1587HREF="fctolower.html" 1588>FcToLower</A 1589> -- convert upper case ASCII to lower case</DT 1590><DT 1591><A 1592HREF="fcstrcopy.html" 1593>FcStrCopy</A 1594> -- duplicate a string</DT 1595><DT 1596><A 1597HREF="fcstrdowncase.html" 1598>FcStrDowncase</A 1599> -- create a lower case translation of a string</DT 1600><DT 1601><A 1602HREF="fcstrcopyfilename.html" 1603>FcStrCopyFilename</A 1604> -- create a complete path from a filename</DT 1605><DT 1606><A 1607HREF="fcstrcmp.html" 1608>FcStrCmp</A 1609> -- compare UTF-8 strings</DT 1610><DT 1611><A 1612HREF="fcstrcmpignorecase.html" 1613>FcStrCmpIgnoreCase</A 1614> -- compare UTF-8 strings ignoring case</DT 1615><DT 1616><A 1617HREF="fcstrstr.html" 1618>FcStrStr</A 1619> -- locate UTF-8 substring</DT 1620><DT 1621><A 1622HREF="fcstrstrignorecase.html" 1623>FcStrStrIgnoreCase</A 1624> -- locate UTF-8 substring ignoring case</DT 1625><DT 1626><A 1627HREF="fcstrplus.html" 1628>FcStrPlus</A 1629> -- concatenate two strings</DT 1630><DT 1631><A 1632HREF="fcstrfree.html" 1633>FcStrFree</A 1634> -- free a string</DT 1635><DT 1636><A 1637HREF="fcstrbuildfilename.html" 1638>FcStrBuildFilename</A 1639> -- Concatenate strings as a file path</DT 1640><DT 1641><A 1642HREF="fcstrdirname.html" 1643>FcStrDirname</A 1644> -- directory part of filename</DT 1645><DT 1646><A 1647HREF="fcstrbasename.html" 1648>FcStrBasename</A 1649> -- last component of filename</DT 1650></DL 1651></DIV 1652><P 1653>Fontconfig manipulates many UTF-8 strings represented with the FcChar8 type. 1654These functions are exposed to help applications deal with these UTF-8 1655strings in a locale-insensitive manner. 1656 </P 1657></DIV 1658></DIV 1659><DIV 1660CLASS="NAVFOOTER" 1661><HR 1662ALIGN="LEFT" 1663WIDTH="100%"><TABLE 1664SUMMARY="Footer navigation table" 1665WIDTH="100%" 1666BORDER="0" 1667CELLPADDING="0" 1668CELLSPACING="0" 1669><TR 1670><TD 1671WIDTH="33%" 1672ALIGN="left" 1673VALIGN="top" 1674><A 1675HREF="x31.html" 1676ACCESSKEY="P" 1677><<< Previous</A 1678></TD 1679><TD 1680WIDTH="34%" 1681ALIGN="center" 1682VALIGN="top" 1683><A 1684HREF="t1.html" 1685ACCESSKEY="H" 1686>Home</A 1687></TD 1688><TD 1689WIDTH="33%" 1690ALIGN="right" 1691VALIGN="top" 1692> </TD 1693></TR 1694><TR 1695><TD 1696WIDTH="33%" 1697ALIGN="left" 1698VALIGN="top" 1699>Datatypes</TD 1700><TD 1701WIDTH="34%" 1702ALIGN="center" 1703VALIGN="top" 1704> </TD 1705><TD 1706WIDTH="33%" 1707ALIGN="right" 1708VALIGN="top" 1709> </TD 1710></TR 1711></TABLE 1712></DIV 1713></BODY 1714></HTML 1715>