summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaeun Choi <jaeun12.choi@samsung.com>2015-10-28 17:21:14 +0900
committerJaeun Choi <jaeun12.choi@samsung.com>2015-10-28 17:21:14 +0900
commitf6842f9706cf21b57e973aff0f95c13ec1f92b6d (patch)
treefc61e2dc4ca9ab2f8052c0b8a955d98b7bc7a5a2
parent682bd55af5cb3a3bf516bb027f0c014561de3478 (diff)
parentdb1af30227cdcd1e5ea6c83fb96fb06679a58a0a (diff)
downloadfontconfig-f6842f9706cf21b57e973aff0f95c13ec1f92b6d.tar.gz
fontconfig-f6842f9706cf21b57e973aff0f95c13ec1f92b6d.tar.bz2
fontconfig-f6842f9706cf21b57e973aff0f95c13ec1f92b6d.zip
Merge branch 'upstream' into tizen
Change-Id: Ia295154d2b5ff3ad93d213160f5f3f6e3dc7505a
-rw-r--r--ChangeLog22398
-rw-r--r--Makefile.am2
-rw-r--r--Makefile.in1069
-rw-r--r--README118
-rw-r--r--aclocal.m41394
-rwxr-xr-xcompile347
-rw-r--r--conf.d/30-metric-aliases.conf100
-rw-r--r--conf.d/45-latin.conf20
-rw-r--r--conf.d/60-latin.conf3
-rw-r--r--conf.d/Makefile.in661
-rw-r--r--conf.d/README23
-rwxr-xr-xconfig.guess1420
-rw-r--r--config.h.in357
-rwxr-xr-xconfig.sub1798
-rwxr-xr-xconfigure19204
-rw-r--r--configure.ac65
-rwxr-xr-xdepcomp791
-rw-r--r--doc/FcAtomicCreate.316
-rw-r--r--doc/FcAtomicDeleteNew.313
-rw-r--r--doc/FcAtomicDestroy.313
-rw-r--r--doc/FcAtomicLock.315
-rw-r--r--doc/FcAtomicNewFile.314
-rw-r--r--doc/FcAtomicOrigFile.313
-rw-r--r--doc/FcAtomicReplaceOrig.315
-rw-r--r--doc/FcAtomicUnlock.313
-rw-r--r--doc/FcBlanksAdd.314
-rw-r--r--doc/FcBlanksCreate.313
-rw-r--r--doc/FcBlanksDestroy.313
-rw-r--r--doc/FcBlanksIsMember.314
-rw-r--r--doc/FcCacheCopySet.315
-rw-r--r--doc/FcCacheCreateTagFile.317
-rw-r--r--doc/FcCacheDir.313
-rw-r--r--doc/FcCacheNumFont.314
-rw-r--r--doc/FcCacheNumSubdir.313
-rw-r--r--doc/FcCacheSubdir.316
-rw-r--r--doc/FcCharSetAddChar.315
-rw-r--r--doc/FcCharSetCopy.314
-rw-r--r--doc/FcCharSetCount.313
-rw-r--r--doc/FcCharSetCoverage.318
-rw-r--r--doc/FcCharSetCreate.314
-rw-r--r--doc/FcCharSetDelChar.318
-rw-r--r--doc/FcCharSetDestroy.315
-rw-r--r--doc/FcCharSetEqual.314
-rw-r--r--doc/FcCharSetFirstPage.335
-rw-r--r--doc/FcCharSetHasChar.313
-rw-r--r--doc/FcCharSetIntersect.314
-rw-r--r--doc/FcCharSetIntersectCount.313
-rw-r--r--doc/FcCharSetIsSubset.313
-rw-r--r--doc/FcCharSetMerge.318
-rw-r--r--doc/FcCharSetNew.313
-rw-r--r--doc/FcCharSetNextPage.321
-rw-r--r--doc/FcCharSetSubtract.313
-rw-r--r--doc/FcCharSetSubtractCount.313
-rw-r--r--doc/FcCharSetUnion.313
-rw-r--r--doc/FcConfigAppFontAddDir.317
-rw-r--r--doc/FcConfigAppFontAddFile.316
-rw-r--r--doc/FcConfigAppFontClear.314
-rw-r--r--doc/FcConfigBuildFonts.316
-rw-r--r--doc/FcConfigCreate.313
-rw-r--r--doc/FcConfigDestroy.316
-rw-r--r--doc/FcConfigEnableHome.317
-rw-r--r--doc/FcConfigFilename.323
-rw-r--r--doc/FcConfigGetBlanks.317
-rw-r--r--doc/FcConfigGetCache.314
-rw-r--r--doc/FcConfigGetCacheDirs.316
-rw-r--r--doc/FcConfigGetConfigDirs.315
-rw-r--r--doc/FcConfigGetConfigFiles.314
-rw-r--r--doc/FcConfigGetCurrent.313
-rw-r--r--doc/FcConfigGetFontDirs.316
-rw-r--r--doc/FcConfigGetFonts.316
-rw-r--r--doc/FcConfigGetRescanInterval.317
-rw-r--r--doc/FcConfigGetSysRoot.316
-rw-r--r--doc/FcConfigHome.315
-rw-r--r--doc/FcConfigParseAndLoad.318
-rw-r--r--doc/FcConfigReference.318
-rw-r--r--doc/FcConfigSetCurrent.315
-rw-r--r--doc/FcConfigSetRescanInterval.316
-rw-r--r--doc/FcConfigSetSysRoot.319
-rw-r--r--doc/FcConfigSubstitute.315
-rw-r--r--doc/FcConfigSubstituteWithPat.318
-rw-r--r--doc/FcConfigUptoDate.315
-rw-r--r--doc/FcDefaultSubstitute.324
-rw-r--r--doc/FcDirCacheClean.315
-rw-r--r--doc/FcDirCacheLoad.316
-rw-r--r--doc/FcDirCacheLoadFile.315
-rw-r--r--doc/FcDirCacheRead.316
-rw-r--r--doc/FcDirCacheRescan.317
-rw-r--r--doc/FcDirCacheUnlink.316
-rw-r--r--doc/FcDirCacheUnload.314
-rw-r--r--doc/FcDirCacheValid.314
-rw-r--r--doc/FcDirSave.317
-rw-r--r--doc/FcDirScan.318
-rw-r--r--doc/FcFileIsDir.314
-rw-r--r--doc/FcFileScan.323
-rw-r--r--doc/FcFini.316
-rw-r--r--doc/FcFontList.316
-rw-r--r--doc/FcFontMatch.320
-rw-r--r--doc/FcFontRenderPrepare.316
-rw-r--r--doc/FcFontSetAdd.315
-rw-r--r--doc/FcFontSetCreate.313
-rw-r--r--doc/FcFontSetDestroy.314
-rw-r--r--doc/FcFontSetList.318
-rw-r--r--doc/FcFontSetMatch.321
-rw-r--r--doc/FcFontSetPrint.316
-rw-r--r--doc/FcFontSetSort.330
-rw-r--r--doc/FcFontSetSortDestroy.316
-rw-r--r--doc/FcFontSort.326
-rw-r--r--doc/FcFreeTypeCharIndex.318
-rw-r--r--doc/FcFreeTypeCharSet.317
-rw-r--r--doc/FcFreeTypeCharSetAndSpacing.323
-rw-r--r--doc/FcFreeTypeQuery.315
-rw-r--r--doc/FcFreeTypeQueryFace.315
-rw-r--r--doc/FcGetDefaultLangs.318
-rw-r--r--doc/FcGetLangs.313
-rw-r--r--doc/FcGetVersion.313
-rw-r--r--doc/FcInit.316
-rw-r--r--doc/FcInitBringUptoDate.316
-rw-r--r--doc/FcInitLoadConfig.314
-rw-r--r--doc/FcInitLoadConfigAndFonts.314
-rw-r--r--doc/FcInitReinitialize.316
-rw-r--r--doc/FcIsLower.314
-rw-r--r--doc/FcIsUpper.314
-rw-r--r--doc/FcLangGetCharSet.313
-rw-r--r--doc/FcLangNormalize.316
-rw-r--r--doc/FcLangSetAdd.316
-rw-r--r--doc/FcLangSetCompare.318
-rw-r--r--doc/FcLangSetContains.318
-rw-r--r--doc/FcLangSetCopy.314
-rw-r--r--doc/FcLangSetCreate.313
-rw-r--r--doc/FcLangSetDel.319
-rw-r--r--doc/FcLangSetDestroy.314
-rw-r--r--doc/FcLangSetEqual.314
-rw-r--r--doc/FcLangSetGetLangs.313
-rw-r--r--doc/FcLangSetHasLang.319
-rw-r--r--doc/FcLangSetHash.317
-rw-r--r--doc/FcLangSetSubtract.316
-rw-r--r--doc/FcLangSetUnion.316
-rw-r--r--doc/FcMatrixCopy.314
-rw-r--r--doc/FcMatrixEqual.315
-rw-r--r--doc/FcMatrixInit.314
-rw-r--r--doc/FcMatrixMultiply.315
-rw-r--r--doc/FcMatrixRotate.322
-rw-r--r--doc/FcMatrixScale.322
-rw-r--r--doc/FcMatrixShear.322
-rw-r--r--doc/FcNameConstant.314
-rw-r--r--doc/FcNameGetConstant.313
-rw-r--r--doc/FcNameGetObjectType.313
-rw-r--r--doc/FcNameParse.313
-rw-r--r--doc/FcNameRegisterConstants.313
-rw-r--r--doc/FcNameRegisterObjectTypes.313
-rw-r--r--doc/FcNameUnparse.315
-rw-r--r--doc/FcNameUnregisterConstants.313
-rw-r--r--doc/FcNameUnregisterObjectTypes.313
-rw-r--r--doc/FcObjectSetAdd.314
-rw-r--r--doc/FcObjectSetBuild.319
-rw-r--r--doc/FcObjectSetCreate.313
-rw-r--r--doc/FcObjectSetDestroy.313
-rw-r--r--doc/FcPatternAdd-Type.333
-rw-r--r--doc/FcPatternAdd.317
-rw-r--r--doc/FcPatternAddWeak.314
-rw-r--r--doc/FcPatternBuild.343
-rw-r--r--doc/FcPatternCreate.313
-rw-r--r--doc/FcPatternDel.314
-rw-r--r--doc/FcPatternDestroy.314
-rw-r--r--doc/FcPatternDuplicate.315
-rw-r--r--doc/FcPatternEqual.313
-rw-r--r--doc/FcPatternEqualSubset.314
-rw-r--r--doc/FcPatternFilter.316
-rw-r--r--doc/FcPatternFormat.3208
-rw-r--r--doc/FcPatternGet-Type.334
-rw-r--r--doc/FcPatternGet.316
-rw-r--r--doc/FcPatternHash.314
-rw-r--r--doc/FcPatternPrint.315
-rw-r--r--doc/FcPatternReference.314
-rw-r--r--doc/FcPatternRemove.314
-rw-r--r--doc/FcRangeCopy.317
-rw-r--r--doc/FcRangeCreateDouble.317
-rw-r--r--doc/FcRangeCreateInteger.317
-rw-r--r--doc/FcRangeDestroy.317
-rw-r--r--doc/FcRangeGetDouble.316
-rw-r--r--doc/FcStrBasename.315
-rw-r--r--doc/FcStrCmp.314
-rw-r--r--doc/FcStrCmpIgnoreCase.315
-rw-r--r--doc/FcStrCopy.315
-rw-r--r--doc/FcStrCopyFilename.320
-rw-r--r--doc/FcStrDirname.315
-rw-r--r--doc/FcStrDowncase.314
-rw-r--r--doc/FcStrFree.314
-rw-r--r--doc/FcStrListCreate.313
-rw-r--r--doc/FcStrListDone.313
-rw-r--r--doc/FcStrListFirst.316
-rw-r--r--doc/FcStrListNext.313
-rw-r--r--doc/FcStrPlus.315
-rw-r--r--doc/FcStrSetAdd.313
-rw-r--r--doc/FcStrSetAddFilename.315
-rw-r--r--doc/FcStrSetCreate.313
-rw-r--r--doc/FcStrSetDel.314
-rw-r--r--doc/FcStrSetDestroy.313
-rw-r--r--doc/FcStrSetEqual.315
-rw-r--r--doc/FcStrSetMember.314
-rw-r--r--doc/FcStrStr.316
-rw-r--r--doc/FcStrStrIgnoreCase.316
-rw-r--r--doc/FcToLower.314
-rw-r--r--doc/FcUcs4ToUtf8.315
-rw-r--r--doc/FcUtf16Len.320
-rw-r--r--doc/FcUtf16ToUcs4.317
-rw-r--r--doc/FcUtf8Len.318
-rw-r--r--doc/FcUtf8ToUcs4.316
-rw-r--r--doc/FcValueDestroy.314
-rw-r--r--doc/FcValueEqual.315
-rw-r--r--doc/FcValuePrint.315
-rw-r--r--doc/FcValueSave.314
-rw-r--r--doc/FcWeightFromOpenType.322
-rw-r--r--doc/FcWeightToOpenType.319
-rw-r--r--doc/Makefile.am2
-rw-r--r--doc/Makefile.in1368
-rw-r--r--doc/fcatomic.sgml408
-rw-r--r--doc/fcblanks.sgml204
-rw-r--r--doc/fccache.sgml366
-rw-r--r--doc/fccharset.sgml1019
-rw-r--r--doc/fcconfig.fncs13
-rw-r--r--doc/fcconfig.sgml1682
-rw-r--r--doc/fcconstant.sgml204
-rw-r--r--doc/fcdircache.sgml374
-rw-r--r--doc/fcfile.sgml232
-rw-r--r--doc/fcfontset.sgml454
-rw-r--r--doc/fcformat.sgml328
-rw-r--r--doc/fcfreetype.sgml283
-rw-r--r--doc/fcinit.sgml364
-rw-r--r--doc/fclangset.sgml904
-rw-r--r--doc/fcmatrix.sgml386
-rw-r--r--doc/fcobjectset.sgml218
-rw-r--r--doc/fcobjecttype.sgml152
-rw-r--r--doc/fcpattern.fncs27
-rw-r--r--doc/fcpattern.sgml1228
-rw-r--r--doc/fcrange.fncs75
-rw-r--r--doc/fcrange.sgml273
-rw-r--r--doc/fcstring.sgml1018
-rw-r--r--doc/fcstrset.sgml564
-rw-r--r--doc/fcvalue.sgml207
-rw-r--r--doc/fcweight.fncs47
-rw-r--r--doc/fcweight.sgml115
-rw-r--r--doc/fontconfig-devel.pdfbin0 -> 393149 bytes
-rw-r--r--doc/fontconfig-devel.sgml22
-rw-r--r--doc/fontconfig-devel.txt4887
-rw-r--r--doc/fontconfig-devel/fcatomiccreate.html212
-rw-r--r--doc/fontconfig-devel/fcatomicdeletenew.html204
-rw-r--r--doc/fontconfig-devel/fcatomicdestroy.html198
-rw-r--r--doc/fontconfig-devel/fcatomiclock.html211
-rw-r--r--doc/fontconfig-devel/fcatomicnewfile.html210
-rw-r--r--doc/fontconfig-devel/fcatomicorigfile.html209
-rw-r--r--doc/fontconfig-devel/fcatomicreplaceorig.html211
-rw-r--r--doc/fontconfig-devel/fcatomicunlock.html204
-rw-r--r--doc/fontconfig-devel/fcblanksadd.html210
-rw-r--r--doc/fontconfig-devel/fcblankscreate.html204
-rw-r--r--doc/fontconfig-devel/fcblanksdestroy.html204
-rw-r--r--doc/fontconfig-devel/fcblanksismember.html199
-rw-r--r--doc/fontconfig-devel/fccachecopyset.html216
-rw-r--r--doc/fontconfig-devel/fccachecreatetagfile.html209
-rw-r--r--doc/fontconfig-devel/fccachedir.html209
-rw-r--r--doc/fontconfig-devel/fccachenumfont.html210
-rw-r--r--doc/fontconfig-devel/fccachenumsubdir.html209
-rw-r--r--doc/fontconfig-devel/fccachesubdir.html232
-rw-r--r--doc/fontconfig-devel/fccharsetaddchar.html214
-rw-r--r--doc/fontconfig-devel/fccharsetcopy.html215
-rw-r--r--doc/fontconfig-devel/fccharsetcount.html209
-rw-r--r--doc/fontconfig-devel/fccharsetcoverage.html237
-rw-r--r--doc/fontconfig-devel/fccharsetcreate.html208
-rw-r--r--doc/fontconfig-devel/fccharsetdelchar.html224
-rw-r--r--doc/fontconfig-devel/fccharsetdestroy.html214
-rw-r--r--doc/fontconfig-devel/fccharsetequal.html220
-rw-r--r--doc/fontconfig-devel/fccharsetfirstpage.html323
-rw-r--r--doc/fontconfig-devel/fccharsethaschar.html219
-rw-r--r--doc/fontconfig-devel/fccharsetintersect.html220
-rw-r--r--doc/fontconfig-devel/fccharsetintersectcount.html219
-rw-r--r--doc/fontconfig-devel/fccharsetissubset.html219
-rw-r--r--doc/fontconfig-devel/fccharsetmerge.html249
-rw-r--r--doc/fontconfig-devel/fccharsetnew.html196
-rw-r--r--doc/fontconfig-devel/fccharsetnextpage.html263
-rw-r--r--doc/fontconfig-devel/fccharsetsubtract.html219
-rw-r--r--doc/fontconfig-devel/fccharsetsubtractcount.html219
-rw-r--r--doc/fontconfig-devel/fccharsetunion.html219
-rw-r--r--doc/fontconfig-devel/fcconfigappfontadddir.html218
-rw-r--r--doc/fontconfig-devel/fcconfigappfontaddfile.html217
-rw-r--r--doc/fontconfig-devel/fcconfigappfontclear.html210
-rw-r--r--doc/fontconfig-devel/fcconfigbuildfonts.html212
-rw-r--r--doc/fontconfig-devel/fcconfigcreate.html204
-rw-r--r--doc/fontconfig-devel/fcconfigdestroy.html207
-rw-r--r--doc/fontconfig-devel/fcconfigenablehome.html218
-rw-r--r--doc/fontconfig-devel/fcconfigfilename.html225
-rw-r--r--doc/fontconfig-devel/fcconfiggetblanks.html213
-rw-r--r--doc/fontconfig-devel/fcconfiggetcache.html205
-rw-r--r--doc/fontconfig-devel/fcconfiggetcachedirs.html215
-rw-r--r--doc/fontconfig-devel/fcconfiggetconfigdirs.html216
-rw-r--r--doc/fontconfig-devel/fcconfiggetconfigfiles.html215
-rw-r--r--doc/fontconfig-devel/fcconfiggetcurrent.html204
-rw-r--r--doc/fontconfig-devel/fcconfiggetfontdirs.html217
-rw-r--r--doc/fontconfig-devel/fcconfiggetfonts.html222
-rw-r--r--doc/fontconfig-devel/fcconfiggetrescaninterval.html218
-rw-r--r--doc/fontconfig-devel/fcconfiggetsysroot.html214
-rw-r--r--doc/fontconfig-devel/fcconfighome.html209
-rw-r--r--doc/fontconfig-devel/fcconfigparseandload.html219
-rw-r--r--doc/fontconfig-devel/fcconfigreference.html219
-rw-r--r--doc/fontconfig-devel/fcconfigsetcurrent.html216
-rw-r--r--doc/fontconfig-devel/fcconfigsetrescaninterval.html217
-rw-r--r--doc/fontconfig-devel/fcconfigsetsysroot.html211
-rw-r--r--doc/fontconfig-devel/fcconfigsubstitute.html221
-rw-r--r--doc/fontconfig-devel/fcconfigsubstitutewithpat.html239
-rw-r--r--doc/fontconfig-devel/fcconfiguptodate.html216
-rw-r--r--doc/fontconfig-devel/fcdefaultsubstitute.html222
-rw-r--r--doc/fontconfig-devel/fcdircacheclean.html224
-rw-r--r--doc/fontconfig-devel/fcdircacheload.html227
-rw-r--r--doc/fontconfig-devel/fcdircacheloadfile.html221
-rw-r--r--doc/fontconfig-devel/fcdircacheread.html227
-rw-r--r--doc/fontconfig-devel/fcdircacherescan.html225
-rw-r--r--doc/fontconfig-devel/fcdircacheunlink.html227
-rw-r--r--doc/fontconfig-devel/fcdircacheunload.html199
-rw-r--r--doc/fontconfig-devel/fcdircachevalid.html210
-rw-r--r--doc/fontconfig-devel/fcdirsave.html233
-rw-r--r--doc/fontconfig-devel/fcdirscan.html254
-rw-r--r--doc/fontconfig-devel/fcfileisdir.html210
-rw-r--r--doc/fontconfig-devel/fcfilescan.html264
-rw-r--r--doc/fontconfig-devel/fcfini.html207
-rw-r--r--doc/fontconfig-devel/fcfontlist.html232
-rw-r--r--doc/fontconfig-devel/fcfontmatch.html250
-rw-r--r--doc/fontconfig-devel/fcfontrenderprepare.html247
-rw-r--r--doc/fontconfig-devel/fcfontsetadd.html211
-rw-r--r--doc/fontconfig-devel/fcfontsetcreate.html204
-rw-r--r--doc/fontconfig-devel/fcfontsetdestroy.html205
-rw-r--r--doc/fontconfig-devel/fcfontsetlist.html249
-rw-r--r--doc/fontconfig-devel/fcfontsetmatch.html261
-rw-r--r--doc/fontconfig-devel/fcfontsetprint.html212
-rw-r--r--doc/fontconfig-devel/fcfontsetsort.html291
-rw-r--r--doc/fontconfig-devel/fcfontsetsortdestroy.html210
-rw-r--r--doc/fontconfig-devel/fcfontsort.html277
-rw-r--r--doc/fontconfig-devel/fcfreetypecharindex.html214
-rw-r--r--doc/fontconfig-devel/fcfreetypecharset.html213
-rw-r--r--doc/fontconfig-devel/fcfreetypecharsetandspacing.html229
-rw-r--r--doc/fontconfig-devel/fcfreetypequery.html221
-rw-r--r--doc/fontconfig-devel/fcfreetypequeryface.html210
-rw-r--r--doc/fontconfig-devel/fcgetdefaultlangs.html216
-rw-r--r--doc/fontconfig-devel/fcgetlangs.html204
-rw-r--r--doc/fontconfig-devel/fcgetversion.html204
-rw-r--r--doc/fontconfig-devel/fcinit.html207
-rw-r--r--doc/fontconfig-devel/fcinitbringuptodate.html196
-rw-r--r--doc/fontconfig-devel/fcinitloadconfig.html205
-rw-r--r--doc/fontconfig-devel/fcinitloadconfigandfonts.html205
-rw-r--r--doc/fontconfig-devel/fcinitreinitialize.html207
-rw-r--r--doc/fontconfig-devel/fcislower.html210
-rw-r--r--doc/fontconfig-devel/fcisupper.html210
-rw-r--r--doc/fontconfig-devel/fclanggetcharset.html193
-rw-r--r--doc/fontconfig-devel/fclangnormalize.html219
-rw-r--r--doc/fontconfig-devel/fclangsetadd.html227
-rw-r--r--doc/fontconfig-devel/fclangsetcompare.html227
-rw-r--r--doc/fontconfig-devel/fclangsetcontains.html247
-rw-r--r--doc/fontconfig-devel/fclangsetcopy.html213
-rw-r--r--doc/fontconfig-devel/fclangsetcreate.html207
-rw-r--r--doc/fontconfig-devel/fclangsetdel.html237
-rw-r--r--doc/fontconfig-devel/fclangsetdestroy.html208
-rw-r--r--doc/fontconfig-devel/fclangsetequal.html220
-rw-r--r--doc/fontconfig-devel/fclangsetgetlangs.html209
-rw-r--r--doc/fontconfig-devel/fclangsethash.html221
-rw-r--r--doc/fontconfig-devel/fclangsethaslang.html243
-rw-r--r--doc/fontconfig-devel/fclangsetsubtract.html229
-rw-r--r--doc/fontconfig-devel/fclangsetunion.html229
-rw-r--r--doc/fontconfig-devel/fcmatrixcopy.html213
-rw-r--r--doc/fontconfig-devel/fcmatrixequal.html224
-rw-r--r--doc/fontconfig-devel/fcmatrixinit.html213
-rw-r--r--doc/fontconfig-devel/fcmatrixmultiply.html234
-rw-r--r--doc/fontconfig-devel/fcmatrixrotate.html249
-rw-r--r--doc/fontconfig-devel/fcmatrixscale.html249
-rw-r--r--doc/fontconfig-devel/fcmatrixshear.html238
-rw-r--r--doc/fontconfig-devel/fcnameconstant.html209
-rw-r--r--doc/fontconfig-devel/fcnamegetconstant.html209
-rw-r--r--doc/fontconfig-devel/fcnamegetobjecttype.html198
-rw-r--r--doc/fontconfig-devel/fcnameparse.html209
-rw-r--r--doc/fontconfig-devel/fcnameregisterconstants.html209
-rw-r--r--doc/fontconfig-devel/fcnameregisterobjecttypes.html209
-rw-r--r--doc/fontconfig-devel/fcnameunparse.html206
-rw-r--r--doc/fontconfig-devel/fcnameunregisterconstants.html209
-rw-r--r--doc/fontconfig-devel/fcnameunregisterobjecttypes.html209
-rw-r--r--doc/fontconfig-devel/fcobjectsetadd.html210
-rw-r--r--doc/fontconfig-devel/fcobjectsetbuild.html250
-rw-r--r--doc/fontconfig-devel/fcobjectsetcreate.html204
-rw-r--r--doc/fontconfig-devel/fcobjectsetdestroy.html204
-rw-r--r--doc/fontconfig-devel/fcpatternadd-type.html422
-rw-r--r--doc/fontconfig-devel/fcpatternadd.html228
-rw-r--r--doc/fontconfig-devel/fcpatternaddweak.html230
-rw-r--r--doc/fontconfig-devel/fcpatternbuild.html301
-rw-r--r--doc/fontconfig-devel/fcpatterncreate.html204
-rw-r--r--doc/fontconfig-devel/fcpatterndel.html210
-rw-r--r--doc/fontconfig-devel/fcpatterndestroy.html205
-rw-r--r--doc/fontconfig-devel/fcpatternduplicate.html211
-rw-r--r--doc/fontconfig-devel/fcpatternequal.html219
-rw-r--r--doc/fontconfig-devel/fcpatternequalsubset.html230
-rw-r--r--doc/fontconfig-devel/fcpatternfilter.html232
-rw-r--r--doc/fontconfig-devel/fcpatternformat.html607
-rw-r--r--doc/fontconfig-devel/fcpatternget-type.html468
-rw-r--r--doc/fontconfig-devel/fcpatternget.html237
-rw-r--r--doc/fontconfig-devel/fcpatternhash.html205
-rw-r--r--doc/fontconfig-devel/fcpatternprint.html206
-rw-r--r--doc/fontconfig-devel/fcpatternreference.html210
-rw-r--r--doc/fontconfig-devel/fcpatternremove.html215
-rw-r--r--doc/fontconfig-devel/fcrangecopy.html223
-rw-r--r--doc/fontconfig-devel/fcrangecreatedouble.html223
-rw-r--r--doc/fontconfig-devel/fcrangecreateinteger.html223
-rw-r--r--doc/fontconfig-devel/fcrangedestroy.html218
-rw-r--r--doc/fontconfig-devel/fcrangegetdouble.html223
-rw-r--r--doc/fontconfig-devel/fcstrbasename.html200
-rw-r--r--doc/fontconfig-devel/fcstrcmp.html220
-rw-r--r--doc/fontconfig-devel/fcstrcmpignorecase.html221
-rw-r--r--doc/fontconfig-devel/fcstrcopy.html214
-rw-r--r--doc/fontconfig-devel/fcstrcopyfilename.html222
-rw-r--r--doc/fontconfig-devel/fcstrdirname.html211
-rw-r--r--doc/fontconfig-devel/fcstrdowncase.html210
-rw-r--r--doc/fontconfig-devel/fcstrfree.html205
-rw-r--r--doc/fontconfig-devel/fcstrlistcreate.html209
-rw-r--r--doc/fontconfig-devel/fcstrlistdone.html198
-rw-r--r--doc/fontconfig-devel/fcstrlistfirst.html219
-rw-r--r--doc/fontconfig-devel/fcstrlistnext.html209
-rw-r--r--doc/fontconfig-devel/fcstrplus.html221
-rw-r--r--doc/fontconfig-devel/fcstrsetadd.html219
-rw-r--r--doc/fontconfig-devel/fcstrsetaddfilename.html221
-rw-r--r--doc/fontconfig-devel/fcstrsetcreate.html204
-rw-r--r--doc/fontconfig-devel/fcstrsetdel.html225
-rw-r--r--doc/fontconfig-devel/fcstrsetdestroy.html209
-rw-r--r--doc/fontconfig-devel/fcstrsetequal.html221
-rw-r--r--doc/fontconfig-devel/fcstrsetmember.html220
-rw-r--r--doc/fontconfig-devel/fcstrstr.html232
-rw-r--r--doc/fontconfig-devel/fcstrstrignorecase.html232
-rw-r--r--doc/fontconfig-devel/fctolower.html210
-rw-r--r--doc/fontconfig-devel/fcucs4toutf8.html221
-rw-r--r--doc/fontconfig-devel/fcutf16len.html266
-rw-r--r--doc/fontconfig-devel/fcutf16toucs4.html253
-rw-r--r--doc/fontconfig-devel/fcutf8len.html249
-rw-r--r--doc/fontconfig-devel/fcutf8toucs4.html237
-rw-r--r--doc/fontconfig-devel/fcvaluedestroy.html210
-rw-r--r--doc/fontconfig-devel/fcvalueequal.html200
-rw-r--r--doc/fontconfig-devel/fcvalueprint.html211
-rw-r--r--doc/fontconfig-devel/fcvaluesave.html215
-rw-r--r--doc/fontconfig-devel/fcweightfromopentype.html223
-rw-r--r--doc/fontconfig-devel/fcweighttoopentype.html212
-rw-r--r--doc/fontconfig-devel/ln12.html128
-rw-r--r--doc/fontconfig-devel/t1.html133
-rw-r--r--doc/fontconfig-devel/x102.html1606
-rw-r--r--doc/fontconfig-devel/x19.html279
-rw-r--r--doc/fontconfig-devel/x31.html590
-rw-r--r--doc/fontconfig-user.html1548
-rw-r--r--doc/fontconfig-user.pdfbin0 -> 130838 bytes
-rw-r--r--doc/fontconfig-user.sgml11
-rw-r--r--doc/fontconfig-user.txt827
-rw-r--r--doc/fonts-conf.5751
-rw-r--r--fc-blanks/Makefile.am (renamed from fc-lang/pes.orth)29
-rw-r--r--fc-blanks/Makefile.in588
-rwxr-xr-xfc-blanks/fc-blanks.py132
-rw-r--r--fc-blanks/fcblanks.h4223
-rw-r--r--fc-blanks/fcblanks.tmpl.h25
-rw-r--r--fc-cache/Makefile.in795
-rw-r--r--fc-cache/fc-cache.185
-rw-r--r--fc-cache/fc-cache.c39
-rw-r--r--fc-cache/fc-cache.sgml33
-rw-r--r--fc-case/CaseFolding.txt59
-rw-r--r--fc-case/Makefile.in641
-rw-r--r--fc-case/fccase.h337
-rw-r--r--fc-cat/Makefile.in786
-rw-r--r--fc-cat/fc-cat.145
-rw-r--r--fc-cat/fc-cat.c9
-rw-r--r--fc-cat/fc-cat.sgml2
-rw-r--r--fc-glyphname/Makefile.in641
-rw-r--r--fc-glyphname/fcglyphname.h781
-rw-r--r--fc-lang/Makefile.in895
-rw-r--r--fc-lang/fc-lang.man39
-rw-r--r--fc-lang/fclang.h4549
-rw-r--r--fc-lang/iso-3166.txt242
-rw-r--r--fc-lang/iso639-1139
-rw-r--r--fc-lang/iso639-2473
-rw-r--r--fc-lang/ja.orth4234
-rw-r--r--fc-lang/ko.orth1
-rw-r--r--fc-lang/prs.orth29
-rw-r--r--fc-list/Makefile.in786
-rw-r--r--fc-list/fc-list.176
-rw-r--r--fc-match/Makefile.in786
-rw-r--r--fc-match/fc-match.174
-rw-r--r--fc-pattern/Makefile.in786
-rw-r--r--fc-pattern/fc-pattern.167
-rw-r--r--fc-query/Makefile.in786
-rw-r--r--fc-query/fc-query.158
-rw-r--r--fc-scan/Makefile.in786
-rw-r--r--fc-scan/fc-scan.153
-rw-r--r--fc-validate/Makefile.in788
-rw-r--r--fc-validate/fc-validate.147
-rw-r--r--fontconfig.spec138
-rw-r--r--fontconfig/Makefile.in606
-rw-r--r--fontconfig/fcprivate.h3
-rw-r--r--fontconfig/fontconfig.h47
-rw-r--r--fonts.conf.in66
-rwxr-xr-xinstall-sh527
-rw-r--r--ltmain.sh9655
-rw-r--r--m4/libtool.m47992
-rw-r--r--m4/ltoptions.m4384
-rw-r--r--m4/ltsugar.m4123
-rw-r--r--m4/ltversion.m423
-rw-r--r--m4/lt~obsolete.m498
-rw-r--r--m4/pkg.m4214
-rwxr-xr-xmissing215
-rw-r--r--src/Makefile.am3
-rw-r--r--src/Makefile.in929
-rw-r--r--src/fcarch.c3
-rw-r--r--src/fcatomic.c2
-rw-r--r--src/fcatomic.h18
-rw-r--r--src/fcblanks.c27
-rw-r--r--src/fccache.c88
-rw-r--r--src/fccfg.c145
-rw-r--r--src/fccharset.c238
-rw-r--r--src/fccompat.c4
-rw-r--r--src/fcdbg.c13
-rw-r--r--src/fcdefault.c47
-rw-r--r--src/fcdir.c104
-rw-r--r--src/fcfreetype.c660
-rw-r--r--src/fchash.c317
-rw-r--r--src/fcinit.c28
-rw-r--r--src/fcint.h116
-rw-r--r--src/fclang.c27
-rw-r--r--src/fclist.c4
-rw-r--r--src/fcmatch.c108
-rw-r--r--src/fcname.c51
-rw-r--r--src/fcobjs.h7
-rw-r--r--src/fcobjshash.gperf64
-rw-r--r--src/fcobjshash.h320
-rw-r--r--src/fcpat.c73
-rw-r--r--src/fcrange.c234
-rw-r--r--src/fcstat.c86
-rw-r--r--src/fcstdint.h9
-rw-r--r--src/fcstr.c52
-rw-r--r--src/fcweight.c95
-rw-r--r--src/fcwindows.h7
-rw-r--r--src/fcxml.c147
-rwxr-xr-xtest-driver139
-rw-r--r--test/Makefile.in1033
-rw-r--r--test/test-migration.c2
540 files changed, 164259 insertions, 6505 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 00000000..9a05f9b2
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,22398 @@
+commit f6244d2cf231e1dc756f3e941e61b9bf124879bb
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed May 8 11:57:49 2013 +0900
+
+ Use the glob matching for filename
+
+ Regex is expensive to compare filenames. we already have the glob
+ matching
+ and it works enough in this case.
+
+ Prior to this change, renaming FcConfigGlobMatch() to FcStrGlobMatch()
+ and moving to fcstr.c
+
+ src/fccfg.c | 46 +---------------------------------------------
+ src/fcint.h | 4 ++++
+ src/fcmatch.c | 6 ++----
+ src/fcstr.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 51 insertions(+), 49 deletions(-)
+
+commit 03216ccf4ca0808f9c7b9513efcaeb7f4058b575
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Apr 10 18:41:22 2013 +0900
+
+ Bug 63329 - make check fails: .. contents:: :depth: 2
+
+ Add back FcHashGetSHA256DigestFromFile() and fall back to it
+ when font isn't SFNT-based font because FT_Load_Sfnt_Table
+ fails with FT_Err_Invalid_Face_Handle.
+
+ src/fcfreetype.c | 32 ++++++++++++++++++++---------
+ src/fchash.c | 62
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcint.h | 4 ++++
+ 3 files changed, 88 insertions(+), 10 deletions(-)
+
+commit 77419a4dfdf41ed34dd03e74d0e4e6f89dbc65e1
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Apr 10 11:14:39 2013 +0900
+
+ documented FC_HASH and FC_POSTSCRIPT_NAME
+
+ doc/fontconfig-devel.sgml | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit fc5a589abad0e8285f7d95007ebda76536e8fa7d
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Apr 9 17:18:43 2013 +0900
+
+ Revert the previous change and rework to not export freetype API
+ outside fcfreetype.c
+
+ src/fcfreetype.c | 23 ++++++++++++++++++++---
+ src/fchash.c | 47 ++++++++++++-----------------------------------
+ src/fcint.h | 5 ++---
+ 3 files changed, 34 insertions(+), 41 deletions(-)
+
+commit c93a8b8b54afe33e5ecf9870723543cb4058fa94
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Apr 9 12:46:30 2013 +0900
+
+ Obtain fonts data via FT_Face instead of opening a file directly
+
+ src/fcfreetype.c | 2 +-
+ src/fchash.c | 50 +++++++++++++++++++++++++++++++++-----------------
+ src/fcint.h | 4 +++-
+ 3 files changed, 37 insertions(+), 19 deletions(-)
+
+commit 9299155b5247255d6b6687448173056c3ca8d09b
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Apr 9 11:34:35 2013 +0900
+
+ Ensure closing fp on error
+
+ src/fchash.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 18bf57c70aafcad031c0b43756b754dcaf6a756a
+Author: Sebastian Freundt <hroptatyr@fresse.org>
+Date: Sun Apr 7 00:02:58 2013 +0000
+
+ build-chain, replace INCLUDES directive by AM_CPPFLAGS
+
+ As of automake-13.1 the INCLUDES directive is no longer supported.
+ An automake run will return with an error.
+
+ This changeset simply follows automake's advice to replace INCLUDES
+ by AM_CPPFLAGS.
+
+ Tools.mk | 4 ++--
+ fc-cache/Makefile.am | 2 +-
+ fc-cat/Makefile.am | 2 +-
+ fc-list/Makefile.am | 2 +-
+ fc-match/Makefile.am | 2 +-
+ fc-pattern/Makefile.am | 2 +-
+ fc-query/Makefile.am | 2 +-
+ fc-scan/Makefile.am | 2 +-
+ fc-validate/Makefile.am | 2 +-
+ src/Makefile.am | 2 +-
+ 10 files changed, 11 insertions(+), 11 deletions(-)
+
+commit 8fd0ed60a62cb7f36b2ade1bd16a66671eaf79da
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Apr 1 18:16:28 2013 +0900
+
+ Bug 62980 - matching native fonts with even :lang=en
+
+ Fix the matcher modified by 4eab908c8679a797ac7016b77a93ee41bb11b0fc
+ to deal with both strong and weak of FC_LANG as the same location
+ in the score
+
+ src/fcmatch.c | 23 +++++++----------------
+ 1 file changed, 7 insertions(+), 16 deletions(-)
+
+commit 73fa326d1e791b587da93b795f962c3405b7a96d
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Mar 29 16:10:15 2013 +0900
+
+ Bump version to 2.10.92
+
+ README | 65
+ +++++++++++++++++++++++++++++++++++++++++++++++--
+ configure.ac | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 65 insertions(+), 4 deletions(-)
+
+commit c842412c079e781d53f023616d9758223fb68323
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Mar 29 16:07:30 2013 +0900
+
+ Minor fix
+
+ new-version.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit b3b435b87f1aec1b2779fd7edbbff5571c3c61a2
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Mar 29 16:02:34 2013 +0900
+
+ Bump libtool revision
+
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 3fc22cfe756fcb2d6c5a64aa305957c417c6cecd
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Mar 29 12:46:04 2013 +0900
+
+ Minor cleanup
+
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit b561ff2016ce84eef3c81f16dfb0481be6a13f9b
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Jan 18 11:30:10 2013 +0900
+
+ Bug 38737 - Wishlist: support FC_POSTSCRIPT_NAME
+
+ Add the PostScript name into the cache and the matcher.
+ Scoring the better font against the PostScript name by
+ the forward-matching.
+
+ fontconfig/fontconfig.h | 1 +
+ src/fcfreetype.c | 49 +++++++++++++++++++++++++++-
+ src/fcint.h | 6 ++++
+ src/fcmatch.c | 21 ++++++++++++
+ src/fcobjs.h | 1 +
+ src/fcstr.c | 85
+ ++++++++++++++++++++++++++++---------------------
+ 6 files changed, 125 insertions(+), 38 deletions(-)
+
+commit c758206e8c0e5b572bd34183b184ef4361745333
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Mar 21 11:58:06 2013 +0900
+
+ Fix a SIGSEGV on FcPatternGet* with NULL pattern
+
+ src/fcpat.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit bdf1581e3de5528f397f19bfd4ca9caaf9e7fe4a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Mar 8 05:53:27 2013 -0500
+
+ Fix crash with FcConfigSetCurrent(NULL)
+
+ src/fccfg.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit aad4d6f6c68d06415333f5d0d3e4b4870114f11d
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Mar 7 13:19:50 2013 +0900
+
+ Do not copy FC_*LANG_OBJECT even if it's not available on the pattern
+
+ those objects are linked to the corresponding string objects.
+ this may causes inconsistency that those objects has more values
+ than them.
+
+ src/fcmatch.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit e96d7760886a3781a46b3271c76af99e15cb0146
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Feb 6 19:35:30 2013 +0900
+
+ Bug 59456 - Adding a --sysroot like option to fc-cache
+
+ Add an ability to set the system root to generate the caches.
+ In order to do this, new APIs, FcConfigGetSysRoot() and
+ FcConfigSetSysRoot() is available.
+
+ doc/fcconfig.fncs | 21 +++++++++++
+ fc-cache/fc-cache.c | 38 +++++++++++++------
+ fontconfig/fontconfig.h | 7 ++++
+ src/fccache.c | 99
+ +++++++++++++++++++++++++++++++++----------------
+ src/fccfg.c | 57 ++++++++++++++++++++++++++++
+ src/fcinit.c | 30 ++++++++++-----
+ src/fcint.h | 15 +++++++-
+ src/fcstr.c | 62 ++++++++++++++++++++++++++++++-
+ 8 files changed, 275 insertions(+), 54 deletions(-)
+
+commit 569657a24ca11aedfd3b588984344d7ab97fe09f
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Mar 5 12:46:01 2013 +0900
+
+ Fix a memory leak
+
+ src/fclang.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 612ee2a5c91b8929b2cc5abce4af84d8d7e66bd0
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Mar 1 22:21:25 2013 +0900
+
+ Fix broken sort order with FcFontSort()
+
+ which was introduced by 4eab908c8679a797ac7016b77a93ee41bb11b0fc
+
+ src/fcmatch.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit ea4ebd59377d3dff3616bd20381f308a92781ae6
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Mar 1 19:38:21 2013 +0900
+
+ Fix a crash when the object is non-builtin object
+
+ src/fcmatch.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 10230497675fa4fcbb427efe8dd2883839ddaec0
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Mar 1 18:41:27 2013 +0900
+
+ Fix a typo
+
+ conf.d/30-metric-aliases.conf | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit db69bf6ecd0da4d23bdfe38652bb53d2daa655a2
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Mar 1 18:31:01 2013 +0900
+
+ Bug 60783 - Add Liberation Sans Narrow to 30-metric-aliases.conf
+
+ Add Liberation Sans Narrow as an alias for Arial Narrow
+
+ conf.d/30-metric-aliases.conf | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit 2c696255749683e9a084f797eb033d222510a275
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Feb 18 13:17:53 2013 +0900
+
+ Bug 60748 - broken conf.d/10-autohint.conf and conf.d/10-unhinted.conf
+
+ Move the target of recipes to the "pattern" from the "font".
+ This is to ensure the targeted objects is updated by them
+ prior to FcDefaultSubstitute() so that it can adds the default
+ values properly.
+
+ conf.d/10-autohint.conf | 2 +-
+ conf.d/10-no-sub-pixel.conf | 2 +-
+ conf.d/10-sub-pixel-bgr.conf | 2 +-
+ conf.d/10-sub-pixel-rgb.conf | 2 +-
+ conf.d/10-sub-pixel-vbgr.conf | 2 +-
+ conf.d/10-sub-pixel-vrgb.conf | 2 +-
+ conf.d/10-unhinted.conf | 2 +-
+ conf.d/11-lcdfilter-default.conf | 2 +-
+ conf.d/11-lcdfilter-legacy.conf | 2 +-
+ conf.d/11-lcdfilter-light.conf | 2 +-
+ 10 files changed, 10 insertions(+), 10 deletions(-)
+
+commit 83f679ce558de736ef1a095a362397da0ac3417f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Feb 15 09:48:38 2013 -0500
+
+ Accept digits as part of OpenType script tags
+
+ They've been used since 2005.
+
+ src/fcfreetype.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 72b0480a21958f0f8c115d8e0a5bfbd8d358b5c3
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Feb 7 17:56:17 2013 +0900
+
+ Add Culmus foundry to the vendor list
+
+ Maps fonts produced by the Culmus project
+ <http://culmus.sourceforge.net>
+ to the XLFD foundry name culmus.
+
+ For TrueType fonts, maps the vendor code CLM from the TrueType vendor
+ id field.
+
+ For Type1 fonts, which use heuristics to guess mappings to XLFD
+ foundries from
+ words in the copyright notice, add the names of the main contributors
+ to
+ the Culmus product to recognize the fonts under their copyright.
+
+ Patch from Maxim Iorsh
+
+ src/fcfreetype.c | 67
+ +++++++++++++++++++-------------------------------------
+ 1 file changed, 23 insertions(+), 44 deletions(-)
+
+commit 96220a5ed9d1d761b14a7ac516ac6786c132f280
+Author: Quentin Glidic <sardemff7+git@sardemff7.net>
+Date: Sat Feb 2 17:01:07 2013 +0100
+
+ Use LOG_COMPILER and AM_TESTS_ENVIRONMENT
+
+ TESTS_ENVIRONMENT is deprecated and should be reserved to the user to
+ override the test environment
+
+ <ext>_LOG_COMPILER is meant to contain the program that runs the test
+ with <ext> extension
+ LOG_COMPILER is for extensionless tests
+ AM_TESTS_ENVIRONMENT is meant to set the environment for the tests
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=60192
+
+ Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
+
+ Makefile.am | 1 -
+ configure.ac | 2 +-
+ doc/Makefile.am | 5 ++++-
+ test/Makefile.am | 12 +++++++++++-
+ 4 files changed, 16 insertions(+), 4 deletions(-)
+
+commit 62b7d764ce994bb32e7614337fdfa0854445c380
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Feb 6 19:14:51 2013 +0900
+
+ Bump the cache version to 4
+
+ fontconfig/fontconfig.h | 2 +-
+ src/fcint.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 4eab908c8679a797ac7016b77a93ee41bb11b0fc
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Feb 6 19:02:07 2013 +0900
+
+ Update _FcMatchers definition logic
+
+ to make it easier to maintain. also added FC_HASH_OBJECT to be matched
+ in the pattern, prior to FC_FILE_OBJECT.
+
+ src/fcint.h | 2 +-
+ src/fcmatch.c | 184
+ +++++++++++++++++++++++--------------------------
+ src/fcname.c | 2 +-
+ src/fcobjs.h | 90 ++++++++++++------------
+ src/fcobjshash.gperf.h | 2 +-
+ 5 files changed, 134 insertions(+), 146 deletions(-)
+
+commit 52b2b5c99268d5ad28dc0972c5f136720d55f21b
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Feb 5 20:44:18 2013 +0900
+
+ Bug 60312 - DIST_SUBDIRS should never appear in a conditional
+
+ As it is documented like this:
+
+ If SUBDIRS is defined conditionally using Automake conditionals,
+ Automake will define DIST_SUBDIRS automatically from the possible
+ values of SUBDIRS in all conditions.
+
+ So we don't need to re-define DIST_SUBDIRS in Makefile.am unless
+ we use AC_SUBST to define SUBDIRS.
+
+ Patch from Quentin Glidic
+
+ Makefile.am | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit 95af7447dba7c54ed162b667c0bb2ea6500e8f32
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Feb 4 16:03:29 2013 +0900
+
+ Bug 50733 - Add font-file hash?
+
+ Add "hash" object which contains SHA256 hash value (so far) computed
+ from the font file.
+
+ fontconfig/fontconfig.h | 1 +
+ src/Makefile.am | 1 +
+ src/fcfreetype.c | 9 ++
+ src/fchash.c | 265
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcint.h | 7 ++
+ src/fcobjs.h | 1 +
+ 6 files changed, 284 insertions(+)
+
+commit d34643894f2dff7eec35345e8e9b32a9a32fa113
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Feb 5 14:17:16 2013 +0900
+
+ Use AM_MISSING_PROG instead of hardcoding missing
+
+ Makefile.am | 2 +-
+ configure.ac | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+commit 241cd53ff62599ecf557c6a4f975fc427dad9700
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Feb 5 11:33:47 2013 +0900
+
+ Revert "test: Use SH_LOG_COMPILER and AM_TESTS_ENVIRONMENT"
+
+ This reverts commit 2146b0307a3476892723104481f27f8484451c52.
+
+ That change introduces incompatibility and seems not working with
+ older releases of automake, including automake 1.12.2.
+
+ test/Makefile.am | 12 +-----------
+ 1 file changed, 1 insertion(+), 11 deletions(-)
+
+commit 2146b0307a3476892723104481f27f8484451c52
+Author: Quentin Glidic <sardemff7+git@sardemff7.net>
+Date: Sat Feb 2 17:01:07 2013 +0100
+
+ test: Use SH_LOG_COMPILER and AM_TESTS_ENVIRONMENT
+
+ TESTS_ENVIRONMENT is deprecated and should be reserved to the user to
+ override the test environment
+
+ <ext>_LOG_COMPILER is meant to contain the program that runs the test
+ with <ext> extension
+ AM_TESTS_ENVIRONMENT is meant to set the environment for the tests
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=60192
+
+ Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
+
+ test/Makefile.am | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+commit da0946721af3ab2dff3cd903065336b93592d067
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Feb 4 17:57:00 2013 +0900
+
+ Use AM_MISSING_PROG instead of hardcoding missing
+
+ configure.ac | 2 ++
+ src/Makefile.am | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+commit 786ead52015573e7b60a53d79abc26d611f1fe93
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Feb 4 17:20:03 2013 +0900
+
+ Modernize configure.ac
+
+ configure.ac | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 20191810d1fea7c2f49b65ffee3e4d5e2bc0bac3
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Jan 29 20:19:36 2013 +0900
+
+ Bug 23757 - Add mode="delete" to <edit>
+
+ Add two edit mode, "delete" and "delete_all".
+ what values are being deleted depends on <test> as documented.
+ if the target object is same to what is tested, matching value there
+ will be deleted. otherwise all of values in the object will be
+ deleted.
+ so this would means both edit mode will not take any expressions.
+
+ e.g.
+
+ Given that the testing is always true here, the following rules:
+
+ <match>
+ <test name="foo" compare="eq">
+ <string>bar</string>
+ </test>
+ <edit name="foo" mode="delete"/>
+ </match>
+
+ will removes "bar" string from "foo" object. and:
+
+ <match>
+ <test name="foo" compare="eq">
+ <string>foo</string>
+ </test>
+ <edit name="bar" mode="delete"/>
+ </match>
+
+ will removes all of values in "bar" object.
+
+ doc/fontconfig-user.sgml | 2 ++
+ fonts.dtd | 2 +-
+ src/fccfg.c | 10 ++++++++++
+ src/fcdbg.c | 6 ++++--
+ src/fcint.h | 1 +
+ src/fcxml.c | 11 +++++++++++
+ 6 files changed, 29 insertions(+), 3 deletions(-)
+
+commit c1d9588890798e389d0f0ba633b704dee1ea8bf5
+Author: Colin Walters <walters@verbum.org>
+Date: Thu Jan 31 21:32:46 2013 -0500
+
+ build: Only use PKG_INSTALLDIR if available
+
+ It's only in pkg-config 0.27 or newer, but 0.25 at least is still
+ fairly widespread.
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e11f15628cff04c4a742f88abee22f440edcce52
+Author: Christoph J. Thompson <cjsthompson@gmail.com>
+Date: Fri Feb 1 02:27:32 2013 +0100
+
+ Use the PKG_INSTALLDIR macro.
+
+ modified: Makefile.am
+ modified: configure.ac
+
+ Makefile.am | 1 -
+ configure.ac | 1 +
+ 2 files changed, 1 insertion(+), 1 deletion(-)
+
+commit d26fb23c41abd87422778bb38eea39f25ba3dc4a
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Jan 25 20:01:24 2013 +0900
+
+ Bug 59385 - Do the right thing for intermixed edit and test elements
+
+ This changes allows to have multiple mathcing rules in one <match>
+ block
+ in the same order.
+ After this changes, the following thing will works as two matching
+ rules:
+
+ <match>
+ <!-- rule 1 -->
+ <test name="family" compare="eq">
+ <string>foo</string>
+ </test>
+ <edit name="foo" mode="append">
+ <string>foo</string>
+ </edit>
+ <!-- rule 2 -->
+ <test name="foo" compare="eq">
+ <string>foo</string>
+ </test>
+ <edit name="foo" mode="append">
+ <string>bar</string>
+ </edit>
+ </match>
+
+ fonts.dtd | 2 +-
+ src/fcxml.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 47 insertions(+), 1 deletion(-)
+
+commit fb3b410998aba8835999e2ca7003a180431cfaf4
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Jan 23 12:37:51 2013 +0900
+
+ remove the unnecessary code
+
+ src/fccompat.c | 6 ------
+ 1 file changed, 6 deletions(-)
+
+commit 5400bb4fb43dc811b813f11d5b0c023db727f543
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Jan 23 12:32:37 2013 +0900
+
+ Add another approach to FC_PRGNAME for Solaris 10 or before
+
+ Patch from Raimund Steger
+
+ configure.ac | 2 +-
+ src/fcdefault.c | 5 ++++-
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+commit 000ca9ccb03013a5b151f0d21148ab0ca4c2f2de
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Jan 22 12:11:56 2013 +0900
+
+ Fix installation on MinGW32
+
+ Patch from LRN
+
+ src/Makefile.am | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 6363193a0575cf6f58baf7f0a772ad8f92b7b904
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Jan 22 12:03:28 2013 +0900
+
+ Fix mkstemp absence for some platform
+
+ Patch from LRN and modified to make more generic.
+
+ src/fccache.c | 57 ----------------------------
+ src/fccompat.c | 116
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcint.h | 3 ++
+ 3 files changed, 119 insertions(+), 57 deletions(-)
+
+commit 9dbc282796e9a4d5a2a8cc7d1c8e29b9154e91c0
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Jan 22 10:26:41 2013 +0900
+
+ Add missing file descriptor to F_DUPFD_CLOEXEC
+
+ Patch from Matthieu Herrb
+
+ src/fccompat.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6118781f7f5dba672d19a841cc231661bf5fb59d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 17 19:27:20 2013 -0600
+
+ Fix readlink failure
+
+ As reported by Raimund Steger.
+
+ src/fcdefault.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 671bcb34e23ed03b1f564af35560db81f8b12b96
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Jan 17 12:49:16 2013 +0900
+
+ Better fix for 2fe5ddfd
+
+ Drop realpath() and fix breakage on Win32
+
+ configure.ac | 2 +-
+ src/fcdefault.c | 14 +++++++-------
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+commit 2fe5ddfdae6be80db5b7e622ab6c1ab985377542
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 16 21:01:28 2013 -0600
+
+ Fix FC_PRGNAME default
+
+ As reported by Raimund Steger.
+
+ src/fcdefault.c | 36 +++++++++++++++++++-----------------
+ 1 file changed, 19 insertions(+), 17 deletions(-)
+
+commit 55d39bcad0737e92e1207fabbd8c65fa9e5e0482
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 16 07:30:44 2013 -0600
+
+ Fix fc-cache crash caused by looking up NULL object incorrectly
+
+ We were returning a skiplist node when looking up NULL!
+
+ src/fccache.c | 7 +++++--
+ src/fccfg.c | 4 ++--
+ 2 files changed, 7 insertions(+), 4 deletions(-)
+
+commit 106c4f73119e00a7804ef79ee556f1111d680e32
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 16 07:05:07 2013 -0600
+
+ Minor
+
+ src/fcfreetype.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 1a5d0daea0173e2cc47d76d2022467f0dbd423f0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 16 04:52:06 2013 -0600
+
+ Remove unused checks for common functions
+
+ The check results of these were never actually used.
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f9ac4c84c90cbb57afbf1fa3a5c9ff3bfc4f537e
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Jan 16 16:35:28 2013 +0900
+
+ Improve FcGetPrgname() to work on BSD
+
+ configure.ac | 2 +-
+ src/fcdefault.c | 10 ++++++++++
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+commit ec5ca08c807585a9230f83c95f7cca6b7065b142
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 15 20:41:26 2013 -0600
+
+ Bug 59379 - FC_PRGNAME
+
+ Can be used for per-application configuration.
+
+ configure.ac | 2 +-
+ doc/fontconfig-devel.sgml | 3 +-
+ doc/fontconfig-user.sgml | 1 +
+ fontconfig/fontconfig.h | 1 +
+ src/fccfg.c | 7 ++++
+ src/fcdefault.c | 85
+ +++++++++++++++++++++++++++++++++++++++++++++--
+ src/fcint.h | 3 ++
+ src/fcobjs.h | 1 +
+ 8 files changed, 99 insertions(+), 4 deletions(-)
+
+commit 3f84695104b169fe25742ba3b91d04467f5debc4
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Sep 4 12:39:48 2012 +0900
+
+ Bug 50497 - RFE: Add OpenType feature tags support
+
+ Add FC_FONT_FEATURES to store the feature tags to be enabled.
+
+ doc/fontconfig-devel.sgml | 2 ++
+ doc/fontconfig-user.sgml | 1 +
+ fontconfig/fontconfig.h | 1 +
+ src/fcobjs.h | 1 +
+ 4 files changed, 5 insertions(+)
+
+commit dffb69ed8c7cf2e707bc692f94b51108b772d9d8
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Jan 15 17:26:27 2013 +0900
+
+ Fix the build fail on MinGW
+
+ Reported at
+ http://lists.freedesktop.org/archives/fontconfig/2013-January/004601.html
+
+ just warn at the runtime instead of the compile time. it somewhat
+ works
+ on even MinGW since FcMakeTempfile() isn't used on Win32 so far.
+
+ src/fccompat.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 8b8f0d21534aa9b82276815c84429ffca8941d2a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jan 14 14:39:12 2013 -0600
+
+ Minor
+
+ src/fcmatch.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8828fffd93c6b19bcfd7626ddc472aa8f055d034
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jan 14 14:36:38 2013 -0600
+
+ Copy all values from pattern to font if the font doesn't have
+ the element
+
+ Bug 59376 - FcFontRenderPrepare enhancement
+
+ src/fcmatch.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 0831c1770e4bac7269a190936bbb0529d747e233
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 10 09:01:52 2013 -0600
+
+ Ensure we find the uninstalled fontconfig header
+
+ Patch from Colin Walters.
+
+ test/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 1527c395cbe0bbab9e66a42213ef3ac5ce1c0383
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 10 09:00:18 2013 -0600
+
+ Resepct $NOCONFIGURE
+
+ Patch from Colin Walters.
+
+ autogen.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit fcc3567847949ec422157d331c9640cd0453e169
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Jan 10 17:57:12 2013 +0900
+
+ Bump version to 2.10.91
+
+ README | 105
+ +++++++++++++++++++++++++++++++++++++++++++++++-
+ configure.ac | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 105 insertions(+), 4 deletions(-)
+
+commit 98352247f2ab01046c330485f73fd26eb15a08a4
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Jan 10 17:56:51 2013 +0900
+
+ Update the date in README properly
+
+ new-version.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 9066fbe7855674ff51053b78f1d0d179486e22ea
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 10 01:23:07 2013 -0600
+
+ Make linker happy
+
+ fc-validate/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 98efed3bcafc92b573b193b5b38039aa717617d3
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 10 01:17:02 2013 -0600
+
+ Add atomic ops for Solaris
+
+ Patch from Raimund Steger.
+
+ configure.ac | 22 ++++++++++++++++++++--
+ src/fcatomic.h | 12 ++++++++++++
+ 2 files changed, 32 insertions(+), 2 deletions(-)
+
+commit 8e8a99ae8a1c2e56c42093bee577d6de66248366
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Sep 10 16:09:04 2012 +0900
+
+ Bug 29312 - RFE: feature to indicate which characters are missing
+ to satisfy the language support
+
+ Add fc-validate to check the language coverage in a font.
+
+ Makefile.am | 2 +-
+ configure.ac | 1 +
+ doc/fclangset.fncs | 8 ++
+ fc-validate/Makefile.am | 60 +++++++++++
+ fc-validate/fc-validate.c | 242
+ +++++++++++++++++++++++++++++++++++++++++++
+ fc-validate/fc-validate.sgml | 182 ++++++++++++++++++++++++++++++++
+ fontconfig/fontconfig.h | 3 +
+ src/fcint.h | 3 -
+ 8 files changed, 497 insertions(+), 4 deletions(-)
+
+commit 16fd965171808c10f87d097f678ee9e10771be72
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Jan 9 11:26:56 2013 +0900
+
+ Fix a typo in the manpages template
+
+ doc/func.sgml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7680e9ee891a74f0e428e30604a5d0ff0e2e9383
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 8 14:51:00 2013 -0600
+
+ Add pthread test
+
+ Not enabled by default since it requires config and fonts.
+
+ test/Makefile.am | 9 ++++++
+ test/test-pthread.c | 79
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 88 insertions(+)
+
+commit dc21ed28d69df279c6068d9cae862e02af72815f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 8 13:01:48 2013 -0600
+
+ Fix memory corruption!
+
+ In FcStrListCreate() we were increasing reference count of set,
+ however, if set had a const reference (which is the case for list
+ of languages), and with multiple threads, the const ref (-1) was
+ getting up to 1 and then a decrease was destroying the set. Ouch.
+
+ Here's the valgrind error, which took me quite a few hours of
+ running to catch:
+
+ ==4464== Invalid read of size 4
+ ==4464== at 0x4E58FF3: FcStrListNext (fcstr.c:1256)
+ ==4464== by 0x4E3F11D: FcConfigSubstituteWithPat (fccfg.c:1508)
+ ==4464== by 0x4E3F8F4: FcConfigSubstitute (fccfg.c:1729)
+ ==4464== by 0x4009FA: test_match (simple-pthread-test.c:53)
+ ==4464== by 0x400A6E: run_test_in_thread (simple-pthread-test.c:68)
+ ==4464== by 0x507EE99: start_thread (pthread_create.c:308)
+ ==4464== Address 0x6bc0b44 is 4 bytes inside a block of size
+ 24 free'd
+ ==4464== at 0x4C2A82E: free (in
+ /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+ ==4464== by 0x4E58F84: FcStrSetDestroy (fcstr.c:1236)
+ ==4464== by 0x4E3F0C6: FcConfigSubstituteWithPat (fccfg.c:1507)
+ ==4464== by 0x4E3F8F4: FcConfigSubstitute (fccfg.c:1729)
+ ==4464== by 0x4009FA: test_match (simple-pthread-test.c:53)
+ ==4464== by 0x400A6E: run_test_in_thread (simple-pthread-test.c:68)
+ ==4464== by 0x507EE99: start_thread (pthread_create.c:308)
+
+ Thread test is running happily now. Will add the test in a moment.
+
+ src/fcstr.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+commit 4e6c7d0827c5b3b20205521bf9bd2e94e704b36d
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Jan 8 16:20:28 2013 +0900
+
+ Fix a build fail on mingw
+
+ Regarding the change of 596931c8b4a7a35cbff9c33437d3cd44395d9c3f
+
+ configure.ac | 2 +-
+ src/fccompat.c | 4 ++++
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+commit d837a7a584bc1e908bc4370d337cd10ecc781fad
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Jan 8 16:18:32 2013 +0900
+
+ missing header file to declare _mkdir
+
+ src/fccache.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 596931c8b4a7a35cbff9c33437d3cd44395d9c3f
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Dec 6 20:01:52 2012 +0900
+
+ Bug 47705 - Using O_CLOEXEC
+
+ configure.ac | 4 ++-
+ src/Makefile.am | 1 +
+ src/fcatomic.c | 3 +-
+ src/fccache.c | 6 ++--
+ src/fccompat.c | 103
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcint.h | 7 ++++
+ src/fcstat.c | 2 +-
+ src/fcxml.c | 2 +-
+ 8 files changed, 120 insertions(+), 8 deletions(-)
+
+commit d7de1b5c6d4b8800825913ac40a9cea00824f2f8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jan 7 20:10:14 2013 -0600
+
+ Fix pthreads setup
+
+ As reported by Raimund Steger.
+
+ configure.ac | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 1c4c4978adb0fa59767ac7d8c7f98a86928b2fdc
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jan 7 17:59:17 2013 -0600
+
+ Oops, add the actual file
+
+ conf.d/10-scale-bitmap-fonts.conf | 81
+ +++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 81 insertions(+)
+
+commit dc11dd581f228623f0f14b3a6a1e4beaa659266b
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jan 7 16:41:29 2013 -0600
+
+ Add 10-scale-bitmap-fonts.conf and enable by default
+
+ conf.d/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit ea3a35306617eec068ed961439cf76cdbcb10c28
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Jan 7 17:55:04 2013 +0900
+
+ Clean up the unused variable
+
+ fc-query/fc-query.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 17eda89ed2e24a3fc5f68538dd7fd9ada8efb087
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 3 20:33:34 2013 -0600
+
+ Remove FcInit() calls from tools
+
+ Library is supposed to automatically initialize itself. If it
+ doesn't,
+ it's a bug.
+
+ fc-list/fc-list.c | 5 -----
+ fc-match/fc-match.c | 5 -----
+ fc-pattern/fc-pattern.c | 5 -----
+ fc-query/fc-query.c | 6 ------
+ fc-scan/fc-scan.c | 6 ------
+ 5 files changed, 27 deletions(-)
+
+commit 102a4344dd7f668cf03b9665c718505050e0ae78
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 3 20:31:22 2013 -0600
+
+ Don't use blanks for fc-query
+
+ fc-query is supposed to be config-independent.
+
+ fc-query/fc-query.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+commit b6b678e71eb0ba2b53335b7df0804058f6bd006d
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Jan 4 11:29:50 2013 +0900
+
+ Missing header file for _mkdir declaration
+
+ src/fcatomic.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 8e143b4ec447a7ee6c501e7488a3c94db7e6a035
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 3 04:19:12 2013 -0600
+
+ Minor
+
+ src/fcobjs.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 16ddb9ff31a7d45ae477f5274c704523b2ec7330
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 2 22:37:33 2013 -0600
+
+ Ugh, add Tools.mk
+
+ Tools.mk | 64
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 64 insertions(+)
+
+commit 86e3255118e943bcc5c16cf1628ca381470ca34d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 2 20:16:55 2013 -0600
+
+ Second try to make Sun CPP happy
+
+ src/Makefile.am | 22 ++++++++++++----------
+ 1 file changed, 12 insertions(+), 10 deletions(-)
+
+commit bc62c40597c3d95edfdc6a93b39d0bb3837d1d34
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 2 20:08:40 2013 -0600
+
+ Really fix cross-compiling and building of tools this time
+
+ configure.ac | 1 +
+ fc-case/Makefile.am | 47 +++++----------------------
+ fc-glyphname/Makefile.am | 47 +++++----------------------
+ fc-glyphname/fc-glyphname.c | 2 +-
+ fc-lang/Makefile.am | 44 +++++---------------------
+ fc-lang/fc-lang.c | 8 ++---
+ m4/ax_cc_for_build.m4 | 77
+ +++++++++++++++++++++++++++++++++++++++++++++
+ 7 files changed, 107 insertions(+), 119 deletions(-)
+
+commit 32c1d32cbd54686804481fedaa1881d4f3043f1b
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 2 19:04:17 2013 -0600
+
+ Work around Sun CPP
+
+ According to Raimund Steger:
+
+ > [...]
+ > diff --git a/src/Makefile.am b/src/Makefile.am
+ > index dc082b7..57c34a2 100644
+ > [...]
+ > +fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h
+ > + $(AM_V_GEN) $(CPP) -I$(top_srcdir) $< | $(GREP) '^[^#]' |
+ awk ' \
+ > + /CUT_OUT_BEGIN/ { no_write=1; next; }; \
+ > + /CUT_OUT_END/ { no_write=0; next; }; \
+ > + { if (!no_write) print; next; }; \
+ > + ' - > $@.tmp && \
+ > + mv -f $@.tmp $@
+
+ Sun Studio CPP seems to insert whitespace in a different way than
+ GCC's CPP.
+
+ GCC generates in src/fcobjshash.gperf:
+
+ [...]
+ "family", FC_FAMILY_OBJECT
+ "familylang", FC_FAMILYLANG_OBJECT
+ [...]
+
+ Sun Studio generates:
+
+ [...]
+ "family" , FC_FAMILY_OBJECT
+ "familylang" , FC_FAMILYLANG_OBJECT
+ [...]
+
+ leading to:
+
+ [...]
+ Making all in src
+ gmake[2]: Entering directory
+ `/home/rs/src/fontconfig-git/fontconfig/src'
+ GEN fcobjshash.gperf
+ GEN fcobjshash.h
+ Key link: " " = " ", with key set "".
+ 1 input keys have identical hash values,
+ use option -D.
+ gmake[2]: *** [fcobjshash.h] Error 1
+ gmake[2]: Leaving directory
+ `/home/rs/src/fontconfig-git/fontconfig/src'
+ gmake[1]: *** [all-recursive] Error 1
+ gmake[1]: Leaving directory `/home/rs/src/fontconfig-git/fontconfig'
+ gmake: *** [all] Error 2
+
+ ...maybe we could tuck in an additional sed to remove the whitespace,
+ like:
+
+ [...]
+ fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h
+ $(AM_V_GEN) $(CPP) -I$(top_srcdir) $< | \
+ $(SED) 's/^\s*//;s/\s*,\s*/,/;' | \
+ $(GREP) '^[^#]' | \
+ $(AWK) '/CUT_OUT_BEGIN/,/CUT_OUT_END/ { next; }; { print; };' \
+ > $@.tmp && \
+ mv -f $@.tmp $@
+ [...]
+
+ though I'm not sure what kind of guarantee CPP can give us/what
+ easier option I might have missed...
+
+ src/Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit b1510145e7a38802bd544de6035fabf9f81f9710
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 2 18:57:47 2013 -0600
+
+ Fix build around true/false
+
+ src/fcatomic.h | 4 ++--
+ src/fcinit.c | 10 ++++++++++
+ 2 files changed, 12 insertions(+), 2 deletions(-)
+
+commit 538f1579e86fdcf471cea58945bf8c674d5b91e7
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 2 18:07:13 2013 -0600
+
+ Trying to fix distcheck
+
+ Doesn't work though :(. Building docs is very fragile...
+
+ At least, if docbook is present, distcheck passes now.
+
+ Makefile.am | 11 +++++++++--
+ configure.ac | 4 ----
+ doc/Makefile.am | 8 ++++++++
+ 3 files changed, 17 insertions(+), 6 deletions(-)
+
+commit 46ab96b8fa029fbc8ccf69a6f2fda89866e3ac9c
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 2 17:52:00 2013 -0600
+
+ Fix more warnings.
+
+ Linux build and mingw32 cross build warning-free now.
+
+ src/fcobjs.c | 10 ++++++++--
+ src/fcobjshash.gperf.h | 2 +-
+ 2 files changed, 9 insertions(+), 3 deletions(-)
+
+commit 558b3c65f91b4b2dd65ce2242e1a21ace621e44b
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 2 17:49:41 2013 -0600
+
+ Use CC_FOR_BUILD to generate source files
+
+ Previously we were failing if CROSS_COMPILING and the generated
+ headers
+ were not present. It works just fine now.
+
+ One caveat: the fix is not fully correct since config.h is being
+ included in the files built with CC_FOR_BUILD, but config.h has config
+ for the host system, not the build system. Should be fine though.
+
+ configure.ac | 1 +
+ doc/Makefile.am | 6 +-----
+ fc-case/Makefile.am | 8 +-------
+ fc-glyphname/Makefile.am | 9 ++++-----
+ fc-lang/Makefile.am | 9 +++------
+ 5 files changed, 10 insertions(+), 23 deletions(-)
+
+commit ec8a40d2381014ad2e72b5da0e6357a85f078f9f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 2 17:35:56 2013 -0600
+
+ Fix build and warnings on win32
+
+ src/Makefile.am | 1 +
+ src/fcatomic.h | 9 +++------
+ src/fccache.c | 2 +-
+ src/fccfg.c | 17 ++++++-----------
+ src/fcint.h | 7 +------
+ src/fcmutex.h | 5 ++---
+ src/fcstat.c | 3 ---
+ src/fcstr.c | 3 ---
+ src/fcwindows.h | 44 ++++++++++++++++++++++++++++++++++++++++++++
+ src/fcxml.c | 18 +++++++++---------
+ 10 files changed, 67 insertions(+), 42 deletions(-)
+
+commit 5c0a4f2726fd1440bf3ec4bb375e5e4d146bd989
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 2 02:27:57 2013 -0600
+
+ Minor
+
+ fc-glyphname/fc-glyphname.c | 46
+ ++++++++++++++++++++++-----------------------
+ 1 file changed, 23 insertions(+), 23 deletions(-)
+
+commit 766bed901f7f4c648387fb403ef6e253be1c45e9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 2 02:19:04 2013 -0600
+
+ Fix compiler warnings
+
+ src/fcobjs.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 93fb1d4bab5fefb73393141bb3e96c9dc279e615
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 2 02:06:15 2013 -0600
+
+ Remove FcSharedStr*
+
+ src/fccfg.c | 2 +-
+ src/fcdefault.c | 6 +++---
+ src/fcint.h | 9 +++------
+ src/fclist.c | 6 +++---
+ src/fcname.c | 2 +-
+ src/fcobjs.c | 2 +-
+ src/fcpat.c | 25 +++----------------------
+ src/fcstr.c | 11 +----------
+ src/fcxml.c | 10 +++++-----
+ 9 files changed, 21 insertions(+), 52 deletions(-)
+
+commit 6b143781073cf395fd6211c75bbdc9f5b5a54936
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 2 01:54:38 2013 -0600
+
+ Fixup fcobjs.c
+
+ Ouch!
+
+ src/fcobjs.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6047ce7b9fb793da4e693e3777bbd3e1baf3146e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 2 01:31:34 2013 -0600
+
+ Warn about undefined/invalid attributes during config parsing
+
+ src/fcxml.c | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+commit b604f10c0c31a56ae16154dfe6a2f13b795aaabf
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 2 01:09:20 2013 -0600
+
+ Make fcobjs.c thread-safe
+
+ With this, the library should be threadsafe as far as my analysis
+ goes!
+
+ src/fcobjs.c | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+commit 2ae07bbcd2a7650f2711b45e78e65e2ca1c4a17a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Oct 15 19:35:03 2012 -0500
+
+ Make FcDirCacheDispose() threadsafe
+
+ src/fccache.c | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+commit 68b8ae9af8b0f86dade6135b01aaf0b2f2077fb5
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Oct 10 15:24:31 2012 -0400
+
+ Make cache hash threadsafe
+
+ This concludes my first pass at making fontconfig threadsafe. Now to
+ testing and actually fixing it!
+
+ src/fccache.c | 37 ++++++++++++++++++++++++++++++-------
+ 1 file changed, 30 insertions(+), 7 deletions(-)
+
+commit adb03b730de5d090855f45bc23b934a65ef2399c
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Oct 8 20:03:35 2012 -0400
+
+ Make random-state initialization threadsafe
+
+ src/fccache.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 91dd7d28ffc397fb1389f76ac55b397e55da809d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Oct 8 20:02:05 2012 -0400
+
+ Add a big cache lock
+
+ Not used yet.
+
+ src/fccache.c | 41 +++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 41 insertions(+)
+
+commit 8d2bbb193ae49ea6abd5a9b4d28d3d88ac97d7a2
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Oct 7 21:03:58 2012 -0400
+
+ Make cache refcounting threadsafe
+
+ src/fcatomic.h | 1 +
+ src/fccache.c | 13 ++++++-------
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+commit 31ee38e541180db6d7bc58d5abde83136352e7ce
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Oct 7 17:46:12 2012 -0400
+
+ Minor
+
+ src/fccfg.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit b8f238e49d7b7e1cff787c518cd4490b32039cca
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Oct 7 17:42:18 2012 -0400
+
+ Make FcCacheIsMmapSafe() threadsafe
+
+ src/fccache.c | 38 ++++++++++++++++++++++----------------
+ 1 file changed, 22 insertions(+), 16 deletions(-)
+
+commit b27a22aae9902d409c21e5bb19a97dcc5966ea24
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Oct 7 17:29:45 2012 -0400
+
+ Minor
+
+ src/fcinit.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 0552f26016865b8a76819cf342fa0cf13afdc5e8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Oct 7 17:02:50 2012 -0400
+
+ Make default-FcConfig threadsafe
+
+ src/fccfg.c | 60
+ +++++++++++++++++++++++++++++++++++++--------------------
+ src/fcdefault.c | 3 +--
+ 2 files changed, 40 insertions(+), 23 deletions(-)
+
+commit e53f5da54f066f73a53eba1f82f54521fa3f7ea2
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Oct 7 16:42:36 2012 -0400
+
+ Minor
+
+ src/fccfg.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 7ae24b4554a8543d8cd41a83b6114e0143982758
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Oct 7 16:37:03 2012 -0400
+
+ Refactor; contain default config in fccfg.c
+
+ src/fccfg.c | 26 ++++++++++++++++++++++++--
+ src/fcinit.c | 14 ++------------
+ src/fcint.h | 8 ++++++--
+ src/fcxml.c | 4 ++--
+ 4 files changed, 34 insertions(+), 18 deletions(-)
+
+commit 32b0d88923524c24f4be36733ebef5872b57b95a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Oct 7 16:26:53 2012 -0400
+
+ Make FcDefaultFini() threadsafe
+
+ src/fcdefault.c | 19 ++++++++++++-------
+ 1 file changed, 12 insertions(+), 7 deletions(-)
+
+commit 7019896c99872b23d89b1404b02754cbc4ea1456
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Oct 7 16:09:35 2012 -0400
+
+ Make FcInitDebug() idempotent
+
+ src/fcdbg.c | 18 ++++++++++--------
+ 1 file changed, 10 insertions(+), 8 deletions(-)
+
+commit b97ab0c94938448dc2b780b8f0f60fb68884899f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Oct 7 15:52:25 2012 -0400
+
+ Make FcGetDefaultLang and FcGetDefaultLangs thread-safe
+
+ src/fcdefault.c | 83
+ +++++++++++++++++++++++++++++++++++++++++----------------
+ src/fcinit.c | 1 +
+ src/fcint.h | 3 +++
+ src/fcstr.c | 4 +++
+ 4 files changed, 68 insertions(+), 23 deletions(-)
+
+commit 64af9e1917114c789ad74dd28b3248f8c0525f45
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Oct 7 14:41:38 2012 -0400
+
+ Make refcounts, patterns, charsets, strings, and FcLang thread-safe
+
+ src/fcatomic.h | 18 +++++++++---------
+ src/fccfg.c | 29 +++++++++++++++--------------
+ src/fccharset.c | 24 ++++++++++++------------
+ src/fcdefault.c | 2 +-
+ src/fcint.h | 26 ++++++++++++++++++++------
+ src/fclang.c | 43 ++++++++++++++++++++++++-------------------
+ src/fcmatch.c | 4 ----
+ src/fcmutex.h | 2 ++
+ src/fcpat.c | 25 ++++++++++++-------------
+ src/fcstr.c | 24 +++++++++++++-----------
+ 10 files changed, 108 insertions(+), 89 deletions(-)
+
+commit 814871b2aaa3a22ef711ca4656507fb69c952156
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Oct 7 14:24:28 2012 -0400
+
+ Add thread-safety primitives
+
+ COPYING | 1 +
+ src/Makefile.am | 2 +
+ src/fcatomic.h | 123
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcint.h | 4 +-
+ src/fcmutex.h | 126
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 254 insertions(+), 2 deletions(-)
+
+commit f6d8306e566dd1a4b8a13f433d2bc1ffbe667db7
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Oct 7 13:49:45 2012 -0400
+
+ Add build stuff for threadsafety primitives
+
+ Copied over from HarfBuzz.
+
+ configure.ac | 38 ++++++-
+ m4/ax_pthread.m4 | 309
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 346 insertions(+), 1 deletion(-)
+
+commit b53744383dbefb3f80fb8a7365487669a499ad76
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Oct 6 18:15:58 2012 -0400
+
+ Fix build stuff
+
+ src/Makefile.am | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit db6d86a6c1b5bb15511e4e4015af889d4206be1d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Oct 6 18:12:19 2012 -0400
+
+ Remove shared-str pool
+
+ We used to have a shared-str pool. Removed to make thread-safety
+ work easier. My measurements show that the extra overhead is not
+ significant by any means.
+
+ src/fcpat.c | 58
+ +++++++---------------------------------------------------
+ 1 file changed, 7 insertions(+), 51 deletions(-)
+
+commit ed41b237658ba290d86795904701ace09b46f6c4
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Oct 6 17:52:39 2012 -0400
+
+ Switch .gitignore to git.mk
+
+ .gitignore | 100 ---------------------
+ Makefile.am | 2 +
+ conf.d/Makefile.am | 2 +
+ doc/Makefile.am | 2 +
+ fc-cache/Makefile.am | 2 +
+ fc-case/Makefile.am | 2 +
+ fc-cat/Makefile.am | 2 +
+ fc-glyphname/Makefile.am | 2 +
+ fc-lang/Makefile.am | 2 +
+ fc-list/Makefile.am | 2 +
+ fc-match/Makefile.am | 2 +
+ fc-pattern/Makefile.am | 2 +
+ fc-query/Makefile.am | 2 +
+ fc-scan/Makefile.am | 2 +
+ fontconfig/Makefile.am | 2 +
+ git.mk | 227
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/Makefile.am | 2 +
+ test/Makefile.am | 2 +
+ 18 files changed, 259 insertions(+), 100 deletions(-)
+
+commit d58c31e6dcfd8c5e6fe3ead4a69216b059558223
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Sep 20 14:42:31 2012 -0400
+
+ Use a static perfect hash table for object-name lookup
+
+ The hash table is generated by gperf. For runtime element types,
+ we use
+ a append-only linked list.
+
+ A bit clumsy, but I think I got it right.
+
+ src/Makefile.am | 26 +++-
+ src/fcinit.c | 1 -
+ src/fcint.h | 79 ++++---------
+ src/fcname.c | 315
+ +++++++------------------------------------------
+ src/fcobjs.c | 130 ++++++++++++++++++++
+ src/fcobjs.h | 44 +++++++
+ src/fcobjshash.gperf.h | 26 ++++
+ 7 files changed, 291 insertions(+), 330 deletions(-)
+
+commit 7c0f79c5fe9db50b55112a1048a8f1c6a80e96fa
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Sep 20 14:01:47 2012 -0400
+
+ Deprecate FcName(Un)RegisterObjectTypes / FcName(Un)RegisterConstants
+
+ These never worked as intended. The problem is, if Fontconfig
+ tries to
+ read config files when these new types / constants are not registered,
+ it errs. As a result, no defined types / constants are usable from
+ config files. Which makes these really useless. Xft was the
+ only user
+ of this API and even there it's not really used. Just kill it.
+
+ One inch closer to thread-safety since we can fix the object-type hash
+ table at compile time.
+
+ doc/fcconstant.fncs | 8 +---
+ doc/fcobjecttype.fncs | 6 +--
+ fontconfig/fontconfig.h | 10 +++--
+ src/fcname.c | 100
+ ++++++------------------------------------------
+ 4 files changed, 23 insertions(+), 101 deletions(-)
+
+commit 1e2c0d70527c39f761c5770d93a5c1f8e87522bc
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 1 20:28:08 2013 -0600
+
+ Whitespace
+
+ fontconfig/fontconfig.h | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit a498f2f717a73c3fff9784dd92173583fb37a596
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 1 20:27:54 2013 -0600
+
+ Minor
+
+ src/fcname.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8198127b2525084bfe2378b83c185fa0da7f583b
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 1 20:20:31 2013 -0600
+
+ Don't crash in FcPatternFormat() with NULL pattern
+
+ src/fcformat.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit c9581b47c4409612e8f2d4f67a402c566ba8330e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 1 20:20:12 2013 -0600
+
+ Don't crash in FcPatternDestroy with NULL pattern
+
+ src/fcpat.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit e7d3e2163280ffb970b60c6ed18e26325d0241e4
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 1 20:10:18 2013 -0600
+
+ Add NULL check
+
+ src/fcformat.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 5bb5da4c4a34ca7c0a7c513e38829f69654f9962
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 1 20:09:08 2013 -0600
+
+ Refuse to set value to unsupported types during config too
+
+ src/fccfg.c | 34 ++++++++++++++++++++++++++++------
+ 1 file changed, 28 insertions(+), 6 deletions(-)
+
+commit 3878a125410d1dd461aee1e40f9ac00d68be71f2
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 1 19:52:14 2013 -0600
+
+ Make FC_DBG_OBJTYPES debug messages into warnings
+
+ And remove FC_DBG_OBJTYPES since it has no use now.
+
+ src/fcdbg.c | 30 +++++++++++++++++++-----------
+ src/fcint.h | 5 ++++-
+ src/fcpat.c | 21 +++++++++------------
+ 3 files changed, 32 insertions(+), 24 deletions(-)
+
+commit 209750a4e0a3e1d7b8c5c971e9e2cbd5770d959f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Dec 31 20:11:12 2012 -0600
+
+ Warn if <name target="font"> appears in <match target="pattern">
+
+ src/fccfg.c | 21 +++++++++++++++------
+ 1 file changed, 15 insertions(+), 6 deletions(-)
+
+commit 424cfa1684f8af8bb6ecb01dc83bfc3d0a14f20a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Dec 31 20:00:17 2012 -0600
+
+ Adjust docs for recent changes
+
+ doc/fontconfig-user.sgml | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+commit 31ce352bb350a10c6ae08f1415d348458b64bf61
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Dec 31 19:55:37 2012 -0600
+
+ Initialize matrix during name parsing
+
+ Before:
+ $ fc-match sans:matrix=2 -v | grep matrix
+ matrix: [2 6.95183e-310; 0 0](s)
+
+ After:
+ $ fc-match sans:matrix=2 -v | grep matrix
+ matrix: [2 0; 0 1](s)
+
+ src/fcname.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 6bfef3ca4e52bdd5216facb90faa043c845aa0f6
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Dec 31 17:21:07 2012 -0600
+
+ Make tests run on Windows
+
+ test/Makefile.am | 2 +-
+ test/run-test.sh | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit b1630dc00e3538a8fc6629ddbbba5435bfb2bd7a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Dec 31 17:20:29 2012 -0600
+
+ Enable fcarch assert checks even when FC_ARCHITECTURE is explicitly
+ given
+
+ After all, if the asserts fail, the resulting library simply can't be
+ working correctly.
+
+ src/fcarch.c | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+commit a0638ff0c7445925e873b39dbe584fbaf3cc87e5
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Dec 31 17:20:12 2012 -0600
+
+ Remove unneeded stuff
+
+ fc-cat/fc-cat.c | 10 ++++------
+ fc-lang/fc-lang.c | 11 -----------
+ 2 files changed, 4 insertions(+), 17 deletions(-)
+
+commit a603be89cd13555d5992836531c5ef2ba88b8473
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Dec 31 17:00:19 2012 -0600
+
+ Unbreak build when FC_ARCHITECTURE is defined
+
+ src/fcarch.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 1fbb0b3b15774c187c697a80fb3c89bc1f3e0006
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Dec 30 19:08:42 2012 -0600
+
+ Don't warn if an unknown element is used in an expression
+
+ The type will be resolved at runtime...
+
+ For example, we can do this now without getting a warning:
+
+ <match target="font">
+ <test name="scalable" compare="eq">
+ <bool>false</bool>
+ </test>
+ <edit name="pixelsizefixupfactor" mode="assign">
+ <divide>
+ <name target="pattern">pixelsize</name>
+ <name target="font" >pixelsize</name>
+ </divide>
+ </edit>
+ <edit name="matrix" mode="assign">
+ <times>
+ <name>matrix</name>
+ <matrix>
+ <name>pixelsizefixupfactor</name> <double>0</double>
+ <double>0</double> <name>pixelsizefixupfactor</name>
+ </matrix>
+ </times>
+ </edit>
+ <edit name="size" mode="assign">
+ <divide>
+ <name>size</name>
+ <name>pixelsizefixupfactor</name>
+ </divide>
+ </edit>
+ </match>
+
+ Previously the last edit was generating:
+
+ Fontconfig warning:
+ "/home/behdad/.local/etc/fonts/conf.d/00-scale-bitmap-fonts.conf",
+ line 29: saw unknown, expected number
+
+ src/fcxml.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 51b0044648e00025cf20014b19aaceed7beeed75
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Dec 29 23:58:38 2012 -0500
+
+ Allow target="font/pattern/default" in <name> elements
+
+ Based on idea from Raimund Steger.
+
+ For example, one can do something like this:
+
+ <match target="font">
+ <test name="scalable" compare="eq">
+ <bool>false</bool>
+ </test>
+ <edit name="pixelsizefixupfactor" mode="assign">
+ <divide>
+ <name target="pattern">pixelsize</name>
+ <name target="font" >pixelsize</name>
+ </divide>
+ </edit>
+ <edit name="matrix" mode="assign">
+ <times>
+ <name>matrix</name>
+ <matrix>
+ <name>pixelsizefixupfactor</name> <double>0</double>
+ <double>0</double> <name>pixelsizefixupfactor</name>
+ </matrix>
+ </times>
+ </edit>
+ </match>
+
+ Part of work to make bitmap font scaling possible. See thread
+ discussion:
+
+ http://lists.freedesktop.org/archives/fontconfig/2012-December/004498.html
+
+ fonts.dtd | 3 ++-
+ src/fccfg.c | 57 +++++++++++++++++++++++++++----------------------
+ src/fcdbg.c | 19 ++++++++++++-----
+ src/fcint.h | 9 +++++++-
+ src/fcxml.c | 71
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
+ 5 files changed, 118 insertions(+), 41 deletions(-)
+
+commit d7e1965aa0f55925913e9764d2d0792cc14490c2
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Dec 29 23:12:07 2012 -0500
+
+ Remove memory accounting and reporting
+
+ That belongs in tools like cairo/util/malloc-stat.so
+
+ src/fcatomic.c | 6 ----
+ src/fcblanks.c | 8 -----
+ src/fccfg.c | 16 ---------
+ src/fccharset.c | 36 -------------------
+ src/fcfs.c | 8 -----
+ src/fcinit.c | 105
+ --------------------------------------------------------
+ src/fcint.h | 45 ------------------------
+ src/fclang.c | 17 +--------
+ src/fclist.c | 10 ------
+ src/fcmatrix.c | 4 ---
+ src/fcname.c | 2 --
+ src/fcpat.c | 20 +----------
+ src/fcstr.c | 21 ------------
+ src/fcxml.c | 22 ------------
+ 14 files changed, 2 insertions(+), 318 deletions(-)
+
+commit d823bb3cad1b34d92ca99998a00f35b66666bdf3
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Dec 29 22:57:53 2012 -0500
+
+ Fixup from 4f6767470f52b287a2923e7e6d8de5fae1993f67
+
+ src/fcxml.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit eb9ffac7e5955bcfdf98fa985cc39062d6ea641b
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Dec 29 22:56:14 2012 -0500
+
+ Fix more warnings
+
+ src/fcserialize.c | 1 -
+ src/ftglue.c | 1 -
+ 2 files changed, 2 deletions(-)
+
+commit 1404af312a091b601bca91b791fe4039da8dba8f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Dec 29 22:55:36 2012 -0500
+
+ Fix warning
+
+ src/fcstat.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit dd69d96e06b16c37bb87817edd40f6e4040f35ae
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Dec 29 22:47:49 2012 -0500
+
+ Fix sign-compare warnings
+
+ src/fccache.c | 6 +++---
+ src/fcfreetype.c | 6 +++---
+ src/fcint.h | 4 ++--
+ src/fclang.c | 6 +++---
+ src/fcname.c | 6 +++---
+ src/fcxml.c | 4 ++--
+ src/ftglue.c | 2 +-
+ 7 files changed, 17 insertions(+), 17 deletions(-)
+
+commit 4ad3a73691b98781cfd4de789af7d33649ce3023
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Dec 29 22:33:33 2012 -0500
+
+ Fix more warnings
+
+ src/fcstr.c | 2 --
+ src/fcxml.c | 2 --
+ 2 files changed, 4 deletions(-)
+
+commit 83d8019011232d491df93cda97a2f988ee96005b
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Dec 29 22:32:56 2012 -0500
+
+ Fix unused-parameter warnings
+
+ src/fcarch.c | 2 +-
+ src/fccache.c | 2 +-
+ src/fccfg.c | 2 +-
+ src/fccharset.c | 4 ++--
+ src/fcdir.c | 6 +++---
+ src/fcformat.c | 6 +++---
+ src/fcint.h | 6 ++++++
+ src/fcmatch.c | 9 ++++-----
+ src/fcxml.c | 10 +++++-----
+ 9 files changed, 26 insertions(+), 21 deletions(-)
+
+commit 24cdcf52ab7f83b329072efacbdd9253991579c0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Dec 29 22:11:09 2012 -0500
+
+ Fix compiler warnings
+
+ src/fccfg.c | 44 ++++++++++++++++++++++----------------------
+ src/fcformat.c | 2 +-
+ src/fcfreetype.c | 6 ++----
+ src/fcmatch.c | 14 +++++++-------
+ src/fcname.c | 6 +++---
+ src/fcpat.c | 16 ++++++++--------
+ src/fcxml.c | 20 ++++++++++----------
+ 7 files changed, 53 insertions(+), 55 deletions(-)
+
+commit 4f6767470f52b287a2923e7e6d8de5fae1993f67
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Dec 29 21:39:06 2012 -0500
+
+ Parse matrices of expressions
+
+ Previously a <matrix> element could only accept four <double>
+ literals.
+ It now accepts full expressions, which can in turn poke into the
+ pattern, do math, etc.
+
+ fonts.dtd | 2 +-
+ src/fccfg.c | 24 +++++++++++++--
+ src/fcdbg.c | 16 ++++++----
+ src/fcint.h | 6 +++-
+ src/fcxml.c | 97
+ +++++++++++++++++++++++++++++++++++--------------------------
+ 5 files changed, 94 insertions(+), 51 deletions(-)
+
+commit 927dd3ddb582303843e70300b04167ca774e78b7
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Dec 29 20:14:07 2012 -0500
+
+ Fix typo
+
+ Ouch, this has been wrong since 2004... I guess no one uses <patelt>
+ stuff.
+
+ src/fcxml.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9ce36f4bbebc702a35d0cd9f1a59d5b828549bc6
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Dec 11 18:53:57 2012 +0900
+
+ Check the system font to be initialized
+
+ config->fonts is an array and checking if config->fonts is a null
+ will not be useful.
+
+ src/fccfg.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 58040349e8309601b0e5488b8a71cedf03f81415
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Dec 11 12:38:42 2012 +0900
+
+ Fix a memory leak
+
+ src/fcxml.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 5ea3118ad63787c9a3daa856dd09736aac6f4069
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Dec 11 12:35:02 2012 +0900
+
+ Fix a typo that accessing to the out of array
+
+ src/fcstr.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit cef2b50c6647582bb128f98f2f78331fbe7dec4e
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Dec 11 12:30:05 2012 +0900
+
+ clean up
+
+ ret won't be -1 if HAVE_STRUCT_DIRENT_D_TYPE isn't defined.
+
+ src/fcstat.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 36265aeebd637e75c7b84db107afd6a35eb485c1
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Dec 11 11:37:23 2012 +0900
+
+ Remove the dead code
+
+ fc-cache/fc-cache.c | 7 -------
+ 1 file changed, 7 deletions(-)
+
+commit 608c5b590bd3428dfcd30f3d68ee8b7131e2f019
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Dec 10 10:54:47 2012 +0900
+
+ Remove the duplicate null-check
+
+ src/fcinit.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e7954674eb4f16d0fed3018cbefb4907c89d2465
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Dec 7 19:09:36 2012 +0900
+
+ Fix the wrong estimation for the memory usage information in
+ fontconfig
+
+ src/fccfg.c | 2 ++
+ src/fcinit.c | 16 ++++++++++------
+ src/fclang.c | 26 ++++++++++++++++++++++++--
+ src/fcstr.c | 5 ++---
+ src/fcxml.c | 28 ++++++++++++++++------------
+ 5 files changed, 54 insertions(+), 23 deletions(-)
+
+commit 959442bca138e6480418f2607a04d9343db7f438
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Dec 6 19:49:05 2012 +0900
+
+ Fix a typo
+
+ src/fcdir.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9231545c6bb775460702d8a615f1649bd8632f00
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Dec 5 18:13:25 2012 +0900
+
+ Do not show the deprecation warning if it is a symlink
+
+ conf.d/50-user.conf | 7 ++++++-
+ configure.ac | 2 +-
+ src/fcdir.c | 14 ++++++++++++++
+ src/fcint.h | 3 +++
+ src/fcxml.c | 6 ++++--
+ 5 files changed, 28 insertions(+), 4 deletions(-)
+
+commit 2442d611579bccb84f0c29e3f9ceb0a7436df812
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Nov 30 20:10:30 2012 +0900
+
+ Fix build issues on clean tree
+
+ doc/Makefile.am | 9 ++-------
+ fc-case/Makefile.am | 7 +++++--
+ fc-glyphname/Makefile.am | 9 ++++++---
+ fc-lang/Makefile.am | 9 ++++++---
+ 4 files changed, 19 insertions(+), 15 deletions(-)
+
+commit faea1cac85ac3b0fd6a983e1c0adeb68e115e06c
+Author: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date: Wed Nov 28 16:10:28 2012 +0000
+
+ Fix build when srcdir != builddir
+
+ When ./configure'd in a directory other than the srcdir, we need
+ to look
+ in ${top_builddir)/src for the generated header fcstdint.h
+
+ Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
+
+ fc-case/Makefile.am | 2 +-
+ fc-glyphname/Makefile.am | 2 +-
+ fc-lang/Makefile.am | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 3d3629f86a45d30eed51dad58865753b3b1e186e
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Nov 27 18:25:11 2012 +0900
+
+ Fix a potability issue about stdint.h
+
+ configure.ac | 1 +
+ m4/ax_create_stdint_h.m4 | 695
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/Makefile.am | 11 +-
+ src/fcint.h | 9 +-
+ 4 files changed, 707 insertions(+), 9 deletions(-)
+
+commit 02db01ac22318b2e296e6e1fd9664cac1ae66442
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Nov 26 17:21:14 2012 +0900
+
+ Bump version to 2.10.2
+
+ README | 25 ++++++++++++++++++++++++-
+ configure.ac | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 26 insertions(+), 3 deletions(-)
+
+commit 376fc9d22f1480ac380a3845f4cb4fe227e4be9a
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Nov 20 20:09:10 2012 +0900
+
+ Bug 57286 - Remove UnBatang and Baekmuk Batang from monospace in
+ 65-nonlatin.conf
+
+ Those two fonts are serif fonts. shouldn't be added to monospace.
+
+ conf.d/65-nonlatin.conf | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit e7b5b5b586fd3c1f1fc7959730b760b7fd1bdee8
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Nov 20 11:48:17 2012 +0900
+
+ Update CaseFolding.txt to Unicode 6.2
+
+ No real updates between 6.1 and 6.2, but anyway.
+
+ fc-case/CaseFolding.txt | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit c20ac78b01df3f0919352bba16b5b48b3b5d4d6d
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Nov 15 16:37:01 2012 +0900
+
+ Bug 57114 - regression on FcFontMatch with namelang
+
+ After 7587d1c99d9476b6dd4dbe523c0204da700fed8d applied, family,
+ style, and fullname is localized against current locale or lang
+ if any though, the string in other languages were dropped from
+ the pattern. this caused unexpected mismatch on the target="font"
+ rules.
+
+ This fix adds other strings at the end of the list.
+
+ src/fcint.h | 22 +++++++++
+ src/fcmatch.c | 63 +++++++++++++++++--------
+ src/fcpat.c | 146
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 3 files changed, 210 insertions(+), 21 deletions(-)
+
+commit bdaef0b80dc27f4ab7a9d9bcedcfd8b5724b3cfd
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Oct 30 09:56:24 2012 +0900
+
+ Bug 56531 - autogen.sh fails due to missing 'm4' directory
+
+ Keep m4 directory in git.
+
+ m4/.gitkeep | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+
+commit 038aa930ae2c3b7972eefe334917e7222fe478ec
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Oct 26 14:31:23 2012 +0900
+
+ Use automake variable instead of cleaning files in clean-local
+
+ just for git.mk coming up from Behdad's threadsafe branch
+
+ fc-cache/Makefile.am | 7 +++----
+ fc-cat/Makefile.am | 7 +++----
+ fc-list/Makefile.am | 7 +++----
+ fc-match/Makefile.am | 7 +++----
+ fc-pattern/Makefile.am | 7 +++----
+ fc-query/Makefile.am | 7 +++----
+ fc-scan/Makefile.am | 7 +++----
+ 7 files changed, 21 insertions(+), 28 deletions(-)
+
+commit 73ab254336100c5971e3a1e14b73222efd0e9822
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Oct 23 15:52:37 2012 +0900
+
+ autogen.sh: Add -I option to tell aclocal a place for external
+ m4 files
+
+ autogen.sh | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit e7bfe729ab4cae63ca502291c1fe46cf7152b459
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Oct 9 11:05:59 2012 +0900
+
+ Fix syntax errors in fonts.dtd.
+
+ Patch from Steve Simpson
+
+ fonts.dtd | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 8890f94438179ed7d6f7e2622178bb6c9b1f0e5e
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Oct 9 11:03:03 2012 +0900
+
+ Fix wrongly squashing for the network path on Win32.
+
+ Patch from Diego Santa Cruz
+
+ src/fcstr.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 8daa863c6d84ea56cc2f568a89316690e784a277
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Sep 11 18:09:36 2012 +0900
+
+ deal with warnings as errors for the previous change
+
+ missed this change to commit. doh!
+
+ configure.ac | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit ab26a722c05b43468f838b2fa72bb6ccd0408ac8
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Aug 31 15:10:50 2012 +0900
+
+ Bug 52573 - patch required to build 2.10.x with oldish GNU C library
+ headers
+
+ On older libc, _POSIX_C_SOURCE didn't satisfy to use posix_fadvise()
+ and AC_CHECK_FUNCS doesn't check a header file if the function is
+ declared there properly. so use AC_LINK_IFELSE instead.
+
+ configure.ac | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+commit 535e0a37d6d77a9d65096277f3bf94c39ffbf7d1
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Aug 31 12:39:38 2012 +0900
+
+ Bug 54138 - X_OK permission is invalid for win32 access(..) calls
+
+ X_OK checking was added back in
+ 8ae1e3d5dc323542e7def06a42deea62c7ba7027
+ which was removed due to the same reason in
+ 238489030a64fa883f8f9fc3d73247b7f7257899.
+ apparently the test case in Bug#18934 still works without it.
+ so I'm removing it again to get this working on Windows.
+
+ src/fccache.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 9ec868665dd0f4890b5fb9edb85df8334e5bb689
+Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Mon Aug 27 14:52:23 2012 -0700
+
+ Remove _CONFIG_FIXUPS_H_ guards, so multiple includes of "config.h"
+ result in the correct values
+
+ Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+
+ config-fixups.h | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit c4a58ae0e2fa43fbf9ebefc83891f6abd6728ac9
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Aug 27 16:36:49 2012 +0900
+
+ Fix for libtoolize's warnings
+
+ Makefile.am | 1 +
+ configure.ac | 1 +
+ 2 files changed, 2 insertions(+)
+
+commit 65da8c091c402ec706d76054eacbc455a7e3d801
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Aug 25 14:10:14 2012 -0400
+
+ Fix N'ko orthography
+
+ fc-lang/nqo.orth | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 375cdbce9d283d1eddb8f6b1c904d755653a87c5
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Aug 16 20:33:12 2012 +0900
+
+ Bug 53585 - Two highly-visible typos in src/fcxml.c
+
+ src/fcxml.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit cbfbd4041d4209b5da36746d68fe7aac7645eea5
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Jul 27 11:22:14 2012 +0900
+
+ Bump version to 2.10.1
+
+ README | 8 +++++++-
+ configure.ac | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 9 insertions(+), 3 deletions(-)
+
+commit b7287a91fedc8b3ba2f566a17e4c5a00222ca76e
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Jul 23 13:59:16 2012 +0900
+
+ Install config files first
+
+ Use install-data-hook instead of install-data-local.
+ This allows on the real installation to create a symlink with
+ the broken ln command though, still not work with the pseudo
+ installation by using DESTDIR say.
+
+ conf.d/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ebd5096abc495550596861b6af2aae067e861553
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Jul 19 10:20:30 2012 +0900
+
+ Fix a typo in fontconfig.pc
+
+ Reported by Daniel Macks
+
+ fontconfig.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d4fc407246ba0860dd883baf4551401614ec220f
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Jul 17 14:20:48 2012 +0900
+
+ correct version
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 92bad770e505ec8683aad2e6e063232843734ece
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Jul 17 11:36:01 2012 +0900
+
+ Bump version to 2.10
+
+ README | 11 ++++++++++-
+ configure.ac | 2 +-
+ fontconfig/fontconfig.h | 4 ++--
+ 3 files changed, 13 insertions(+), 4 deletions(-)
+
+commit f513f53347ae943a03192e83f7a6d7c40bcdfd5d
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Jul 17 11:35:41 2012 +0900
+
+ Update INSTALL
+
+ INSTALL | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 14d23ef330808b480393196984cb06efb5724160
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Jul 17 11:34:31 2012 +0900
+
+ Bump libtool revision
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit da9400212db8e5aa0a0bdd4fad21d2008b5034e2
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Jun 18 11:23:39 2012 +0900
+
+ Fix a build fail with gcc 2.95, not supporting the flexible array
+ members.
+
+ configure.ac | 2 ++
+ src/fcint.h | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+commit 489a575a7455204ee5c170754b92e72ba1e483fd
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Jul 6 19:02:05 2012 +0900
+
+ Update CaseFolding.txt to Unicode 6.1
+
+ fc-case/CaseFolding.txt | 21 +++++++++++++++++----
+ 1 file changed, 17 insertions(+), 4 deletions(-)
+
+commit 5b2d065ef87514ca32af325f793ee37fabd6af19
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Jul 3 19:56:56 2012 +0900
+
+ Bug 34266 - configs silently ignored if libxml2 doesn't support
+ SAX1 interface
+
+ Check if libxml2 has built with --with-sax1
+
+ configure.ac | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 9c377192bf7d59336dbe4603d73449c7090c11ca
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Jun 25 14:57:51 2012 +0900
+
+ Bump version to 2.9.92
+
+ README | 19 ++++++++++++++++++-
+ configure.ac | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 20 insertions(+), 3 deletions(-)
+
+commit 2162d9c2ee7ba930dca8f710ad35a83cb7c76ca6
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Jun 25 14:57:40 2012 +0900
+
+ Update INSTALL
+
+ INSTALL | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit a94c6b3b94b4a66d7f528fcc7e939b8ec19ad660
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Jun 25 14:50:18 2012 +0900
+
+ Bump libtool revision
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 769306665c37175d1e0e1167895eace0a8bc4bc3
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Apr 24 19:11:41 2012 +0900
+
+ Bug 18726 - RFE: help write locale-specific tests
+
+ Add an example matching rule for the language specific
+
+ doc/fontconfig-user.sgml | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+commit e5a59eac905f1ff6ebe6005c257ce3f9f3c4cc6b
+Author: Marius Tolzmann <tolzmann@molgen.mpg.de>
+Date: Thu Jun 21 21:01:10 2012 +0200
+
+ Fix warning about deprecated, non-existent config includes
+
+ Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 8:
+ reading configurations from ~/.fonts.conf.d is deprecated.
+
+ Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9:
+ reading configurations from ~/.fonts.conf is deprecated.
+
+ Be polite and do not issue the warning if deprecated config includes
+ (e.g. ~/.fonts.conf.d and/or ~/.fonts.conf) do not exist.
+
+ src/fcxml.c | 16 +++++++++++++---
+ 1 file changed, 13 insertions(+), 3 deletions(-)
+
+commit 3a5e9bc75d7e240ec590c6e50161ee157904d4d6
+Author: Marius Tolzmann <tolzmann@molgen.mpg.de>
+Date: Thu Jun 21 21:01:09 2012 +0200
+
+ Fix newline in warning about deprecated config includes
+
+ src/fcxml.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2d9ad5434b1d3afa2aa3d8a77af0bce940c69177
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Jun 18 18:31:36 2012 +0900
+
+ Rename configure.in to configure.ac
+
+ configure.ac | 615
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ configure.in | 615
+ ---------------------------------------------------------
+ new-version.sh | 4 +-
+ 3 files changed, 617 insertions(+), 617 deletions(-)
+
+commit 4353df754fcf4126ff4a69ccfef1a59450e5a7c7
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Jun 18 10:52:21 2012 +0900
+
+ clean up the lock file properly on even hardlink-not-supported
+ filesystem.
+
+ src/fcatomic.c | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+commit 997a64a67b77ae7c083f4a2898670201ed618fb2
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Jun 14 11:27:31 2012 +0900
+
+ Fix the fail of make install with --disable-shared on Win32
+
+ .gitignore | 1 +
+ configure.in | 1 +
+ src/Makefile.am | 2 ++
+ 3 files changed, 4 insertions(+)
+
+commit cd280f6532663981fb5fcc2d38f99973033568db
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Jun 13 20:01:30 2012 +0900
+
+ Fix a build fail on MINGW
+
+ src/fcatomic.c | 7 ++++---
+ src/fccfg.c | 18 +++++++++---------
+ src/fcint.h | 4 +++-
+ src/fcstat.c | 16 ++++++++++------
+ src/fcstr.c | 6 +++---
+ src/fcxml.c | 24 ++++++++++++------------
+ 6 files changed, 41 insertions(+), 34 deletions(-)
+
+commit 2ec0440fb580f5556d8e1fc4e0e3a6c5b9472cf6
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Jun 12 11:02:03 2012 +0900
+
+ Fix a typo and build fail.
+
+ doc/Makefile.am | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit b447fc5d52e1e88ca1eca0ce3472d48626e27109
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Jun 11 14:14:41 2012 +0900
+
+ Bug 50835 - Deprecate FC_GLOBAL_ADVANCE
+
+ FC_GLOBAL_ADVANCE is deprecated. this flag is simply ignored on
+ freetype 2.4.5 or later.
+
+ conf.d/20-fix-globaladvance.conf | 28 ----------------------------
+ conf.d/Makefile.am | 2 --
+ doc/fontconfig-devel.sgml | 2 +-
+ doc/fontconfig-user.sgml | 2 +-
+ fontconfig/fontconfig.h | 1 +
+ src/fcdefault.c | 1 +
+ src/fcint.h | 2 +-
+ src/fcname.c | 4 ++--
+ 8 files changed, 7 insertions(+), 35 deletions(-)
+
+commit 54fb7967de3850cf7176dde12432ed48c628ebea
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Jun 11 20:15:15 2012 +0900
+
+ Bump version to 2.9.91
+
+ README | 81
+ ++++++++++++++++++++++++++++++++++++++++++++++++-
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 82 insertions(+), 3 deletions(-)
+
+commit 0b20bd0281a2247a047ef388ea2c6c58614d7b1a
+Author: Mark Brand <mabrand@mabrand.nl>
+Date: Mon Jun 11 20:13:02 2012 +0900
+
+ fix building for WIN32
+
+ 8c255fb185d5651b57380b0a9443001e8051b29d moved some code out of switch
+ but did not declare 'buffer'. Also, replacing the "break" with
+ "goto bail" neglected the WIN32 specific code.
+
+ src/fcxml.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 101825a129aa1a025e91fd55124e973fcdb31f9e
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Jun 11 18:43:56 2012 +0900
+
+ Generate bzip2-compressed tarball too
+
+ Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit fdb1155035da677368f762d8fb24ad2f470a9813
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Jun 11 18:39:37 2012 +0900
+
+ doc: Fix distcheck error again...
+
+ doc/Makefile.am | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+commit e8f16c9343f64266c3ec0048d867bfe23bdb6ec6
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Jun 11 17:48:12 2012 +0900
+
+ Bump libtool revision
+
+ configure.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit cf70eaa3bfa9b14847a1067295c5c0dc12c95e83
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Jun 8 19:41:59 2012 +0900
+
+ Bug 50525 - superfluous whitespace in the style
+
+ src/fcfreetype.c | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+commit f4103bf708778433f5ea02014f890cdeccde206b
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Jun 8 19:17:57 2012 +0900
+
+ fcdefault: Add the lang object at FcConfigSubstituteWithPat() only
+ when kind is FcMatchPattern
+
+ src/fccfg.c | 33 ++++++++++++++++-----------------
+ 1 file changed, 16 insertions(+), 17 deletions(-)
+
+commit 07e52eeb097a4e3c147e00ed7a6eb7652a611751
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Jun 8 15:54:48 2012 +0900
+
+ fcdefault: no need to set FC_LANG in FcDefaultSubstitute() anymore
+
+ src/fcdefault.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit 550fd49d4fb8efab33d1fa1687b1b9bd352202fe
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue May 22 14:17:10 2012 +0900
+
+ Add the default language to the pattern prior to do build the
+ substitution
+
+ the default language is referred from the FC_LANG environment variable
+ or the current locale
+
+ src/fccfg.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+commit 2261a64ce14d692f7c553f46e2158e70400dbc9c
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Jun 8 15:47:52 2012 +0900
+
+ fcdefault: fallback if the environment variables are empty
+
+ try to fallback if FC_LANG, LC_ALL, LC_CTYPE and LANG is empty
+
+ src/fcdefault.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit bbc8fb5ba705e5257693f3b266fce12d2f81b50c
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Mar 29 20:25:20 2012 +0900
+
+ Bug 32853 - Export API to get the default language
+
+ Add a new API FcGetDefaultLangs() to export the string sets of
+ the default
+ languages.
+
+ doc/fclangset.fncs | 9 +++
+ fc-lang/fc-lang.c | 6 ++
+ fontconfig/fontconfig.h | 3 +
+ src/fcdefault.c | 102 ++++++++++---------------------
+ src/fcint.h | 6 ++
+ src/fclang.c | 159
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcstr.c | 44 ++++++++++++++
+ 7 files changed, 260 insertions(+), 69 deletions(-)
+
+commit 1b692d8ab91a096e7d433c51ab187382de91147b
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Jun 1 19:06:17 2012 +0900
+
+ Fix the wrong estimation for the memory usage information in
+ fontconfig
+
+ fc-cat/fc-cat.c | 2 +-
+ fc-list/fc-list.c | 2 +-
+ fc-match/fc-match.c | 2 +-
+ fc-pattern/fc-pattern.c | 2 +-
+ fc-query/fc-query.c | 2 +-
+ fc-scan/fc-scan.c | 2 +-
+ src/fccfg.c | 12 ++++++++----
+ src/fcformat.c | 4 ++--
+ src/fcpat.c | 3 ++-
+ src/fcstr.c | 3 +--
+ src/fcxml.c | 11 +++++++++--
+ 11 files changed, 28 insertions(+), 17 deletions(-)
+
+commit 5254a6630fdf132b0cda62c1bc7e8e40d2639bdf
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu May 31 12:46:55 2012 +0900
+
+ Fix a typo and polish the previous change
+
+ src/fcstat.c | 21 ++++++++-------------
+ 1 file changed, 8 insertions(+), 13 deletions(-)
+
+commit 4a741e9a0ab8dbaa0c377fbfed41547645ac79af
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed May 30 18:21:57 2012 +0900
+
+ Fix the build fail on Solaris
+
+ It's introduced by 0ac6c98294d666762960824d39329459b22b48b7.
+ Use lstat() and S_ISDIR() to check if it's the directory or not
+ if there are no d_type in struct dirent.
+
+ configure.in | 2 ++
+ src/fcstat.c | 61
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++--------
+ 2 files changed, 55 insertions(+), 8 deletions(-)
+
+commit 0ac6c98294d666762960824d39329459b22b48b7
+Author: Mikhail Gusarov <dottedmag@dottedmag.net>
+Date: Mon May 28 14:52:21 2012 +0900
+
+ Fix cache aging for fonts on FAT filesystem under Linux
+
+ Windows does not update mtime of directory on FAT filesystem when
+ file is added to it or removed from it. Fontconfig uses mtime of
+ directory to check cache file aging and hence fails to detect
+ newly added or recently removed files.
+
+ This changeset detects FAT filesystem (currently implemented for
+ Linux) and adds generating checksum of directory entries instead
+ of using mtime which guarantees proper cache rebuild.
+
+ For non-FAT filesystems this patch adds single syscall per directory
+ which is negligeable overhead.
+
+ This fixes bug https://bugs.freedesktop.org/show_bug.cgi?id=25535
+
+ Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
+
+ src/fccache.c | 14 +++++-----
+ src/fcdir.c | 2 +-
+ src/fcint.h | 5 +++-
+ src/fcstat.c | 84
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 96 insertions(+), 9 deletions(-)
+
+commit dc2da23e69e6b3f6e6d0436d4777ee2c1d8ff1be
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon May 28 13:59:48 2012 +0900
+
+ Move statfs/statvfs wrapper to fcstat.c and add a test for the mtime
+ broken fs
+
+ just rework to share the efforts between FcIsFsMmapSafe() and
+ FcIsFsMtimeBroken().
+
+ src/fccache.c | 50 +--------------------------
+ src/fcint.h | 13 +++++++
+ src/fcstat.c | 108
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 122 insertions(+), 49 deletions(-)
+
+commit 6a83c1ad40594530994b826d928312e9eeb19c35
+Author: Mikhail Gusarov <dottedmag@dottedmag.net>
+Date: Sun Apr 29 12:56:16 2012 +0200
+
+ Move FcStat to separate compilation unit
+
+ FcStat() logic is quite complicated in presence of various semi-broken
+ operating
+ systems and filesystems, split it out in order to make it a bit
+ easier.
+
+ Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
+
+ src/Makefile.am | 1 +
+ src/fccache.c | 88 ------------------------------------------
+ src/fcint.h | 8 ++--
+ src/fcstat.c | 116
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 122 insertions(+), 91 deletions(-)
+
+commit 26160366d7ba5c7baf20ae091d5dd0388714df83
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon May 28 15:58:56 2012 +0900
+
+ fcatomic: fallback to create a directory with FcAtomicLock
+
+ link(2) might be failed on the filesystem that doesn't support
+ the hard link. e.g. FcAtomicLock() always fails on FAT filesystem
+ when link(2) is available.
+ So that may be a good idea to fallback if link(2) is failed.
+
+ src/fcatomic.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit 2837c63876b9b1f27d74aad51d45fc18d48f4652
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon May 21 13:43:20 2012 +0900
+
+ Bug 33644 - Fontconfig doesn't match correctly in <test>
+
+ Warn if the multiple values is set to <test>, including the case of
+ in <alias> because the behavior isn't intuitive since so many users
+ is asking for a help to get things working for their expectation.
+
+ Use multiple <match>s or <alias>es for OR operator and
+ multiple <test>s for AND operator.
+
+ doc/fontconfig-user.sgml | 23 +++++++++++++++++++++++
+ src/fcxml.c | 5 +++++
+ 2 files changed, 28 insertions(+)
+
+commit 794fb0bd6a3fa91c6e03e51dc080e458b8960a55
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon May 21 13:37:54 2012 +0900
+
+ Correct the example
+
+ Enclose the string with <string> in <test>
+
+ doc/fontconfig-user.sgml | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 8c255fb185d5651b57380b0a9443001e8051b29d
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Mar 12 19:18:19 2012 +0900
+
+ Bug 20411 - fontconfig doesn't match FreeDesktop directories specs
+
+ Allows reading configuration files, fonts and cache files from
+ the directories where the XDG Base Directory Specification defines.
+
+ the old directories are still in the configuration files for
+ the backward compatibility.
+
+ conf.d/50-user.conf | 7 +-
+ doc/fontconfig-user.sgml | 37 ++---
+ fonts.conf.in | 4 +
+ fonts.dtd | 10 +-
+ src/fccfg.c | 78 ++++++++++-
+ src/fcinit.c | 20 ++-
+ src/fcint.h | 11 ++
+ src/fcstr.c | 5 +-
+ src/fcxml.c | 344
+ ++++++++++++++++++++++++++++++-----------------
+ 9 files changed, 366 insertions(+), 150 deletions(-)
+
+commit bc4517d8e5af8f31821ec8d9990765dad2867dd4
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Apr 11 19:52:35 2012 +0900
+
+ Bug 19128 - Handling whitespace in aliases
+
+ Add a new attribute `ignore-blanks' to <test>.
+ When this is set to "true", any blanks in the string will be ignored
+ on comparison. This takes effects for compare="eq" or "not_eq" only.
+
+ Also changed the behavior of the comparison on <alias> too.
+
+ conf.d/20-fix-globaladvance.conf | 8 ++++----
+ conf.d/20-unhint-small-vera.conf | 6 +++---
+ conf.d/25-unhint-nonlatin.conf | 30 +++++++++++++++---------------
+ conf.d/30-urw-aliases.conf | 7 +------
+ conf.d/65-fonts-persian.conf | 14 +++++++-------
+ conf.d/80-delicious.conf | 2 +-
+ doc/fontconfig-user.sgml | 3 ++-
+ fonts.dtd | 1 +
+ src/fccfg.c | 35 ++++++++++++++++++++++-------------
+ src/fcdbg.c | 27 ++++++++++++++++++---------
+ src/fcint.h | 8 ++++++++
+ src/fclist.c | 2 +-
+ src/fcxml.c | 24 ++++++++++++++++++++----
+ 13 files changed, 103 insertions(+), 64 deletions(-)
+
+commit 5ac12c0e94128ea63e3e74b4e602cf0c74661bce
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu May 10 16:47:09 2012 +0900
+
+ fcarch.c: get rid of the duplicate definition of FC_MAX
+
+ FC_MAX is also available in src/fcint.h
+
+ src/fcarch.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit cc9d572d3e3d270653c994ff1269f56eb7ee1b1c
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu May 10 16:36:10 2012 +0900
+
+ fonts.conf: keeps same binding for alternatives
+
+ Since the binding is affected to the score, the replacement should
+ have same binding to avoid the unexpected estimation.
+
+ fonts.conf.in | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit d81407611b160ebfa631556ee60be147d1c0416f
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue May 1 19:28:27 2012 -0700
+
+ Deal with architectures where ALIGNOF_DOUBLE < 4
+
+ This patch isn't really tested as I don't have such a machine, but I
+ have a bug report that on m68k machines, double values are aligned on
+ smaller than 4 byte boundaries. If ALIGNOF_DOUBLE < sizeof(int),
+ the "expected" sizeof of FcValue is miscomputed. Use the maximum of 4
+ (sizeof (int)) and ALIGNOF_DOUBLE when computing the expected size of
+ FcValue.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+ src/fcarch.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit e41474e925947b5a2fb64c80135bc116e9e56d2d
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue May 1 19:28:26 2012 -0700
+
+ Extra ',' in AC_ARG_WITH(arch causes arch to never be autodetected
+
+ Commit 87d7b82a98780223422a829b6bb1a05fd753ae5e reformatted this
+ part of the configure script, accidentally introducing a spurious
+ comma.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+ configure.in | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit d2718257f9aa3e6071f649296a52a22684c43e96
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue May 1 20:18:41 2012 +0900
+
+ Output more verbose debugging log to show where to insert the element
+ into the value list
+
+ src/fccfg.c | 2 +-
+ src/fcdbg.c | 79
+ +++++++++++++++++++++++++++++++++++++++++++------------------
+ src/fcint.h | 8 ++++++-
+ 3 files changed, 64 insertions(+), 25 deletions(-)
+
+commit 7d65f9f514e33305bdeafd0d34140da46259e57f
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Apr 11 19:52:35 2012 +0900
+
+ Bug 39278 - make usage of mmap optional
+
+ Stop using mmap() if the cache file is stored on NFS.
+ also added FONTCONFIG_USE_MMAP environment variable to enforce the
+ use of
+ or not the use of mmap(2) regardless of what the filesystem the
+ cache files
+ are stored on.
+
+ configure.in | 24 +++++++++++++--
+ doc/fontconfig-user.sgml | 20 ++++++++++++-
+ src/fccache.c | 77
+ ++++++++++++++++++++++++++++++++++++++++++++++--
+ 3 files changed, 116 insertions(+), 5 deletions(-)
+
+commit f30a5d7637af14b12f07267b59e02ec4a14458f2
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Apr 25 16:21:33 2012 +0900
+
+ Disable iconv support anyway...
+
+ configure.in | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 7587d1c99d9476b6dd4dbe523c0204da700fed8d
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Mar 26 16:34:34 2012 +0900
+
+ Bug 27765 - FcMatch() returns style in wrong language
+
+ Add "namelang" object to obtain the localized name in the font
+ regardless
+ of the lang object. it's applied to "familylang", "stylelang" and
+ "fullnamelang" alltogether. this would helps if one wants to enforce
+ selecting them in the specific language if any. the default value for
+ the namelang object is determined from current locale.
+
+ doc/fontconfig-devel.sgml | 3 ++
+ fontconfig/fontconfig.h | 1 +
+ src/fcdefault.c | 37 ++++++++++++++-
+ src/fcint.h | 3 +-
+ src/fclist.c | 47 +++++++++++++++----
+ src/fcmatch.c | 113
+ +++++++++++++++++++++++++++++++++++++++-------
+ src/fcname.c | 1 +
+ 7 files changed, 178 insertions(+), 27 deletions(-)
+
+commit 526f0da93fc487e9b33a4d97386a9054156d01ac
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Apr 24 11:40:51 2012 +0900
+
+ Add --enable-iconv option to configure
+
+ Disable iconv support by default, which provide a feature to convert
+ non-Unicode SFNT names to UTF-8.
+
+ configure.in | 64
+ ++++++++++++++++++++++++++++++++----------------------------
+ 1 file changed, 34 insertions(+), 30 deletions(-)
+
+commit 06d6b7c3120cd417af5ff47e9735aed577978354
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Mar 28 17:28:06 2012 +0900
+
+ Create CACHEDIR.TAG when fc-cache is run or only when the cache
+ directory is created at the runtime.
+
+ Also add FcCacheCreateTagFile() API to do create CACHEDIR.TAG on
+ the cache
+ directory.
+
+ doc/fccache.fncs | 9 ++++++
+ doc/fcconfig.fncs | 2 +-
+ fc-cache/fc-cache.c | 73 +-----------------------------------------
+ fontconfig/fontconfig.h | 5 ++-
+ src/fccache.c | 85
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/fccfg.c | 2 +-
+ src/fcint.h | 3 ++
+ 7 files changed, 104 insertions(+), 75 deletions(-)
+
+commit 25ccc3f3d27d8affd45c4b0a8041ef757dbb20dd
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Apr 20 19:08:59 2012 +0900
+
+ Bug 47721 - Add ChromeOS fonts to 30-metric-aliases.conf
+
+ conf.d/30-metric-aliases.conf | 50
+ +++++++++++++++++++++++++++++++++----------
+ 1 file changed, 39 insertions(+), 11 deletions(-)
+
+commit 7069d717e982adcf8e1d300cbd10eec6322a65c9
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Sun Apr 22 21:40:44 2012 +0900
+
+ C++11 requires a space between literal and identifier
+
+ Reported by Buganini
+
+ fontconfig/fontconfig.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 22dc5460906f78b3dc1b12ab2440e62b930adf0b
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Apr 20 20:04:17 2012 +0900
+
+ Fix a build issue again when no regex functions available
+
+ Reported by Jon TURNEY
+
+ configure.in | 4 +---
+ src/fcstr.c | 2 +-
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+commit 9fa7b7c8f2d1d8a9c50f3ba0f99087f653b6a9b8
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Apr 20 11:17:41 2012 +0900
+
+ Rework to avoid adding the unexpected value to ICONV_CFLAGS and
+ ICONV_LIBS
+
+ configure.in | 44 ++++++++++++++++++++++++--------------------
+ 1 file changed, 24 insertions(+), 20 deletions(-)
+
+commit dd2a3d3520b6fea20a58b2888fef0458c01b287f
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Apr 18 12:55:23 2012 +0900
+
+ Bug 25151 - Move cleanCacheDirectory() from fc-cache.c into
+ the library
+
+ Add FcDirCacheScan() API to clean up the cache files in the directory.
+
+ doc/fccache.fncs | 9 +++++
+ fc-cache/fc-cache.c | 93
+ +------------------------------------------------
+ fontconfig/fontconfig.h | 3 ++
+ src/fccache.c | 91
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcint.h | 2 ++
+ 5 files changed, 106 insertions(+), 92 deletions(-)
+
+commit 9e62fcedfe774a13843cc0982bc3e535369b99eb
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Apr 16 11:28:36 2012 -0700
+
+ Use posix_fadvise to speed startup
+
+ Given that fontconfig will scan all of the cache file data during the
+ first font search, ask the kernel to start reading the pages right
+ away.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+ configure.in | 2 +-
+ src/fccache.c | 3 +++
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+commit 94c2cc58a091138aa8c507d6239eca69520b65f0
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Apr 16 20:25:52 2012 +0900
+
+ doc: Fix a typo of the environment variable name.
+
+ doc/fcconfig.fncs | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit c5714bcf90d6b345e748b7fa7b21e421409aba60
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Apr 13 11:09:04 2012 +0900
+
+ Add --with-expat, --with-expat-includes and --with-expat-lib back.
+
+ configure.in | 41 ++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 38 insertions(+), 3 deletions(-)
+
+commit 470e92c9dbdc75d354c9dce9063276996ecf535d
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Apr 12 14:01:25 2012 +0900
+
+ Bug 27526 - Compatibility fix for old windows sytems
+
+ Patch from Gianluigi Tiesi
+
+ src/fccache.c | 3 ---
+ src/fcint.h | 12 ++++++++++--
+ src/fcxml.c | 52 +++++++++++++++++++++++++++++++++++++++++++---------
+ 3 files changed, 53 insertions(+), 14 deletions(-)
+
+commit ac6271dbac32086ce60845efc4d87e669f37796a
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Apr 12 11:01:12 2012 +0900
+
+ Bug 48573 - platform without regex do not have also REG_XXX defines
+
+ Fix a build issue on the platforms where regex isn't available
+
+ configure.in | 9 +++++++++
+ src/fcstr.c | 6 ++++--
+ 2 files changed, 13 insertions(+), 2 deletions(-)
+
+commit 9231d79ad180f992f9bbef4f3127576870a75075
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Apr 9 12:51:12 2012 +0900
+
+ Bug 28491 - Allow matching on FC_FILE
+
+ Allow :file=/path/to/font/file on matching
+
+ configure.in | 4 +--
+ src/fcint.h | 6 +++++
+ src/fcmatch.c | 84
+ ++++++++++++++++++++++++++++++++++++-----------------------
+ src/fcstr.c | 50 +++++++++++++++++++++++++++++++++++
+ 4 files changed, 110 insertions(+), 34 deletions(-)
+
+commit 2589207cfd4c7e948a4b50d7c07c13a3a52fe0aa
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Apr 10 18:34:11 2012 +0900
+
+ Bug 26830 - Add search for libiconv non-default directory
+
+ Add --with-libiconv, --with-libiconv-includes and --with-libiconv-lib
+ to specify the directory where libiconv might be installed.
+
+ configure.in | 85
+ +++++++++++++++++++++++++++++++++++++++++----------------
+ src/Makefile.am | 1 +
+ 2 files changed, 63 insertions(+), 23 deletions(-)
+
+commit ddefa5021f7785514f373aab6a8e6191a867278e
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Apr 4 14:47:57 2012 +0900
+
+ Bug 22862 - <alias> ignores <match> <test>s
+
+ Allow to use the test elements in the alias element.
+
+ fonts.dtd | 2 +-
+ src/fcxml.c | 27 +++++++++++++++++++++------
+ 2 files changed, 22 insertions(+), 7 deletions(-)
+
+commit e181ab4de5d20fe1f70e68f66ef8332553eba206
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Apr 4 16:49:30 2012 +0900
+
+ Bug 29341 - Make some fontconfig paths configurable
+
+ Add configure options to set the directory to be installed:
+ --with-templatedir for the configuration files a.k.a.
+ /etc/fonts/conf.avail
+ --with-baseconfigdir for fonts.conf etc a.k.a. /etc/fonts
+ --with-configdir for the active configuration files a.k.a.
+ /etc/fonts/conf.d
+ --with-xmldir for fonts.dtd etc
+
+ and the default path for templatedir is changed to
+ ${datadir}/fontconfig/conf.avail
+
+ Makefile.am | 36 +++++++++++---------
+ conf.d/Makefile.am | 99
+ ++++++++++++++++++++++++++----------------------------
+ configure.in | 72 ++++++++++++++++++++++++++++++++-------
+ fonts.conf.in | 2 +-
+ src/Makefile.am | 2 +-
+ 5 files changed, 129 insertions(+), 82 deletions(-)
+
+commit bb02899d9ff9813738809fb5349a9f3ae2dba76f
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Apr 2 15:38:27 2012 +0900
+
+ Use pkgconfig to check builddeps
+
+ configure.in | 164
+ +++++++++++------------------------------------------------
+ 1 file changed, 31 insertions(+), 133 deletions(-)
+
+commit 87d7b82a98780223422a829b6bb1a05fd753ae5e
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Apr 2 14:32:44 2012 +0900
+
+ Use AC_HELP_STRING instead of formatting manually
+
+ configure.in | 57
+ ++++++++++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 46 insertions(+), 11 deletions(-)
+
+commit d3e3f4a46d07a7b611be21600d7049225b8b2909
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Mar 30 18:09:14 2012 +0900
+
+ doc: Add contains and not_contains operators and elements
+
+ doc/fontconfig-user.sgml | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 9279f71a3a855e3b2dbd13dbe0d38f2b69673c49
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Mar 30 11:52:25 2012 +0900
+
+ Bug 24729 - [ne_NP] Fix ortho file
+
+ further update for ne.orth
+
+ Patch from Pravin Satpute.
+
+ fc-lang/ne.orth | 23 ++++++++++++++++++++---
+ 1 file changed, 20 insertions(+), 3 deletions(-)
+
+commit 9fe7c986c64d8cfb7f85a300b6f0d470ce66b18a
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Mar 29 15:43:11 2012 +0900
+
+ Bug 48020 - Fix for src/makealias on Solaris 10
+
+ Use the command substitution `command` instead of $(command) for
+ Solaris 10.
+
+ src/makealias | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit becbdaebe3d77726900072de1a0fb6a95c938da5
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Mar 28 15:09:25 2012 +0900
+
+ Move workaround macros for fat binaries into the separate header file
+
+ Makefile.am | 5 +++--
+ config-fixups.h | 44 ++++++++++++++++++++++++++++++++++++++++++++
+ configure.in | 4 +++-
+ src/fcarch.h | 13 -------------
+ 4 files changed, 50 insertions(+), 16 deletions(-)
+
+commit fe6ba5e5c54928adeaf96668d0cf6f44f0484065
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Mar 28 16:27:46 2012 +0900
+
+ Fix the hardcoded cache file suffix
+
+ fc-cat/fc-cat.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 4a060729a1466186d3be63ada344f43d66f937e5
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Mar 28 13:38:53 2012 +0900
+
+ fcpat: Increase the number of buckets in the shared string hash table
+
+ This is a reasonably conservative increase in the number of buckets
+ in the hash
+ table to 251. After FcInit(), there are 240 shared strings in use
+ on my system
+ (from configuration files I assume). The hash value is stored in
+ each link in
+ the chains so comparison are actually not very expensive. This change
+ should
+ reduce the average length of chains by a factor of 8. With the
+ reference
+ counted strings, it should keep the average length of chains to
+ about 2. The
+ number of buckets is prime so as not to rely too much on the quality
+ of the
+ hash function.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=17832#c5
+
+ Patch from Karl Tomlinson
+
+ src/fcpat.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d8dcff7b96b09748e6f1df9e4adc7ab0850d7b18
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Mar 28 13:37:15 2012 +0900
+
+ Bug 17832 - Memory leaks due to FcStrStaticName use for external
+ patterns
+
+ Use the reference-counted strings instead of the static strings
+
+ Patch from Karl Tomlinson
+
+ src/fccfg.c | 2 +-
+ src/fcinit.c | 4 ++--
+ src/fcint.h | 10 +++++-----
+ src/fclist.c | 10 +++++++++-
+ src/fcname.c | 34 ++++++++------------------------
+ src/fcpat.c | 63
+ +++++++++++++++++++++++-------------------------------------
+ src/fcxml.c | 8 +++++---
+ 7 files changed, 54 insertions(+), 77 deletions(-)
+
+commit ea1c6ea337b8cf6b86169b565787d0d31a0fc330
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Mar 27 21:06:36 2012 +0900
+
+ Fix a memory leak in FcDirScanConfig()
+
+ src/fcdir.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 1aaf8b773d73f89f5b0d8591cca0a2072524fdb3
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Mar 26 10:58:18 2012 +0900
+
+ Bug 17722 - Don't overwrite user's configurations in default config
+
+ Use "append" to avoid overwriting the user configuration.
+ This presumes most clients may takes care of the first value only.
+
+ conf.d/10-autohint.conf | 8 +++++++-
+ conf.d/10-no-sub-pixel.conf | 8 +++++++-
+ conf.d/10-sub-pixel-bgr.conf | 8 +++++++-
+ conf.d/10-sub-pixel-rgb.conf | 8 +++++++-
+ conf.d/10-sub-pixel-vbgr.conf | 8 +++++++-
+ conf.d/10-sub-pixel-vrgb.conf | 8 +++++++-
+ conf.d/10-unhinted.conf | 8 +++++++-
+ conf.d/11-lcdfilter-default.conf | 8 +++++++-
+ conf.d/11-lcdfilter-legacy.conf | 8 +++++++-
+ conf.d/11-lcdfilter-light.conf | 8 +++++++-
+ 10 files changed, 70 insertions(+), 10 deletions(-)
+
+commit 900675d0b0b40f22ecc0d75e4d5ce16295a3a5e3
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Mar 22 19:57:47 2012 +0900
+
+ Bug 47703 - SimSun default family
+
+ 40-nonlatin.conf: SimSun should be serif but not sans-serif.
+
+ http://www.microsoft.com/typography/fonts/family.aspx?FID=37
+
+ Patch from Petr Gajdos
+
+ conf.d/40-nonlatin.conf | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 92ac054ce5e270f22a4f81a09522c3f03b76c876
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Mar 22 19:15:27 2012 +0900
+
+ fcmatch: Set FcResultMatch at the end if the return value is valid.
+
+ In the previous code, the result of 'result' in the argument for
+ FcFontSetSort() and FcFontSetMatch() wasn't predictable and not
+ reliable to
+ check if the return value is valid or not. this change is to ensure
+ if it's
+ performed successfully.
+
+ src/fcmatch.c | 19 ++++++++++++++-----
+ 1 file changed, 14 insertions(+), 5 deletions(-)
+
+commit 1db3e9cdd8bc7408e630934cfc8deda7798b8970
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Mar 22 12:36:34 2012 +0900
+
+ fc-cache: improvement of the fix for Bug#39914.
+
+ Use sizeof() instead of strlen() and use stdio.
+
+ fc-cache/fc-cache.c | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+commit 4f7f3bf9f78843be5b39eb64acfeb02ffcd8e3a4
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Mar 21 16:06:37 2012 +0900
+
+ Bug 39914 - Please tag the cache directory with CACHEDIR.TAG
+
+ fc-cache: Create CACHEDIR.TAG at the top of the cache directory.
+
+ Reviewed-by: Josh Triplett <josh@joshtriplett.org>
+
+ fc-cache/fc-cache.c | 77
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 77 insertions(+)
+
+commit 8cc4498122b17843b00ec3eebdd7a7d8d59cb7ff
+Author: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Mon Mar 19 02:16:41 2012 -0700
+
+ fcarch: Check for architecture signature at compile time rather than
+ configure time
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=20208
+
+ Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+
+ fc-cache/fc-cache.c | 3 +--
+ src/fcarch.c | 4 ++--
+ src/fcarch.h | 23 +++++++++++++++++++++--
+ 3 files changed, 24 insertions(+), 6 deletions(-)
+
+commit e1ffb3dcd46f1fbbc5cb7527bc7f447b060ed98f
+Author: Akira TAGOH <tagoh@redhat.com>
+Date: Fri Mar 16 23:18:23 2012 +0900
+
+ Get rid of the prerequisites from the sufix rules
+
+ Thanks to Adam Sampson for pointing this out.
+
+ doc/Makefile.am | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+commit 93460f93e9e55e39a42fb6474918f31539436d9c
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Mar 16 16:29:53 2012 +0900
+
+ Fix a build issue due to the use of non-portable variables
+
+ $< isn't supported in BSD make say. $(RM) is pre-defined in GNU make
+ though, not in BSD make say. so changed to check on configure if it's
+ pre-defined by make, otherwise set the appropriate command to $(RM).
+
+ This would be a workaround until it has the certain pre-defined value.
+
+ Makefile.am | 10 +++++-----
+ conf.d/Makefile.am | 8 ++++----
+ configure.in | 9 +++++++++
+ doc/Makefile.am | 32 ++++++++++++++++----------------
+ fc-cache/Makefile.am | 4 ++--
+ fc-case/Makefile.am | 6 ++----
+ fc-cat/Makefile.am | 4 ++--
+ fc-list/Makefile.am | 4 ++--
+ fc-match/Makefile.am | 4 ++--
+ fc-pattern/Makefile.am | 4 ++--
+ fc-query/Makefile.am | 4 ++--
+ fc-scan/Makefile.am | 4 ++--
+ src/Makefile.am | 8 ++++----
+ 13 files changed, 54 insertions(+), 47 deletions(-)
+
+commit f2813ffc689fb6972ff4d5d414c3abfa3e0be26f
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Mar 16 11:55:47 2012 +0900
+
+ Revert "Fix a build fail on some environment"
+
+ This reverts commit b75eb63982a54c0fb4576d8a655ef734908d3604.
+
+ fc-case/Makefile.am | 10 ++++++----
+ fc-glyphname/Makefile.am | 4 ++--
+ fc-lang/Makefile.am | 4 ++--
+ 3 files changed, 10 insertions(+), 8 deletions(-)
+
+commit a5b609196fe9cf688e5b4f7b7cd31fb2dc15b154
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Mar 16 11:55:30 2012 +0900
+
+ Revert "Fix a build fail on some environment."
+
+ This reverts commit 0fdfddf2ac93c1c0238b70a265998fd6b5ffe7af.
+
+ Conflicts:
+
+ doc/Makefile.am
+
+ Makefile.am | 2 +-
+ doc/Makefile.am | 30 +++++++++++++++---------------
+ fc-cache/Makefile.am | 10 +++++-----
+ fc-case/Makefile.am | 2 +-
+ fc-cat/Makefile.am | 6 +++---
+ fc-glyphname/Makefile.am | 2 +-
+ fc-lang/Makefile.am | 2 +-
+ fc-list/Makefile.am | 8 ++++----
+ fc-match/Makefile.am | 8 ++++----
+ fc-pattern/Makefile.am | 6 +++---
+ fc-query/Makefile.am | 8 ++++----
+ fc-scan/Makefile.am | 8 ++++----
+ src/Makefile.am | 2 +-
+ 13 files changed, 47 insertions(+), 47 deletions(-)
+
+commit 765b7b32d862474eb631b47bbdbd34ffba507392
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Mar 12 19:02:27 2012 +0900
+
+ [doc] Update for cachedir.
+
+ <cache> element is now obsoletes and no longer used. get rid of it
+ from the doc and add <cachedir> instead.
+
+ doc/fontconfig-user.sgml | 19 ++++++++++---------
+ 1 file changed, 10 insertions(+), 9 deletions(-)
+
+commit e8bdc6df2ed329a38c2152b3592bf4ded8f27ce7
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Mar 12 17:58:00 2012 +0900
+
+ [doc] Update the path for cache files and the version.
+
+ doc/fontconfig-user.sgml | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit dd3214aa392a66095513f8fc160d6b62d81f36f5
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Sun Mar 11 02:24:33 2012 +0900
+
+ Bump version to 2.9.0
+
+ README | 129
+ +++++++++++++++++++++++++++++++++++++++++++++++-
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 129 insertions(+), 4 deletions(-)
+
+commit 3b142c2aaeaed4d6d5b3353aa1007d6ac08dbbdb
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Sun Mar 11 02:12:10 2012 +0900
+
+ Get rid of $< from Makefile.am
+
+ Makefile.am | 2 +-
+ doc/Makefile.am | 16 ++++++++--------
+ 2 files changed, 9 insertions(+), 9 deletions(-)
+
+commit 0fdfddf2ac93c1c0238b70a265998fd6b5ffe7af
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Sat Mar 10 23:30:30 2012 +0900
+
+ Fix a build fail on some environment.
+
+ Makefile.am | 2 +-
+ doc/Makefile.am | 20 ++++++++++----------
+ fc-cache/Makefile.am | 10 +++++-----
+ fc-case/Makefile.am | 2 +-
+ fc-cat/Makefile.am | 6 +++---
+ fc-glyphname/Makefile.am | 2 +-
+ fc-lang/Makefile.am | 2 +-
+ fc-list/Makefile.am | 8 ++++----
+ fc-match/Makefile.am | 8 ++++----
+ fc-pattern/Makefile.am | 6 +++---
+ fc-query/Makefile.am | 8 ++++----
+ fc-scan/Makefile.am | 8 ++++----
+ src/Makefile.am | 2 +-
+ 13 files changed, 42 insertions(+), 42 deletions(-)
+
+commit b75eb63982a54c0fb4576d8a655ef734908d3604
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Sat Mar 10 22:05:07 2012 +0900
+
+ Fix a build fail on some environment
+
+ fc-case/Makefile.am | 10 ++++------
+ fc-glyphname/Makefile.am | 4 ++--
+ fc-lang/Makefile.am | 4 ++--
+ 3 files changed, 8 insertions(+), 10 deletions(-)
+
+commit a47899a853e4ed3405f398f43d03424095ae73f5
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Sat Mar 10 19:03:05 2012 +0900
+
+ Fix a build issue
+
+ doc/Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit d6de5351922d79ccf38d2bc6b75f6ea2011dd421
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Mar 9 22:24:18 2012 +0900
+
+ Update to detect the uncommited changes properly
+
+ new-version.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 78d75c003c5f03a2aeebc628d70d3f75bd6f5707
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Mar 9 22:12:35 2012 +0900
+
+ Update the version info
+
+ configure.in | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 353f7cc69184cdb1a7d5b4cc00741fab97b32f17
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Fri Mar 9 17:33:03 2012 +0900
+
+ Fix distcheck error
+
+ doc/Makefile.am | 334
+ ++++++++++++++++++++++++-----------------------
+ fc-case/Makefile.am | 3 +
+ fc-glyphname/Makefile.am | 3 +
+ fc-lang/Makefile.am | 3 +
+ 4 files changed, 179 insertions(+), 164 deletions(-)
+
+commit 254232f47eaea0d03d2b1c2405d4ded5fd09142e
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Mar 7 18:16:35 2012 +0900
+
+ Bug 19128 - Handling whitespace in aliases
+
+ Add a workaround alias for Dingbats.
+
+ conf.d/30-urw-aliases.conf | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 0ca752dd25462ed88112ba7c859ef6d5a41ea606
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Mar 7 17:56:39 2012 +0900
+
+ Check null value for given object to avoid possibly segfaulting
+
+ src/fccharset.c | 175
+ +++++++++++++++++++++++++++++++++-----------------------
+ 1 file changed, 103 insertions(+), 72 deletions(-)
+
+commit 1f01c4b60c4c5e16a92d60f76ce615005c7db6b8
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Mar 7 17:32:14 2012 +0900
+
+ Bug 23336 - unable to display bitmap-only (SFNT) TrueType or OpenType
+
+ Force to find out a size for bitmap-only ttf to avoid the blank glyphs
+ in the font.
+
+ Patch from Bug Fly
+
+ src/fcfreetype.c | 32 ++++++++++++++------------------
+ 1 file changed, 14 insertions(+), 18 deletions(-)
+
+commit a13d518fdd079aeb0bd07a0457393cca8def7f90
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Feb 28 12:52:25 2012 +0900
+
+ Bug 41694 - FcCache functions have random-number-generator side
+ effects
+
+ Use the own random number generator state if possible.
+
+ configure.in | 2 +-
+ src/fccache.c | 69
+ ++++++++++++++++++++++++++++++++++++++++++++++++++---------
+ 2 files changed, 60 insertions(+), 11 deletions(-)
+
+commit c7a671ab6069c676bbc77875234364242fd00e88
+Author: Pravin Satpute <psatpute@redhat.com>
+Date: Fri Feb 24 16:50:14 2012 +0900
+
+ Bug 25652 - Add ortho file for locale mni_IN
+
+ Add mni.orth for Maniputi
+
+ Signed-off-by: Akira TAGOH <akira@tagoh.org>
+
+ fc-lang/Makefile.am | 3 ++-
+ fc-lang/mni.orth | 35 +++++++++++++++++++++++++++++++++++
+ 2 files changed, 37 insertions(+), 1 deletion(-)
+
+commit 04c96f59b92091b758fb26b97f1f9a3c9c2a6b6c
+Author: Pravin Satpute <psatpute@redhat.com>
+Date: Fri Feb 24 16:43:14 2012 +0900
+
+ Bug 25653 - Add ortho file for locale doi_IN
+
+ Add doi.orth for Dogri
+
+ Signed-off-by: Akira TAGOH <akira@tagoh.org>
+
+ fc-lang/Makefile.am | 3 ++-
+ fc-lang/doi.orth | 40 ++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 42 insertions(+), 1 deletion(-)
+
+commit 857753d3680b7e64e753a4b8a8324138200eb86b
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Feb 23 20:12:06 2012 +0900
+
+ Add brx.orth and sat.orth
+
+ fc-lang/Makefile.am | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 942cb16f6c59103e29b4e04ca8c64d29c8e67cb0
+Author: Parag Nemade <pnemade@redhat.com>
+Date: Thu Feb 23 20:06:41 2012 +0900
+
+ Bug 25650 - Add ortho file for locale sat_IN
+
+ Add sat.orth for Santali
+
+ Signed-off-by: Akira TAGOH <akira@tagoh.org>
+
+ fc-lang/sat.orth | 44 ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 44 insertions(+)
+
+commit 38b9c42fe2e9d496a41e773d84a74254a6f65bc4
+Author: Parag Nemade <pnemade@redhat.com>
+Date: Thu Feb 23 19:34:18 2012 +0900
+
+ Bug 25651 - Add ortho file for locale brx_IN
+
+ Add brx.orth for Bodo.
+
+ Signed-off-by: Akira TAGOH <akira@tagoh.org>
+
+ fc-lang/brx.orth | 46 ++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+commit a3ff1f07f8c60d2a3c77a4670de6aad0622ecacc
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Feb 23 15:23:23 2012 +0900
+
+ Bug 27385 - lcdfilter settings for freetype-2.3.12 not available
+ in fontconfig-2.8.0
+
+ Add config files for FT_LcdFilter options.
+
+ Patch from Robin Johnson.
+
+ conf.d/11-lcdfilter-default.conf | 10 ++++++++++
+ conf.d/11-lcdfilter-legacy.conf | 10 ++++++++++
+ conf.d/11-lcdfilter-light.conf | 10 ++++++++++
+ conf.d/Makefile.am | 3 +++
+ 4 files changed, 33 insertions(+)
+
+commit 5e4ea1104c9b832046cc8dde5ea7da52aaa61143
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Feb 22 16:50:13 2012 +0900
+
+ Do not update stream->pos when seeking is failed.
+
+ src/ftglue.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 71b14d645f524637579d87ea99720c123d728e1f
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Wed Feb 22 16:30:05 2012 +0900
+
+ Bug 46169 - Pointer error in FcConfigGlobMatch
+
+ Fix possibly accessing the invalid memory and a crash in the
+ worst case
+ when the glob string is longer than the string.
+
+ src/fccfg.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit 3abf981542788310104bc96b9c9cf70dd39b361b
+Author: Mike Frysinger <vapier@gentoo.org>
+Date: Tue Nov 8 14:19:57 2011 -0500
+
+ makealias: handle missing funcs better
+
+ When adding new functions, if the actual definition doesn't match the
+ header (say due to a typo), the regeneration of the internal headers
+ get confused and output bad cpp logic. This causes gcc to barf due
+ to mismatched #ifdef/#endif. Which is a pain to figure out due to
+ the sheer voulme of generated code.
+
+ So tweak the makealias script to detect this case and error out.
+ While we're here, improve the cpp output a bit to indent, include
+ comments, and merge similar ifdef blocks.
+
+ Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+ src/makealias | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
+
+commit d9c4462778a3d97b38e267dcdf68dfe22210ed8c
+Author: Mike Frysinger <vapier@gentoo.org>
+Date: Mon Nov 7 20:09:10 2011 -0500
+
+ FcObjectValidType: tweak -1 checking
+
+ Newer gcc doesn't like when you switch on an enum and use a value
+ that isn't declared:
+
+ fcname.c: In function 'FcObjectValidType':
+ fcname.c:299:2: warning: case value '4294967295'
+ not in enumerated type 'FcType' [-Wswitch]
+
+ So tweak the logic to avoid this warning.
+
+ Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+ src/fcname.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+commit 97c9506e4d0abe5e6a7d61c1a909741d2605507b
+Author: Mike Frysinger <vapier@gentoo.org>
+Date: Mon Nov 7 19:29:57 2011 -0500
+
+ fix build warnings when using --with-arch
+
+ Latest configure code will setup FC_ARCHITECTURE directly rather than
+ going through ARCHITECTURE, so update fcarch.h accordingly.
+
+ Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+ src/fcarch.h | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit 01c833379e19d8f8752ac7cec15b179c71242e2c
+Author: Mike Frysinger <vapier@gentoo.org>
+Date: Mon Nov 7 15:33:12 2011 -0500
+
+ fc-{list,match}: constify format string
+
+ We don't free this string anywhere, so mark it const to avoid gcc
+ warnings
+ and possible bugs in the future (if people did try freeing it).
+
+ fc-list.c: In function 'main':
+ fc-list.c:161:16: warning: pointer targets in assignment
+ differ in signedness [-Wpointer-sign]
+
+ fc-match.c: In function 'main':
+ fc-match.c:201:13: warning: pointer targets in assignment
+ differ in signedness [-Wpointer-sign]
+ fc-match.c:203:13: warning: pointer targets in assignment
+ differ in signedness [-Wpointer-sign]
+
+ Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+ fc-list/fc-list.c | 20 ++++++++++----------
+ fc-match/fc-match.c | 22 +++++++++++-----------
+ 2 files changed, 21 insertions(+), 21 deletions(-)
+
+commit 123d344f4590c45c5ccced8c46d157edb2b9efd2
+Author: Mike Frysinger <vapier@gentoo.org>
+Date: Mon Nov 7 15:26:52 2011 -0500
+
+ FcName{,Get}Constant: constify string input
+
+ These funcs don't modify the incoming string, so add const markings.
+ This is the "right thing", shouldn't change the ABI, and fixes some
+ gcc warnings:
+
+ fccfg.c: In function 'FcConfigEvaluate':
+ fccfg.c:916:2: warning: passing argument 1 of 'IA__FcNameConstant'
+ discards 'const' qualifier from pointer target type [enabled
+ by default]
+ fcalias.h:253:34: note: expected 'FcChar8 *' but
+ argument is of type 'const FcChar8 *'
+
+ fcxml.c: In function 'FcTypecheckExpr':
+ fcxml.c:604:2: warning: passing argument 1 of 'IA__FcNameGetConstant'
+ discards 'const' qualifier from pointer target type [enabled
+ by default]
+ fcalias.h:251:37: note: expected 'FcChar8 *' but
+ argument is of type 'const FcChar8 *'
+
+ Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+ fontconfig/fontconfig.h | 4 ++--
+ src/fcname.c | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit da763aa77dbaefd9be10ff5ad04ab5da39327b2e
+Author: Mike Frysinger <vapier@gentoo.org>
+Date: Mon Nov 7 15:24:53 2011 -0500
+
+ fc-cat: fix pointer warning
+
+ Add a cast to avoid a gcc warning:
+
+ fc-cat.c: In function 'cache_print_set':
+ fc-cat.c:230:2: warning: pointer targets in passing argument 2
+ of 'FcPatternFormat' differ in signedness [-Wpointer-sign]
+ ../fontconfig/fontconfig.h:860:1: note:
+ expected 'const FcChar8 *' but argument is of type 'char *'
+
+ Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+ fc-cat/fc-cat.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 647569d029d0c01ce36ae7d94095ea83f40728de
+Author: Mike Frysinger <vapier@gentoo.org>
+Date: Mon Nov 7 15:21:51 2011 -0500
+
+ FcStat: change to FcChar8 for first arg
+
+ This shouldn't affect the ABI, makes FcStat more like the rest of the
+ fontconfig API, and fixes warnings where we pass FcChar8* pointers in
+ to this func from other places.
+
+ Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+ src/fccache.c | 4 ++--
+ src/fcint.h | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit e3a66c2937c3bd5c45f5170cf7720b4023b8ae3f
+Author: Mike Frysinger <vapier@gentoo.org>
+Date: Mon Nov 7 15:18:26 2011 -0500
+
+ delete unused variables
+
+ Newer gcc is better at detecting set-but-unused variables.
+
+ Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+ src/fccache.c | 6 ++----
+ src/fcdir.c | 17 -----------------
+ src/fcformat.c | 5 ++---
+ src/fcfreetype.c | 3 ---
+ 4 files changed, 4 insertions(+), 27 deletions(-)
+
+commit 6f020161e8628546158766ce7a5f5e0ce1f7d95a
+Author: Mike Frysinger <vapier@gentoo.org>
+Date: Mon Nov 7 14:25:51 2011 -0500
+
+ FcStrPlus: optimize a little
+
+ We've already calculated the lengths of these strings, so re-use those
+ values to avoid having to rescan the strings multiple times.
+
+ Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+ src/fcstr.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit 2b010e46e629f118885f17ba860e9c4ddbba8779
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Jan 19 12:04:52 2012 +0900
+
+ Bug 44826 - <alias> must contain only a single <family>
+
+ Fix invalid syntax around alias elements in 30-metric-aliases.conf
+ 40-nonlatin.conf and 45-latin.conf.
+
+ Patch from lolilolicon
+
+ conf.d/30-metric-aliases.conf | 36 +++++++++++
+ conf.d/40-nonlatin.conf | 140
+ +++++++++++++++++++++++++++++++++++++++++-
+ conf.d/45-latin.conf | 96 +++++++++++++++++++++++++++++
+ 3 files changed, 271 insertions(+), 1 deletion(-)
+
+commit 54dd481512265a247bd23663c8fdb290a8886ccd
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Dec 20 18:46:14 2011 +0900
+
+ Get rid of the unexpected family name
+
+ UmePlus P Gothic isn't a serif font.
+
+ conf.d/65-nonlatin.conf | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 1c13fee11adcaae9eaaa08f9193a8c3c5b01504a
+Author: MINAMI Hirokazu <minami@mistfall.net>
+Date: Tue Dec 20 18:36:35 2011 +0900
+
+ Bug 43406 - typo of Japanese font name in conf.d/65-nonlatin.conf
+
+ Fix a typo.
+
+ Signed-off-by: Akira TAGOH <akira@tagoh.org>
+
+ conf.d/65-nonlatin.conf | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a53553b4b65d6230b1a91b1a7433c8c5852ab055
+Author: Pravin Satpute <pravin.d.s@gmail.com>
+Date: Wed Dec 21 11:38:28 2011 +0900
+
+ Bug 43321 - Required corrections in urdu.orth file
+
+ Drop U+0629 and U+0647, and add U+06c3 to ur.orth
+
+ Signed-off-by: Akira TAGOH <akira@tagoh.org>
+
+ fc-lang/ur.orth | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit 8c58dc276895cbeb0e9ae79718b1a38a082709d3
+Author: Jinkyu Yi <jincreator@naver.com>
+Date: Wed Nov 9 18:07:37 2011 +0900
+
+ Bug 42423 - make default Korean font from Un to Nanum
+
+ Update 40-nonlatin.conf and 65-nonlatin.conf for Nanum korean fonts.
+
+ Signed-off-by: Akira TAGOH <akira@tagoh.org>
+
+ conf.d/40-nonlatin.conf | 3 +++
+ conf.d/65-nonlatin.conf | 24 ++++++++++++++----------
+ 2 files changed, 17 insertions(+), 10 deletions(-)
+
+commit a18ca17b6211f62fbd1d893811b94b8c83db4cc0
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Feb 21 15:29:56 2012 +0900
+
+ Bug 40452 - Running 'fc-match --all' core dumps when no fonts are
+ installed
+
+ This would changes the behavior of FcFontSort().
+ it won't returns NULL afterward.
+
+ fc-match/fc-match.c | 5 +++++
+ src/fcmatch.c | 29 ++++++++++++++++++++++++++++-
+ 2 files changed, 33 insertions(+), 1 deletion(-)
+
+commit cbb6ee1662f1219518677a9d489159778a812782
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Jul 19 20:12:09 2011 +0900
+
+ Bug 35517 - Remove Apple Roman cmap support
+
+ Get rid of the apple roman encoding related code
+
+ src/fcfreetype.c | 260
+ -------------------------------------------------------
+ 1 file changed, 260 deletions(-)
+
+commit d3c438221610d2e584a611f21433062dc7e7f83d
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Tue Feb 21 15:11:30 2012 +0900
+
+ Add a missing file
+
+ fc-lang/Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 5582043a49f4360ae83d66ea05409e1c0a25b61e
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Nov 14 12:56:28 2011 +0900
+
+ Bug 32965 - Asturian (ast-ES) language matching missing ḷḷḥ
+
+ Add U+1E24, U+1E25, U+1E36 and U+1e37 for Asturian
+
+ fc-lang/ast.orth | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit dab0afd81013507b3d32afdd5a552d6ac09c10c0
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Nov 14 18:22:48 2011 +0900
+
+ Remove the unnecessary comment in ks.orth
+
+ fc-lang/ks.orth | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit dedc16733a44373633e319461ff04ec9d1f08ed6
+Author: Pravin Satpute <pravin.d.s@gmail.com>
+Date: Fri Nov 11 15:30:56 2011 +0900
+
+ Bug 27195 - need updates to ks.orth file
+
+ Add U+0620, U+0657, U+065f, U+0672, U+0673 and U+06c4 for Kashmiri
+
+ See http://www.unicode.org/charts/PDF/U0600.pdf
+
+ Signed-off-by: Akira TAGOH <akira@tagoh.org>
+
+ fc-lang/ks.orth | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit a1ecd679db82b0b118dc7334993f53b4288c4ae4
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Nov 14 17:44:24 2011 +0900
+
+ Bug 24744 - No n'ko orthography
+
+ Add nqo.orth for N'Ko
+
+ fc-lang/nqo.orth | 31 +++++++++++++++++++++++++++++++
+ 1 file changed, 31 insertions(+)
+
+commit 19651262e9502c952184f27962c9f5e521a11db9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Oct 6 14:59:04 2011 -0400
+
+ Add FcPublic to FcLangSetUnion and FcLangSetSubtract
+
+ Patch from ssp
+
+ fontconfig/fontconfig.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 3951fbaa39699684ebd3e76b333a14d5ebb19919
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Oct 5 15:12:48 2011 -0400
+
+ Fix parallel build
+
+ doc/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 082caefb6d5462c97f280b7037e3740b4865a244
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Sep 24 13:52:05 2011 -0400
+
+ Bug 41171 - Invalid use of memset
+
+ src/fccache.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit bf3bfa72d91e8bc37903d7e1bb7ac23c6ef4952a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jun 22 13:06:19 2011 -0400
+
+ Fix stupid bug in FcFontSort()
+
+ I broke FcFontSort() language handling at the end of 2008 with this
+ commit: c7641f28
+
+ G-d knows how many of the lang-matching bugs in bugzilla will be
+ fixed by this changed...
+
+ I'm really sorry, everyone!
+
+ src/fcmatch.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e61eba94efffbdbec6f9e08f3fb04b75f0ba2a3f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jun 20 11:55:25 2011 -0400
+
+ Switch fc-cat to use FcPatternFormat()
+
+ Added the a builtin "fccat" to FcPatternFormat().
+
+ doc/fcformat.fncs | 7 +++++++
+ fc-cat/fc-cat.c | 39 +++++++++++----------------------------
+ src/fcformat.c | 3 +++
+ 3 files changed, 21 insertions(+), 28 deletions(-)
+
+commit a15ac5d3840552528874f1d5ad166eb00906ce80
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jun 20 11:32:46 2011 -0400
+
+ Switch fc-match to use FcPatternFormat()
+
+ Fix small bug in FcPatternFormat that was letting element-default to
+ consume the convertor sequence.
+
+ fc-match/fc-match.c | 38 +++++++++-----------------------------
+ src/fcformat.c | 2 +-
+ 2 files changed, 10 insertions(+), 30 deletions(-)
+
+commit e0be405a1dd5765e36152c754a47c8ad7ff0ab85
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jun 20 11:22:17 2011 -0400
+
+ Bug 26718 - "fc-match sans file" doesn't work
+
+ - Do not throw away FC_FILE in FcNameUnparse
+ - Update the builtin "fclist" format to remove FC_FILE properly
+ instead
+ - Switch fc-list to use FcPatternFormat()
+
+ Note that I had previously broken fc-list and it was not showing the
+ file name anymore. No one noticed that it seems! Now fixed.
+
+ fc-list/fc-list.c | 17 ++++-------------
+ src/fcformat.c | 2 +-
+ src/fcname.c | 3 +--
+ 3 files changed, 6 insertions(+), 16 deletions(-)
+
+commit 0fcf866d44c46bd63d91f656e36544b6ce9af47d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jun 20 11:07:56 2011 -0400
+
+ Bug 36577 - Updating cache with no-bitmaps disables bitmap fonts...
+
+ Do not remove blacklisted fonts during cache generation. We already
+ apply the blacklist when reading the caches. The idea always has been
+ that the config should not affect caches built, although that design
+ was tarnished with the introduction of target="scan" configurations.
+
+ src/fcdir.c | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+commit 0392abf79131c9325c66c71c2708a4cd77673296
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Apr 12 22:15:37 2011 -0400
+
+ [.gitignore] Update
+
+ .gitignore | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 1c475d5c8cb265ac939d6b9e097666e300162511
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Mar 28 16:33:12 2011 -0400
+
+ Bug 35587 - Add padding to make valgrind and glibc not hate each other
+
+ src/fccfg.c | 13 +++++++++++--
+ src/fcpat.c | 10 +++++++---
+ 2 files changed, 18 insertions(+), 5 deletions(-)
+
+commit f0ee5761e1ab63d848f980a767dd8475986f1342
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Mar 14 18:58:13 2011 -0300
+
+ Fix warning
+
+ fc-lang/fc-lang.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c21fb9ac27ca89f3b581c58b1a08372f8273a262
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Mar 14 18:49:21 2011 -0300
+
+ Always define FcStat as a function
+
+ Such that first arg is const char *. We also need to make more
+ changes
+ in that function as part of some other bug.
+
+ src/fcatomic.c | 2 +-
+ src/fccache.c | 13 +++++++++++--
+ src/fccfg.c | 2 +-
+ src/fcdir.c | 4 ++--
+ src/fcint.h | 4 ----
+ 5 files changed, 15 insertions(+), 10 deletions(-)
+
+commit b5617e636cbb0bc8ef4daba6681a6f58078d7a42
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Mar 14 18:23:56 2011 -0300
+
+ More doc typo fixes
+
+ doc/fcatomic.fncs | 2 +-
+ doc/fcconfig.fncs | 4 ++--
+ doc/fcinit.fncs | 2 +-
+ doc/fcmatrix.fncs | 4 ++--
+ doc/fcobjectset.fncs | 2 +-
+ 5 files changed, 7 insertions(+), 7 deletions(-)
+
+commit 6c7915c10548132c3f7d0c00d08fdb268e5da6d4
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Mar 14 18:21:32 2011 -0300
+
+ Mark constant strings as constant
+
+ Fixes a few compiler warnings in fcxml.c and makes it clear that they
+ should not be freed.
+
+ doc/fcatomic.fncs | 2 +-
+ src/fcint.h | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit c76ed777ddb03a70c5990ef439d8d97809d1ef92
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Mar 14 18:04:59 2011 -0300
+
+ Bug 30566 - fcformat.c:interpret_enumerate() passes uninitialized
+ idx to FcPatternGetLangSet()
+
+ src/fcformat.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ccc239b3865dd8d83026ae59b89de965e948120a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Mar 14 17:28:53 2011 -0300
+
+ Bug 20113 - Uighur (ug) orthography incomplete
+
+ fc-lang/ug.orth | 35 ++++++++++++++++++++++++++++-------
+ 1 file changed, 28 insertions(+), 7 deletions(-)
+
+commit 7baa20c7590b12d11dcfb0a50131d50963581258
+Author: Brad Hards <bradh@frogmouth.net>
+Date: Fri Mar 11 19:43:42 2011 -0300
+
+ Documentation fixes
+
+ doc/fcatomic.fncs | 2 +-
+ doc/fccharset.fncs | 8 +--
+ doc/fcfontset.fncs | 2 +-
+ doc/fcformat.fncs | 4 +-
+ doc/fcfreetype.fncs | 4 +-
+ doc/fcinit.fncs | 2 +-
+ doc/fclangset.fncs | 4 +-
+ doc/fcpattern.fncs | 2 +-
+ doc/fcstring.fncs | 4 +-
+ doc/fontconfig-devel.sgml | 148
+ +++++++++++++++++++++++-----------------------
+ doc/fontconfig-user.sgml | 8 +--
+ 11 files changed, 94 insertions(+), 94 deletions(-)
+
+commit 9bfe7bad1c85403d85b833b58ebc6343f766e0a9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Mar 11 19:40:38 2011 -0300
+
+ Remove --enable-maintainer-mode from autogen.sh
+
+ autogen.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit e1bb01bfdc64d0276fb17f248a54bcabe6f9aff1
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jan 21 16:34:52 2011 -0500
+
+ Update CaseFolding.txt to Unicode 6.0
+
+ fc-case/CaseFolding.txt | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+commit e10a42178c65ff974fa9383dbc78525b3d8de1ae
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jan 3 22:18:38 2011 -0500
+
+ Remove AM_MAINTAINER_MODE
+
+ That macro is simply broken.
+
+ This was also brought up in:
+ Bug 32679 - fontconfig-2.8.0 does not cross compile
+
+ configure.in | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 0c7b8676171f2238af9785abf775e0f420e6545a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Jan 2 13:25:29 2011 -0700
+
+ Fix assertion failure on le32d4
+
+ Reported by Jon TURNEY.
+
+ src/fcarch.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit e63f90ce74d1f2c1e22959cb2ed97120eff3867f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Dec 28 02:58:16 2010 -0600
+
+ Doc nit
+
+ doc/fclangset.fncs | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 43bf659eedb3eeff75d219864af475dcadcf6983
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Dec 28 02:55:31 2010 -0600
+
+ Skip <range> elements with begin > end
+
+ src/fcxml.c | 26 ++++++++++++++++----------
+ 1 file changed, 16 insertions(+), 10 deletions(-)
+
+commit 8c625aa01f0ad95b1c06acb079921c209906f3b4
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Dec 28 02:52:06 2010 -0600
+
+ Add <range> support for <blank> into the DTD
+
+ fonts.dtd | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 549c9962a48cd728116c8f39db31c58043236ff0
+Merge: 30fd4fa fa269cf
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Dec 28 02:50:16 2010 -0600
+
+ Allow editing charset and lang in target="scan"
+
+ Merge commit 'fa269cf812ee304534b0e4c44662202496008db0'
+
+ Fixes:
+ Bug 31969 - Can't modify charset in target="scan"
+ Bug 23758 - Can't modify lang in target="scan"
+
+commit 30fd4fac9ca2238f84608c23836cab219640d9c1
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Dec 28 01:28:39 2010 -0600
+
+ Bump version
+
+ configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d1a0fca316ab8d9d61474028da54615e4d9f7540
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Dec 28 00:59:19 2010 -0600
+
+ Make fc-arch stuff cross-compiling-safe
+
+ Fixes:
+ Bug 32679 - fontconfig-2.8.0 does not cross compile
+ Bug 25462 - Cross-compilation doesn't work
+
+ Makefile.am | 2 +-
+ configure.in | 64 +++++------------------
+ fc-arch/Makefile.am | 54 --------------------
+ fc-arch/fc-arch.c | 138
+ --------------------------------------------------
+ fc-arch/fcarch.tmpl.h | 65 ------------------------
+ fc-cache/fc-cache.c | 2 +-
+ fc-cat/fc-cat.c | 2 +-
+ src/Makefile.am | 6 +--
+ src/fcarch.c | 72 ++++++++++++++++++++++++++
+ src/fcarch.h | 71 ++++++++++++++++++++++++++
+ src/fccache.c | 3 +-
+ src/fcint.h | 4 ++
+ 12 files changed, 167 insertions(+), 316 deletions(-)
+
+commit 2a6b235ff6d2750171e8dff7cfdfe3bccb0f630e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Dec 27 13:20:47 2010 -0600
+
+ Make most generated-files cross-compiling-safe
+
+ By simply including a copy in the tarball.
+
+ Remains fc-arch which is trickier.
+
+ doc/Makefile.am | 19 +++++++++++--------
+ fc-arch/fcarch.tmpl.h | 2 +-
+ fc-case/Makefile.am | 14 ++++++++------
+ fc-glyphname/Makefile.am | 14 ++++++++------
+ fc-lang/Makefile.am | 17 ++++++++++-------
+ 5 files changed, 38 insertions(+), 28 deletions(-)
+
+commit fa269cf812ee304534b0e4c44662202496008db0
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Dec 9 11:57:24 2010 +0900
+
+ add some documents
+
+ doc/fclangset.fncs | 30 ++++++++++++++++++++++++++++++
+ doc/fontconfig-user.sgml | 4 ++++
+ 2 files changed, 34 insertions(+)
+
+commit 3c862aad9f49be4b098cb679a67449c85b58f1f5
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Dec 6 12:38:18 2010 +0900
+
+ Add editing langset feature.
+
+ The syntax to add any langset to the langset table looks like:
+
+ <match target="scan">
+ <test name="family">
+ <string>Buggy Sans</string>
+ </test>
+ <edit name="lang" mode="assign">
+ <plus>
+ <name>lang</name>
+ <langset>
+ <string>zh-cn</string>
+ <string>zh-tw</string>
+ </langset>
+ </plus>
+ </edit>
+ </match>
+
+ To remove any langset from the langset table:
+
+ <match target="scan">
+ <test name="family">
+ <string>Buggy Sans</string>
+ </test>
+ <edit name="lang" mode="assign">
+ <minus>
+ <name>lang</name>
+ <langset>
+ <string>ja</string>
+ </langset>
+ </minus>
+ </edit>
+ </match>
+
+ fontconfig/fontconfig.h | 9 ++++++
+ fonts.dtd | 5 ++--
+ src/fccfg.c | 24 +++++++++++++++
+ src/fcdbg.c | 6 ++++
+ src/fcint.h | 3 +-
+ src/fclang.c | 62 ++++++++++++++++++++++++++++++++++++++
+ src/fcxml.c | 80
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ 7 files changed, 186 insertions(+), 3 deletions(-)
+
+commit d975cdda782bb88c8bb6706889a554b2afb9f939
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Dec 6 12:18:23 2010 +0900
+
+ Add the range support in blank element
+
+ src/fcxml.c | 35 +++++++++++++++++++++--------------
+ 1 file changed, 21 insertions(+), 14 deletions(-)
+
+commit 51e352a1bde91348888202539639a5a2d0d506d4
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Thu Dec 9 11:32:26 2010 +0900
+
+ add some document for range and charset.
+
+ doc/fontconfig-user.sgml | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 857b7efe1e301f670329c6836da52fbab8c5df66
+Author: Akira TAGOH <akira@tagoh.org>
+Date: Mon Dec 6 12:10:17 2010 +0900
+
+ Add charset editing feature.
+
+ The syntax to add any characters to the charset table looks like:
+
+ <match target="scan">
+ <test name="family">
+ <string>Buggy Sans</string>
+ </test>
+ <edit name="charset" mode="assign">
+ <plus>
+ <name>charset</name>
+ <charset>
+ <int>0x3220</int> <!-- PARENTHESIZED IDEOGRAPH
+ ONE -->
+ </charset>
+ </plus>
+ </edit>
+ </match>
+
+ To remove any characters from the charset table:
+
+ <match target="scan">
+ <test name="family">
+ <string>Buggy Sans</string>
+ </test>
+ <edit name="charset" mode="assign">
+ <minus>
+ <name>charset</name>
+ <charset>
+ <int>0x06CC</int> <!-- ARABIC LETTER FARSI YEH -->
+ <int>0x06D2</int> <!-- ARABIC LETTER YEH BARREE -->
+ <int>0x06D3</int> <!-- ARABIC LETTER YEH BARREE
+ WITH HAMZA ABOVE -->
+ </charset>
+ </minus>
+ </edit>
+ </match>
+
+ You could also use the range element for convenience:
+
+ ...
+ <charset>
+ <int>0x06CC</int> <!-- ARABIC LETTER FARSI YEH -->
+ <range>
+ <int>0x06D2</int> <!-- ARABIC LETTER YEH
+ BARREE -->
+ <int>0x06D3</int> <!-- ARABIC LETTER YEH
+ BARREE WITH HAMZA ABOVE -->
+ </range>
+ </charset>
+ ...
+
+ fonts.dtd | 4 +-
+ src/Makefile.am | 4 +-
+ src/fccfg.c | 19 +++++++
+ src/fcdbg.c | 2 +
+ src/fcint.h | 9 +++-
+ src/fcxml.c | 156
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 6 files changed, 185 insertions(+), 9 deletions(-)
+
+commit 0d47cfabd82cd9c02ec5711383f06599b0450ac0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Dec 7 18:48:56 2010 -0500
+
+ Bug 28958 - lang=en matches other langs
+
+ Patch from Akira TAGOH.
+
+ src/fclang.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 1e7a2a4f6cd05bfa8b15f88c2f9ca10ad97fc8ac
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Dec 2 08:13:59 2010 -0500
+
+ Fix returned value
+
+ src/fcinit.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5aaf466d3899842763e746a9c2b745748eb34b48
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Nov 10 16:45:42 2010 -0500
+
+ Cleanup copyright notices to replace "Keith Packard" with "the
+ author(s)"
+
+ COPYING | 5 ++---
+ Makefile.am | 4 ++--
+ conf.d/Makefile.am | 4 ++--
+ config/Makedefs.in | 4 ++--
+ configure.in | 4 ++--
+ doc/Makefile.am | 4 ++--
+ doc/confdir.sgml.in | 4 ++--
+ doc/edit-sgml.c | 4 ++--
+ doc/fcatomic.fncs | 4 ++--
+ doc/fcblanks.fncs | 4 ++--
+ doc/fccache.fncs | 4 ++--
+ doc/fccharset.fncs | 4 ++--
+ doc/fcconfig.fncs | 4 ++--
+ doc/fcconstant.fncs | 4 ++--
+ doc/fcfile.fncs | 4 ++--
+ doc/fcfontset.fncs | 4 ++--
+ doc/fcformat.fncs | 4 ++--
+ doc/fcfreetype.fncs | 4 ++--
+ doc/fcinit.fncs | 4 ++--
+ doc/fcmatrix.fncs | 4 ++--
+ doc/fcobjectset.fncs | 4 ++--
+ doc/fcobjecttype.fncs | 4 ++--
+ doc/fcpattern.fncs | 4 ++--
+ doc/fcstring.fncs | 4 ++--
+ doc/fcstrset.fncs | 4 ++--
+ doc/fcvalue.fncs | 4 ++--
+ doc/fontconfig-devel.sgml | 8 ++++----
+ doc/fontconfig-user.sgml | 4 ++--
+ doc/func.sgml | 4 ++--
+ doc/version.sgml.in | 4 ++--
+ fc-arch/Makefile.am | 4 ++--
+ fc-arch/fcarch.tmpl.h | 4 ++--
+ fc-cache/Makefile.am | 4 ++--
+ fc-cache/fc-cache.c | 4 ++--
+ fc-case/Makefile.am | 4 ++--
+ fc-case/fc-case.c | 4 ++--
+ fc-case/fccase.tmpl.h | 4 ++--
+ fc-cat/Makefile.am | 4 ++--
+ fc-cat/fc-cat.c | 4 ++--
+ fc-glyphname/Makefile.am | 4 ++--
+ fc-glyphname/fc-glyphname.c | 4 ++--
+ fc-glyphname/fcglyphname.tmpl.h | 4 ++--
+ fc-lang/Makefile.am | 4 ++--
+ fc-lang/aa.orth | 4 ++--
+ fc-lang/ab.orth | 4 ++--
+ fc-lang/af.orth | 4 ++--
+ fc-lang/am.orth | 4 ++--
+ fc-lang/ar.orth | 4 ++--
+ fc-lang/ast.orth | 4 ++--
+ fc-lang/av.orth | 4 ++--
+ fc-lang/ay.orth | 4 ++--
+ fc-lang/az_ir.orth | 4 ++--
+ fc-lang/ba.orth | 4 ++--
+ fc-lang/be.orth | 4 ++--
+ fc-lang/bg.orth | 4 ++--
+ fc-lang/bh.orth | 4 ++--
+ fc-lang/bho.orth | 4 ++--
+ fc-lang/bi.orth | 4 ++--
+ fc-lang/bin.orth | 4 ++--
+ fc-lang/bm.orth | 4 ++--
+ fc-lang/bo.orth | 4 ++--
+ fc-lang/br.orth | 4 ++--
+ fc-lang/bs.orth | 4 ++--
+ fc-lang/bua.orth | 4 ++--
+ fc-lang/ca.orth | 4 ++--
+ fc-lang/ce.orth | 4 ++--
+ fc-lang/ch.orth | 4 ++--
+ fc-lang/chm.orth | 4 ++--
+ fc-lang/chr.orth | 4 ++--
+ fc-lang/co.orth | 4 ++--
+ fc-lang/cs.orth | 4 ++--
+ fc-lang/cu.orth | 4 ++--
+ fc-lang/cv.orth | 4 ++--
+ fc-lang/cy.orth | 4 ++--
+ fc-lang/da.orth | 4 ++--
+ fc-lang/de.orth | 4 ++--
+ fc-lang/dz.orth | 4 ++--
+ fc-lang/el.orth | 4 ++--
+ fc-lang/en.orth | 4 ++--
+ fc-lang/eo.orth | 4 ++--
+ fc-lang/es.orth | 4 ++--
+ fc-lang/et.orth | 4 ++--
+ fc-lang/eu.orth | 4 ++--
+ fc-lang/fa.orth | 4 ++--
+ fc-lang/fc-lang.c | 4 ++--
+ fc-lang/fc-lang.man | 4 ++--
+ fc-lang/fclang.tmpl.h | 4 ++--
+ fc-lang/ff.orth | 4 ++--
+ fc-lang/fi.orth | 4 ++--
+ fc-lang/fj.orth | 4 ++--
+ fc-lang/fo.orth | 4 ++--
+ fc-lang/fr.orth | 4 ++--
+ fc-lang/fur.orth | 4 ++--
+ fc-lang/fy.orth | 4 ++--
+ fc-lang/ga.orth | 4 ++--
+ fc-lang/gd.orth | 4 ++--
+ fc-lang/gez.orth | 4 ++--
+ fc-lang/gl.orth | 4 ++--
+ fc-lang/gn.orth | 4 ++--
+ fc-lang/gu.orth | 4 ++--
+ fc-lang/gv.orth | 4 ++--
+ fc-lang/ha.orth | 4 ++--
+ fc-lang/haw.orth | 4 ++--
+ fc-lang/he.orth | 4 ++--
+ fc-lang/hi.orth | 4 ++--
+ fc-lang/ho.orth | 4 ++--
+ fc-lang/hr.orth | 4 ++--
+ fc-lang/hu.orth | 4 ++--
+ fc-lang/hy.orth | 4 ++--
+ fc-lang/ia.orth | 4 ++--
+ fc-lang/id.orth | 4 ++--
+ fc-lang/ie.orth | 4 ++--
+ fc-lang/ig.orth | 4 ++--
+ fc-lang/ik.orth | 4 ++--
+ fc-lang/io.orth | 4 ++--
+ fc-lang/is.orth | 4 ++--
+ fc-lang/it.orth | 4 ++--
+ fc-lang/iu.orth | 4 ++--
+ fc-lang/ja.orth | 4 ++--
+ fc-lang/ka.orth | 4 ++--
+ fc-lang/kaa.orth | 4 ++--
+ fc-lang/ki.orth | 4 ++--
+ fc-lang/kk.orth | 4 ++--
+ fc-lang/kl.orth | 4 ++--
+ fc-lang/kn.orth | 4 ++--
+ fc-lang/ko.orth | 4 ++--
+ fc-lang/kok.orth | 4 ++--
+ fc-lang/ku_am.orth | 4 ++--
+ fc-lang/ku_ir.orth | 4 ++--
+ fc-lang/kum.orth | 4 ++--
+ fc-lang/kv.orth | 4 ++--
+ fc-lang/kw.orth | 4 ++--
+ fc-lang/ky.orth | 4 ++--
+ fc-lang/la.orth | 4 ++--
+ fc-lang/lb.orth | 4 ++--
+ fc-lang/lez.orth | 4 ++--
+ fc-lang/ln.orth | 4 ++--
+ fc-lang/lo.orth | 4 ++--
+ fc-lang/lt.orth | 4 ++--
+ fc-lang/lv.orth | 4 ++--
+ fc-lang/mai.orth | 4 ++--
+ fc-lang/mg.orth | 4 ++--
+ fc-lang/mh.orth | 4 ++--
+ fc-lang/mi.orth | 4 ++--
+ fc-lang/mk.orth | 4 ++--
+ fc-lang/ml.orth | 4 ++--
+ fc-lang/mn_cn.orth | 4 ++--
+ fc-lang/mo.orth | 4 ++--
+ fc-lang/mr.orth | 4 ++--
+ fc-lang/mt.orth | 4 ++--
+ fc-lang/my.orth | 4 ++--
+ fc-lang/nb.orth | 4 ++--
+ fc-lang/nds.orth | 4 ++--
+ fc-lang/ne.orth | 4 ++--
+ fc-lang/nl.orth | 4 ++--
+ fc-lang/nn.orth | 4 ++--
+ fc-lang/no.orth | 4 ++--
+ fc-lang/ny.orth | 4 ++--
+ fc-lang/oc.orth | 4 ++--
+ fc-lang/om.orth | 4 ++--
+ fc-lang/or.orth | 4 ++--
+ fc-lang/os.orth | 4 ++--
+ fc-lang/pes.orth | 4 ++--
+ fc-lang/pl.orth | 4 ++--
+ fc-lang/prs.orth | 4 ++--
+ fc-lang/ps_af.orth | 4 ++--
+ fc-lang/ps_pk.orth | 4 ++--
+ fc-lang/pt.orth | 4 ++--
+ fc-lang/rm.orth | 4 ++--
+ fc-lang/ro.orth | 4 ++--
+ fc-lang/ru.orth | 4 ++--
+ fc-lang/sa.orth | 4 ++--
+ fc-lang/sah.orth | 4 ++--
+ fc-lang/sco.orth | 4 ++--
+ fc-lang/se.orth | 4 ++--
+ fc-lang/sel.orth | 4 ++--
+ fc-lang/sk.orth | 4 ++--
+ fc-lang/sl.orth | 4 ++--
+ fc-lang/sm.orth | 4 ++--
+ fc-lang/sma.orth | 4 ++--
+ fc-lang/smj.orth | 4 ++--
+ fc-lang/smn.orth | 4 ++--
+ fc-lang/sms.orth | 4 ++--
+ fc-lang/so.orth | 4 ++--
+ fc-lang/sq.orth | 4 ++--
+ fc-lang/sr.orth | 4 ++--
+ fc-lang/sv.orth | 4 ++--
+ fc-lang/sw.orth | 4 ++--
+ fc-lang/syr.orth | 4 ++--
+ fc-lang/ta.orth | 4 ++--
+ fc-lang/te.orth | 4 ++--
+ fc-lang/tg.orth | 4 ++--
+ fc-lang/th.orth | 4 ++--
+ fc-lang/ti_er.orth | 4 ++--
+ fc-lang/ti_et.orth | 4 ++--
+ fc-lang/tig.orth | 4 ++--
+ fc-lang/tn.orth | 4 ++--
+ fc-lang/to.orth | 4 ++--
+ fc-lang/tr.orth | 4 ++--
+ fc-lang/ts.orth | 4 ++--
+ fc-lang/tt.orth | 4 ++--
+ fc-lang/tw.orth | 4 ++--
+ fc-lang/tyv.orth | 4 ++--
+ fc-lang/ug.orth | 4 ++--
+ fc-lang/uk.orth | 4 ++--
+ fc-lang/ur.orth | 4 ++--
+ fc-lang/ve.orth | 4 ++--
+ fc-lang/vi.orth | 4 ++--
+ fc-lang/vo.orth | 4 ++--
+ fc-lang/vot.orth | 4 ++--
+ fc-lang/wa.orth | 4 ++--
+ fc-lang/wen.orth | 4 ++--
+ fc-lang/wo.orth | 4 ++--
+ fc-lang/xh.orth | 4 ++--
+ fc-lang/yap.orth | 4 ++--
+ fc-lang/yi.orth | 4 ++--
+ fc-lang/yo.orth | 4 ++--
+ fc-lang/zh_cn.orth | 4 ++--
+ fc-lang/zh_hk.orth | 4 ++--
+ fc-lang/zh_mo.orth | 4 ++--
+ fc-lang/zh_sg.orth | 4 ++--
+ fc-lang/zh_tw.orth | 4 ++--
+ fc-lang/zu.orth | 4 ++--
+ fc-list/Makefile.am | 4 ++--
+ fc-list/fc-list.c | 4 ++--
+ fc-match/Makefile.am | 4 ++--
+ fc-match/fc-match.c | 4 ++--
+ fc-pattern/Makefile.am | 4 ++--
+ fc-pattern/fc-pattern.c | 4 ++--
+ fc-query/Makefile.am | 4 ++--
+ fc-query/fc-query.c | 4 ++--
+ fc-scan/Makefile.am | 4 ++--
+ fc-scan/fc-scan.c | 4 ++--
+ fontconfig/fcfreetype.h | 4 ++--
+ fontconfig/fcprivate.h | 4 ++--
+ fontconfig/fontconfig.h | 4 ++--
+ src/Makefile.am | 4 ++--
+ src/fcatomic.c | 4 ++--
+ src/fcblanks.c | 4 ++--
+ src/fccache.c | 4 ++--
+ src/fccfg.c | 4 ++--
+ src/fccharset.c | 4 ++--
+ src/fcdbg.c | 4 ++--
+ src/fcdefault.c | 4 ++--
+ src/fcdir.c | 4 ++--
+ src/fcformat.c | 4 ++--
+ src/fcfreetype.c | 4 ++--
+ src/fcfs.c | 4 ++--
+ src/fcinit.c | 4 ++--
+ src/fcint.h | 4 ++--
+ src/fclang.c | 4 ++--
+ src/fclist.c | 4 ++--
+ src/fcmatch.c | 4 ++--
+ src/fcname.c | 4 ++--
+ src/fcpat.c | 4 ++--
+ src/fcstr.c | 4 ++--
+ src/fcxml.c | 4 ++--
+ 257 files changed, 516 insertions(+), 517 deletions(-)
+
+commit 1f5c675fedd42bda49375ca7a9d6f3f8b2cd97bb
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Nov 10 15:27:10 2010 -0500
+
+ Add more copyright owners
+
+ COPYING | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 039b9fd090cf3fcd279eeb8c786070a94993a8ba
+Author: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Wed Nov 3 01:08:12 2010 -0700
+
+ fontconfig.pc.in: Add sysconfdir, localstatedir, and PACKAGE
+
+ In the default case, cachedir and confdir will evaluate to something
+ referencing these other variables (which wouldn't otherwise be defined
+ in the pkg-config file.
+
+ Fixes a regression introduced by
+ 81b542b50f82f8a0ad9f38f7d913fe5433631166
+
+ Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+ Tested-by: Jon TURNEY <jon.turney@dronecode.org.uk>
+
+ fontconfig.pc.in | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 81b542b50f82f8a0ad9f38f7d913fe5433631166
+Author: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Wed Oct 6 11:21:29 2010 -0700
+
+ fontconfig.pc: Add variables for confdir and cachedir
+
+ Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+
+ fontconfig.pc.in | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit caa4bec9459af0779d1d16ba66964593e5748e3c
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Sep 21 13:18:05 2010 -0400
+
+ Bug 24729 - [ne_NP] Fix ortho file
+
+ Exclude three characters (U+090C..090E) from Nepalese.
+
+ fc-lang/ne.orth | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 0a023b24daa683d9c0be4e2ef6d50040c1c52316
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Sep 21 13:14:55 2010 -0400
+
+ [fc-lang] Support excluding characters
+
+ By prefixing a line by a hyphen/minus sign. Useful when including
+ other orth files.
+
+ fc-lang/fc-lang.c | 35 +++++++++++++++++++++++++----------
+ 1 file changed, 25 insertions(+), 10 deletions(-)
+
+commit 52960d05ebb8af34a302e3959978d2930a39fb39
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Sep 21 13:14:41 2010 -0400
+
+ Add new public API: FcCharSetDelChar()
+
+ doc/fccharset.fncs | 11 +++++++++++
+ fontconfig/fontconfig.h | 3 +++
+ src/fccharset.c | 17 +++++++++++++++++
+ 3 files changed, 31 insertions(+)
+
+commit 9d8d0226d9ac5bc9956263a13454179eafc4ab82
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Sep 3 08:11:00 2010 -0400
+
+ Bug 29995 - fc-cat does not invoke FcFini()
+
+ fc-cat/fc-cat.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 25afea879d5b73c116e00c2c62b2a7ce9bcf803a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Aug 18 11:31:31 2010 -0400
+
+ Add comments
+
+ src/fcformat.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit c2764d959c652f572bfefa00234448742bda2b08
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Aug 5 15:58:09 2010 -0400
+
+ Bug 29338 - fc-pattern.sgml, open para tag
+
+ fc-pattern/fc-pattern.sgml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 78366844468c5fa785d05bb25be2d0023e60f5ee
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Wed Jun 2 22:38:19 2010 -0400
+
+ Fix compiler warnings
+
+ fc-lang/fc-lang.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit ba7b50ab3324887e1680a4a8961487706705c739
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Apr 20 23:18:00 2010 -0400
+
+ Add fc-pattern cmdline tool
+
+ Makefile.am | 3 +-
+ configure.in | 1 +
+ fc-cache/fc-cache.sgml | 1 +
+ fc-cat/fc-cat.sgml | 1 +
+ fc-list/fc-list.sgml | 1 +
+ fc-match/fc-match.sgml | 1 +
+ fc-pattern/Makefile.am | 59 +++++++++++++
+ fc-pattern/fc-pattern.c | 195
+ +++++++++++++++++++++++++++++++++++++++++++
+ fc-pattern/fc-pattern.sgml | 204
+ +++++++++++++++++++++++++++++++++++++++++++++
+ fc-query/fc-query.sgml | 1 +
+ fc-scan/fc-scan.sgml | 1 +
+ 11 files changed, 467 insertions(+), 1 deletion(-)
+
+commit ac5a2336436dadac699bb579d3f6ca30225dbb28
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Apr 12 12:49:53 2010 -0400
+
+ Fix comment
+
+ src/fcmatch.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 594dcef0f30ca27e27b95a9174087e8c61327e5f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Apr 12 12:18:50 2010 -0400
+
+ Remove all training whitespaces
+
+ src/fcatomic.c | 4 +-
+ src/fccache.c | 66 ++++++++++++------------
+ src/fccfg.c | 118 +++++++++++++++++++++----------------------
+ src/fccharset.c | 150
+ +++++++++++++++++++++++++++----------------------------
+ src/fcdbg.c | 14 +++---
+ src/fcdefault.c | 2 +-
+ src/fcdir.c | 14 +++---
+ src/fcfreetype.c | 88 ++++++++++++++++----------------
+ src/fcfs.c | 6 +--
+ src/fcftint.h | 2 +-
+ src/fcinit.c | 6 +--
+ src/fcint.h | 42 ++++++++--------
+ src/fclang.c | 28 +++++------
+ src/fclist.c | 30 +++++------
+ src/fcmatch.c | 32 ++++++------
+ src/fcmatrix.c | 6 +--
+ src/fcname.c | 28 +++++------
+ src/fcpat.c | 70 +++++++++++++-------------
+ src/fcstr.c | 74 +++++++++++++--------------
+ src/ftglue.c | 16 +++---
+ 20 files changed, 398 insertions(+), 398 deletions(-)
+
+commit d0d1f3904c9f6af9f39a5a085e454cde5ba9d44e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Apr 12 12:10:05 2010 -0400
+
+ More whitespace
+
+ src/fcxml.c | 88
+ ++++++++++++++++++++++++++++++-------------------------------
+ 1 file changed, 44 insertions(+), 44 deletions(-)
+
+commit 2b0f3f1128e479dd3d32022336c967655e6c4821
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Apr 12 11:52:09 2010 -0400
+
+ Whitespace
+
+ src/fcxml.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 632612b810f1c8eb5b75ba1465d10cb31af0cbf0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 7 12:47:37 2010 -0400
+
+ Accept TT_PLATFORM_MICROSOFT, TT_MS_ID_SYMBOL_CS from name table
+
+ The OT spec says:
+
+ "When building a Unicode font for Windows, the platform ID should
+ be 3 and the
+ encoding ID should be 1. When building a symbol font for Windows,
+ the platform
+ ID should be 3 and the encoding ID should be 0."
+
+ We were ignoring the SYMBOL_CS entry before. It's UTF-16/UCS-2
+ like the
+ UNICODE_CS.
+
+ Also, always use UTF-16BE instead of UCS-2BE. The conversion
+ was doing
+ UTF-16BE anyway.
+
+ src/fcfreetype.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 300b495dc400df401afaacfa4e986092ea119865
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Mar 3 13:26:55 2010 -0500
+
+ Don't include unistd.h in fontconfig.h
+
+ Bug 26783 patch: unistd.h not exist on ms windows
+
+ fontconfig/fontconfig.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 111e5b6d690970fce1abaf39e01d6d2498c9cfb3
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Feb 26 01:47:56 2010 -0500
+
+ Bug 25152 Don't sleep(2) if all caches were uptodate
+
+ fc-cache/fc-cache.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+commit 3cd1e673a9b518784183029d5cc1d2adae0cb29a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Feb 25 17:11:14 2010 -0500
+
+ Bug 26157 Solaris/Sun C 5.8: compilation of 2.8.0 and 2.7.3 fails
+
+ src/fcint.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2c93614ea0d0d1d895abe6c44add436c58bd99f8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Feb 25 15:10:41 2010 -0500
+
+ Bug 18886 installation crashes if fontconfig already installed
+
+ Run the uninstalled fc-cache, not the installed one.
+
+ Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 2e375b68946cafa62dce3abebdd35e20ecbb0b46
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Feb 14 20:27:22 2010 -0500
+
+ More doc typo fixes
+
+ doc/fcformat.fncs | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 77be30cb9fde6540337a590e5d90e59996e07adc
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Feb 14 20:20:00 2010 -0500
+
+ Fix doc typo
+
+ doc/fcformat.fncs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d6351325056a94e2db0c8c533c7d16eb5c278861
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 26 12:45:09 2010 -0500
+
+ Add note about autogen.sh to INSTALL
+
+ INSTALL | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit 0dbbf9f20b8a65af8a8a05ada653d99117192622
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 26 12:43:51 2010 -0500
+
+ Update INSTALL
+
+ INSTALL | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit af4a82863f60dff79c4ce06a871b737899a3c9e3
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Dec 8 21:15:15 2009 -0500
+
+ Bug 25508 configure assumes bash > 2.0 is on system
+
+ Remove dolt. With libtool2, there's not much need for dolt.
+
+ acinclude.m4 | 137
+ -----------------------------------------------------------
+ configure.in | 1 -
+ 2 files changed, 138 deletions(-)
+
+commit aabe0f9d7d427097ddfc69ceb6f48999fcd01f60
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 30 16:09:55 2009 -0500
+
+ [doc] Fix typo
+
+ fc-match/fc-match.sgml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 38bd85b83b2114d9a18da7b0ea73e0cdad5c7ee4
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Nov 20 18:44:04 2009 -0500
+
+ [fc-cache] Document -r argument in man page
+
+ fc-cache/fc-cache.sgml | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+commit 4a3bef8ac3b91354c6c10b5f6af10ead9d4fe49a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Nov 18 18:45:19 2009 -0500
+
+ Bump version to 2.8.0
+
+ README | 32 ++++++++++++++++++++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 4 ++--
+ 3 files changed, 33 insertions(+), 5 deletions(-)
+
+commit 2e44cbe1b9bf466718167e9e05077743df36ab21
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Nov 18 18:45:06 2009 -0500
+
+ Bump libtool revision in preparation for release
+
+ configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 91a73751dcd4fd2d2e4e8bcb98af53098c721224
+Author: Tor Lillqvist <tml@iki.fi>
+Date: Wed Nov 18 21:56:16 2009 +0200
+
+ Improve zip "distribution"
+
+ Don't put entries for directories in the zip file. Fetch manpages from
+ correct place.
+
+ fontconfig-zip.in | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+commit bb8fdae8ad6f0a857569b3e09cf21f1af6b4a41b
+Author: Tor Lillqvist <tml@iki.fi>
+Date: Wed Nov 18 21:54:39 2009 +0200
+
+ Use correct autoconf variable
+
+ Use LIBT_CURRENT_MINUS_AGE instead of the undefined
+ lt_current_minus_age for the name of the DLL when generating the MS
+ style import library.
+
+ src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1845f3100d15927cc536bc3d38f140c139fb5614
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Nov 18 14:39:34 2009 -0500
+
+ [fc-arch] Rename architecture names to better reflect what they are
+
+ We only care about three properties in the arch:
+
+ - endianness
+ - pointer size
+ - for 32-bit archs, whether double is aligned on 4 or 8 bytes
+
+ This leads to the following 6 archs (old name -> new name):
+
+ x86 -> le32d4
+ mipsel -> le32d8
+ x86-64 -> le64
+ m68k -> be32d4
+ ppc -> be32d8
+ ppc64 -> be64
+
+ fc-arch/fcarch.tmpl.h | 67
+ ++++++++++++++++++++++++++-------------------------
+ 1 file changed, 34 insertions(+), 33 deletions(-)
+
+commit d5ebf48e34e9235cf10e9f7beb49af74823c3fc6
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Nov 18 14:08:00 2009 -0500
+
+ [fc-arch] Beautify the arch template
+
+ fc-arch/fc-arch.c | 10 +++++-----
+ fc-arch/fcarch.tmpl.h | 42 ++++++++++++++++++++++++++++++++++--------
+ 2 files changed, 39 insertions(+), 13 deletions(-)
+
+commit d074706b507226427f5a4018e78fe120a01eb53d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Nov 18 09:40:11 2009 -0500
+
+ [fc-case] Update CaseFolding.txt to Unicode 5.2.0
+
+ fc-case/CaseFolding.txt | 116
+ ++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 112 insertions(+), 4 deletions(-)
+
+commit 13781ba00b0ded28319ff417a254c620231973f1
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Nov 18 09:36:23 2009 -0500
+
+ [fc-glyphname] Remove Adobe glyphlist
+
+ It was unused.
+
+ fc-glyphname/glyphlist.txt | 4291
+ --------------------------------------------
+ 1 file changed, 4291 deletions(-)
+
+commit d2fb683796f41a68edec53f26e524fd06725eef8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Nov 18 09:35:40 2009 -0500
+
+ Clean up Makefile's a bit
+
+ fc-arch/Makefile.am | 4 +---
+ fc-case/Makefile.am | 7 +++----
+ fc-glyphname/Makefile.am | 3 ++-
+ fc-lang/Makefile.am | 2 +-
+ src/Makefile.am | 12 +++++++++---
+ 5 files changed, 16 insertions(+), 12 deletions(-)
+
+commit 192927225c447a8eaba613838aff93f82dee41d0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Nov 18 09:26:24 2009 -0500
+
+ [fc-glyphname] Rename internal arrays to prefix with _fc_
+
+ Although they were static, I was still surprised that gdb was seeing
+ our variable "glyphs". Not helpful.
+
+ fc-glyphname/fc-glyphname.c | 6 +++---
+ src/fcfreetype.c | 13 ++++++-------
+ 2 files changed, 9 insertions(+), 10 deletions(-)
+
+commit 3e5e83e12e051d6ac734f08609c6c584b0f0b807
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Nov 18 09:26:01 2009 -0500
+
+ [src] Create fcglyphname.h automatically
+
+ src/Makefile.am | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 040c98bcc40617ecbc9eb7e16b1714ebd256cfdc
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Nov 18 09:25:42 2009 -0500
+
+ [fc-glyphname] Cleanup Makefile.am
+
+ fc-glyphname/Makefile.am | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+commit 77f4e60a32971a815b85f187712191724a00b856
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Nov 18 09:10:05 2009 -0500
+
+ Remove bogus comment
+
+ Last night in between my dreams I also noticed that we support Unicode
+ values up to 0x01000000 and not 0x00100000 which I thought before.
+ This covers the entire Unicode range.
+
+ src/fccharset.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit a90a3ad97a7cee10225190e13a576e55871b9441
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Nov 17 12:10:01 2009 -0500
+
+ Make sure fclang.h and fcarch.h are built
+
+ src/Makefile.am | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit a3b2426819836ab2454c6a7bad27c382f4a245bf
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 16 18:29:26 2009 -0500
+
+ [lang] Fix serializing LangSet from older versions
+
+ src/fclang.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+commit 8480c6f86327877fce729ebb01b52bd7a40ddfc5
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 16 17:38:40 2009 -0500
+
+ [arch] Try to ensure proper FcLangSet alignment in arch
+
+ fc-arch/fc-arch.c | 5 +++--
+ fc-arch/fcarch.tmpl.h | 16 ++++++++--------
+ src/fclang.c | 2 +-
+ 3 files changed, 12 insertions(+), 11 deletions(-)
+
+commit dffcb2a083bc5f959ed96dbdf0f365ebc0e710cc
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 16 17:00:50 2009 -0500
+
+ [xml] Remove unused code
+
+ src/fcxml.c | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+commit b2d910123008115813a5cd623389189a2d66880b
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 16 16:57:53 2009 -0500
+
+ [int] Remove more unused macros
+
+ src/fcint.h | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit 247c4f3df21582260c4799bdbda2be1c13cc8901
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 16 15:48:20 2009 -0500
+
+ Enable automake silent rules
+
+ configure.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 963820fcbfdb537fd956f8863f8793cf22093c5d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 16 15:46:46 2009 -0500
+
+ [int] Remove fc_value_* macros that did nothing other than renaming
+
+ src/fcint.h | 6 ------
+ src/fcmatch.c | 8 ++++----
+ src/fcpat.c | 12 ++++++------
+ 3 files changed, 10 insertions(+), 16 deletions(-)
+
+commit 888f9427ae84195104855d2bb2fbb6d44067a998
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 16 15:43:08 2009 -0500
+
+ [int] Remove fc_storage_type() in favor of direct access to v->type
+
+ src/fcint.h | 1 -
+ src/fcmatch.c | 2 +-
+ src/fcpat.c | 2 +-
+ 3 files changed, 2 insertions(+), 3 deletions(-)
+
+commit 486fa46893d070485738de6e2c0d418650662d63
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 16 15:41:58 2009 -0500
+
+ Remove unused macros
+
+ src/fcint.h | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit 1f4e6fecde22fd4ce8336b01a5c32c533fcb8bac
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 16 15:39:16 2009 -0500
+
+ Bump cache version up from 2 to 3 and fix FcLangSet caching/crash
+
+ Protect cache against future expansions of FcLangSet (adding new
+ orth files). Previously, doing so could change the size of
+ that struct. Indeed, that happened between 2.6.0 and 2.7.3, causing
+ crashes. Unfortunately, sizeof(FcLangSet) was not checked in
+ fcarch.c.
+
+ This changes FcLangSet code to be able to cope with struct size
+ changes.
+ And change cache format, hence bumping from 2 to 3.
+
+ fontconfig/fontconfig.h | 2 +-
+ src/fcint.h | 2 +-
+ src/fclang.c | 67
+ ++++++++++++++++++++++++++++++++++++++-----------
+ 3 files changed, 54 insertions(+), 17 deletions(-)
+
+commit 6b1fc678ca59df3f3f1ffac0e509cf485c9df0c0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 16 16:57:10 2009 -0500
+
+ [int] Define MIN/MAX/ABS macros
+
+ src/fcfreetype.c | 3 ---
+ src/fcint.h | 4 ++++
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+commit b393846860a390ebe35b19320b5eaf9272084042
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 16 15:17:56 2009 -0500
+
+ [fc-arch] Add FcAlign to arch signature
+
+ fc-arch/fc-arch.c | 5 +++--
+ fc-arch/fcarch.tmpl.h | 16 ++++++++--------
+ 2 files changed, 11 insertions(+), 10 deletions(-)
+
+commit 8009229bc5cd9b540ff56a47ddc32ccada2679b0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 16 15:12:52 2009 -0500
+
+ Move FcAlign to fcint.h
+
+ src/fcint.h | 8 ++++++++
+ src/fcserialize.c | 8 --------
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+commit 36ae1d9563cff4966b293f816cf9eb25c8ebb857
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 9 13:17:17 2009 -0500
+
+ Clarify default confdir and cachedir better.
+
+ Also remove --with-docdir. It can be set by setting docdir variable.
+
+ configure.in | 19 ++-----------------
+ doc/Makefile.am | 2 --
+ 2 files changed, 2 insertions(+), 19 deletions(-)
+
+commit b322eb4d7a90778dc9f08c73036836deba7e463e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Sep 8 11:45:26 2009 -0400
+
+ Bump version to 2.7.3
+
+ README | 14 ++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 14 insertions(+), 4 deletions(-)
+
+commit afc845d930877ac62f6d5a5f50ea87b5182d0a4a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Sep 8 11:44:59 2009 -0400
+
+ Bump libtool version in preparation for release
+
+ configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5e544b32d8dc98737c7a268a6a5f877207284e9a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Sep 6 22:10:22 2009 -0400
+
+ Use default config in FcFileScan() and FcDirScan()
+
+ Before a NULL config was passed down adn essentially FcFileScan was
+ equivalent to FcFreeTypeQuery. Now fc-scan tool correctly applies
+ the configuration to the scanned patterns.
+
+ src/fcdir.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 25436fd08fa6d0825a2f7c7b5d51e34873a05187
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Wed Sep 2 20:03:42 2009 -0700
+
+ Updated Arabic, Persian, and Urdu orthographies
+
+ - Arabic (ar), Persian (fa), and Urdu (ur) now use generic forms
+ (bug #23004)
+ - Persian (fa) orthography updated to latest standards and
+ orthographies
+ - Persian dialects Dari/Eastern Farsi (prs) and Western Farsi
+ (pes) added
+
+ fc-lang/ar.orth | 81
+ +++++++++++---------------------------------------------
+ fc-lang/fa.orth | 80
+ ++++++++++++++++++++++++++++++++++---------------------
+ fc-lang/pes.orth | 26 ++++++++++++++++++
+ fc-lang/prs.orth | 29 ++++++++++++++++++++
+ fc-lang/ur.orth | 77
+ +++++++++++++++++++++++++++--------------------------
+ 5 files changed, 161 insertions(+), 132 deletions(-)
+
+commit d9d8b8826402ca75e882a427392bc8209ae8ff1a
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Wed Sep 2 18:54:24 2009 -0700
+
+ Correct Ewe (ee) orthography to use U+025B (bug #20711)
+
+ fc-lang/ee.orth | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e52fdbd2bc1b9589ca0adc4b0c143034ff60dd18
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Aug 31 17:32:36 2009 -0400
+
+ Bump version to 2.7.2
+
+ README | 19 +++++++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 19 insertions(+), 4 deletions(-)
+
+commit a74cfb63cb6af3c357b9c33d9f28b9cea5ff3e72
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Aug 31 17:32:13 2009 -0400
+
+ Bump libtool version for release
+
+ configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c5f0a65b36bc863d67bbf1f334262c35445ce610
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Aug 25 20:40:30 2009 -0400
+
+ Revert "Fix FcNameUnparseLangSet()" and redo it
+
+ This reverts commit 5c6d1ff23bda4386984a1d6e4c024958f8f5547c and
+ fixes that bug using the new reverse-map I added in the previous
+ commit.
+
+ src/fclang.c | 29 ++++++++++++++++++-----------
+ 1 file changed, 18 insertions(+), 11 deletions(-)
+
+commit d354a321ee51f0bb70a39faeed541d1a90477d7d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Aug 25 20:39:20 2009 -0400
+
+ Bug 23419 - "contains" expression seems not working on the fontconfig
+ rule
+
+ Fix bug in FcLangSetContains(), similar to
+ 5c6d1ff23bda4386984a1d6e4c024958f8f5547c
+
+ fc-lang/fc-lang.c | 20 +++++++++++++++++---
+ src/fclang.c | 4 ++--
+ 2 files changed, 19 insertions(+), 5 deletions(-)
+
+commit f33a23133ecbcc981745051f7c34d96b33b57447
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Aug 21 13:41:41 2009 -0400
+
+ Bug 22037 - No Fonts installed on a default install on Windows
+ Server 2003
+
+ Make it easy to install on older Windows
+
+ src/fcxml.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 8b1ceef0b7f41703775c163d6ac595a5407e9159
+Author: Tor Lillqvist <tml@iki.fi>
+Date: Fri Aug 14 00:16:18 2009 +0300
+
+ Use multi-byte codepage aware string function on Windows
+
+ The East Asian double-byte codepages have characters with backslash as
+ the second byte, so we must use _mbsrchr() instead of strrchr() when
+ looking at pathnames in the system codepage.
+
+ src/fcxml.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+commit d15678127aeea96c9c8254a171c2f0af0bd7d140
+Author: Tor Lillqvist <tml@iki.fi>
+Date: Fri Aug 14 00:08:17 2009 +0300
+
+ Fix heap corruption on Windows in FcEndElement()
+
+ Must not call FcStrFree() on a value returned by
+ FcStrBufDoneStatic(). In the Windows code don't bother with dynamic
+ allocation, just use a local buffer.
+
+ src/fcxml.c | 43 +++++++++++--------------------------------
+ 1 file changed, 11 insertions(+), 32 deletions(-)
+
+commit a1b6e34a9a17a4a675bdc993aa465b92d7122376
+Author: Tor Lillqvist <tml@iki.fi>
+Date: Fri Aug 14 00:02:59 2009 +0300
+
+ Fix MinGW compilation
+
+ Need to define _WIN32_WINNT as 0x0500 to get declaration for
+ GetSystemWindowsDirectory().
+
+ src/fcxml.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 161620108bbb4e70f2817481e4d5bc26772fe67e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jul 28 14:24:21 2009 -0400
+
+ [ja.orth] Comment out FULLWIDTH YEN SIGN (#22942)
+
+ fc-lang/ja.orth | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7c12181f7a75a434e2139f4bee794046258342cf
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jul 28 14:23:10 2009 -0400
+
+ Improve charset printing
+
+ src/fcdbg.c | 4 ++--
+ src/fclang.c | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit d2c8ac373e9ac45df66627cfc42679636d017f6e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jul 27 17:53:26 2009 -0400
+
+ Bump version to 2.7.1
+
+ README | 27 +++++++++++++++++++++++++--
+ configure.in | 4 ++--
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 28 insertions(+), 5 deletions(-)
+
+commit 16630692ec590bd70f4e426125e358251e05435d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jul 27 17:51:17 2009 -0400
+
+ Update .gitignore
+
+ .gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 50d937b0e110ee21d9861b8fb973d62534db98ae
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jul 27 17:48:29 2009 -0400
+
+ Bump libtool versions that 2.7.0 (I forgot to do back then)
+
+ configure.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 273e22c71f78281ade1c5c30a25ef10d214d7ea6
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jul 27 15:07:12 2009 -0400
+
+ Hardcode /etc/fonts instead of @CONFDIR@ in docs (#22911)
+
+ We distribute the docs, so it makes little sense to distribute with
+ @CONFDIR@ replaced. Until we find a better solution, I've hardcoded
+ /etc/fonts now.
+
+ doc/confdir.sgml.in | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 21384990ffd045cc0f8379a325612aba6d810359
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jul 27 14:50:44 2009 -0400
+
+ [doc] Add ~/fonts.conf.d to user docs
+
+ doc/fontconfig-user.sgml | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 7575c666619c58df00659d4e70b01104b8e114a5
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Jul 25 16:38:52 2009 -0400
+
+ TT_MS_ID_UCS_4 is really UTF-16BE, not UTF-32
+
+ Reported by Yuriy Kaminskiy.
+
+ src/fcfreetype.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 558581c434abf0d96c46cf3bb1454be6806e1ffc
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jul 24 14:59:07 2009 -0400
+
+ Fix doc syntax (#22902)
+
+ fc-match/fc-match.sgml | 3 ++-
+ fc-scan/fc-scan.sgml | 2 +-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+commit 5c6d1ff23bda4386984a1d6e4c024958f8f5547c
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jul 22 19:25:24 2009 -0400
+
+ Fix FcNameUnparseLangSet()
+
+ Was broken since ffd6668b469508177c4baf7745ae42aee5b00322
+
+ src/fclang.c | 29 +++++++++++------------------
+ 1 file changed, 11 insertions(+), 18 deletions(-)
+
+commit d9741a7f1a73f718ab20b0582fff8aebeba01077
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jul 22 19:01:06 2009 -0400
+
+ Remove unused macros
+
+ src/fcmatch.c | 33 ++-------------------------------
+ 1 file changed, 2 insertions(+), 31 deletions(-)
+
+commit 792ce655cb06c678d4a4ff091866fd0531b141fb
+Author: Karl Tomlinson <karlt@karlt.net>
+Date: Wed Jul 22 08:39:23 2009 -0400
+
+ Don't change the order of names unnecessarily (#20128)
+
+ so that TT_NAME_ID_PREFERRED_FAMILY is consistently preferred over
+ TT_NAME_ID_FONT_FAMILY when both are specified for the default
+ language.
+
+ src/fclist.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 327fc9d183ba193c307d0ecaec8ad1f4e6ca1330
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jul 21 15:41:47 2009 -0400
+
+ Use GetSystemWindowsDirectory() instead of GetWindowsDirectory()
+ (#22037)
+
+ src/fcxml.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 86dd857447f69cf89fd47259055b150f62519c17
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jul 21 15:39:58 2009 -0400
+
+ Improve libtool version parsing (#22122)
+
+ autogen.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 16e55c7c85fc5771349172d6eb989dddd48c5c25
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jul 20 16:30:12 2009 -0400
+
+ Fix leak with string VStack objects
+
+ src/fcxml.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c0ffd7733a735bf2e10834925c63f0039c408649
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jul 10 18:09:42 2009 +0100
+
+ Add Inconsolata to monospace config (#22710)
+
+ conf.d/45-latin.conf | 1 +
+ conf.d/60-latin.conf | 1 +
+ 2 files changed, 2 insertions(+)
+
+commit 55e202a62d95e25cf2c4897afd66eab5711195c3
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Jun 28 14:14:46 2009 -0400
+
+ Remove unused ftglue code
+
+ src/fcfreetype.c | 66
+ ++++++++++++++++++++++++--------------------------------
+ src/ftglue.c | 62
+ ++--------------------------------------------------
+ src/ftglue.h | 33 ----------------------------
+ 3 files changed, 30 insertions(+), 131 deletions(-)
+
+commit 52742ff86b60b1d244c1e87611aff5ceee46e596
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Jun 28 13:49:09 2009 -0400
+
+ Replace spaces with tabs in conf files
+
+ conf.d/25-unhint-nonlatin.conf | 32 +++----
+ conf.d/30-metric-aliases.conf | 48 +++++------
+ conf.d/30-urw-aliases.conf | 36 ++++----
+ conf.d/65-fonts-persian.conf | 184
+ ++++++++++++++++++++---------------------
+ conf.d/90-synthetic.conf | 8 +-
+ 5 files changed, 154 insertions(+), 154 deletions(-)
+
+commit 57cf838cccda12dd171d3834b3e9b1275467d9e2
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Jun 28 13:46:41 2009 -0400
+
+ Fix win32 build
+
+ src/fcint.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 76374f0edef04e21859122dd8a2026b64fd2b273
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jun 24 15:19:13 2009 -0400
+
+ git-tag -s again
+
+ new-version.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0f40912599a4be1b961c091733ed86d08a4e14e1
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jun 24 15:04:11 2009 -0400
+
+ Bump version to 2.7.0
+
+ README | 222
+ +++++++++++++++++++++++++++++++++++++++++++++++-
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 222 insertions(+), 4 deletions(-)
+
+commit 3734d6a5a2c5326bf1cd8b7cc7f3f07fe6943aa5
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jun 24 15:03:32 2009 -0400
+
+ Remove keithp's GPG key id
+
+ new-version.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d07059b7a3f8044904d884818d5e03596e7cc1a2
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jun 24 14:43:32 2009 -0400
+
+ Fix distcheck
+
+ Makefile.am | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit b65fa0c3113bd1e1cec38d05f8c4f45f78e3e044
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jun 11 07:08:10 2009 -0400
+
+ Bug 22154 -- fontconfig.pc doesn't include libxml2 link flags
+
+ fontconfig.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3164ac76229d9817120015401c1f532934d0a3e2
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jun 5 22:59:06 2009 -0400
+
+ [xml] Intern more strings
+
+ src/fcxml.c | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+commit 390c05e64a3716f6ea6fd81cf3ab63439051fbaa
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jun 5 22:32:31 2009 -0400
+
+ [xml] Allocate FcExpr's in a pool in FcConfig
+
+ Reduces number of malloc's for FcExprs from hundreds into single
+ digits.
+
+ src/fccfg.c | 32 ++++++++++++++++++++++++++
+ src/fcint.h | 14 ++++++++++++
+ src/fcxml.c | 75
+ ++++++++++++++++++++++++++-----------------------------------
+ 3 files changed, 78 insertions(+), 43 deletions(-)
+
+commit 398d436441d741d6f8edcc25ca01aa9715c0731c
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jun 5 21:37:01 2009 -0400
+
+ [xml] Mark more symbols static
+
+ src/fcint.h | 30 ------------------------------
+ src/fcxml.c | 22 ++++++++++++----------
+ 2 files changed, 12 insertions(+), 40 deletions(-)
+
+commit a96ecbfa20fbc66fad3847b1d2bc6fb3cd712c91
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jun 5 18:40:46 2009 -0400
+
+ [xml] Centralize FcExpr allocation
+
+ To be improved, using a central pool.
+
+ src/fcxml.c | 46 ++++++++++++++++++++--------------------------
+ 1 file changed, 20 insertions(+), 26 deletions(-)
+
+commit 5aebb3e299d877c4a66f409a7d448b2ac4e94be0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jun 5 18:27:47 2009 -0400
+
+ Remove unused prototypes and function
+
+ src/fcint.h | 16 ++--------------
+ src/fcxml.c | 6 ------
+ 2 files changed, 2 insertions(+), 20 deletions(-)
+
+commit 900723f3d2396cfb606e5eceb8df0b71c4ffc0dd
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jun 5 18:16:38 2009 -0400
+
+ [charset] Grow internal FcCharset arrays exponentially
+
+ src/fccharset.c | 65
+ ++++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 36 insertions(+), 29 deletions(-)
+
+commit cce69b07efd82056c8eb855ef7ac7e02c94439da
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jun 5 17:15:53 2009 -0400
+
+ Always set *changed in FcCharsetMerge
+
+ src/fccharset.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 86bdf4598fb46f7f2a36151016a5d318da073d60
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jun 5 16:57:35 2009 -0400
+
+ Add XXX note about Unicode Plane 16
+
+ src/fccharset.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit efe5eae26b2443363b1000b3197d1731a40f8af9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jun 5 16:49:07 2009 -0400
+
+ Simplify FcValueSave() semantics
+
+ src/fccfg.c | 3 ++-
+ src/fcpat.c | 12 ++----------
+ 2 files changed, 4 insertions(+), 11 deletions(-)
+
+commit 8ea654b2aa6b4e97b369e299325da49807559511
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jun 1 21:14:56 2009 -0400
+
+ Use/prefer WWS family/style (name table id 21/22)
+
+ src/fcfreetype.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 76845a40c58b092a9b1812830dc98b6f32e13da6
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon May 25 20:26:56 2009 -0400
+
+ Mark matchers array const (#21935)
+
+ src/fcmatch.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit aa82a4f81d4d5e547c84266e66274d55e3843746
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Thu May 7 14:31:11 2009 -0700
+
+ Reorganize Panjabi/Punjabi and Lahnda orthographies (bug #19890)
+
+ The correct ISO 639 code for Pakistani/Western Panjabi seems to be
+ 'lah',
+ not 'pa'. We are keeping 'pa_pk.orth' for compatiblity with glibc.
+
+ Signed-off-by: Behdad Esfahbod <behdad@behdad.org>
+
+ fc-lang/Makefile.am | 5 +++--
+ fc-lang/lah.orth | 35 +++++++++++++++++++++++++++++++++++
+ fc-lang/pa.orth | 53
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ fc-lang/pa_in.orth | 46 ----------------------------------------------
+ fc-lang/pa_pk.orth | 7 ++++---
+ 5 files changed, 95 insertions(+), 51 deletions(-)
+
+commit 58aa0c8ee83f7bbd232401583106387517d216a9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Apr 9 13:31:18 2009 -0400
+
+ Detect TrueType Collections by checking the font data header
+
+ Instead of checking for "face->num_faces >1". (GNOME bug #577952)
+
+ src/ftglue.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+commit 1dd95fcb8bb9b5feeabee0dfe334448733f5cb4c
+Author: Serge van den Boom <svdb+freedesktop.org@stack.nl>
+Date: Sun Apr 5 19:00:18 2009 -0400
+
+ Correctly handle mmap() failure (#21062)
+
+ src/fccache.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 35c51811515ab316c7279bd779f6685f2aaf7e81
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Mar 25 23:40:40 2009 -0400
+
+ [fc-cache] Remove obsolete sentence from man page
+
+ fc-cache/fc-cache.sgml | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+commit ffd6668b469508177c4baf7745ae42aee5b00322
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Mar 18 19:28:52 2009 -0400
+
+ [fc-lang] Make LangSet representation in the cache files stable
+
+ Fontconfig assigns an index number to each language it knows about.
+ The index is used to index a bit in FcLangSet language map. The bit
+ map is stored in the cache.
+
+ Previously fc-lang simply sorted the list of languages and assigned
+ them an index starting from zero. Net effect is that whenever new
+ orth files were added, all the FcLangSet info in the cache files would
+ become invalid. This was causing weird bugs like this one:
+
+ https://bugzilla.redhat.com/show_bug.cgi?id=490888
+
+ With this commit we fix the index assigned to each language.
+ The index
+ will be based on the order the orth files are passed to fc-lang. As a
+ result all orth files are explicitly listed in Makefile.am now, and
+ new additions should be made to the end of the list. The list is made
+ to reflect the sorted list of orthographies from 2.6.0 released
+ followed
+ by new additions since.
+
+ This fixes the stability problem. Needless to say, recreating caches
+ is necessary before any new orthography is recognized in existing
+ fonts,
+ but at least the existing caches are still valid and don't cause bugs
+ like the above.
+
+ configure.in | 7 --
+ fc-lang/Makefile.am | 248
+ +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ fc-lang/fc-lang.c | 49 +++++++----
+ src/fclang.c | 4 +-
+ 4 files changed, 282 insertions(+), 26 deletions(-)
+
+commit 4d13536db49bdfba97f84f702325d1a99796c06b
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Mar 18 18:50:14 2009 -0400
+
+ [fcstr] Remove unused variable
+
+ src/fcstr.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit bb36e67685dc4139fc4199c57c9d74d97f7923c8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Mar 18 18:43:09 2009 -0400
+
+ [fc-lang] Fix bug in country map generation
+
+ Previously the county map code was using an uninitialized variable and
+ hence was totally failing to populate same-lang-different-territory
+ map.
+
+ fc-lang/fc-lang.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0f11354877323edc2145f687f9127d2de83c5b3b
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Mar 17 12:52:48 2009 -0400
+
+ Revert "[conf] Disable hinting when emboldening (#19904)" (#20599)
+
+ This reverts commit 10609af4aa4030a15c19573198462fa002d2ef13.
+ Apparently disabling hinting can cause worse rendering with certain
+ fonts. This is better handled on a per font basis.
+
+ conf.d/90-synthetic.conf | 11 -----------
+ 1 file changed, 11 deletions(-)
+
+commit 7042e236495399aab4eaf268232177d4b1680a12
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Mar 16 17:59:50 2009 -0400
+
+ [Makefile.am] Don't clean ChangeLog in distclean
+
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit caeea376da54a6337bfcb1bb20f50c8c2302458f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Mar 13 17:26:21 2009 -0400
+
+ Document FcPatternFormat() format
+
+ doc/Makefile.am | 2 +
+ doc/fcformat.fncs | 301
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ doc/fcpattern.fncs | 20 ---
+ doc/fontconfig-devel.sgml | 2 +
+ src/fcformat.c | 94 ++++++++-------
+ 5 files changed, 353 insertions(+), 66 deletions(-)
+
+commit f6d83439890c165e5a7f6a8a746ffdb189dbbd0d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Mar 13 12:11:13 2009 -0400
+
+ [fcformat] Fix default-value handling
+
+ src/fcformat.c | 21 +++++++++++----------
+ 1 file changed, 11 insertions(+), 10 deletions(-)
+
+commit 3074a73b418b40135d4a4f4e0713fcf987d34795
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Mar 12 16:00:08 2009 -0400
+
+ Replace 'KEITH PACKARD' with 'THE AUTHOR(S)' in license text in
+ all files
+
+ COPYING | 4 ++--
+ Makefile.am | 4 ++--
+ conf.d/65-fonts-persian.conf | 2 +-
+ conf.d/Makefile.am | 4 ++--
+ config/Makedefs.in | 4 ++--
+ configure.in | 4 ++--
+ doc/Makefile.am | 4 ++--
+ doc/confdir.sgml.in | 4 ++--
+ doc/edit-sgml.c | 4 ++--
+ doc/fcatomic.fncs | 4 ++--
+ doc/fcblanks.fncs | 4 ++--
+ doc/fccache.fncs | 4 ++--
+ doc/fccharset.fncs | 4 ++--
+ doc/fcconfig.fncs | 4 ++--
+ doc/fcconstant.fncs | 4 ++--
+ doc/fcfile.fncs | 4 ++--
+ doc/fcfontset.fncs | 4 ++--
+ doc/fcfreetype.fncs | 4 ++--
+ doc/fcinit.fncs | 4 ++--
+ doc/fcmatrix.fncs | 4 ++--
+ doc/fcobjectset.fncs | 4 ++--
+ doc/fcobjecttype.fncs | 4 ++--
+ doc/fcpattern.fncs | 4 ++--
+ doc/fcstring.fncs | 4 ++--
+ doc/fcstrset.fncs | 4 ++--
+ doc/fcvalue.fncs | 4 ++--
+ doc/fontconfig-devel.sgml | 8 ++++----
+ doc/fontconfig-user.sgml | 4 ++--
+ doc/func.sgml | 4 ++--
+ doc/version.sgml.in | 4 ++--
+ fc-arch/Makefile.am | 4 ++--
+ fc-arch/fcarch.tmpl.h | 4 ++--
+ fc-cache/Makefile.am | 4 ++--
+ fc-cache/fc-cache.c | 4 ++--
+ fc-case/Makefile.am | 4 ++--
+ fc-case/fc-case.c | 4 ++--
+ fc-case/fccase.tmpl.h | 4 ++--
+ fc-cat/Makefile.am | 4 ++--
+ fc-cat/fc-cat.c | 4 ++--
+ fc-glyphname/Makefile.am | 4 ++--
+ fc-glyphname/fc-glyphname.c | 4 ++--
+ fc-glyphname/fcglyphname.tmpl.h | 4 ++--
+ fc-lang/Makefile.am | 4 ++--
+ fc-lang/aa.orth | 4 ++--
+ fc-lang/ab.orth | 4 ++--
+ fc-lang/af.orth | 4 ++--
+ fc-lang/am.orth | 4 ++--
+ fc-lang/ar.orth | 4 ++--
+ fc-lang/ast.orth | 4 ++--
+ fc-lang/av.orth | 4 ++--
+ fc-lang/ay.orth | 4 ++--
+ fc-lang/az_ir.orth | 4 ++--
+ fc-lang/ba.orth | 4 ++--
+ fc-lang/be.orth | 4 ++--
+ fc-lang/bg.orth | 4 ++--
+ fc-lang/bh.orth | 4 ++--
+ fc-lang/bho.orth | 4 ++--
+ fc-lang/bi.orth | 4 ++--
+ fc-lang/bin.orth | 4 ++--
+ fc-lang/bm.orth | 4 ++--
+ fc-lang/bo.orth | 4 ++--
+ fc-lang/br.orth | 4 ++--
+ fc-lang/bs.orth | 4 ++--
+ fc-lang/bua.orth | 4 ++--
+ fc-lang/ca.orth | 4 ++--
+ fc-lang/ce.orth | 4 ++--
+ fc-lang/ch.orth | 4 ++--
+ fc-lang/chm.orth | 4 ++--
+ fc-lang/chr.orth | 4 ++--
+ fc-lang/co.orth | 4 ++--
+ fc-lang/cs.orth | 4 ++--
+ fc-lang/cu.orth | 4 ++--
+ fc-lang/cv.orth | 4 ++--
+ fc-lang/cy.orth | 4 ++--
+ fc-lang/da.orth | 4 ++--
+ fc-lang/de.orth | 4 ++--
+ fc-lang/dz.orth | 4 ++--
+ fc-lang/el.orth | 4 ++--
+ fc-lang/en.orth | 4 ++--
+ fc-lang/eo.orth | 4 ++--
+ fc-lang/es.orth | 4 ++--
+ fc-lang/et.orth | 4 ++--
+ fc-lang/eu.orth | 4 ++--
+ fc-lang/fa.orth | 4 ++--
+ fc-lang/fc-lang.c | 4 ++--
+ fc-lang/fc-lang.man | 4 ++--
+ fc-lang/fclang.tmpl.h | 4 ++--
+ fc-lang/ff.orth | 4 ++--
+ fc-lang/fi.orth | 4 ++--
+ fc-lang/fj.orth | 4 ++--
+ fc-lang/fo.orth | 4 ++--
+ fc-lang/fr.orth | 4 ++--
+ fc-lang/fur.orth | 4 ++--
+ fc-lang/fy.orth | 4 ++--
+ fc-lang/ga.orth | 4 ++--
+ fc-lang/gd.orth | 4 ++--
+ fc-lang/gez.orth | 4 ++--
+ fc-lang/gl.orth | 4 ++--
+ fc-lang/gn.orth | 4 ++--
+ fc-lang/gu.orth | 4 ++--
+ fc-lang/gv.orth | 4 ++--
+ fc-lang/ha.orth | 4 ++--
+ fc-lang/haw.orth | 4 ++--
+ fc-lang/he.orth | 4 ++--
+ fc-lang/hi.orth | 4 ++--
+ fc-lang/ho.orth | 4 ++--
+ fc-lang/hr.orth | 4 ++--
+ fc-lang/hu.orth | 4 ++--
+ fc-lang/hy.orth | 4 ++--
+ fc-lang/ia.orth | 4 ++--
+ fc-lang/id.orth | 4 ++--
+ fc-lang/ie.orth | 4 ++--
+ fc-lang/ig.orth | 4 ++--
+ fc-lang/ik.orth | 4 ++--
+ fc-lang/io.orth | 4 ++--
+ fc-lang/is.orth | 4 ++--
+ fc-lang/it.orth | 4 ++--
+ fc-lang/iu.orth | 4 ++--
+ fc-lang/ja.orth | 4 ++--
+ fc-lang/ka.orth | 4 ++--
+ fc-lang/kaa.orth | 4 ++--
+ fc-lang/ki.orth | 4 ++--
+ fc-lang/kk.orth | 4 ++--
+ fc-lang/kl.orth | 4 ++--
+ fc-lang/kn.orth | 4 ++--
+ fc-lang/ko.orth | 4 ++--
+ fc-lang/kok.orth | 4 ++--
+ fc-lang/ku_am.orth | 4 ++--
+ fc-lang/ku_ir.orth | 4 ++--
+ fc-lang/kum.orth | 4 ++--
+ fc-lang/kv.orth | 4 ++--
+ fc-lang/kw.orth | 4 ++--
+ fc-lang/ky.orth | 4 ++--
+ fc-lang/la.orth | 4 ++--
+ fc-lang/lb.orth | 4 ++--
+ fc-lang/lez.orth | 4 ++--
+ fc-lang/ln.orth | 4 ++--
+ fc-lang/lo.orth | 4 ++--
+ fc-lang/lt.orth | 4 ++--
+ fc-lang/lv.orth | 4 ++--
+ fc-lang/mai.orth | 4 ++--
+ fc-lang/mg.orth | 4 ++--
+ fc-lang/mh.orth | 4 ++--
+ fc-lang/mi.orth | 4 ++--
+ fc-lang/mk.orth | 4 ++--
+ fc-lang/ml.orth | 4 ++--
+ fc-lang/mn_cn.orth | 4 ++--
+ fc-lang/mo.orth | 4 ++--
+ fc-lang/mr.orth | 4 ++--
+ fc-lang/mt.orth | 4 ++--
+ fc-lang/my.orth | 4 ++--
+ fc-lang/nb.orth | 4 ++--
+ fc-lang/nds.orth | 4 ++--
+ fc-lang/ne.orth | 4 ++--
+ fc-lang/nl.orth | 4 ++--
+ fc-lang/nn.orth | 4 ++--
+ fc-lang/no.orth | 4 ++--
+ fc-lang/ny.orth | 4 ++--
+ fc-lang/oc.orth | 4 ++--
+ fc-lang/om.orth | 4 ++--
+ fc-lang/or.orth | 4 ++--
+ fc-lang/os.orth | 4 ++--
+ fc-lang/pa_in.orth | 2 +-
+ fc-lang/pl.orth | 4 ++--
+ fc-lang/ps_af.orth | 4 ++--
+ fc-lang/ps_pk.orth | 4 ++--
+ fc-lang/pt.orth | 4 ++--
+ fc-lang/rm.orth | 4 ++--
+ fc-lang/ro.orth | 4 ++--
+ fc-lang/ru.orth | 4 ++--
+ fc-lang/sa.orth | 4 ++--
+ fc-lang/sah.orth | 4 ++--
+ fc-lang/sco.orth | 4 ++--
+ fc-lang/se.orth | 4 ++--
+ fc-lang/sel.orth | 4 ++--
+ fc-lang/sk.orth | 4 ++--
+ fc-lang/sl.orth | 4 ++--
+ fc-lang/sm.orth | 4 ++--
+ fc-lang/sma.orth | 4 ++--
+ fc-lang/smj.orth | 4 ++--
+ fc-lang/smn.orth | 4 ++--
+ fc-lang/sms.orth | 4 ++--
+ fc-lang/so.orth | 4 ++--
+ fc-lang/sq.orth | 4 ++--
+ fc-lang/sr.orth | 4 ++--
+ fc-lang/sv.orth | 4 ++--
+ fc-lang/sw.orth | 4 ++--
+ fc-lang/syr.orth | 4 ++--
+ fc-lang/ta.orth | 4 ++--
+ fc-lang/te.orth | 4 ++--
+ fc-lang/tg.orth | 4 ++--
+ fc-lang/th.orth | 4 ++--
+ fc-lang/ti_er.orth | 4 ++--
+ fc-lang/ti_et.orth | 4 ++--
+ fc-lang/tig.orth | 4 ++--
+ fc-lang/tn.orth | 4 ++--
+ fc-lang/to.orth | 4 ++--
+ fc-lang/tr.orth | 4 ++--
+ fc-lang/ts.orth | 4 ++--
+ fc-lang/tt.orth | 4 ++--
+ fc-lang/tw.orth | 4 ++--
+ fc-lang/tyv.orth | 4 ++--
+ fc-lang/ug.orth | 4 ++--
+ fc-lang/uk.orth | 4 ++--
+ fc-lang/ur.orth | 4 ++--
+ fc-lang/ve.orth | 4 ++--
+ fc-lang/vi.orth | 4 ++--
+ fc-lang/vo.orth | 4 ++--
+ fc-lang/vot.orth | 4 ++--
+ fc-lang/wa.orth | 4 ++--
+ fc-lang/wen.orth | 4 ++--
+ fc-lang/wo.orth | 4 ++--
+ fc-lang/xh.orth | 4 ++--
+ fc-lang/yap.orth | 4 ++--
+ fc-lang/yi.orth | 4 ++--
+ fc-lang/yo.orth | 4 ++--
+ fc-lang/zh_cn.orth | 4 ++--
+ fc-lang/zh_hk.orth | 4 ++--
+ fc-lang/zh_mo.orth | 4 ++--
+ fc-lang/zh_sg.orth | 4 ++--
+ fc-lang/zh_tw.orth | 4 ++--
+ fc-lang/zu.orth | 4 ++--
+ fc-list/Makefile.am | 4 ++--
+ fc-list/fc-list.c | 4 ++--
+ fc-match/Makefile.am | 4 ++--
+ fc-match/fc-match.c | 4 ++--
+ fc-query/Makefile.am | 4 ++--
+ fc-query/fc-query.c | 4 ++--
+ fc-scan/Makefile.am | 4 ++--
+ fc-scan/fc-scan.c | 4 ++--
+ fontconfig/fcfreetype.h | 4 ++--
+ fontconfig/fcprivate.h | 4 ++--
+ fontconfig/fontconfig.h | 4 ++--
+ src/Makefile.am | 4 ++--
+ src/fcatomic.c | 4 ++--
+ src/fcblanks.c | 4 ++--
+ src/fccache.c | 4 ++--
+ src/fccfg.c | 4 ++--
+ src/fccharset.c | 4 ++--
+ src/fcdbg.c | 4 ++--
+ src/fcdefault.c | 4 ++--
+ src/fcdir.c | 4 ++--
+ src/fcformat.c | 4 ++--
+ src/fcfreetype.c | 4 ++--
+ src/fcfs.c | 4 ++--
+ src/fcinit.c | 4 ++--
+ src/fcint.h | 4 ++--
+ src/fclang.c | 4 ++--
+ src/fclist.c | 4 ++--
+ src/fcmatch.c | 4 ++--
+ src/fcname.c | 4 ++--
+ src/fcpat.c | 4 ++--
+ src/fcstr.c | 4 ++--
+ src/fcxml.c | 4 ++--
+ 254 files changed, 508 insertions(+), 508 deletions(-)
+
+commit b9b01b6ed0849f770200fb6ae2a3ac0ca2166877
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Mar 12 13:48:07 2009 -0400
+
+ Call git tools using "git cmd" instead of "git-cmd" syntax
+
+ Recent git doesn't install the git-* commands in path.
+
+ Makefile.am | 2 +-
+ new-version.sh | 10 +++++-----
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+commit de69ee14d3ed094cd2bc4df603a03675c28d1b5b
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Mar 12 12:31:57 2009 -0400
+
+ [fcxml.c] Embed a static 64-byte attr buffer in FcPStack
+
+ Reduces number of mallocs called from FcConfigSaveAttr in my
+ small test
+ from 160 down to 6.
+
+ src/fcstr.c | 4 ++--
+ src/fcxml.c | 23 +++++++++++++++--------
+ 2 files changed, 17 insertions(+), 10 deletions(-)
+
+commit 39861b7d9c69e71b9a8fb0d0d04279520cb30f04
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Mar 12 12:22:37 2009 -0400
+
+ [fcxml] Embed 64 static FcVStack objects in FcConfigParse
+
+ This reduces the number of mallocs called from FcVStackPush from
+ over 800 down to zero.
+
+ src/fcxml.c | 218
+ +++++++++++++++++++++++++++++-------------------------------
+ 1 file changed, 105 insertions(+), 113 deletions(-)
+
+commit 1d7b47da9da574a8adf39b0b5d11aab3d3cf4a37
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Mar 12 11:58:04 2009 -0400
+
+ [fcxml] Embed 8 static FcPStack objects in FcConfigParse
+
+ This reduces the number of mallocs called from FcPStackPush from
+ over 900 down to zero.
+
+ src/fcxml.c | 28 ++++++++++++++++++++++------
+ 1 file changed, 22 insertions(+), 6 deletions(-)
+
+commit 532d8a1dbc2baebc2603d091952a640b954b6f71
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Mar 12 09:27:20 2009 -0400
+
+ [fcxml] Don't allocate attr array if there are no attributes
+
+ Reduces number of mallocs from FcConfigSaveAttr() in my small test
+ from over 900 down to 157.
+
+ src/fcxml.c | 19 ++++++-------------
+ 1 file changed, 6 insertions(+), 13 deletions(-)
+
+commit 3ed70071cdc8a03229c009f5565c23948264a5e0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Mar 11 14:07:15 2009 -0400
+
+ [fcstr,fcxml] Don't copy FcStrBuf contents when we would free it soon
+
+ We can simply NUL-terminate the buffer and use it. Reduces number of
+ mallocs called from FcStrBufDone in my small test from 631 down to 66.
+
+ src/fcint.h | 3 +++
+ src/fcstr.c | 13 +++++++++++++
+ src/fcxml.c | 28 ++++++++++++++--------------
+ 3 files changed, 30 insertions(+), 14 deletions(-)
+
+commit 7d35c11b3304659d8be43913c9b125f2b5b38516
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Mar 11 13:56:09 2009 -0400
+
+ [fcstr.c] Embed a static 64-byte buffer in FcStrBuf
+
+ Reduces number of mallocs called from FcStrBufChar in my small test
+ from 900 down to 6.
+
+ src/fcint.h | 1 +
+ src/fcstr.c | 11 +++++++++--
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+commit 916640ce40b995d1d97244975139ec0c030483e4
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Mar 10 02:15:37 2009 -0400
+
+ Fix Makefile's to not create target file in case of failure
+
+ fc-arch/Makefile.am | 3 ++-
+ fc-lang/Makefile.am | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 26ce979e825d661be046b1440563115ddc5ea4ab
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Mar 10 02:14:15 2009 -0400
+
+ Fix Fanti (fat) orth file (#20390)
+
+ fc-lang/fat.orth | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 49111c11fb5dca2af06004cc2ae443517f6c9557
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Mon Mar 2 22:48:37 2009 -0800
+
+ Add Sundanese (su) orthography (bug #20440)
+
+ fc-lang/su.orth | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+commit 0eaed16d34687bddc831d1ab3c50406c7c56792d
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Mon Mar 2 20:53:26 2009 -0800
+
+ Add Kanuri (kr) orthography (bug #20438)
+
+ fc-lang/kr.orth | 43 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
+
+commit fe4838588b0b9eb84f66bd4ad70ee12013e0b49a
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Mon Mar 2 02:21:17 2009 -0800
+
+ Add Nauru (na) orthography (bug #20418)
+
+ fc-lang/na.orth | 40 ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 40 insertions(+)
+
+commit 9141b4bbe9a100200b09597f02521cd6e30d0f06
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Mar 1 03:53:11 2009 -0800
+
+ Add Javanese (jv) orthography (bug #20403)
+
+ fc-lang/jv.orth | 36 ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 36 insertions(+)
+
+commit dc6daae9494e30d8c2d9657bab04d8f88751f751
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Mar 1 03:50:46 2009 -0800
+
+ Add Sichuan Yi (ii) orthography (bug #20402)
+
+ fc-lang/ii.orth | 34 ++++++++++++++++++++++++++++++++++
+ 1 file changed, 34 insertions(+)
+
+commit 43517045f885c0e463c8a784c65f0b783658fc9b
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Mar 1 03:46:48 2009 -0800
+
+ Add Shona (sn) orthography (bug #20394)
+
+ fc-lang/sn.orth | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+commit 42a8008df14c7dcdd85ab7d3ce12b4191b807f27
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Mar 1 03:30:58 2009 -0800
+
+ Add orthographies for Oshiwambo languages (bug #20401)
+
+ The languages are Kuanyama/Kwanyama (kj), Ndonga (ng), and Kwambi
+ (kwm).
+
+ fc-lang/kj.orth | 34 ++++++++++++++++++++++++++++++++++
+ fc-lang/kwm.orth | 29 +++++++++++++++++++++++++++++
+ fc-lang/ng.orth | 29 +++++++++++++++++++++++++++++
+ 3 files changed, 92 insertions(+)
+
+commit f0b546372967434418aa6cfe6f2d709795fdff24
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Mar 1 02:33:54 2009 -0800
+
+ Add Zhuang (za) orthography (bug #20399)
+
+ fc-lang/za.orth | 39 +++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 39 insertions(+)
+
+commit 7886b147834decbcab6f556b1c43cc003e2bf893
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Mar 1 02:12:38 2009 -0800
+
+ Add Rundi (rn) orthography (bug #20398)
+
+ fc-lang/rn.orth | 32 ++++++++++++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+commit 10a85249d9e79ae474c996d3e4f14d0ea8aa50b8
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sat Feb 28 19:43:02 2009 -0800
+
+ Add Navajo (nv) orthography (bug #20395)
+
+ fc-lang/nv.orth | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 48 insertions(+)
+
+commit bf20886085a18227702f67b70dd7ef5f0e919469
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sat Feb 28 18:25:20 2009 -0800
+
+ Add Tahitian (ty) orthography (bug #20391)
+
+ fc-lang/ty.orth | 41 +++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 41 insertions(+)
+
+commit 0e05d7e5c730a1740d4c289a66f43f11a527c840
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sat Feb 28 18:01:11 2009 -0800
+
+ Add Sango (sg) orthography (bug #20393)
+
+ fc-lang/sg.orth | 47 +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 47 insertions(+)
+
+commit bdbdc64dd1e0a1727e2486c3320f9598695e4ab4
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sat Feb 28 17:38:21 2009 -0800
+
+ Added Quechua (qu) orthography (bug #20392)
+
+ fc-lang/qu.orth | 36 ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 36 insertions(+)
+
+commit 16159d0fae1d8d0d2ba6ac1fc7f845582dec351b
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sat Feb 28 17:05:11 2009 -0800
+
+ Add Akan (ak) and Fanti (fat) orthographies (bug #20390)
+
+ fc-lang/ak.orth | 30 ++++++++++++++++++++++++++++++
+ fc-lang/fat.orth | 30 ++++++++++++++++++++++++++++++
+ 2 files changed, 60 insertions(+)
+
+commit 881a7cd93b3358e371a25bc7ad4818baa3c8968b
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sat Feb 28 16:29:07 2009 -0800
+
+ Add Herero (hz) orthograhy (bug #20387)
+
+ fc-lang/hz.orth | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+commit bc701d2a5b7dc687ba25bafc5fea282adad37ecb
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sat Feb 28 16:03:51 2009 -0800
+
+ Add Ewe (ee) orthography (bug #20386)
+
+ fc-lang/ee.orth | 77
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 77 insertions(+)
+
+commit 5a83914b733755ff6c710ff398cb5668fdb74a19
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Fri Feb 27 14:41:07 2009 -0800
+
+ Update Serbo-Croatian (sh) orthography (bug #20368)
+
+ fc-lang/sh.orth | 18 +++++++++++++-----
+ 1 file changed, 13 insertions(+), 5 deletions(-)
+
+commit 505ea8ce37dff9cc35dba6a98de4a31ed1ac5f8c
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Thu Feb 26 23:27:20 2009 -0800
+
+ Extend Crimean Tatar (crh) orthography (bug #19891)
+
+ fc-lang/crh.orth | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 4c7da799f3b90fb2f1117f9e9c45fa7fc1bd268c
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Wed Feb 18 21:21:01 2009 -0800
+
+ Add Divehi (dv) orthography (bug #20207)
+
+ fc-lang/dv.orth | 34 ++++++++++++++++++++++++++++++++++
+ 1 file changed, 34 insertions(+)
+
+commit 5cac0a4fd681087562c84b3d2534cecff6876048
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Wed Feb 18 17:09:51 2009 -0800
+
+ Remove digits and symbols from some Indic orthographies (bug #20204)
+
+ These orthographies were changed: Gujarati (gu), Kannada (kn), Lao
+ (lo),
+ Malayalam (ml), Oriya (or), Telugu (te), and Thai (th).
+
+ fc-lang/gu.orth | 4 ++--
+ fc-lang/kn.orth | 4 ++--
+ fc-lang/lo.orth | 4 ++--
+ fc-lang/ml.orth | 4 ++--
+ fc-lang/or.orth | 5 +++--
+ fc-lang/te.orth | 4 ++--
+ fc-lang/th.orth | 8 ++++++--
+ 7 files changed, 19 insertions(+), 14 deletions(-)
+
+commit ea628d97706e842cb5555ceb5368fd972c941e0c
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Wed Feb 18 16:44:10 2009 -0800
+
+ Tighten Central Khmer (km) orthography (bug #20202)
+
+ fc-lang/km.orth | 24 +++++++++++++++++-------
+ 1 file changed, 17 insertions(+), 7 deletions(-)
+
+commit 4a5805d9c6b20b4c8f56f3b8201653e88e3706be
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Wed Feb 18 16:03:30 2009 -0800
+
+ Change Kashmiri (ks) orthography to Arabic script (bug #20200)
+
+ fc-lang/ks.orth | 19 ++++++++++++-------
+ 1 file changed, 12 insertions(+), 7 deletions(-)
+
+commit cda57219229025db963d3db0f984974187a409f8
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Tue Feb 17 23:33:07 2009 -0800
+
+ Rename Fulah orthography from 'ful' to 'ff' (bug #20177)
+
+ fc-lang/ff.orth | 38 ++++++++++++++++++++++++++++++++++++++
+ fc-lang/ful.orth | 38 --------------------------------------
+ 2 files changed, 38 insertions(+), 38 deletions(-)
+
+commit a32b79c3a5251916597bb871d2cd7698baeb5e58
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Tue Feb 17 22:45:17 2009 -0800
+
+ Rename Bambara orthography from 'bam' to 'bm' (bug #20175)
+
+ fc-lang/bam.orth | 37 -------------------------------------
+ fc-lang/bm.orth | 37 +++++++++++++++++++++++++++++++++++++
+ 2 files changed, 37 insertions(+), 37 deletions(-)
+
+commit 74a0a28695a24e02bc623d1b2c1c72054ff03d52
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Tue Feb 17 22:40:50 2009 -0800
+
+ Rename Avaric orthography from 'ava' to 'av' (bug #20174)
+
+ fc-lang/av.orth | 97
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ fc-lang/ava.orth | 97
+ --------------------------------------------------------
+ 2 files changed, 97 insertions(+), 97 deletions(-)
+
+commit eba32fa3f3024fb94f75cdedaa8d4c17d786a761
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Tue Feb 17 22:09:53 2009 -0800
+
+ Update Azerbaijani in Latin (az_az) to present usage (bug #20173)
+
+ Removed Cyrillic that is no longer in use. Removed "A WITH DIAERESIS"
+ too, since it was only temporarily used in 1991-1992.
+
+ fc-lang/az_az.orth | 41 ++++++++++++++---------------------------
+ 1 file changed, 14 insertions(+), 27 deletions(-)
+
+commit 1c7bacc214f6e6e507f932230ec52744337cdf47
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Tue Feb 17 21:37:45 2009 -0800
+
+ Switch Uzbek (uz) orthography to Latin (bug #19851)
+
+ fc-lang/uz.orth | 94
+ ++++++++++-----------------------------------------------
+ 1 file changed, 16 insertions(+), 78 deletions(-)
+
+commit dfd5d0937ce44b4a60b5ee7e2e82650a5e31a456
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Tue Feb 17 20:02:39 2009 -0800
+
+ Add Crimean Tatar (crh) orthography (bug #19891)
+
+ fc-lang/crh.orth | 45 +++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 45 insertions(+)
+
+commit 502c46c23d3e36dbfff29484486091f140756535
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Tue Feb 17 19:41:30 2009 -0800
+
+ Add Papiamento (pap_aw, pap_an) orthographies (bug #19891)
+
+ fc-lang/pap_an.orth | 46 ++++++++++++++++++++++++++++++++++++++++++++++
+ fc-lang/pap_aw.orth | 31 +++++++++++++++++++++++++++++++
+ 2 files changed, 77 insertions(+)
+
+commit b4cd4cb6cc2cfd6432bfd4a5b2ec9c63cf653f6d
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Tue Feb 17 17:30:15 2009 -0800
+
+ Add Blin (byn) orthography (bug #19891)
+
+ fc-lang/byn.orth | 27 +++++++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+
+commit 4d7412a28b834830d0d1749852115846b3554932
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Tue Feb 17 17:03:54 2009 -0800
+
+ Divide Panjabi (pa) to that of Pakistan and India (bug #19890)
+
+ Previous Panjabi orthography was in the Gurmukhi script only, while in
+ Pakistan, the Arabic script (called Shahmukhi) is used for Panjani.
+
+ fc-lang/pa.orth | 46 ----------------------------------------------
+ fc-lang/pa_in.orth | 46 ++++++++++++++++++++++++++++++++++++++++++++++
+ fc-lang/pa_pk.orth | 28 ++++++++++++++++++++++++++++
+ 3 files changed, 74 insertions(+), 46 deletions(-)
+
+commit 7a22c9d3471cd4963c529937df823148ab8e1a7d
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Fri Feb 13 20:04:42 2009 -0800
+
+ Add Ottoman Turkish (ota) orthography (bug #20114)
+
+ fc-lang/ota.orth | 41 +++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 41 insertions(+)
+
+commit b5675e4c920dbb146ab76d49b4807693749e8143
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Fri Feb 13 17:14:14 2009 -0800
+
+ Remove Euro Sign from all orthographies (bug #19865)
+
+ fc-lang/de.orth | 1 -
+ fc-lang/el.orth | 1 -
+ fc-lang/en.orth | 1 -
+ fc-lang/es.orth | 1 -
+ fc-lang/fi.orth | 1 -
+ fc-lang/fr.orth | 1 -
+ fc-lang/it.orth | 1 -
+ fc-lang/nl.orth | 1 -
+ fc-lang/pt.orth | 1 -
+ 9 files changed, 9 deletions(-)
+
+commit f6993c880345b45abc0f7e7f0bb14dd0ddae0caa
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Mar 2 13:25:37 2009 +0330
+
+ [fc-lang] Continue parsing after an "include" (#20179)
+
+ fc-lang/fc-lang.c | 29 ++++++++++++++++++-----------
+ 1 file changed, 18 insertions(+), 11 deletions(-)
+
+commit abe0e056d5a93dee80d8e964569563dc4d131a90
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Fri Feb 13 16:47:11 2009 -0800
+
+ Fix Bengali (bn) and Assamese (as) orthographies (bug #22924)
+
+ Removing digits, symbols, and the letters not used in the languages.
+
+ fc-lang/as.orth | 37 +++++++++++++++++++++++++++----------
+ fc-lang/bn.orth | 21 ++++++++++++---------
+ 2 files changed, 39 insertions(+), 19 deletions(-)
+
+commit 40b2904c8984db90cc35eecbec571552c2e4d120
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Fri Feb 13 16:07:14 2009 -0800
+
+ Add Sidamo (sid) and Wolaitta (wal) orthographies (bug #19891)
+
+ fc-lang/sid.orth | 27 +++++++++++++++++++++++++++
+ fc-lang/wal.orth | 27 +++++++++++++++++++++++++++
+ 2 files changed, 54 insertions(+)
+
+commit d333969e0c809b3175193c7dda26703287d57fd4
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Fri Feb 13 15:52:23 2009 -0800
+
+ Add Sardinian (sc) orthography (bug #19891)
+
+ fc-lang/sc.orth | 42 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 42 insertions(+)
+
+commit 1ae2e9b479818835ba3ddddb3c613cdb5acf46d4
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Fri Feb 13 13:31:10 2009 -0800
+
+ Add Limburgan (li) orthography (bug #19891)
+
+ fc-lang/li.orth | 43 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
+
+commit d8a4ee921a3bf0e78dffcea8f27d457cc1bc378e
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Wed Feb 11 01:59:56 2009 -0800
+
+ Ad Ganda (lg) orthography (bug #19891)
+
+ fc-lang/lg.orth | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+commit f4159adaa88d55118fe1c2c62b05600d0a8fbc0a
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Wed Feb 11 01:44:45 2009 -0800
+
+ Add Haitian Creole (ht) orthography (bug #19891)
+
+ fc-lang/ht.orth | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+commit 190b4b5b2bd9a4822660b134639a759a5949c862
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Wed Feb 11 01:11:30 2009 -0800
+
+ Add Aragonese (an) orthography (bug #19891)
+
+ fc-lang/an.orth | 45 +++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 45 insertions(+)
+
+commit 3541f01828be06e2a414fa5bcd9543dbb2c9e0fd
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Wed Feb 11 00:34:10 2009 -0800
+
+ Add Kurdish in Turkey (ku_tr) orthography (bug #19891)
+
+ fc-lang/ku_tr.orth | 42 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 42 insertions(+)
+
+commit 3792f0199065cdf808d723eacf3fa86910453f70
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Wed Feb 11 00:22:53 2009 -0800
+
+ Use newly added Cyrillic letters for Kurdish (bug #20049)
+
+ fc-lang/ku_am.orth | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+commit 0d8b15f00f11a5150d842a3bd10e8dd05413fb9c
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Wed Feb 11 00:05:16 2009 -0800
+
+ Add Chhattisgarhi (hne) orthography (bug #19891)
+
+ fc-lang/hne.orth | 28 ++++++++++++++++++++++++++++
+ 1 file changed, 28 insertions(+)
+
+commit 04ac14fc14131a66f0c391d8bb3894a01e556a05
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Feb 13 17:18:11 2009 -0800
+
+ [fcformat] Add list of undocumented language features
+
+ src/fcformat.c | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+commit 384542fa915b27285ec22d899c4aa19be8c275f1
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Feb 13 16:41:37 2009 -0800
+
+ [fcformat] Add a 'pkgkit' builtin that prints tags for font packages
+
+ For DejaVu Sans Condensed it generates:
+
+ font(dejavusans)
+ font(dejavusanscondensed)
+ font(:lang=aa)
+ font(:lang=ab)
+ ...
+ font(:lang=yo)
+ font(:lang=zu)
+
+ src/fcformat.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 9d58d01c5c061c1fcfb3cca3a3a4622f9bbec727
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Feb 13 16:33:58 2009 -0800
+
+ [fcformat] Enumerate langsets like we do arrays of values
+
+ If one asks for a format like '%{[]elt{expr}}' and the first value
+ for elt is a langset, we enumerate the langset languages in expr.
+
+ src/fcformat.c | 59
+ ++++++++++++++++++++++++++++++++++++++++++++++------------
+ 1 file changed, 47 insertions(+), 12 deletions(-)
+
+commit d62b85af21777582ad720efd9c319fde97b67d82
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Feb 13 16:30:43 2009 -0800
+
+ [fclang] Implement FcLangSetGetLangs() (#18846)
+
+ doc/fclangset.fncs | 8 ++++++++
+ fontconfig/fontconfig.h | 3 +++
+ src/fclang.c | 32 ++++++++++++++++++++++++++++++++
+ 3 files changed, 43 insertions(+)
+
+commit cdfb76585e7afbe739d00ed83a029ce1f909142f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Feb 12 21:48:22 2009 -0600
+
+ [fcformat] Implement array enumeration
+
+ The format '%{[]family,familylang{expr}}' expands expr once for
+ the first
+ value of family and familylang, then for the second, etc, until
+ both lists
+ are exhausted.
+
+ src/fcformat.c | 90
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 85 insertions(+), 5 deletions(-)
+
+commit 0673ef3881d24820e627b9a8cd3a4b3e3889c545
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Feb 11 23:55:11 2009 -0500
+
+ [fcformat] Support 'default value' for simple tags
+
+ The format '%{family:-XXX} prints XٓٓٓٓXX if the element family
+ is not defined.
+ Also works for things like '%{family[1]:-XXX}'.
+
+ src/fcformat.c | 30 +++++++++++++++++++++++++-----
+ 1 file changed, 25 insertions(+), 5 deletions(-)
+
+commit 9c83a8376f7db19421fb42d311fba81b398c67b0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Feb 11 23:44:36 2009 -0500
+
+ [fcformat] Support indexing simple tags
+
+ The format '%{family[0]}' will only output the first value for
+ element family.
+
+ src/fcformat.c | 43 +++++++++++++++++++++++++++++++++++++++----
+ src/fcint.h | 5 +++++
+ src/fcname.c | 2 +-
+ 3 files changed, 45 insertions(+), 5 deletions(-)
+
+commit d04a750764d89a7048f49d655fb7e4aabbcd10b3
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Feb 10 20:56:39 2009 -0500
+
+ [fcformat] Add support for builtin formats
+
+ The '%{=unparse}' format expands to the FcNameUnparse() result on the
+ pattern. Need to add '%{=verbose}' for FcPatternPrint() output but
+ need to change that function to output to a string first.
+
+ Also added the '%{=fclist}' and '%{=fcmatch}' which format like the
+ default format of fc-list and fc-match respectively.
+
+ src/fcformat.c | 137
+ +++++++++++++++++++++++++++++++++++++++------------------
+ 1 file changed, 95 insertions(+), 42 deletions(-)
+
+commit 85c7fb67ce9f77574f71de7d9b69867bb974cd48
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Feb 10 18:57:34 2009 -0500
+
+ [fcformat] Refactor code to avoid malloc
+
+ src/fcformat.c | 246
+ +++++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 144 insertions(+), 102 deletions(-)
+
+commit d4f7a4c6af5420afbbcf2217f9fe396623671294
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Feb 10 06:22:55 2009 -0500
+
+ [fcformat] Start adding builtins
+
+ src/fcformat.c | 27 ++++++++++++++++++++++++++-
+ 1 file changed, 26 insertions(+), 1 deletion(-)
+
+commit c8f5933d13efa6705854d8f89b22d40cf720e68d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Feb 10 05:57:10 2009 -0500
+
+ [fcformat] Implement 'delete', 'escape', and 'translate' filter
+ functions
+
+ The format '%{family|delete( )}' expands to family values with
+ space removed.
+ The format '%{family|translate( ,-)}' expands to family values
+ with space
+ replaced by dash. Multiple chars are supported, like tr(1).
+ The format '%{family|escape(\\ )}' expands to family values with space
+ escaped using backslash.
+
+ src/fcformat.c | 219
+ ++++++++++++++++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 194 insertions(+), 25 deletions(-)
+
+commit b6a23028beb3b99022599344ebd8511c12dc7fd0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Feb 10 05:05:53 2009 -0500
+
+ [fcformat] Add value-count syntax
+
+ The format '%{#family}' expands to the number of values for the
+ element
+ 'family', or '0' if no such element exists in the pattern.
+
+ src/fcformat.c | 116
+ +++++++++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 75 insertions(+), 41 deletions(-)
+
+commit dccbbe83eff54097c55fdc560810cdc56b679a60
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Feb 10 04:47:24 2009 -0500
+
+ [FcStrBuf] better handle malloc failure
+
+ If buffer has failed allocation, return NULL when done.
+
+ src/fcstr.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit ced38254b49ab616df79930bbb798a93e5ce51fa
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Feb 10 04:44:54 2009 -0500
+
+ [fcformat] Implement 'cescape', 'shescape', and 'xmlescape' converters
+
+ src/fcformat.c | 87
+ ++++++++++++++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 76 insertions(+), 11 deletions(-)
+
+commit 2017a5eb79a0774cc5bace8c76304e1a9ef157b9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Feb 10 03:38:22 2009 -0500
+
+ [fcformat] Add simple converters
+
+ The format '%{family|downcase}' for example prints the lowercase of
+ the family element. Three converters are defined right now:
+ 'downcase', 'basename', and 'dirname'.
+
+ src/fcformat.c | 224
+ +++++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 131 insertions(+), 93 deletions(-)
+
+commit 7717b25ffdd9507b0d73ef60b70b692f7286c0a2
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Feb 10 00:15:08 2009 -0500
+
+ [fcformat] Add conditionals
+
+ The conditional '%{?elt1,elt2,!elt3{expr1}{expr2}}' will evaluate
+ expr1 if elt1 and elt2 exist in pattern and elt3 doesn't exist, and
+ expr2 otherwise. The '{expr2}' part is optional.
+
+ src/fcformat.c | 158
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 147 insertions(+), 11 deletions(-)
+
+commit 8c31a2434d5dfa475ef710ad52c992111caac424
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Feb 9 23:08:08 2009 -0500
+
+ [fcformat] Add element filtering and deletion
+
+ The filtering, '%{+elt1,elt2,elt3{subexpr}}' will evaluate subexpr
+ with a pattern only having the listed elements from the surrounding
+ pattern.
+
+ The deletion, '%{-elt1,elt2,elt3{subexpr}}' will evaluate subexpr
+ with a the surrounding pattern sans the listed elements.
+
+ doc/fcpattern.fncs | 2 +-
+ fc-list/fc-list.c | 7 +-
+ fc-match/fc-match.c | 6 +-
+ fc-query/fc-query.c | 7 +-
+ fc-scan/fc-scan.c | 7 +-
+ src/fcformat.c | 214
+ +++++++++++++++++++++++++++++++++++++++-------------
+ 6 files changed, 183 insertions(+), 60 deletions(-)
+
+commit d6506ff6eeb4a4cb0bfe827174e474c7b91ff045
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Feb 9 20:49:45 2009 -0500
+
+ [fcformat] Add support for subexpressions
+
+ The syntax is '{{expr}}'. Can be used for aligning/justifying
+ an entire
+ subexpr for example.
+
+ src/fcformat.c | 149
+ +++++++++++++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 124 insertions(+), 25 deletions(-)
+
+commit 27b3e2dddf6a89c66e8d79f4a28b1a0653e8e100
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Feb 9 19:13:07 2009 -0500
+
+ [fcformat] Refactor and restructure code for upcoming changes
+
+ Also makes it thread-safe.
+
+ src/fcformat.c | 165
+ +++++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 96 insertions(+), 69 deletions(-)
+
+commit c493c3b770ab12ab1c61a4fb10419c490d2b5ba6
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Feb 9 18:18:59 2009 -0500
+
+ [fcformat] Add support for width modifiers
+
+ One can do '%30{family}' for example. Or '%-30{family}' for the
+ left-aligned version.
+
+ doc/fcpattern.fncs | 6 ++++--
+ src/fcformat.c | 46 +++++++++++++++++++++++++++++++++++++++++++---
+ 2 files changed, 47 insertions(+), 5 deletions(-)
+
+commit 967267556c762d2746f819eca85f3c59fbb95875
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Feb 5 23:37:16 2009 -0500
+
+ Further update Sinhala orthography (#19288)
+
+ fc-lang/si.orth | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit b697fa2523a6d3fe091e14710d14720a9e051bf1
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Feb 5 02:46:16 2009 -0500
+
+ [cache] After writing cache to file, update the internal copy to
+ reflect this
+
+ Only do it for small caches though. For large cache we'd better
+ off loading
+ the cache file again, mmap()ing it.
+
+ Based on patch from Diego Santa Cruz.
+
+ src/fccache.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit ecce22d40cfbc50bbe19891035c06bbbeef5232f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Feb 4 15:58:36 2009 -0500
+
+ Update Sinhala orthography (#19288)
+
+ Patch from Harshula Jayasuriya.
+
+ fc-lang/si.orth | 45 ++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 34 insertions(+), 11 deletions(-)
+
+commit 6bb5d72fe788f897e30ab39ac7585c624282303f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Feb 3 21:06:15 2009 -0500
+
+ [fccache] Make sure the cache is current when reusing from open caches
+
+ Reported by Diego Santa Cruz.
+
+ src/fccache.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit f9feb587faa5a3df0f03e5ba945d228b8b49ec51
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Feb 3 20:50:29 2009 -0500
+
+ [win32] Do not remove leading '\\' such that network paths work
+
+ Raised by Diego Santa Cruz.
+
+ src/fcstr.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit 1cdf7efb224867c41b2dea48884d87c5fb67bdaf
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Feb 3 20:35:10 2009 -0500
+
+ [win32] Expand "APPSHAREFONTDIR" to ../share/fonts relative to
+ binary location
+
+ Proposed by Diego Santa Cruz.
+
+ src/fcxml.c | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+commit e62058abb9cf04b3f2270a45f3c0760287f12033
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Feb 3 20:31:30 2009 -0500
+
+ [win32] Fix usage of GetFullPathName()
+
+ Diego Santa Cruz pointed out that we are using that API wrongly.
+ The forth argument is a pointer to a pointer. Turns out we don't
+ need that arugment and it accepts NULL, so just pass that.
+
+ src/fcstr.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+commit c4d557ab90c7ef6eccb998550190ccccde80670d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Feb 3 17:15:52 2009 -0500
+
+ Add ICONV_LIBS to fontconfig.pc.in (#19606)
+
+ fontconfig.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 10609af4aa4030a15c19573198462fa002d2ef13
+Author: Mike FABIAN <mfabian@suse.de>
+Date: Tue Feb 3 16:57:01 2009 -0500
+
+ [conf] Disable hinting when emboldening (#19904)
+
+ Hinting will be done before Embolden in freetype2,
+ but in such case, Embolden will get wrong result
+ on some glyph contours after applying hinting.
+ Actually, hinting should be done after embolden, but we can't
+ fix it in current freetype2. So as a workaround, just turn off
+ hinting if we want to do embolden.
+
+ conf.d/90-synthetic.conf | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit fe00689cddb42df141d891c2cd5b4a8ea3a42816
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Mon Feb 2 00:27:58 2009 -0800
+
+ Remove punctuation symbols from Asturian orthography (bug #19893)
+
+ Also fix the URL for orthography.
+
+ fc-lang/ast.orth | 12 ++++--------
+ 1 file changed, 4 insertions(+), 8 deletions(-)
+
+commit a4f651241e2db62bd058e773b4e5931d205af0f6
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Feb 1 23:52:10 2009 -0800
+
+ Rename Igbo from "ibo" to "ig" (bug #19892)
+
+ fc-lang/ibo.orth | 35 -----------------------------------
+ fc-lang/ig.orth | 35 +++++++++++++++++++++++++++++++++++
+ 2 files changed, 35 insertions(+), 35 deletions(-)
+
+commit ff71a83c207891323b487d9cbec0658e16ca11c3
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Feb 1 22:14:53 2009 -0800
+
+ Renamed az to az_az (bug #19889)
+
+ fc-lang/az.orth | 66
+ ------------------------------------------------------
+ fc-lang/az_az.orth | 66
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 66 insertions(+), 66 deletions(-)
+
+commit e53956ee5e6340c5c8a78bf65e9c9df0757af439
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Feb 1 20:46:23 2009 -0800
+
+ Add Berber orthographies in Latin and Tifinagh scripts (bug #19881)
+
+ fc-lang/ber_dz.orth | 27 +++++++++++++++++++++++++++
+ fc-lang/ber_ma.orth | 46 ++++++++++++++++++++++++++++++++++++++++++++++
+ fc-lang/kab.orth | 42 ++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 115 insertions(+)
+
+commit 3765a7483e1d313c6d0ced8a20cd5a258165f8e0
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Feb 1 20:42:54 2009 -0800
+
+ Add Upper Sorbian (hsb) orthography (bug #19870)
+
+ fc-lang/hsb.orth | 42 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 42 insertions(+)
+
+commit 9f54d9db2912287358c1c01771a1bc8263e9539a
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Feb 1 20:41:14 2009 -0800
+
+ Add Kinyarwanda (rw) orthography (bug #19868)
+
+ fc-lang/rw.orth | 31 +++++++++++++++++++++++++++++++
+ 1 file changed, 31 insertions(+)
+
+commit 3889de9e3c0a0b6aacd0558ce41953d9aa35878b
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Feb 1 20:39:03 2009 -0800
+
+ Add Malay (ms) orthography (bug #19867)
+
+ fc-lang/ms.orth | 32 ++++++++++++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+commit 0896d14ab7fe5a7233102f5ff7c59199f893c734
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Feb 1 20:36:55 2009 -0800
+
+ Add Kashubian (csb) orth file (bug #19866)
+
+ fc-lang/csb.orth | 46 ++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+commit a32870457eb8f35a19193bc3e9e66db9948186fb
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Feb 1 20:29:12 2009 -0800
+
+ Rename "ku" to "ku_am", add "ku_iq" (bug #19853).
+
+ For Iraq, we are assuming its the same Arabic orthography used
+ in Iran.
+
+ According to Ethnologue, Kurdish is written in Cyrillic in Armenia:
+ http://www.ethnologue.com/show_language.asp?code=kmr
+
+ Turkey and Syria need more research.
+
+ fc-lang/ku.orth | 94
+ ------------------------------------------------------
+ fc-lang/ku_am.orth | 94
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ fc-lang/ku_iq.orth | 27 ++++++++++++++++
+ 3 files changed, 121 insertions(+), 94 deletions(-)
+
+commit 2199c6e321c92cf42711180b483e3f1b0091d980
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Feb 1 20:21:45 2009 -0800
+
+ Rename Venda from "ven" to "ve" (bug #19852)
+
+ Since ISO 639-1 code exists, we should use it.
+
+ fc-lang/ve.orth | 34 ++++++++++++++++++++++++++++++++++
+ fc-lang/ven.orth | 34 ----------------------------------
+ 2 files changed, 34 insertions(+), 34 deletions(-)
+
+commit d7dd87649c07b7b73cf4ecfe7273cb0fcedc5be0
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Feb 1 20:00:15 2009 -0800
+
+ Change Turkmen orth from Cyrillic to Latin (bug #19849)
+
+ fc-lang/tk.orth | 114
+ +++++++++++++-------------------------------------------
+ 1 file changed, 26 insertions(+), 88 deletions(-)
+
+commit b25a42963d70f9ead6bc026f57ae2433b4ac5e85
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Feb 1 19:35:37 2009 -0800
+
+ Fix doubly encoded UTF-8 in comments (bug #19848)
+
+ fc-lang/nb.orth | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f3c214a1cd799dc1eb965ced8107f52cc9dd065e
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Feb 1 19:29:21 2009 -0800
+
+ Split Mongolian orth to Mongolia and China (bug #19847)
+
+ The orth file for Mongolia uses Cyrillic, while that of
+ China uses the classical Mongolian script.
+
+ fc-lang/mn.orth | 37 -------------------------------------
+ fc-lang/mn_cn.orth | 37 +++++++++++++++++++++++++++++++++++++
+ fc-lang/mn_mn.orth | 35 +++++++++++++++++++++++++++++++++++
+ 3 files changed, 72 insertions(+), 37 deletions(-)
+
+commit 0d5f9a2592634e6f9c74f48bbad9f6b443d1b574
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Feb 1 18:55:31 2009 -0800
+
+ Add Filipino orth, alias Tagalog to Filipino (bug #19846)
+
+ The previous Tagalog orthography used the Tagalog script, which is
+ not in
+ modern use.
+
+ fc-lang/fil.orth | 45 +++++++++++++++++++++++++++++++++++++++++++++
+ fc-lang/tl.orth | 23 ++++++++---------------
+ 2 files changed, 53 insertions(+), 15 deletions(-)
+
+commit 2bf7d799bf8c9e116f08864f4f62575a6a25b380
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Feb 1 18:52:41 2009 -0800
+
+ Remove Sinhala characters not in modern use (bug #19288)
+
+ fc-lang/si.orth | 30 ++++++++++++++++++++----------
+ 1 file changed, 20 insertions(+), 10 deletions(-)
+
+commit 2f3b07fe80415873ef3e0e0a7e753a55e766986b
+Author: Roozbeh Pournader <roozbeh@gmail.com>
+Date: Sun Feb 1 18:32:21 2009 -0800
+
+ Correct Sindhi orthography to use Arabic script (bug #17140)
+
+ The previous version used the Devanagari script. But in both
+ Pakistan and
+ India, Sindhi is generally written in Arabic. The Devanagari data
+ could
+ prove to be useful, if we decide on how we should name such files (see
+ bug #17208 and bug #19869).
+
+ fc-lang/sd.orth | 48 +++++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 39 insertions(+), 9 deletions(-)
+
+commit 574805478c19cdb487aea96922ff7177dd0844d7
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Jan 31 03:38:19 2009 -0500
+
+ [fcfreetype] Fix typo in GB2312 encoding name string (#19845)
+
+ This was causing failure when opening iconv converter, hence rendering
+ GB2312-encoded fonts with no other usable encoding unusable.
+
+ src/fcfreetype.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 575ee6cddd391857339f57331d2677fcc868369e
+Author: Karl Tomlinson <bugs.freedesktop@karlt.net>
+Date: Tue Jan 27 03:35:51 2009 -0500
+
+ Change FcCharSetMerge API
+
+ To only work on writable charsets. Also, return a bool indicating
+ whether
+ the merge changed the charset.
+
+ Also changes the implementation of FcCharSetMerge and
+ FcCharSetIsSubset
+
+ doc/fccharset.fncs | 16 +++---
+ fontconfig/fontconfig.h | 4 +-
+ src/fccharset.c | 129
+ ++++++++++++++++++++----------------------------
+ src/fcmatch.c | 64 +++++++++++++-----------
+ 4 files changed, 99 insertions(+), 114 deletions(-)
+
+commit b8860e2faffa8b3f62b3c7aafd2d3b6962566f41
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jan 23 14:17:08 2009 -0500
+
+ [fcmatch] Fix crash when no fonts are available.
+
+ src/fcmatch.c | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+commit c08216c6f468ce22cb7c0c1959019a7caad3484a
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Jan 19 17:02:55 2009 -0500
+
+ Let make expand fc_cachedir/FC_CACHEDIR (bug #18675)
+
+ configure replaces a NONE prefix with the default prefix too late.
+ So we move fonts.conf creation to Makefile, such that prefix is
+ correctly
+ expanded. Ugly, but works.
+
+ Makefile.am | 13 ++++++++++++-
+ configure.in | 3 +--
+ 2 files changed, 13 insertions(+), 3 deletions(-)
+
+commit 98d765a53ba33d28283e499ebd1098d27cbe6d02
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 15 19:27:53 2009 -0500
+
+ Cleanup all manpage.* files
+
+ Recent doc2man generates files called manpage.log. This was
+ breaking build.
+
+ doc/Makefile.am | 5 ++---
+ fc-cache/Makefile.am | 2 +-
+ fc-cat/Makefile.am | 2 +-
+ fc-list/Makefile.am | 2 +-
+ fc-match/Makefile.am | 2 +-
+ fc-query/Makefile.am | 2 +-
+ fc-scan/Makefile.am | 2 +-
+ 7 files changed, 8 insertions(+), 9 deletions(-)
+
+commit 41af588f543ca5c0efaeb699992376d89cb35763
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 15 19:12:37 2009 -0500
+
+ [fc-match] Accept list of elements like fc-list (bug #13017)
+
+ Also make --verbose not ignore list of elements and only print those.
+ Update docs.
+
+ fc-list/fc-list.c | 29 ++++++++++++++---------------
+ fc-list/fc-list.sgml | 12 ++++++------
+ fc-match/fc-match.c | 48
+ +++++++++++++++++++++++++++++++++++++-----------
+ fc-match/fc-match.sgml | 29 ++++++++++++++++++++---------
+ 4 files changed, 77 insertions(+), 41 deletions(-)
+
+commit 263f16ced279b0c09834bb4ca0df87fd0f76dcaf
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 15 19:12:27 2009 -0500
+
+ Oops, fix FcPatternFilter
+
+ src/fcpat.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6bffe1a95bfd6609358d38590ad638c688232575
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 15 18:39:48 2009 -0500
+
+ Add fc-scan too that runs FcFileScan/FcDirScan
+
+ This is quite similar to fc-query, but calling FcFileScan/FcDirScan
+ instead
+ of FcFreeTypeQuery.
+
+ .gitignore | 2 +
+ Makefile.am | 2 +-
+ configure.in | 1 +
+ doc/fcfile.fncs | 18 ++---
+ fc-cache/fc-cache.sgml | 1 +
+ fc-cat/fc-cat.sgml | 1 +
+ fc-list/fc-list.sgml | 7 +-
+ fc-match/fc-match.sgml | 7 +-
+ fc-query/fc-query.sgml | 5 +-
+ fc-scan/Makefile.am | 59 ++++++++++++++++
+ fc-scan/fc-scan.c | 181
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ fc-scan/fc-scan.sgml | 176
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 12 files changed, 442 insertions(+), 18 deletions(-)
+
+commit 4074fd254e5ad707448d3665a034e0fbdf6de033
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 15 18:35:09 2009 -0500
+
+ Revive FcConfigScan() (bug #17121)
+
+ FcConfigScan() with parameters cache=NULL and force=FcTrue can be used
+ to scan font dirs without any caching side effect.
+
+ src/fcdir.c | 155
+ +++++++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 90 insertions(+), 65 deletions(-)
+
+commit 46e405cb9ab5870bda1947f3afd80f8f54c7ac75
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 15 17:34:26 2009 -0500
+
+ Oops. Fix usage output.
+
+ fc-query/fc-query.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit 25a09eb9bf2d993228a3d98d1dd271f55efb2358
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 8 03:04:34 2009 -0500
+
+ Don't use FcCharSetCopy in FcCharSetMerge
+
+ The Copy function is actually a ref, not real copy.
+
+ doc/fccharset.fncs | 2 +-
+ src/fccharset.c | 7 ++++---
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+commit d230cf144f84c8a50b932c8b89daa55c1a3620d8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 7 20:15:20 2009 -0500
+
+ Make FcCharSetMerge() public
+
+ That's needed for apps to be abled to do pruning themselves without
+ the performance penalty of recreating new charsets all the time.
+
+ doc/fccharset.fncs | 13 +++++++++++++
+ fontconfig/fontconfig.h | 3 +++
+ src/fcint.h | 3 ---
+ 3 files changed, 16 insertions(+), 3 deletions(-)
+
+commit 3b725d0a318623bba08a9f7c75e4fe71527f5dec
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 1 16:29:01 2009 -0500
+
+ [doc] Note that fontset returned by FcConfigGetFonts should not
+ be modified
+
+ doc/fcconfig.fncs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6d764a3f9b89f21b5c2cdf48cbd913b9706d42b2
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Dec 31 20:16:40 2008 -0500
+
+ [fcmatch] Move FcFontSetMatch() functionality into
+ FcFontSetMatchInternal()
+
+ Except for the final FcFontRenderPrepare(). This way we have more
+ flexibility to do caching in FcFontMatch() while leaving
+ FcFontSetMatch()
+ intact.
+
+ src/fcmatch.c | 42 +++++++++++++++++++++++++++++-------------
+ 1 file changed, 29 insertions(+), 13 deletions(-)
+
+commit a5a384c5ffb479e095092c2aaedd406f8785280a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Dec 31 19:44:32 2008 -0500
+
+ [fcmatch] When matching, reserve score 0 for when elements don't exist
+
+ Previously an index j was added to element score to prefer matches
+ earlier
+ in the value list to the later ones. This index started from 0,
+ meaning
+ that the score zero could be generated for the first element.
+ By starting
+ j from one, scores for when the element exists in both pattern
+ and font
+ can never be zero. The score zero is reserved for when the element is
+ NOT available in both font and pattern. We will use this property
+ later.
+
+ This shouldn't change matching much. The only difference I can
+ think of
+ is that if a font family exists both as a bitmap font and a scalable
+ version, and when requesting it at the size of the bitmap version,
+ previously the font returned was nondeterministic. Now the scalable
+ version will always be preferred.
+
+ src/fcmatch.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c7641f2872329197250db6ffe194df3d33ff42b3
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Dec 31 19:35:27 2008 -0500
+
+ [fcmatch] Use larger multipliers to enforce order
+
+ Previously the matcher multiplied comparison results by 100 and added
+ index value to it. With long lists of families (lots of aliases),
+ reaching 100 is not that hard. That could result in a non-match early
+ in the list to be preferred over a match late in the list. Changing
+ the multiplier from 100 to 1000 should fix that.
+
+ To keep things relatively in order, the lang multiplier is changed
+ from 1000 to 10000.
+
+ src/fcmatch.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 1b43ccc805f26a78934267d92275cd19b5648e91
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Dec 31 18:10:31 2008 -0500
+
+ [fcmatch.c] Fix debug formatting
+
+ src/fcmatch.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit a291cfc710c5989ba3e787ae20911d3176bea307
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Dec 31 18:06:07 2008 -0500
+
+ Fix comparison of family names to ignore leading space properly
+
+ Previously fc-match "xxx,nazli" matched Nazli, but "xxx, nazli"
+ didn't.
+ This was because of a bug in FcCompareFamily's short-circuit check
+ that forgot to ignore spaces.
+
+ src/fcmatch.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 0c93b91db0cdf7c5e901477c266b45c8baeadd00
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Dec 29 20:00:26 2008 -0500
+
+ Implement FcPatternFormat and use it in cmdline tools (bug #17107)
+
+ Still need to add more features, but the API is there, and used
+ by cmdline tools with -f or --format.
+
+ doc/fcpattern.fncs | 18 ++++++
+ fc-list/fc-list.c | 38 ++++++++----
+ fc-list/fc-list.sgml | 22 ++++++-
+ fc-match/fc-match.c | 31 +++++++---
+ fc-match/fc-match.sgml | 47 ++++++++++-----
+ fc-query/fc-query.c | 25 +++++++-
+ fc-query/fc-query.sgml | 36 +++++++----
+ fontconfig/fontconfig.h | 3 +
+ src/Makefile.am | 1 +
+ src/fcformat.c | 155
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcint.h | 5 ++
+ src/fcname.c | 2 +-
+ 12 files changed, 333 insertions(+), 50 deletions(-)
+
+commit 5cf04b201fb5e9dc989d30cf5c30f7575dda56bc
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Dec 29 19:27:00 2008 -0500
+
+ [.gitignore] Update
+
+ .gitignore | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit f9806ab4b9bfa88a782008156511e29f37ce967d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Dec 29 18:58:29 2008 -0500
+
+ Remove special-casing of FC_FILE in FcPatternPrint()
+
+ I can't understand why the special case is needed. Indeed,
+ removing it
+ does not make any difference in the "fc-match --verbose" output, and
+ that's the only time fc-match uses FcPatternPrint.
+
+ src/fcdbg.c | 21 +--------------------
+ 1 file changed, 1 insertion(+), 20 deletions(-)
+
+commit 8ae1e3d5dc323542e7def06a42deea62c7ba7027
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Dec 28 16:54:44 2008 -0500
+
+ Explicitly chmod() directories (bug #18934)
+
+ Two changes:
+
+ - after mkdir(), we immediately chmod(), such that we are not
+ affected
+ by stupid umask's.
+
+ - if a directory we want to use is not writable but exists, we try a
+ chmod on it. This is to recover from stupid umask's having
+ affected
+ us with older versions.
+
+ src/fccache.c | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+commit b6cf885a0a71a0e8f03832fe038e57e6f2778974
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Dec 28 09:03:29 2008 -0500
+
+ Don't use identifier named complex
+
+ src/fcfreetype.c | 42 +++++++++++++++++++++---------------------
+ 1 file changed, 21 insertions(+), 21 deletions(-)
+
+commit 627dd913cf1588436936bc8731c7dd9c96baee90
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Dec 28 08:06:07 2008 -0500
+
+ [65-fonts-persian.conf] Set foundry in target=scan instead of
+ target=font
+
+ conf.d/65-fonts-persian.conf | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit 030983185bb6f3f3885dc2e4d80fec330455f11c
+Author: Harshula Jayasuriya <harshula@gmail.com>
+Date: Sun Dec 28 06:13:19 2008 -0500
+
+ Fix Sinhala coverage (bug #19288)
+
+ fc-lang/si.orth | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+commit 6ca36812b4ece5368468278a9ff18f5a9c62b39f
+Author: Alexey Khoroshilov <khoroshilov@linuxtesting.org>
+Date: Sun Dec 28 05:15:45 2008 -0500
+
+ Use human-readable file names in the docs (bug #16278)
+
+ doc/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f26062b277e1781876a30d3170fca8bbba2409ab
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Dec 28 04:58:14 2008 -0500
+
+ Implement fc-list --quiet ala grep (bug #17141)
+
+ Exits 1 if no fonts matched, 0 otherwise.
+
+ fc-list/fc-list.c | 27 ++++++++++++++++++++-------
+ 1 file changed, 20 insertions(+), 7 deletions(-)
+
+commit 00c0972acae849ca3b18a7c76894c078185d3be4
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Dec 28 04:48:54 2008 -0500
+
+ Fix compile with old FreeType that doesn't have FT_Select_Size()
+ (bug #17498)
+
+ configure.in | 10 +---------
+ src/fcfreetype.c | 2 ++
+ 2 files changed, 3 insertions(+), 9 deletions(-)
+
+commit 350dc5f35091e7e5635a6cf239e4cad56e992d01
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Dec 28 04:26:26 2008 -0500
+
+ Use __builtin_popcount() when available (bug #17592)
+
+ src/fccharset.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 4c209d5f0c217ff9d8f3b517017212d6362b07a8
+Author: Rahul Bhalerao <b.rahul.pm@gmail.com>
+Date: Sun Dec 28 04:10:53 2008 -0500
+
+ Add config for new Indic fonts (bug #17856)
+
+ conf.d/65-nonlatin.conf | 35 ++++++++++++++++++++++++++++-------
+ 1 file changed, 28 insertions(+), 7 deletions(-)
+
+commit f69db8d49cbd929b80527719be6c0b1e6d49ccac
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Dec 28 04:06:01 2008 -0500
+
+ Consistently use FcStat() over stat() in all places
+
+ src/fcatomic.c | 2 +-
+ src/fccache.c | 7 +------
+ src/fccfg.c | 2 +-
+ src/fcdir.c | 4 ++--
+ src/fcint.h | 7 +++++++
+ 5 files changed, 12 insertions(+), 10 deletions(-)
+
+commit 9e2ed2513bb4c2ecc7ee09c48c1dc677ea58a723
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Dec 28 04:00:09 2008 -0500
+
+ [fccache] Consistently use FcStat() over stat() (bug #18195)
+
+ src/fccache.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ee2463fbcbe105a413021aa870e8a3f0094a1a24
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Dec 28 03:40:21 2008 -0500
+
+ Cleanup symlinks in "make uninstall" (bug #18885)
+
+ conf.d/Makefile.am | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit fe8e8a1dd777ab53f57c4d31dc9547b3e4ba0d70
+Author: Harald Fernengel <harry@kdevelop.org>
+Date: Sun Dec 28 03:23:58 2008 -0500
+
+ Don't use variables named 'bool' (bug #18851)
+
+ src/fcxml.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit a9ac5c52a658920f1054a12435d8c07205953153
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Dec 28 03:08:38 2008 -0500
+
+ [.gitignore] Update
+
+ .gitignore | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 1c7f4de80cc4819b504707ae143a2d718af42733
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Dec 2 06:07:41 2008 -0500
+
+ Fix two more doc typos
+
+ doc/fcpattern.fncs | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 355ed50b185b7879a5c95e1f8697824c6dec6f9f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Sep 22 18:51:11 2008 -0400
+
+ Don't call FcPatternGetCharSet in FcSortWalk unless we need to
+ (#17361)
+
+ src/fcmatch.c | 55
+ +++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 31 insertions(+), 24 deletions(-)
+
+commit 799691c901ea2d8561980c763a7e78383f1cceec
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Sep 22 18:16:30 2008 -0400
+
+ Don't leak FcValues string loaded through fcxml.c (#17661)
+
+ Patch from Caolan McNamara.
+
+ src/fcpat.c | 10 +++++-----
+ src/fcxml.c | 2 ++
+ 2 files changed, 7 insertions(+), 5 deletions(-)
+
+commit 311da2316f5d40d9b8c72c9965f7d70330f3c498
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Apr 23 09:07:28 2008 +0100
+
+ Reduce number of allocations during FcSortWalk().
+
+ The current behaviour of FcSortWalk() is to create a new FcCharSet on
+ each iteration that is the union of the previous iteration with
+ the next
+ FcCharSet in the font set. This causes the existing FcCharSet to be
+ reproduced in its entirety and then allocates fresh leaves for the new
+ FcCharSet. In essence the number of allocations is quadratic wrt the
+ number of fonts required.
+
+ By introducing a new method for merging a new FcCharSet with an
+ existing
+ one we can change the behaviour to be effectively linear with
+ the number
+ of fonts - allocating no more leaves than necessary to cover all the
+ fonts in the set.
+
+ For example, profiling 'gedit UTF-8-demo.txt'
+ Allocator nAllocs nBytes
+ Before:
+ FcCharSetFindLeafCreate 62886 2012352
+ FcCharSetPutLeaf 9361 11441108
+ After:
+ FcCharSetFindLeafCreate 1940 62080
+ FcCharSetPutLeaf 281 190336
+
+ The savings are even more significant for applications like
+ firefox-3.0b5
+ which need to switch between large number of fonts.
+ Before:
+ FcCharSetFindLeafCreate 4461192 142758144
+ FcCharSetPutLeaf 1124536 451574172
+ After:
+ FcCharSetFindLeafCreate 80359 2571488
+ FcCharSetPutLeaf 18940 9720522
+
+ Out of interest, the next most frequent allocations are
+ FcPatternObjectAddWithBinding 526029 10520580
+ tt_face_load_eblc 42103 2529892
+
+ src/fccharset.c | 62
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcint.h | 3 +++
+ src/fcmatch.c | 13 +++---------
+ 3 files changed, 68 insertions(+), 10 deletions(-)
+
+commit 8072f4b1304efc59fee5e61efc4c4b0fc05bb8fb
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Aug 22 18:25:22 2008 -0400
+
+ Document how to free return value of FcNameUnparse()
+
+ doc/fcpattern.fncs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 241fbde1ab28d7beb9b861d8804d0416f0d5589c
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Aug 22 18:08:07 2008 -0400
+
+ Add FcConfigReference() (#17124)
+
+ doc/fcconfig.fncs | 20 +++++++++++++++++---
+ fontconfig/fontconfig.h | 3 +++
+ src/fccfg.c | 20 ++++++++++++++++++++
+ src/fcint.h | 2 ++
+ 4 files changed, 42 insertions(+), 3 deletions(-)
+
+commit 03dcaaa08fe324a058c427ab2da993fddaa7b3fd
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Aug 22 17:49:02 2008 -0400
+
+ Document when config can be NULL (#17105)
+
+ Note that this also fixes a bug with FcFontList() where previously
+ it was NOT checking whether the config is up-to-date. May want to
+ keep the old behavior and document that ScanInterval is essentially
+ unused internally (FcFontSetList uses it, but we can remove that
+ too).
+
+ doc/fcconfig.fncs | 21 +++++++++++++++++++++
+ doc/fcfontset.fncs | 3 +++
+ src/fclist.c | 3 +++
+ 3 files changed, 27 insertions(+)
+
+commit 1439c8f21af1533a920b54333f79459f456a402e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Aug 22 16:51:33 2008 -0400
+
+ Handle -h and --help according to GNU Coding Standards (#17104)
+
+ Added -h instead of -?. And upon -h and --help, write usave to stdout
+ instead of stdin, and return 0 instead of 1.
+
+ -? still works like before as that's what getopt returns upon unknown
+ arguments.
+
+ fc-cache/fc-cache.c | 47
+ +++++++++++++++++++++++++----------------------
+ fc-cache/fc-cache.sgml | 4 ++--
+ fc-cat/fc-cat.c | 45 ++++++++++++++++++++++++---------------------
+ fc-cat/fc-cat.sgml | 4 ++--
+ fc-list/fc-list.c | 36 ++++++++++++++++++++----------------
+ fc-list/fc-list.sgml | 4 ++--
+ fc-match/fc-match.c | 44 ++++++++++++++++++++++++--------------------
+ fc-match/fc-match.sgml | 4 ++--
+ fc-query/fc-query.c | 40 ++++++++++++++++++++++------------------
+ fc-query/fc-query.sgml | 4 ++--
+ 10 files changed, 125 insertions(+), 107 deletions(-)
+
+commit df243f93be4306e788aebf6b2ac4a7c1b97550ae
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Aug 22 13:02:14 2008 -0400
+
+ Add WenQuanYi fonts to default conf (#17262, from Mandriva)
+
+ conf.d/65-nonlatin.conf | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit f31d8b1b1a93334611353d7ea846f8006fda855c
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Aug 22 03:51:57 2008 -0400
+
+ Add Sindhi .orth file. (#17140)
+
+ fc-lang/sd.orth | 28 ++++++++++++++++++++++++++++
+ 1 file changed, 28 insertions(+)
+
+commit b9f18922f112f2f551429b692d793dda7d02cd86
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Aug 21 17:17:04 2008 -0400
+
+ Update sr.orth to actul subset of Cyrillic used by Serbian (#17208)
+
+ fc-lang/sr.orth | 24 +++++++-----------------
+ 1 file changed, 7 insertions(+), 17 deletions(-)
+
+commit 74e16ceeeab86f50c4b6bea12800f70110cd4794
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Aug 14 15:27:16 2008 -0400
+
+ Fix docs re 'orig' argument of FcPatternBuild and family
+
+ Now call it 'p' or 'pattern', since it's modified in place.
+ There is no copying.
+
+ doc/fcpattern.fncs | 6 +++---
+ fontconfig/fontconfig.h | 4 ++--
+ src/fcpat.c | 12 ++++++------
+ 3 files changed, 11 insertions(+), 11 deletions(-)
+
+commit bb65f58f6354b8ad363021457852ad9e841cef89
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Aug 13 16:45:18 2008 -0400
+
+ [doc] Fix signature of FcConfigHome()
+
+ We should write a test to automatically cross-check signatures
+ from public headers to docs.
+
+ doc/fcconfig.fncs | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit e690fbb20ec41ef018a32ac01118a41103c01289
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Aug 13 03:30:23 2008 -0400
+
+ Get rid of $Id$ tags
+
+ COPYING | 2 +-
+ Makefile.am | 2 +-
+ conf.d/Makefile.am | 2 +-
+ configure.in | 2 +-
+ doc/Makefile.am | 2 +-
+ doc/confdir.sgml.in | 2 +-
+ doc/edit-sgml.c | 2 +-
+ doc/fcatomic.fncs | 2 +-
+ doc/fcblanks.fncs | 2 +-
+ doc/fccharset.fncs | 2 +-
+ doc/fcconfig.fncs | 2 +-
+ doc/fcconstant.fncs | 2 +-
+ doc/fcfile.fncs | 2 +-
+ doc/fcfontset.fncs | 2 +-
+ doc/fcfreetype.fncs | 2 +-
+ doc/fcinit.fncs | 2 +-
+ doc/fcmatrix.fncs | 2 +-
+ doc/fcobjectset.fncs | 2 +-
+ doc/fcobjecttype.fncs | 2 +-
+ doc/fcpattern.fncs | 2 +-
+ doc/fcstring.fncs | 2 +-
+ doc/fcstrset.fncs | 2 +-
+ doc/fcvalue.fncs | 2 +-
+ doc/fontconfig-devel.sgml | 2 +-
+ doc/func.sgml | 2 +-
+ doc/version.sgml.in | 2 +-
+ fc-cache/Makefile.am | 2 +-
+ fc-case/fc-case.c | 2 +-
+ fc-case/fccase.tmpl.h | 2 +-
+ fc-cat/Makefile.am | 2 +-
+ fc-glyphname/fc-glyphname.c | 2 +-
+ fc-glyphname/fcglyphname.tmpl.h | 2 +-
+ fc-list/Makefile.am | 2 +-
+ fc-match/Makefile.am | 2 +-
+ fc-query/Makefile.am | 2 +-
+ src/Makefile.am | 2 +-
+ 36 files changed, 36 insertions(+), 36 deletions(-)
+
+commit 3042050954ddbe205e3166c9910886839829e788
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Aug 13 03:16:39 2008 -0400
+
+ [doc] Document that a zero rescanInterval disables automatic checks
+ (#17103)
+
+ doc/fcconfig.fncs | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 41fc0fe68d88c1fdd38469a51a322dab6a30757d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Aug 13 02:50:35 2008 -0400
+
+ Add FcPatternFilter() (#13016)
+
+ doc/fcpattern.fncs | 12 ++++++++++++
+ fontconfig/fontconfig.h | 3 +++
+ src/fcpat.c | 37 +++++++++++++++++++++++++++++++++++++
+ 3 files changed, 52 insertions(+)
+
+commit e6f14d3c513a9f2e7d75c389db4f65aa0dc0502f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Aug 13 02:47:12 2008 -0400
+
+ [doc] Add const decorator for FcPatternDuplicate()
+
+ doc/fcpattern.fncs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 29874098537e763e8e4cd3fefb1ecc0f36b808a5
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Aug 13 02:24:42 2008 -0400
+
+ Implement fc-list --verbose (#13015)
+
+ A private FcObjectGetSet() is implemented that provides an
+ FcObjectSet of all registered elements. FcFontSetList() is
+ then modified to use the object set from FcObjectGetSet() if
+ provided object-set is NULL.
+
+ Alternatively FcObjectGetSet() can be made public. In that
+ case fc-list can use that as a base if --verbose is included,
+ and also add any elements provided by the user (though that has
+ no effect, as all elements from the cache are already registered).
+ Currently fc-list ignores user-provided elements if --verbose
+ is specified.
+
+ fc-list/fc-list.c | 41 ++++++++++++++++++++++++-----------------
+ fc-list/fc-list.sgml | 10 +++++++---
+ src/fcint.h | 3 +++
+ src/fclist.c | 10 ++++++++++
+ src/fcname.c | 14 ++++++++++++++
+ 5 files changed, 58 insertions(+), 20 deletions(-)
+
+commit 77c0d8bce86ca088782d5631617c0ef681d91312
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Aug 13 01:31:18 2008 -0400
+
+ Add fc-query (#13019)
+
+ .gitignore | 2 +
+ Makefile.am | 2 +-
+ configure.in | 1 +
+ doc/fontconfig-user.sgml | 2 +-
+ fc-cache/fc-cache.sgml | 1 +
+ fc-cat/fc-cat.sgml | 1 +
+ fc-list/fc-list.sgml | 1 +
+ fc-match/fc-match.sgml | 1 +
+ fc-query/Makefile.am | 59 ++++++++++++++++
+ fc-query/fc-query.c | 166
+ ++++++++++++++++++++++++++++++++++++++++++++
+ fc-query/fc-query.sgml | 174
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 11 files changed, 408 insertions(+), 2 deletions(-)
+
+commit d5b6085c3e40b4e2605cab7ff6c8a621b961b2d2
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Aug 13 00:42:12 2008 -0400
+
+ Update man pages
+
+ fc-cache/fc-cache.sgml | 16 ++++++++++------
+ fc-cat/fc-cat.sgml | 15 +++++++++++----
+ fc-list/fc-list.sgml | 12 ++++++++----
+ fc-match/fc-match.sgml | 30 +++++++++++++++++++++++-------
+ 4 files changed, 52 insertions(+), 21 deletions(-)
+
+commit 88261bafff30ec02b5a2180f1f9b786c8ff44e3d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Aug 12 23:44:44 2008 -0400
+
+ [fc-match] Fix list of getopt options in --help
+
+ fc-match/fc-match.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 43291847c58002fca99984dcec4f1bbbb0d0f61d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Aug 12 18:00:35 2008 -0400
+
+ Add ~/.fonts.conf.d to default config (#17100)
+
+ conf.d/50-user.conf | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 4f468454d80bf4f1d256f084afd69cabecf1243e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Aug 12 17:54:45 2008 -0400
+
+ Update Thai default families (#16223)
+
+ Patch from Theppitak Karoonboonyanan
+
+ conf.d/65-nonlatin.conf | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+commit 2e08e0f243633386b6441784926f928359c92453
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Aug 12 17:52:02 2008 -0400
+
+ [doc] Fix signatures of FcPatternGetFTFace and FcPatternGetLangSet
+ (#16272)
+
+ doc/fcpattern.fncs | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 317b849215ab16cfcd0dda0e424efc9216a74f28
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Aug 12 16:34:24 2008 -0400
+
+ Replace RCS Id tags with the file name
+
+ config/Makedefs.in | 2 +-
+ config/install.sh | 2 +-
+ fc-cache/fc-cache.c | 2 +-
+ fc-cat/fc-cat.c | 2 +-
+ fc-lang/aa.orth | 2 +-
+ fc-lang/ab.orth | 2 +-
+ fc-lang/af.orth | 2 +-
+ fc-lang/am.orth | 2 +-
+ fc-lang/ar.orth | 2 +-
+ fc-lang/ast.orth | 2 +-
+ fc-lang/ava.orth | 2 +-
+ fc-lang/ay.orth | 2 +-
+ fc-lang/az.orth | 2 +-
+ fc-lang/az_ir.orth | 2 +-
+ fc-lang/ba.orth | 2 +-
+ fc-lang/bam.orth | 2 +-
+ fc-lang/be.orth | 2 +-
+ fc-lang/bg.orth | 2 +-
+ fc-lang/bh.orth | 2 +-
+ fc-lang/bho.orth | 2 +-
+ fc-lang/bi.orth | 2 +-
+ fc-lang/bin.orth | 2 +-
+ fc-lang/bn.orth | 2 +-
+ fc-lang/bo.orth | 2 +-
+ fc-lang/br.orth | 2 +-
+ fc-lang/bs.orth | 2 +-
+ fc-lang/bua.orth | 2 +-
+ fc-lang/ca.orth | 2 +-
+ fc-lang/ce.orth | 2 +-
+ fc-lang/ch.orth | 2 +-
+ fc-lang/chm.orth | 2 +-
+ fc-lang/chr.orth | 2 +-
+ fc-lang/co.orth | 2 +-
+ fc-lang/cs.orth | 2 +-
+ fc-lang/cu.orth | 2 +-
+ fc-lang/cv.orth | 2 +-
+ fc-lang/cy.orth | 2 +-
+ fc-lang/da.orth | 2 +-
+ fc-lang/de.orth | 2 +-
+ fc-lang/dz.orth | 2 +-
+ fc-lang/el.orth | 2 +-
+ fc-lang/en.orth | 2 +-
+ fc-lang/eo.orth | 2 +-
+ fc-lang/es.orth | 2 +-
+ fc-lang/et.orth | 2 +-
+ fc-lang/eu.orth | 2 +-
+ fc-lang/fa.orth | 2 +-
+ fc-lang/fc-lang.c | 2 +-
+ fc-lang/fc-lang.man | 2 +-
+ fc-lang/fclang.tmpl.h | 2 +-
+ fc-lang/fi.orth | 2 +-
+ fc-lang/fj.orth | 2 +-
+ fc-lang/fo.orth | 2 +-
+ fc-lang/fr.orth | 2 +-
+ fc-lang/ful.orth | 2 +-
+ fc-lang/fur.orth | 2 +-
+ fc-lang/fy.orth | 2 +-
+ fc-lang/ga.orth | 2 +-
+ fc-lang/gd.orth | 2 +-
+ fc-lang/gez.orth | 2 +-
+ fc-lang/gl.orth | 2 +-
+ fc-lang/gn.orth | 2 +-
+ fc-lang/gu.orth | 2 +-
+ fc-lang/gv.orth | 2 +-
+ fc-lang/ha.orth | 2 +-
+ fc-lang/haw.orth | 2 +-
+ fc-lang/he.orth | 2 +-
+ fc-lang/hi.orth | 2 +-
+ fc-lang/ho.orth | 2 +-
+ fc-lang/hr.orth | 2 +-
+ fc-lang/hu.orth | 2 +-
+ fc-lang/hy.orth | 2 +-
+ fc-lang/ia.orth | 2 +-
+ fc-lang/ibo.orth | 2 +-
+ fc-lang/id.orth | 2 +-
+ fc-lang/ie.orth | 2 +-
+ fc-lang/ik.orth | 2 +-
+ fc-lang/io.orth | 2 +-
+ fc-lang/is.orth | 2 +-
+ fc-lang/it.orth | 2 +-
+ fc-lang/iu.orth | 2 +-
+ fc-lang/ja.orth | 2 +-
+ fc-lang/ka.orth | 2 +-
+ fc-lang/kaa.orth | 2 +-
+ fc-lang/ki.orth | 2 +-
+ fc-lang/kk.orth | 2 +-
+ fc-lang/kl.orth | 2 +-
+ fc-lang/km.orth | 2 +-
+ fc-lang/kn.orth | 2 +-
+ fc-lang/ko.orth | 2 +-
+ fc-lang/kok.orth | 2 +-
+ fc-lang/ks.orth | 2 +-
+ fc-lang/ku.orth | 2 +-
+ fc-lang/ku_ir.orth | 2 +-
+ fc-lang/kum.orth | 2 +-
+ fc-lang/kv.orth | 2 +-
+ fc-lang/kw.orth | 2 +-
+ fc-lang/ky.orth | 2 +-
+ fc-lang/la.orth | 2 +-
+ fc-lang/lb.orth | 2 +-
+ fc-lang/lez.orth | 2 +-
+ fc-lang/ln.orth | 2 +-
+ fc-lang/lo.orth | 2 +-
+ fc-lang/lt.orth | 2 +-
+ fc-lang/lv.orth | 2 +-
+ fc-lang/mai.orth | 2 +-
+ fc-lang/mg.orth | 2 +-
+ fc-lang/mh.orth | 2 +-
+ fc-lang/mi.orth | 2 +-
+ fc-lang/mk.orth | 2 +-
+ fc-lang/ml.orth | 2 +-
+ fc-lang/mn.orth | 2 +-
+ fc-lang/mo.orth | 2 +-
+ fc-lang/mr.orth | 2 +-
+ fc-lang/mt.orth | 2 +-
+ fc-lang/my.orth | 2 +-
+ fc-lang/nb.orth | 2 +-
+ fc-lang/nds.orth | 2 +-
+ fc-lang/ne.orth | 2 +-
+ fc-lang/nl.orth | 2 +-
+ fc-lang/nn.orth | 2 +-
+ fc-lang/no.orth | 2 +-
+ fc-lang/nr.orth | 2 +-
+ fc-lang/nso.orth | 2 +-
+ fc-lang/ny.orth | 2 +-
+ fc-lang/oc.orth | 2 +-
+ fc-lang/om.orth | 2 +-
+ fc-lang/or.orth | 2 +-
+ fc-lang/os.orth | 2 +-
+ fc-lang/pa.orth | 2 +-
+ fc-lang/pl.orth | 2 +-
+ fc-lang/ps_af.orth | 2 +-
+ fc-lang/ps_pk.orth | 2 +-
+ fc-lang/pt.orth | 2 +-
+ fc-lang/rm.orth | 2 +-
+ fc-lang/ro.orth | 2 +-
+ fc-lang/ru.orth | 2 +-
+ fc-lang/sa.orth | 2 +-
+ fc-lang/sah.orth | 2 +-
+ fc-lang/sco.orth | 2 +-
+ fc-lang/se.orth | 2 +-
+ fc-lang/sel.orth | 2 +-
+ fc-lang/sh.orth | 2 +-
+ fc-lang/shs.orth | 2 +-
+ fc-lang/si.orth | 2 +-
+ fc-lang/sk.orth | 2 +-
+ fc-lang/sl.orth | 2 +-
+ fc-lang/sm.orth | 2 +-
+ fc-lang/sma.orth | 2 +-
+ fc-lang/smj.orth | 2 +-
+ fc-lang/smn.orth | 2 +-
+ fc-lang/sms.orth | 2 +-
+ fc-lang/so.orth | 2 +-
+ fc-lang/sq.orth | 2 +-
+ fc-lang/sr.orth | 2 +-
+ fc-lang/ss.orth | 2 +-
+ fc-lang/st.orth | 2 +-
+ fc-lang/sv.orth | 2 +-
+ fc-lang/sw.orth | 2 +-
+ fc-lang/syr.orth | 2 +-
+ fc-lang/ta.orth | 2 +-
+ fc-lang/te.orth | 2 +-
+ fc-lang/tg.orth | 2 +-
+ fc-lang/th.orth | 2 +-
+ fc-lang/ti_er.orth | 2 +-
+ fc-lang/ti_et.orth | 2 +-
+ fc-lang/tig.orth | 2 +-
+ fc-lang/tk.orth | 2 +-
+ fc-lang/tl.orth | 2 +-
+ fc-lang/tn.orth | 2 +-
+ fc-lang/to.orth | 2 +-
+ fc-lang/tr.orth | 2 +-
+ fc-lang/ts.orth | 2 +-
+ fc-lang/tt.orth | 2 +-
+ fc-lang/tw.orth | 2 +-
+ fc-lang/tyv.orth | 2 +-
+ fc-lang/ug.orth | 2 +-
+ fc-lang/uk.orth | 2 +-
+ fc-lang/ur.orth | 2 +-
+ fc-lang/uz.orth | 2 +-
+ fc-lang/ven.orth | 2 +-
+ fc-lang/vi.orth | 2 +-
+ fc-lang/vo.orth | 2 +-
+ fc-lang/vot.orth | 2 +-
+ fc-lang/wa.orth | 2 +-
+ fc-lang/wen.orth | 2 +-
+ fc-lang/wo.orth | 2 +-
+ fc-lang/xh.orth | 2 +-
+ fc-lang/yap.orth | 2 +-
+ fc-lang/yi.orth | 2 +-
+ fc-lang/yo.orth | 2 +-
+ fc-lang/zh_cn.orth | 2 +-
+ fc-lang/zh_hk.orth | 2 +-
+ fc-lang/zh_mo.orth | 2 +-
+ fc-lang/zh_sg.orth | 2 +-
+ fc-lang/zh_tw.orth | 2 +-
+ fc-lang/zu.orth | 2 +-
+ fc-list/fc-list.c | 2 +-
+ fc-match/fc-match.c | 2 +-
+ fontconfig/fcfreetype.h | 2 +-
+ fontconfig/fcprivate.h | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ src/fcatomic.c | 2 +-
+ src/fcblanks.c | 2 +-
+ src/fccfg.c | 2 +-
+ src/fccharset.c | 2 +-
+ src/fcdbg.c | 2 +-
+ src/fcdefault.c | 2 +-
+ src/fcdir.c | 2 +-
+ src/fcfreetype.c | 2 +-
+ src/fcfs.c | 2 +-
+ src/fcinit.c | 2 +-
+ src/fcint.h | 2 +-
+ src/fclang.c | 2 +-
+ src/fclist.c | 2 +-
+ src/fcmatch.c | 2 +-
+ src/fcmatrix.c | 2 +-
+ src/fcname.c | 2 +-
+ src/fcstr.c | 2 +-
+ src/fcxml.c | 2 +-
+ 220 files changed, 220 insertions(+), 220 deletions(-)
+
+commit aef608efed2feb867128e528cd9d39ee7e10a0ac
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Aug 12 16:11:29 2008 -0400
+
+ Add orth file for Maithili mai.orth (#15821)
+
+ fc-lang/mai.orth | 25 +++++++++++++++++++++++++
+ 1 file changed, 25 insertions(+)
+
+commit 1bcf4ae5f2348d7956c435d34f2856ebfaccd6c8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Aug 12 15:10:04 2008 -0400
+
+ When canonizing filenames, squash // and remove final / (#bug 16286)
+
+ The fact that we now drop final slashes from all filenames without
+ checking that the file name represents a directory may surprise some,
+ but it doesn't bother me really.
+
+ src/fcstr.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit b21bea3731106ef30224f9255c4232d6e2607803
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Aug 12 14:32:40 2008 -0400
+
+ [doc] Fix inaccuracy in FcFontRenderPrepare docs (#16985)
+
+ doc/fcconfig.fncs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e04afe83de409b880be9a854b34fb624bca5c3b0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Aug 12 14:10:03 2008 -0400
+
+ Avoid C99ism in Win32 code (#16651)
+
+ src/fccfg.c | 3 ++-
+ src/fcxml.c | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+commit f7364e6273df6f660e6b01ea5189e88b34ba4602
+Author: Benjamin Close <Benjamin.Close@clearchain.com>
+Date: Thu Feb 12 10:23:40 2009 +1030
+
+ Remove build manpage logfile if it exists
+
+ doc/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 0e21b5a4d5609a5dd0f332b412d878b6f1037d29
+Author: Peter <pva@gentoo.org>
+Date: Sun Jun 22 09:21:05 2008 -0700
+
+ Make sure alias files are built first (bug 16464)
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+ fc-case/Makefile.am | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit a93b4c2aab1d79573abd646147596a8a34b19350
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 31 19:24:35 2008 -0700
+
+ Bump version to 2.6.0
+
+ README | 6 ++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 4 ++--
+ 3 files changed, 7 insertions(+), 5 deletions(-)
+
+commit d0902ee0867bd11e4ff266876a69c258eee8d08d
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 24 17:52:41 2008 -0700
+
+ Bump version to 2.5.93
+
+ README | 34 ++++++++++++++++++++++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 34 insertions(+), 4 deletions(-)
+
+commit 8ade2369238a0b439192a847f12fcc9748a6d73a
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 24 17:14:24 2008 -0700
+
+ Ignore empty <dir></dir> elements
+
+ An empty element would cause every file starting with the current
+ directory to be scanned, probably not what the user wanted.
+
+ src/fcxml.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 83c5c357abc8d626680943537b4dbc020d6c378c
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 24 17:01:12 2008 -0700
+
+ Oops. Fix for bug 15928 used wrong path for installed fc-cache.
+
+ fc-cache lives in $(bindir)/fc-cache, not $(bindir)/fc-cache/fc-cache.
+
+ Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit e91e7efd7b0e0ca6f9f2e718541f99331447b40a
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 24 16:32:27 2008 -0700
+
+ Libs.private needs freetype libraries
+
+ To make static linking work, fontconfig.pc needs @FREETYPE_LIBS@ in
+ Libs.private.
+
+ fontconfig.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ad3fc667914d19435ade56adc8afe584d5605d10
+Author: Sayamindu Dasgupta <sayamindu@gmail.com>
+Date: Sat May 24 16:15:27 2008 -0700
+
+ FcConfigUptoDate breaks if directory mtime is in the future. Bug
+ 14424.
+
+ At OLPC, we came across a bug where the Browse activity (based
+ on xulrunner)
+ took 100% CPU after an upgrade/. It turns out the Mozilla uses
+ FcConfigUptoDate() to check if new fonts have been added to the
+ system, and
+ this function was always returning FcFalse since we have the mtimes
+ of some
+ font directories set in the future. The attached patch makes
+ FcConfigUptoDate() print a warning and return FcTrue if mtime of
+ directories
+ are in the future.
+
+ src/fccfg.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+commit b808204023ab47eb06dc520665eb7a0473320a9b
+Author: Evgeniy Stepanov <eugeni.stepanov@gmail.com>
+Date: Sat May 24 16:09:17 2008 -0700
+
+ Fix index/offset for 'decorative' matcher. Bug 15890.
+
+ It seems indices in _FcMatchers array are slightly mixed up,
+ MATCH_DECORATIVE
+ should be 10, not 11.
+
+ And MATCH_RASTERIZER_INDEX should be 13, not 12, right?
+
+ src/fcmatch.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit c6228a34b0ebaab3df395163b3b9246da2aa7d8c
+Author: Glen Low <glen.low@pixelglow.com>
+Date: Sat May 24 15:59:35 2008 -0700
+
+ Fix Win32 build error: install tries to run fc-cache locally
+ (bug 15928).
+
+ When building in Win32 e.g. with MinGW, the install tries to run
+ fc-cache
+ locally but the required DLL's are not in the path. I've included
+ a patch for
+ this to fix Makefile.in to run fc-cache from bindir but obviously
+ this should
+ be applied to Makefile.am instead.
+
+ (the second part of this patch was already in the tree)
+
+ Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 557f87f7337df1d78c04d2c993916d1d1748360f
+Author: Neskie Manuel <neskiem@gmail.com>
+Date: Sat May 24 15:51:41 2008 -0700
+
+ Add Secwepemctsin Orthography. Bug 15996.
+
+ fc-lang/shs.orth | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 48 insertions(+)
+
+commit a572f547fd46bf169b617108552ab0fa280f4813
+Author: Behdad Esfahbod <freedesktop@behdad.org>
+Date: Sat May 24 15:48:00 2008 -0700
+
+ Persian conf update. (bug 16066).
+
+ conf.d/40-nonlatin.conf | 37 +++++++++++++++++++++++++++++++++++++
+ conf.d/65-fonts-persian.conf | 24 ++++++++++++++++++++----
+ 2 files changed, 57 insertions(+), 4 deletions(-)
+
+commit 0faca4ff826c214c5c5bb0ff7e64a09802230f9d
+Author: Alexey Khoroshilov <khoroshilov@linuxtesting.org>
+Date: Sat May 24 15:44:00 2008 -0700
+
+ Fix FcStrDirname documentation. (bug 16068)
+
+ Description of FcStrDirname is absent in the official documentation of
+ fontconfig-2.5.92. At the same time the source documentation contains
+ description of the function.
+
+ The problem is a consequence of a misprint in the format of the source
+ documentation file 'fcstring.fncs'. The finish mark of description
+ of the
+ previous function is absent.
+
+ doc/fcstring.fncs | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 4dfb4aa1d4e1a3195d6f2f6873cb48d1d739a1bd
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon May 5 08:30:44 2008 -0700
+
+ Add a copy of dolt.m4 to acinclude.m4.
+
+ An ancient version of dolt.m4 was installed on my system leading to
+ a broken
+ build on non-Linux systems.
+
+ acinclude.m4 | 137
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 137 insertions(+)
+
+commit 8d0139b0e68b081c9cdbeaa025fb278105ebf50c
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun May 4 19:08:31 2008 -0700
+
+ Freetype 2.3.5 (2007-jul-02) fixes indic font hinting. re-enable
+ (bug 15822)
+
+ Autohinting for Indic fonts has been disabled since freetype could
+ not handle
+ it properly. But since freetype-2.3.5, the hinting problems for
+ indic fonts
+ have been fixed. Thus this is a request to enable the autohinting in
+ fontconfig again for all the indic fonts.
+
+ conf.d/25-unhint-nonlatin.conf | 119
+ -----------------------------------------
+ 1 file changed, 119 deletions(-)
+
+commit 3a3f687b759ceb76fc1e6407980a4b2717a47219
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun May 4 01:27:42 2008 -0700
+
+ Add extended, caps, dunhill style mappings.
+
+ extended -> expanded.
+ caps, dunhill -> decorative
+
+ src/fcfreetype.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 13a14cbf56d56c14d53e5f55d7fcc4bdec900994
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun May 4 01:26:40 2008 -0700
+
+ Fix a few memory tracking mistakes.
+
+ The built-in memory tracking code in fontconfig relies on a lot
+ of manual
+ function call tracking. A pain, but it helps debug leaks.
+
+ src/fcatomic.c | 2 +-
+ src/fccharset.c | 6 ++++++
+ src/fcinit.c | 2 ++
+ src/fcpat.c | 2 +-
+ src/fcstr.c | 9 +++++++--
+ 5 files changed, 17 insertions(+), 4 deletions(-)
+
+commit c6c9400d67ffefa95100d03e6650ea901b05116b
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun May 4 01:25:04 2008 -0700
+
+ Call FcFini to make memory debugging easier
+
+ FcFini frees all libary data structures so valgrind should report 0
+ allocations in use when the program exits.
+
+ fc-cache/fc-cache.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit d33d23ada05a688046e4cc0a48b149fbf44c9ce3
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 3 20:39:07 2008 -0700
+
+ Bump version to 2.5.92
+
+ README | 40 ++++++++++++++++++++++++++++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 40 insertions(+), 4 deletions(-)
+
+commit 366887c3845973a6f81dd2e9e7aec60afbc61c32
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 3 20:38:29 2008 -0700
+
+ git ignore doltcompile
+
+ .gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 0b15b5f38b94ca1eda2b8b25de939776198c017a
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 3 20:37:49 2008 -0700
+
+ Allow for RC versions in README update
+
+ new-version.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 19d124dc4f9a68e1c9ddce58bf79a5e11d2ccbfd
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 3 20:23:37 2008 -0700
+
+ Deal with libtool 2.2 which doesn't let us use LT_ variables. (bug
+ 15692)
+
+ Libtool-2.2 introduces new restrictions. So now it does not allow LT_*
+ variables as it includes marcros:
+
+ m4_pattern_forbid([^_?LT_[A-Z_]+$])
+
+ Rename the LT_ variables to LIBT_ to work around this restriction.
+
+ configure.in | 18 +++++++++---------
+ fontconfig-zip.in | 2 +-
+ src/Makefile.am | 6 +++---
+ 3 files changed, 13 insertions(+), 13 deletions(-)
+
+commit 0028f72bc818ca3bc343383fb644765ae12ce769
+Author: Carlo Bramini <carlo.bramix@libero.it>
+Date: Sat May 3 20:17:16 2008 -0700
+
+ Add FreeType-dependent functions to fontconfig.def file. (bug 15415)
+
+ With PUBLIC_FILES no longer containing the freetype-dependent
+ symbols, those
+ must be added to the fontconfig.def file build process.
+
+ src/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit bdbc26f3d970581a3248c245451f7fbfb1609601
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 3 20:14:07 2008 -0700
+
+ Make fc-match behave better when style is unknown (bug 15332)
+
+ fc-match/fc-match.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3322ca855330631e0d849e6beca0c2d82390898f
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 3 20:07:35 2008 -0700
+
+ Use of ":=" in src/Makefile.am is unportable (bug 14420)
+
+ Building 2.5.91 on Solaris with the native make(1) yields
+
+ ...
+ Making all in src
+ make: Fatal error in reader: Makefile, line 313: Unexpected end of
+ line seen
+ Current working directory /tmp/fontconfig-2.5.91/src
+ *** Error code 1
+
+ This is due to the following line (src/Makefile.am:143):
+
+ CLEANFILES := $(ALIAS_FILES)
+
+ Changing that to a standard assignment ("=") fixes the problem.
+
+ I believe the ":=" is a typo. ALIAS_FILES is just a statically
+ assigned
+ variable; it's not like evaluating it more than once would be
+ a problem.
+
+ src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit df8ceebdbe735226bef602614921d517321c690f
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 3 20:06:48 2008 -0700
+
+ Remove doltcompile in distclean
+
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9ffa2fa7efa7815b8808e744c3601631fe1810d7
+Author: Ryan Schmidt <freedesktop-2008@ryandesign.com>
+Date: Sat May 3 19:49:07 2008 -0700
+
+ fontconfig build fails if "head" is missing or unusable (bug 14304)
+
+ If the /usr/bin/head program is missing or unusable, or if an
+ unusable head
+ program is listed first in the PATH, fontconfig fails to build
+
+ using "sed -n 1p" instead of "head -1" would be a suitable workaround.
+
+ src/makealias | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6d65081e35fc1ffae1212f173853b0693645192e
+Author: Dennis Schridde <lindevel@gmx.net>
+Date: Sat May 3 19:45:31 2008 -0700
+
+ Proper config path for static libraries in win32
+
+ Since fontconfig didn't have special handling for paths in static
+ Windows
+ libraries, I've created a patch which should fix this.
+
+ Basically it does this:
+ fccfg.c:
+ If fontconfig_path was uninitialised it tries to get the directory
+ the exe is
+ in and uses a fonts/ dir inside that.
+ fcxml.c:
+ In case the fonts.conf lists a <dir>CUSTOMFONTDIR</dir>, it searches
+ for a
+ fonts/ directory where the exe is located.
+
+ src/fccfg.c | 26 +++++++++++++++++++++-----
+ src/fcxml.c | 22 +++++++++++++++++++++-
+ 2 files changed, 42 insertions(+), 6 deletions(-)
+
+commit ae6fac08029bce11487d2d20184b1cabb4e0ec34
+Author: Changwoo Ryu <cwryu@debian.org>
+Date: Sat May 3 19:39:56 2008 -0700
+
+ Korean font in the default config - replacing baekmuk with un
+ (bug 13569)
+
+ I propose to replace the default Baekmuk Korean fonts with Un fonts.
+
+ Some people don't agree but most Korean people prefer Un fonts
+ to Baekmuk
+ ones. Un fonts just look better, at least in the most common Linux
+ desktops
+ (antialiased, GNOME or KDE, high resolution).
+
+ conf.d/40-nonlatin.conf | 2 ++
+ conf.d/65-nonlatin.conf | 4 ++++
+ 2 files changed, 6 insertions(+)
+
+commit 53aec111074cf7b46d15eb84a55791d3c95bc15e
+Author: Sylvain Pasche <sylvain.pasche@gmail.com>
+Date: Sat May 3 19:33:45 2008 -0700
+
+ Fontconfig options for freetype sub-pixel filter configuration
+
+ David Turner has modified FreeType to be able to render sub-pixel
+ decimated
+ glyphs using different methods of filtering. Fontconfig needs new
+ configurables to support selecting these new filtering options. A
+ patch
+ follows that would correspond to one available for Cairo in bug 10301.
+
+ doc/fontconfig-devel.sgml | 1 +
+ doc/fontconfig-user.sgml | 5 +++++
+ fontconfig/fontconfig.h | 9 ++++++++-
+ src/fcint.h | 3 ++-
+ src/fcname.c | 7 ++++++-
+ 5 files changed, 22 insertions(+), 3 deletions(-)
+
+commit c26344ecfc1d3b85671f5d948a10d5cc27c21c2f
+Author: Frederic Crozat <fcrozat@mandriva.com>
+Date: Sat May 3 19:26:09 2008 -0700
+
+ Merge some of Mandriva configuration into upstream configuration. Bug
+ 13247
+
+ This is merging some parts of Mandriva fontconfig changes, mostly
+ adding and
+ documenting fonts to common aliases.
+
+ conf.d/25-unhint-nonlatin.conf | 20 +++++++++++
+ conf.d/60-latin.conf | 3 ++
+ conf.d/65-nonlatin.conf | 81
+ ++++++++++++++++++++++++++++++++++++++----
+ conf.d/69-unifont.conf | 4 +++
+ 4 files changed, 101 insertions(+), 7 deletions(-)
+
+commit c014142a207d6f3ac63580dfb0cacb243776f7c5
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 3 19:09:57 2008 -0700
+
+ Add --all flag to fc-match to show the untrimmed list. Bug 13018.
+
+ fc-match/fc-match.c | 18 ++++++++++++------
+ 1 file changed, 12 insertions(+), 6 deletions(-)
+
+commit 8415442f9bb8ad624c9940adf187390468c70548
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 3 18:04:32 2008 -0700
+
+ Add some sample cursive and fantasy families.
+
+ conf.d/45-latin.conf | 20 ++++++++++++++++++++
+ conf.d/60-latin.conf | 24 ++++++++++++++++++++++++
+ 2 files changed, 44 insertions(+)
+
+commit 73e8ae3ac8890af2dd8dd769686e2d34b749e3d0
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 3 17:43:39 2008 -0700
+
+ Remove size and dpi values from bitmap fonts. Bug 8765.
+
+ The only relevant information is the pixel size; don't report
+ anything else.
+
+ src/fcfreetype.c | 34 ----------------------------------
+ 1 file changed, 34 deletions(-)
+
+commit 60421f5d68e81478430c2d9c796eedbf6d43b3cf
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 3 17:19:43 2008 -0700
+
+ Work around for bitmap-only TrueType fonts that are missing the
+ glyf table.
+
+ Bitmap-only TrueType fonts without a glyf table will not load a
+ glyph when
+ FT_LOAD_NO_SCALE is set. Work around this by identifying TrueType
+ fonts that have no
+ glyphs and select a single strike to measure the glyph map with.
+
+ src/fcfreetype.c | 58
+ +++++++++++++++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 51 insertions(+), 7 deletions(-)
+
+commit ef9db2e2d286c4c26a2cb06aef14d175c33d0898
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 3 17:18:01 2008 -0700
+
+ Use DOLT if available
+
+ configure.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit ba884599133e444b5f6d0b9b6981079cf8059b9f
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Apr 18 11:52:41 2008 -0700
+
+ Fix build with !ENABLE_DOCS and no built manpages.
+
+ fc-cache/Makefile.am | 8 ++++++--
+ fc-cat/Makefile.am | 8 ++++++--
+ fc-list/Makefile.am | 8 ++++++--
+ fc-match/Makefile.am | 8 ++++++--
+ 4 files changed, 24 insertions(+), 8 deletions(-)
+
+commit 0dffe625d43c1165f8b84f97e8ba098793e2cf7b
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Jan 10 10:58:25 2008 -0800
+
+ Bump version to 2.5.91
+
+ README | 26 ++++++++++++++++++++++----
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 24 insertions(+), 6 deletions(-)
+
+commit b2cbf483ab520ff21ca2152f960498d181613608
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Jan 10 10:58:22 2008 -0800
+
+ git-tag requires space after -m flag
+
+ new-version.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 51f1536479064c2d224860c15271a9b14c87fd62
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Jan 10 10:56:52 2008 -0800
+
+ new-version.sh was mis-editing files
+
+ new-version.sh | 19 ++++++++-----------
+ 1 file changed, 8 insertions(+), 11 deletions(-)
+
+commit 554dc2e7b7e3c1cb6409d0cd786cfbea480fcf69
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Jan 10 10:48:00 2008 -0800
+
+ Add more files to .gitignore
+
+ .gitignore | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit 94d4f51d854f33b158e7eef2df75a5b21e95fb27
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Jan 10 10:43:33 2008 -0800
+
+ Distribute khmer font aliases
+
+ conf.d/65-khmer.conf | 16 ++++++++++++++++
+ conf.d/Makefile.am | 1 +
+ 2 files changed, 17 insertions(+)
+
+commit fba7c37f98658e3ee94bb454868885b7f3a8ec5e
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Jan 10 10:40:41 2008 -0800
+
+ Create new-version.sh to help with releases, update INSTALL
+ instructions
+
+ INSTALL | 36 +++++------------
+ new-version.sh | 121
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 131 insertions(+), 26 deletions(-)
+
+commit ad43ccaafa4f987b982afa2fff07ee8003c51a81
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Jan 10 08:58:57 2008 -0800
+
+ Distribute new fcftint.h file
+
+ src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 32fed4572754c2d484cd1605ff273c3fbfbd09bb
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jan 8 12:34:19 2008 -0800
+
+ Eliminate references to freetype from utility Makefile.am's
+
+ The utility programs don't use any freetype interfaces, so they
+ don't need to directly refer to freetype headers or libraries.
+
+ fc-cache/Makefile.am | 4 ++--
+ fc-cat/Makefile.am | 4 ++--
+ fc-list/Makefile.am | 4 ++--
+ fc-match/Makefile.am | 4 ++--
+ 4 files changed, 8 insertions(+), 8 deletions(-)
+
+commit a0a1da22a4a8e66e47e2ec8ac0515741b8ad7a7f
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Jan 7 16:31:06 2008 -0800
+
+ Include fcftaliastail.h so that the freetype funcs are exported.
+
+ This header file needs to be included at the end of every file that
+ exports any freetype symbols.
+
+ src/fcfreetype.c | 1 +
+ src/fclang.c | 1 +
+ src/fcpat.c | 1 +
+ 3 files changed, 3 insertions(+)
+
+commit dbd065ad312921308add99fc4cb31457d9045e6a
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jan 2 08:47:14 2008 -0800
+
+ Remove freetype requirement for build-time applications.
+
+ This avoids requiring the freetype development files when cross
+ compiling
+
+ fc-arch/Makefile.am | 2 +-
+ fc-case/Makefile.am | 2 +-
+ fc-glyphname/Makefile.am | 2 +-
+ fc-lang/Makefile.am | 2 +-
+ src/Makefile.am | 13 +++++++++---
+ src/fcfreetype.c | 1 +
+ src/fcftint.h | 54
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcint.h | 18 +---------------
+ src/fclang.c | 1 +
+ src/fcpat.c | 1 +
+ src/makealias | 6 ++++--
+ 11 files changed, 76 insertions(+), 26 deletions(-)
+
+commit 0aa5fbaa0df9d6c7bee8e0839dd443de9c48a402
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Dec 23 14:06:41 2007 -0800
+
+ Fix OOM failure case in FcPStackPush.
+
+ When allocation for the node attributes fail, clean up the node
+ allocation
+ and report failure.
+
+ src/fcxml.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 0f7870887adff6db3cffda5485418143f2bfa1f6
+Author: Hongbo Zhao <hongbo.zhao@gmail.com>
+Date: Wed Dec 12 21:47:33 2007 -0800
+
+ Not_contain should use strstr, not strcmp on strings. (bug 13632)
+
+ For Version 2.5.0, (same for previous version 2.4.2), in source
+ file fccfg.c,
+ on line 700,
+
+ Original:
+ ret = FcStrCmpIgnoreCase (left.u.s, right.u.s) == 0;
+
+ Should change to:
+ ret = FcStrStrIgnoreCase (left.u.s, right.u.s) == 0;
+
+ I think this is just a mistake when copy-n-paste similar codes in
+ the same
+ function. Apparently, return for "Not_contain" should be just the
+ inverse of
+ "Contain", not the same as "Equal".
+
+ src/fccfg.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6e5d2cb931f11f0aba8d187e49ddc7cc92a5be85
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Nov 25 16:35:55 2007 -0800
+
+ Move conf.avail/README to conf.d/README (bug 13392)
+
+ Because conf.d is where most people look first. And the comment at
+ the top
+ of the README file says conf.d/README too.
+
+ conf.d/Makefile.am | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit 8a0bd93e8a81b105206c1433e2da55b1acef1070
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Tue Nov 13 18:56:44 2007 -0800
+
+ Bump version number to 2.5
+
+ README | 15 +++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 4 ++--
+ 3 files changed, 16 insertions(+), 5 deletions(-)
+
+commit 8a3dc4880c1182ea446cdbc0885e956c6517cf83
+Author: Tor Lillqvist <tml@iki.fi>
+Date: Tue Nov 13 16:41:55 2007 -0800
+
+ Workaround for stat() brokenness in Microsoft's C library (bug 8526)
+
+ Fix a couple of longstanding problems with fontconfig on Windows that
+ manifest themselves especially in GIMP. The root cause to the problems
+ is in
+ Microsoft's incredibly stupid stat() implementation. Basically, stat()
+ returns wrong timestamp fields for files on NTFS filesystems on
+ machines
+ that use automatic DST switching.
+
+ See for instance http://bugzilla.gnome.org/show_bug.cgi?id=154968 and
+ http://www.codeproject.com/datetime/dstbugs.asp
+
+ As fccache.c now looks at more fields in the stat struct I fill in
+ them all.
+ I noticed that fstat() is used only on a fd just after opening it,
+ so on
+ Win32 I just call my stat() replacement before opening instead...
+ Implementing a good replacement for fstat() would be harder because
+ the code
+ in fccache.c wants to compare inode numbers. There are no (readily
+ accessible) inode numbers on Win32, so I fake it with the hash of
+ the full
+ file name, in the case as it is on disk. And fstat() doesn't know
+ the full
+ file name, so it would be rather hard to come up with a inode
+ number to
+ identify the file.
+
+ The patch also adds similar handling for the cache directory as for
+ the fonts
+ directory: If a cachedir element in fonts.conf contains the magic
+ string
+ "WINDOWSTEMPDIR_FONTCONFIG_CACHE" it is replaced at runtime with a
+ path under
+ the machine's (or user's) temp folder as returned by GetTempPath(). I
+ don't
+ want to hardcode any pathnames in a fonts.conf intended to be
+ distributed to
+ end-users, most of which who wouldn't know how to edit it anyway. And
+ requiring an installer to edit it gets complicated.
+
+ configure.in | 6 +++-
+ fc-cache/Makefile.am | 3 ++
+ src/fccache.c | 93
+ +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/fcxml.c | 24 ++++++++++++++
+ 4 files changed, 124 insertions(+), 2 deletions(-)
+
+commit 1315db01b626aedd27e3e05bde96ce46c253629b
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Tue Nov 13 15:48:30 2007 -0800
+
+ Revert "Remove fcprivate.h, move the remaining macros to fcint.h."
+
+ This reverts commit b607922909acfc7ae96de688ed34efd19cd038ac.
+
+ Conflicts:
+
+ src/Makefile.am
+
+ Xft still uses the macros that are in fcprivate.h. Document those
+ macros and
+ include fcprivate.h in the published header files.
+
+ doc/check-missing-doc | 1 +
+ doc/fcobjectset.fncs | 11 +++++
+ doc/fcpattern.fncs | 12 ++++-
+ fontconfig/Makefile.am | 3 +-
+ fontconfig/fcprivate.h | 123
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ fontconfig/fontconfig.h | 2 +-
+ src/Makefile.am | 3 +-
+ src/fcint.h | 95 +------------------------------------
+ 8 files changed, 152 insertions(+), 98 deletions(-)
+
+commit eaf4470a465cbfb95e2ba4df017d45f7b1d9c131
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Tue Nov 13 15:16:58 2007 -0800
+
+ Document that FcConfigGetFonts returns the internal fontset (bug
+ 13197)
+
+ FcConfigGetFonts returns the internal font set used by the library
+ which
+ must not be freed by the application or 'bad things' will happen.
+
+ doc/fcconfig.fncs | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 3fb38716aefef0fac300dee059403c04c1cbaa6c
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Tue Nov 13 15:11:35 2007 -0800
+
+ Document that Match calls FcFontRenderPrepare (bug 13162).
+
+ The behaviour of FcFontMatch and FcFontSetMatch is hard to understand
+ without
+ knowing that they call FcFontRenderPrepare.
+
+ doc/fcconfig.fncs | 12 ++++++++----
+ doc/fcfontset.fncs | 12 ++++++++----
+ 2 files changed, 16 insertions(+), 8 deletions(-)
+
+commit fab44f3cb63dc8bd1285dcbd6ad4f1f468f91daf
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Tue Nov 13 14:58:39 2007 -0800
+
+ Document several function return values (Bug 13145).
+
+ Several functions had no indication of what the return value would be,
+ mostly these were allocation failure returns.
+
+ doc/fcatomic.fncs | 4 +++-
+ doc/fcconfig.fncs | 21 ++++++++++++++-------
+ doc/fcconstant.fncs | 8 ++++++--
+ doc/fcfile.fncs | 28 +++++++++++++++-------------
+ doc/fcfontset.fncs | 3 ++-
+ doc/fcinit.fncs | 7 +++++--
+ doc/fcobjectset.fncs | 3 ++-
+ doc/fcobjecttype.fncs | 6 ++++--
+ 8 files changed, 51 insertions(+), 29 deletions(-)
+
+commit ed7955a58f93927eb304ecf8d4d5274dbdc2362b
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Mon Nov 5 16:08:55 2007 -0800
+
+ Fix parallel build in doc directory.
+
+ docbook2man has fixed output file names; place output in a
+ subdirectory to
+ avoid collisions.
+
+ doc/Makefile.am | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit 37e9d33950df03f76b6938ae5675ecfc853eb903
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Mon Nov 5 15:52:45 2007 -0800
+
+ Update version numbers to 2.4.92 (2.5 RC2)
+
+ README | 49
+ +++++++++++++++++++++++++++++++++++++++++++++++--
+ fontconfig/fontconfig.h | 2 +-
+ 2 files changed, 48 insertions(+), 3 deletions(-)
+
+commit a504f6b5394b96d2c6a24772b61705227a8e88ab
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 5 18:12:51 2007 -0500
+
+ Simplify/improve 30-metric-aliases.conf
+
+ conf.d/30-metric-aliases.conf | 192
+ ++++++++++++++++++++++++------------------
+ 1 file changed, 109 insertions(+), 83 deletions(-)
+
+commit cbff442c69bfbb6895f5033dfcda325c0508cb3f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 5 17:07:36 2007 -0500
+
+ Remove list of available conf files from README.
+ It was redundant and out-dated.
+
+ conf.d/README | 29 +----------------------------
+ 1 file changed, 1 insertion(+), 28 deletions(-)
+
+commit 0294bda4800b94828b59139e6205730c74261c40
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 5 17:05:36 2007 -0500
+
+ Fix documented conf-file naming format in README
+
+ conf.d/README | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 07d04da76c4009552866ae0d2f85659186ef77d6
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 5 17:01:44 2007 -0500
+
+ Remove 25-unhint-nonlatin.conf from default configuration by not
+ linking it.
+
+ conf.d/Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 9bac30859b9b2b532b9028dc6fe1730b87e95686
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 5 16:46:19 2007 -0500
+
+ Oops, fix Makefile.am.
+
+ conf.d/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 93b4049c9ac6283fbf05a2a414ff3b4edaef822e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 5 16:43:49 2007 -0500
+
+ Remove 20-lohit-gujarati.conf. It's covered by
+ 25-unhint-nonlatin.conf now.
+
+ conf.d/20-lohit-gujarati.conf | 11 -----------
+ conf.d/Makefile.am | 2 --
+ 2 files changed, 13 deletions(-)
+
+commit 7465091fa90753440ed775de5783387bc4fd9cc4
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 5 16:43:14 2007 -0500
+
+ Remove redundant/obsolete comments from conf files.
+
+ Conf files had an initial comment mentioning the files' name.
+ This was outdated and wrong in most cases. There's no real use
+ in that.
+
+ conf.d/10-autohint.conf | 1 -
+ conf.d/10-no-sub-pixel.conf | 1 -
+ conf.d/10-sub-pixel-bgr.conf | 1 -
+ conf.d/10-sub-pixel-rgb.conf | 1 -
+ conf.d/10-sub-pixel-vbgr.conf | 1 -
+ conf.d/10-sub-pixel-vrgb.conf | 1 -
+ conf.d/10-unhinted.conf | 1 -
+ conf.d/20-fix-globaladvance.conf | 1 -
+ conf.d/20-unhint-small-vera.conf | 1 -
+ conf.d/25-unhint-nonlatin.conf | 1 -
+ conf.d/30-metric-aliases.conf | 1 -
+ conf.d/30-urw-aliases.conf | 1 -
+ conf.d/50-user.conf | 1 -
+ conf.d/51-local.conf | 1 -
+ conf.d/65-fonts-persian.conf | 1 -
+ conf.d/70-no-bitmaps.conf | 1 -
+ conf.d/70-yes-bitmaps.conf | 1 -
+ conf.d/80-delicious.conf | 1 -
+ 18 files changed, 18 deletions(-)
+
+commit 531a143858aa1b5c82ee20bdacc292c0a31b6cfb
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 5 16:40:25 2007 -0500
+
+ Use binding="same" in 30-urw-aliases.conf and remove duplicate
+ entries.
+
+ Times, Helvetical, and Courier are already handled in
+ 30-metric-aliases.conf.
+ Remove them here and add a comment instead.
+
+ conf.d/30-urw-aliases.conf | 27 ++++++++-------------------
+ 1 file changed, 8 insertions(+), 19 deletions(-)
+
+commit 4b51f173c99152586db26b03752873a4b4020672
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 5 16:36:55 2007 -0500
+
+ Split 40-generic.conf into 40-nonlatin.conf and 45-latin.conf
+
+ conf.d/40-generic.conf | 80
+ -------------------------------------------------
+ conf.d/40-nonlatin.conf | 51 +++++++++++++++++++++++++++++++
+ conf.d/45-latin.conf | 56 ++++++++++++++++++++++++++++++++++
+ conf.d/Makefile.am | 6 ++--
+ conf.d/README | 5 ++--
+ 5 files changed, 114 insertions(+), 84 deletions(-)
+
+commit 39968fb223bf2eeb5502553c8d316dc4914a32ba
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 5 16:14:35 2007 -0500
+
+ Add/update config files from Fedora.
+
+ conf.d/25-unhint-nonlatin.conf | 228
+ +++++++++++++++++++++++++++++++++++++++++
+ conf.d/30-amt-aliases.conf | 21 ----
+ conf.d/30-metric-aliases.conf | 186 +++++++++++++++++++++++++++++++++
+ conf.d/40-generic.conf | 22 +++-
+ conf.d/65-nonlatin.conf | 45 ++++++++
+ conf.d/Makefile.am | 6 +-
+ conf.d/README | 3 +-
+ 7 files changed, 483 insertions(+), 28 deletions(-)
+
+commit cf223cc7bcae94e839d7ac1e980f289cca5199b0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 5 15:29:44 2007 -0500
+
+ Add FcGetLangs() and FcLangGetCharSet().
+
+ doc/fclangset.fncs | 16 ++++++++++++++++
+ fontconfig/fontconfig.h | 6 ++++++
+ src/fcint.h | 3 ---
+ src/fclang.c | 20 ++++++++++++++++++--
+ 4 files changed, 40 insertions(+), 5 deletions(-)
+
+commit 811995b79db16be39046dbbffcc5a7d66f88b731
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Nov 5 15:29:03 2007 -0500
+
+ Fix trivial bugs in edit-sgml.c
+
+ doc/edit-sgml.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit de1faa42d1425f80366707a730ea919c57e57b2f
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sun Nov 4 12:20:45 2007 -0800
+
+ Export FcConfig{G,S}etRescanInverval from .so, mark as deprecated.
+
+ These two names are typos of the correct names. Instead of simply
+ changing
+ them, the correct thing to do is leave them in the library, add
+ the correct
+ functions and mark them as deprecated so any source packages will
+ be updated.
+
+ This requires bumping the minor version of the library (for adding
+ APIs)
+ instead of bumping the major version of the library (for removing
+ APIs).
+
+ configure.in | 6 +++---
+ fontconfig/fontconfig.h | 13 +++++++++++++
+ src/Makefile.am | 5 +++--
+ src/fccfg.c | 16 ++++++++++++++++
+ src/fcdeprecate.h | 36 ++++++++++++++++++++++++++++++++++++
+ src/fcint.h | 1 +
+ 6 files changed, 72 insertions(+), 5 deletions(-)
+
+commit 69d3eb9cb8e58ab771170f68868748204a4793ab
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 23:43:48 2007 -0700
+
+ Ignore new generated documentation
+
+ .gitignore | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit dc7b6f1d79b5508706be9242b79180727701e54f
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 23:42:32 2007 -0700
+
+ Link new function documentation into the fontconfig-devel.sgml
+
+ doc/fontconfig-devel.sgml | 31 +++++++++++++++++++++++++++++++
+ 1 file changed, 31 insertions(+)
+
+commit dac27f2f1a766b042487827c726b3ccae147d282
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 23:41:38 2007 -0700
+
+ Formatting syntax mistake in doc/fclangset.fncs.
+
+ <parameter>ls</function> needed to be <parameter>ls</parameter>.
+
+ doc/fclangset.fncs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9bfb41ffefe41c90c8b16e155e04e6c6a5a2c1fd
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 23:23:55 2007 -0700
+
+ Generate fccache.sgml, fcdircache.sgml and fclangset.sgml.
+
+ Just adding the .fncs versions doesn't get these files generated.
+
+ doc/Makefile.am | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit bfdc0047c670b0ac38bf050bbb81e0ef7299aa1f
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 23:23:09 2007 -0700
+
+ Fix formatting syntax in doc/fccache.fncs
+
+ doc/fccache.fncs | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit f2772d6b45bcfc27618968fdbb08dcc50a18be22
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 23:03:11 2007 -0700
+
+ Replace incorrect documentation uses of 'char' with 'FcChar8'
+ (bug 13002).
+
+ doc/fcconfig.fncs | 10 +++++-----
+ doc/fcfile.fncs | 6 +++---
+ doc/fcfreetype.fncs | 4 ++--
+ doc/fcpattern.fncs | 6 +++---
+ doc/fontconfig-devel.sgml | 2 +-
+ 5 files changed, 14 insertions(+), 14 deletions(-)
+
+commit b4a3e834126a3cac7fbf2212087825f886be1f1d
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 22:53:12 2007 -0700
+
+ Remove references to FcConfigParse and FcConfigLoad.
+
+ These functions no longer exist.
+
+ doc/fcconfig.fncs | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit fc141b492bab23d58d248fc3b6d34bcb9c5faa99
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 22:45:31 2007 -0700
+
+ Have FcConfigSetCurrent accept the current configuration and simply
+ return
+ without updating anything.
+
+ src/fccfg.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 7c6939793b1691b4b950a856cdcd31f1e020b14a
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 22:39:54 2007 -0700
+
+ Update documentation for stale FcConfigGetConfig function.
+
+ The old per-user cache filename is no longer used.
+
+ doc/fcconfig.fncs | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 026fe895e487d0a9607a8506ab8be2ff6022ea19
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 22:31:16 2007 -0700
+
+ Update documentation for FcStrCopyFilename (bug 12964).
+
+ FcStrCopyFilename constructs a canonical path for any argument,
+ including
+ expanding leading ~ and editing '.' and '..' elements out of the
+ resulting
+ path.
+
+ doc/fcstring.fncs | 15 ++++++++++-----
+ 1 file changed, 10 insertions(+), 5 deletions(-)
+
+commit a190678e3c4497870679808dde418191407be91d
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 22:23:28 2007 -0700
+
+ Document previously undocumented functions. (bug 12963)
+
+ doc/Makefile.am | 3 ++
+ doc/check-missing-doc | 4 +-
+ doc/fccache.fncs | 68 +++++++++++++++++++++++++
+ doc/fccharset.fncs | 24 +++++++++
+ doc/fcconfig.fncs | 31 ++++++++++++
+ doc/fcdircache.fncs | 88 ++++++++++++++++++++++++++++++++
+ doc/fcfile.fncs | 29 ++++++-----
+ doc/fcfontset.fncs | 83 +++++++++++++++++++++++++++++++
+ doc/fcfreetype.fncs | 22 ++++++++
+ doc/fclangset.fncs | 124
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ doc/fcmatrix.fncs | 2 +
+ doc/fcpattern.fncs | 52 ++++++++++++++++++-
+ doc/fcstring.fncs | 80 ++++++++++++++++++++++++------
+ doc/fcstrset.fncs | 11 ++++
+ doc/fcvalue.fncs | 21 ++++++++
+ doc/fontconfig-devel.sgml | 26 +++++++++-
+ 16 files changed, 638 insertions(+), 30 deletions(-)
+
+commit 9a54f8a1945e614e07446412a2df534fbc1f77cb
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 22:01:33 2007 -0700
+
+ Verify documentation covers exposed symbols.
+
+ Add check-missing-doc script to make sure the documentation matches
+ the
+ complete list of symbols exported from the header files before
+ release.
+
+ doc/Makefile.am | 6 +++++-
+ doc/check-missing-doc | 23 +++++++++++++++++++++++
+ 2 files changed, 28 insertions(+), 1 deletion(-)
+
+commit c833409f6b68c191ac354cd2fdeb183f73a65c4c
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 21:58:34 2007 -0700
+
+ Use FcLangDifferentTerritory instead of FcLangDifferentCountry.
+
+ src/fclang.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 9b84ecff92b8dccf6559a858e35762c0f664429a
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 21:57:51 2007 -0700
+
+ Don't check cache file time stamps when cleaning cache dir.
+
+ Cache file mtime is meaningless now that the directory time is
+ encoded in
+ the cache.
+
+ fc-cache/fc-cache.c | 10 +---------
+ 1 file changed, 1 insertion(+), 9 deletions(-)
+
+commit 1d93c1752f03b833603ea31c2cfbd16868c44922
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 21:56:36 2007 -0700
+
+ Typo error in function name: Inverval -> interval
+
+ src/fccfg.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit b868a1447341ebe9962007069ec8658550e62483
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 21:55:39 2007 -0700
+
+ Track line numbers in sgml edit tool input.
+
+ Errors in the documentation can be hard to find unless the tool
+ outputs the
+ line number where the problem exists.
+
+ doc/edit-sgml.c | 85
+ +++++++++++++++++++++++++++++++++++----------------------
+ 1 file changed, 52 insertions(+), 33 deletions(-)
+
+commit 088b582a26bce1ab3ec081a80fd6a6fe43223da5
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 21:54:49 2007 -0700
+
+ Clean up exported names in fontconfig.h.
+
+ Fix typo errors (Inverval indeed).
+ Remove FcPattern *p from FcValue (unused)
+ Remove spurious FcPublic from formals.
+
+ fontconfig/fontconfig.h | 24 +++++++++++++-----------
+ 1 file changed, 13 insertions(+), 11 deletions(-)
+
+commit e37d10fa74217a6102003882d49ac323f28db678
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 14:16:29 2007 -0700
+
+ Make file_stat argument to FcDirCacheLoadFile optional.
+
+ Allow file_stat to be NULL by using a local stat structure in
+ that case.
+
+ src/fccache.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 2ddce88cde79d8bf8959d614af883999d5c66a85
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 13:44:59 2007 -0700
+
+ Document skipping of fonts from FcFileScan/FcDirScan.
+
+ FcFileScan and FcDirScan will skip fonts under direction of the
+ configuration and default fontconfig policy.
+
+ doc/fcfile.fncs | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit 5d82c4c85d201011e60adcf887d15341ecdd5729
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 13:26:16 2007 -0700
+
+ Correct documentation for FcConfigUptoDate (bug 12948).
+
+ FcConfigUptoDate only checks whether files have been modified
+ since the
+ configuration was created. Any changes to the configuration through
+ the API
+ since then are not considered.
+
+ doc/fcconfig.fncs | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit b607922909acfc7ae96de688ed34efd19cd038ac
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 13:09:01 2007 -0700
+
+ Remove fcprivate.h, move the remaining macros to fcint.h.
+
+ fcprivate.h was supposed to extend the fontconfig API for the various
+ fontconfig utilities. Instead, just have those utilities use the
+ internal
+ fcint.h header file (which they already do), removing fcprivate.h
+ from the
+ installation and hence from the defacto public API.
+
+ fontconfig/Makefile.am | 3 +-
+ fontconfig/fcprivate.h | 123
+ -------------------------------------------------
+ src/Makefile.am | 3 +-
+ src/fcint.h | 95 +++++++++++++++++++++++++++++++++++++-
+ 4 files changed, 96 insertions(+), 128 deletions(-)
+
+commit 910db318ae67693f7bc17f0bdc61caaf555365ae
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Sat Nov 3 13:05:25 2007 -0700
+
+ Correct documentation for FcAtomicLock (Bug 12947).
+
+ FcAtomicLock can only be called once from any process.
+
+ doc/fcatomic.fncs | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit d0e2a0f3a37ace2d5de6f18e7871a8efaf6580c2
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Oct 26 02:02:19 2007 -0400
+
+ Port fonts-persian.conf to new alias syntax with binding="same"
+
+ Signed-off-by: Keith Packard <keithp@koto.keithp.com>
+
+ conf.d/65-fonts-persian.conf | 377
+ ++++++++++++++-----------------------------
+ 1 file changed, 121 insertions(+), 256 deletions(-)
+
+commit 681bb379de1847cf288ba27cf29243c8395cff17
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 25 22:30:49 2007 -0700
+
+ Respect "binding" attribute in <alias> entries.
+
+ This makes creating "same" aliases for renamed font families far
+ easier.
+
+ fonts.dtd | 2 ++
+ src/fcxml.c | 58
+ ++++++++++++++++++++++++++++++++++++----------------------
+ 2 files changed, 38 insertions(+), 22 deletions(-)
+
+commit 0602c605af04ea73af700b223ec4ac1dfd5a36f1
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Oct 25 21:35:45 2007 -0700
+
+ Make fc-match --sort call FcFontRenderPrepare.
+
+ This makes the --sort and regular output the same for each font.
+
+ fc-match/fc-match.c | 20 ++++++++++++++++++--
+ 1 file changed, 18 insertions(+), 2 deletions(-)
+
+commit ad27687f725faf7df83b161c77e99bc7bedf5b3d
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 25 21:23:36 2007 -0700
+
+ Also check configDirs mtimes in FcConfigUptoDate
+
+ Checking only config files and font directories can miss changes which
+ affect only a configuration directory. Check those to catch any
+ changes.
+
+ src/fccfg.c | 17 +++--------------
+ 1 file changed, 3 insertions(+), 14 deletions(-)
+
+commit 89d6119c0283969cb28dc6dfc8eac4cc1b52bf6a
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 25 15:19:14 2007 -0700
+
+ A few fixups for make distcheck
+
+ Makefile.am | 2 +-
+ doc/Makefile.am | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit e66c65fd41928babb3ba2ae2dc58f13d25e57661
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 25 15:07:54 2007 -0700
+
+ Set version numbers to 2.4.91 (2.5 RC1)
+
+ README | 59
+ +++++++++++++++++++++++++++++++++++++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 59 insertions(+), 4 deletions(-)
+
+commit 7a1a7c0c15793e77cb162dd3393971332896460e
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 25 14:36:24 2007 -0700
+
+ Build fix for Solaris 10 with GCC.
+
+ Solaris 10 with GCC doesn't appear capable of supporting the symbol
+ visibility stuff, so disable it.
+
+ src/fcint.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit fc990b2e86008967f499fe0df88de8e074a3670e
+Author: Behdad Esfahbod <freedesktop@behdad.org>
+Date: Thu Oct 25 14:20:06 2007 -0700
+
+ Update CaseFolding.txt to Unicode 5.1.0
+
+ fc-case/CaseFolding.txt | 184
+ ++++++++++++++++++++++++++++++++++++++++++++++--
+ src/fcstr.c | 2 +-
+ 2 files changed, 178 insertions(+), 8 deletions(-)
+
+commit 4ee9ca67867ec9517c90d6947bb88d3f25707746
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 20:25:21 2006 -0700
+
+ Match 'ultra' on word boundaries to detect ultra bold fonts. (bug
+ 2511)
+
+ Added FcStrContainsWord to detect strings on word boundaries.
+
+ src/fcfreetype.c | 15 +++++++++++++--
+ src/fcint.h | 3 +++
+ src/fcstr.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++-
+ 3 files changed, 65 insertions(+), 3 deletions(-)
+
+commit 349182784fdd0acf5d1262d8876c967f69dc30aa
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 25 01:51:38 2007 -0700
+
+ fontconfig needs configure option to use gnu iconv (bug 4083).
+
+ Existing Solaris workaround was broken; mis-matching values caused
+ the test
+ for libiconv to always fail.
+
+ configure.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 7f46cdbb87a4a2113effb45c6e67b00a86363234
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 25 01:35:32 2007 -0700
+
+ Ensure weight/slant values present even when style is supplied
+ (bug 9313).
+
+ If the provided style value doesn't match any available font, fall
+ back to
+ using the weight and slant values by ensuring that those are in
+ the pattern.
+
+ src/fcdefault.c | 16 +++++-----------
+ 1 file changed, 5 insertions(+), 11 deletions(-)
+
+commit 43d0454597dfb5375b1268edb79172779cc51113
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 25 01:26:09 2007 -0700
+
+ Distribute man source files for command line programs (bug 9678).
+
+ For systems on whch DOCBOOK is unavailable, distribute command
+ line program
+ manual pages in .man format.
+
+ fc-cache/Makefile.am | 6 +++---
+ fc-cat/Makefile.am | 6 +++---
+ fc-list/Makefile.am | 6 +++---
+ fc-match/Makefile.am | 6 +++---
+ 4 files changed, 12 insertions(+), 12 deletions(-)
+
+commit cf3e888b71a22e5c5875b96bf29557746044bd2b
+Author: Dwayne Bailey <dwayne@translate.org.za>
+Date: Thu Oct 25 01:16:06 2007 -0700
+
+ Add/fix *.orth files for South African languages
+
+ This adds the missing orth files for Ndebele (South) (nr), Northern
+ Sotho
+ (nso), Swati (ss) and Southern Sotho (st). It also fixes the Tswana
+ (tn)
+ orth file.
+
+ fc-lang/iso639-1 | 4 ++--
+ fc-lang/iso639-2 | 8 ++++----
+ fc-lang/nr.orth | 29 +++++++++++++++++++++++++++++
+ fc-lang/nso.orth | 34 ++++++++++++++++++++++++++++++++++
+ fc-lang/ss.orth | 29 +++++++++++++++++++++++++++++
+ fc-lang/st.orth | 29 +++++++++++++++++++++++++++++
+ fc-lang/tn.orth | 2 ++
+ 7 files changed, 129 insertions(+), 6 deletions(-)
+
+commit 28a4ea7f714956d34f7ac65354577b87bec5620d
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 25 01:09:11 2007 -0700
+
+ Fix parallel build in fontconfig/docs (bug 10481).
+
+ doc/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 79641a3b0c2b4a0c2e1a315028f0e54a9d846003
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 25 01:03:40 2007 -0700
+
+ Handle UltraBlack weight.
+
+ UltraBlack is weight 950 on the CSS scale; handle this by name
+ and value
+ encoding it as fontconfig weight 215.
+
+ fontconfig/fontconfig.h | 2 ++
+ src/fcfreetype.c | 7 ++++++-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+commit d02f6a70f1cb4cdad882ffe429918a119641ddbb
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 25 01:02:58 2007 -0700
+
+ Oops. Left debugging printf in previous commit.
+
+ src/fcfreetype.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 61139cf638becf023a9d5e01c90adc5aa19f83c5
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 25 00:49:19 2007 -0700
+
+ Spelling errors in documentation. (bug 10879).
+
+ Thanks to David <ssdk@ispras.ru> for spotting these.
+
+ doc/fcconfig.fncs | 4 ++--
+ doc/fcstring.fncs | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit feecc86cea6bd1cb588f68e06b85d85727289989
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 25 00:46:41 2007 -0700
+
+ There is no U+1257 (bug 10899).
+
+ The Eritrean Tigrinya orthography mistakenly included this unicode
+ value.
+
+ fc-lang/ti_er.orth | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4657944d0c39a640b2e30dfbd95f13d79a99460b
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 25 00:41:28 2007 -0700
+
+ FcInit should return FcFalse when FcInitLoadConfigAndFonts fails. (bug
+ 10976)
+
+ Thanks to David <ssdk@ispras.ru> for spotting this error.
+
+ src/fcinit.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 28baf727367513ad06ddb1c53daff062e8f39e8c
+Author: Tilman Sauerbeck <tilman@code-monkey.de>
+Date: Thu Oct 25 00:38:44 2007 -0700
+
+ Store FcVendorFoundries in read-only memory.
+
+ Create fixed size strings for vendor and foundry.
+
+ src/fcfreetype.c | 62
+ ++++++++++++++++++++++++++++----------------------------
+ 1 file changed, 31 insertions(+), 31 deletions(-)
+
+commit 481f6c23079b6dbf5239478f2bb22ee4c72404b4
+Author: Tilman Sauerbeck <tilman@code-monkey.de>
+Date: Thu Oct 25 00:36:37 2007 -0700
+
+ Store FcNoticeFoundries in read-only memory.
+
+ Use a single character array and a separate table of integer indices.
+
+ src/fcfreetype.c | 75
+ +++++++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 50 insertions(+), 25 deletions(-)
+
+commit a72ef35ce68efa3687dee84d49dc40a5ccd22917
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 25 00:22:04 2007 -0700
+
+ Replace makealias pattern with something supported by POSIX grep
+ (bug 11083)
+
+ The suggested replacement in the bug was not supported by GNU grep,
+ so I
+ created something that should be supported everywhere (famous
+ last words).
+
+ src/makealias | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 369b6b5bfbab57bbc7fb6482f6fd9c88e5057e5a
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Wed Oct 24 21:59:33 2007 -0700
+
+ Add BRAILLE PATTERN BLANK to list of blank glyphs.
+
+ Braille pattern blank is often imaged as a blank glyph.
+
+ fonts.conf.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 007cae508c831561c7a4f06092858ea7bf517e2e
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Wed Oct 24 21:52:56 2007 -0700
+
+ Move <cachedir> elements to the end of fonts.conf.
+
+ This allows users to select alternate directories for cache files,
+ ahead of
+ the 'standard' directories.
+
+ fonts.conf.in | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit d50cfeb805f7dec304c1d51d7a7c1c35f55d2e68
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Wed Oct 24 21:47:40 2007 -0700
+
+ Leave generated headers out of distribution (bug 12734).
+
+ If the generated header files are included in the distribution,
+ a build
+ outside of the source directory will use them. For machine-specific
+ files,
+ this generates the wrong result (fcarch.h). Leaving them out of the
+ distribution forces them to be built.
+
+ fc-arch/Makefile.am | 4 +---
+ fc-case/Makefile.am | 4 +---
+ fc-glyphname/Makefile.am | 4 +---
+ fc-lang/Makefile.am | 4 +---
+ 4 files changed, 4 insertions(+), 12 deletions(-)
+
+commit 1bd0b5ba7365fc7b4ef39e46efc66a6f25c052c5
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 18 09:48:31 2007 -0700
+
+ Eliminate relocations from FcCodePageRange structure (bug 10982).
+
+ FcCodePageRange was using char pointers; replace them with char
+ arrays.
+
+ src/fcfreetype.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 96925b99c0551c4ed6bf7099473d0d36964f52cd
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 18 09:43:22 2007 -0700
+
+ Eliminate relocations for glyph name table.
+
+ Glyph names (now used only for dingbats) were using many relocations,
+ causing startup latency plus per-process memory usage. Replace
+ pointers with
+ table indices, shrinking table size and elimninating relocations.
+
+ fc-glyphname/fc-glyphname.c | 28 ++++++++++++++++++++--------
+ src/fcfreetype.c | 16 ++++++++--------
+ 2 files changed, 28 insertions(+), 16 deletions(-)
+
+commit bc5e8adb4d05d1d03007951f46aaacc63c3b2197
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 18 09:41:00 2007 -0700
+
+ Must not insert cache into hash table before completely validating.
+
+ The cache was inserted into the hash table before the timestamps
+ in the
+ cache were verified; if that verification failed, an extra pointer
+ to the
+ now freed cache would be left in the hash table. FcFini would fail an
+ assertion as a result.
+
+ src/fccache.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit e85789a99770dbd1a4abe9da3eadb355c19f5216
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 18 08:58:14 2007 -0700
+
+ Place language name in constant array instead of pointer.
+
+ Constant char array of 8 bytes is the same size as a pointer plus
+ a short
+ string, so this actually saves memory and eliminates a pile of
+ relocations.
+
+ fc-lang/fc-lang.c | 2 +-
+ src/fclang.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 26437d4924b0f53f03915e5f3616992eb1fb72e7
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 18 08:56:42 2007 -0700
+
+ FcConfigParseAndLoad doc was missing the last param.
+
+ Typo lost the last param to this function.
+
+ doc/fcconfig.fncs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 07e646cc8422bda778ecf1c084129556a39a0f2a
+Author: Mike FABIAN <mfabian@suse.de>
+Date: Thu Oct 18 05:44:28 2007 -0700
+
+ Avoid crashes if config files contain junk.
+
+ If ~/.fonts.conf contains:
+
+ <edit mode="assign_replace" name="spacing">
+ <int>mono</int>
+ </edit>
+
+ fontconfig crashes:
+
+ mfabian@magellan:~$ fc-match sans
+ Fontconfig error: "~/.fonts.conf", line 46: "mono": not
+ a valid
+ integer
+ セグメンテーションé•åã§ã™ (core dumped)
+ mfabian@magellan:~$
+
+ Of course the above is nonsense, “mono†is no valid integer
+ indeed.
+
+ But I think nevertheless fontconfig should not crash in that case.
+
+ The problem was caused by partially truncated expression trees
+ caused by
+ parse errors -- typechecking these walked the tree without verifying
+ the
+ integrity of the structure. Of course, the whole tree will be
+ discarded
+ shortly after being loaded as it contained an error.
+
+ src/fcxml.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit fa9a7448d83da498b3494fd0ff7d756569f94425
+Author: Hideki Yamane <henrich@iijmio-mail.jp>
+Date: Thu Oct 18 05:17:36 2007 -0700
+
+ Handle Japanese fonts better. (debian bug #435971)
+
+ Add some commonly available Japanese fonts to the standard aliases.
+
+ conf.d/65-nonlatin.conf | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 2a3e3c442de4c675e28e754dea0fe2f7f0686ade
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 18 05:05:59 2007 -0700
+
+ Have fc-cache remove invalid cache files from cache directories.
+
+ Old cache file versions, or corrupted cache files should be removed
+ when
+ cleaning cache directories with fc-cache. This only affects filenames
+ which
+ match the fontconfig cache file format, so other files will be
+ left alone.
+
+ fc-cache/fc-cache.c | 34 ++++++++++++++++++----------------
+ 1 file changed, 18 insertions(+), 16 deletions(-)
+
+commit 238489030a64fa883f8f9fc3d73247b7f7257899
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 18 05:04:39 2007 -0700
+
+ Don't use X_OK bit when checking for writable directories (bug 12438)
+
+ Some mingw versions have broken X_OK checking; instead of trying
+ to work
+ around this in a system-depedent manner, simply don't bother
+ checking for
+ X_OK along with W_OK as such cases are expected to be mistakes,
+ and not
+ sensible access control.
+
+ fc-cache/fc-cache.c | 2 +-
+ src/fccache.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 2b0d3d8af5a83604972e4e0fe80802e448d6dd11
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 18 05:01:41 2007 -0700
+
+ Verbose message about cleaning directories was imprecise
+
+ Non-existent directories are now described as 'non-existent'
+ instead of
+ 'unwritable'.
+
+ fc-cache/fc-cache.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 50124d1e484b84796abb7d8a6c1995edaff23e80
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 18 04:58:31 2007 -0700
+
+ Improve verbose messages from fc-cache.
+
+ fc-cache would say 'skipping: %d fonts, %d dirs' or 'caching: %d
+ fonts, %d
+ dirs', which could easily mislead the user. Add 'existing cache is
+ valid' or
+ 'new cache contents' to these messages to explain what it is doing.
+
+ fc-cache/fc-cache.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit e12f718f65fc874e9170761f670930124815663e
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 18 04:54:51 2007 -0700
+
+ Remove unneeded call to access(2) in fc-cache.
+
+ This call was followed by a call to stat(2) which provided the
+ necessary
+ information. This call to access(2) was necessary when cache
+ files were
+ stored in the font directory as that would check for write permission
+ correctly.
+
+ fc-cache/fc-cache.c | 18 +++---------------
+ 1 file changed, 3 insertions(+), 15 deletions(-)
+
+commit f7da903d370dcf662a301930b003485f25db618f
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 18 04:31:33 2007 -0700
+
+ Make FC_FULLNAME include all fullname entries, elide nothing. [bug
+ 12827]
+
+ The old policy of eliding fullname entries which matched FC_FAMILY or
+ FC_FAMILY + FC_STYLE meant that applications could not know what the
+ font foundry set as the fullname of the font. Hiding information
+ is not
+ helpful.
+
+ src/fcfreetype.c | 64
+ --------------------------------------------------------
+ 1 file changed, 64 deletions(-)
+
+commit 144ca878311af885db820a35db31563ba87ee6ad
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 18 04:29:13 2007 -0700
+
+ Comment about mmaping cache files was misleading.
+
+ src/fccache.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit db6f19f13b1719617c54a1658b8faa31da56e1d4
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 18 04:13:51 2007 -0700
+
+ Store font directory mtime in cache file.
+
+ Instead of relying on mtime ordering between a directory and its
+ associated
+ cache file, write the directory mtime into the cache file itself. This
+ makes
+ cache file checks more reliable across file systems.
+
+ This change is made in a way that old programs can use new cache
+ files, but
+ new programs will need new cache files.
+
+ fc-arch/fcarch.tmpl.h | 14 +++++------
+ src/fccache.c | 64
+ +++++++++++++++++++++++++++++++++------------------
+ src/fcdir.c | 8 ++++++-
+ src/fcint.h | 5 ++--
+ 4 files changed, 58 insertions(+), 33 deletions(-)
+
+commit 00268a50e8b99e80ff25ee2a77a925398f89693f
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Thu Oct 18 03:52:29 2007 -0700
+
+ Fix ChangeLog generation to avoid circular make dependency
+
+ Makefile.am | 11 ++++-------
+ 1 file changed, 4 insertions(+), 7 deletions(-)
+
+commit 3ae9258f9e825ed576dc315ec79009188bb422e2
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Aug 5 12:31:03 2007 -0700
+
+ Free temporary string in FcDirCacheUnlink (Bug #11758)
+
+ In FcDirCacheUnlink(), the line
+
+ cache_hashed = FcStrPlus (cache_dir, cache_base);
+
+ allocates memory in cache_hashed that is never free()'d before
+ the function
+ exits.
+
+ Reported by Ben Combee.
+
+ src/fccache.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit c80a08d6bf08a27ede95035f3f02cd5abfa2cafd
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Mon Mar 12 10:32:23 2007 -0700
+
+ Work around FreeType bug when glyph name buffer is too small.
+
+ Recent versions of FreeType do not correctly deal with glyph name
+ buffers
+ that are too small; work around this by declaring a buffer that can
+ hold any
+ PS name (127 bytes).
+
+ src/fcfreetype.c | 21 +++++++++++++++++----
+ 1 file changed, 17 insertions(+), 4 deletions(-)
+
+commit fa741cd4fffbbaa5d4ba9a15f53550ac7817cc92
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Mon Mar 12 10:30:51 2007 -0700
+
+ rehash increment could be zero, causing rehash infinite loop.
+
+ Bump the rehash value by one so that it is always positive.
+
+ fc-glyphname/fc-glyphname.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9b74b78fe87f75f7026bfb23ab43ef347e109ca6
+Author: Stephan Kulow <coolo@novell.com>
+Date: Mon Mar 12 10:21:35 2007 -0700
+
+ Make FcPatternDuplicate copy the binding instead of always using
+ Strong.
+
+ I noticed that Qt always uses a different font than fc-match
+ advertises.
+ Debugging the issue, I found that a call that looks pretty innocent is
+ changing all weak bindings to strong bindings and as such changes the
+ semantic of the match: FcPatternDuplicate.
+
+ src/fcpat.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+commit 2373f904265a05761039cfc5fe305bf588e831c5
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Dec 2 16:09:47 2006 -0800
+
+ Update for version 2.4.2
+
+ INSTALL | 2 +-
+ README | 36 ++++++++++++++++++++++++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 4 files changed, 37 insertions(+), 5 deletions(-)
+
+commit e3b65ee06808cda296215b88111a259a200cc37c
+Author: Peter Breitenlohner <peb@mppmu.mpg.de>
+Date: Sat Dec 2 15:09:57 2006 -0800
+
+ Fix fc-cat documentation (bug 8935).
+
+ Adapt documentation to reality.
+
+ (1) The fc-cat usage message should reflect the
+ options accepted by the program.
+
+ (2) The fc-cat.1 manpage was fairly broken (unreadable).
+
+ fc-cat/fc-cat.c | 9 +++++++--
+ fc-cat/fc-cat.sgml | 26 +++++++++++++++++++++++---
+ 2 files changed, 30 insertions(+), 5 deletions(-)
+
+commit 61895ed16c0c06e4d6b2abeb8ff292d53b4ea499
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Dec 2 15:06:13 2006 -0800
+
+ Add space between type and formal in devel man pages (bug 8935)
+
+ Most parameters are pointers and have '*' in the type; for those
+ which do not, use '%' to mark where a space needs to be inserted.
+
+ doc/edit-sgml.c | 5 +++++
+ doc/fcblanks.fncs | 4 ++--
+ doc/fccharset.fncs | 8 ++++----
+ doc/fcconfig.fncs | 12 ++++++------
+ doc/fcconstant.fncs | 4 ++--
+ doc/fcfile.fncs | 4 ++--
+ doc/fcfreetype.fncs | 12 ++++++------
+ doc/fcmatrix.fncs | 12 ++++++------
+ doc/fcobjectset.fncs | 2 +-
+ doc/fcobjecttype.fncs | 4 ++--
+ doc/fcpattern.fncs | 32 ++++++++++++++++----------------
+ doc/fcstring.fncs | 16 ++++++++--------
+ doc/fcvalue.fncs | 4 ++--
+ 13 files changed, 62 insertions(+), 57 deletions(-)
+
+commit b1aa20098f641a16d02e70a161450e6b85afe410
+Author: Peter Breitenlohner <peb@mppmu.mpg.de>
+Date: Sat Dec 2 14:28:03 2006 -0800
+
+ Use <literal> instead of <sgmltag> when documenting fonts.conf. Bug
+ 8935.
+
+ doc/fontconfig-user.sgml | 87
+ ++++++++++++++++++++++++------------------------
+ 1 file changed, 43 insertions(+), 44 deletions(-)
+
+commit 2cae0512cdf3544ff78b04f6c05a4cb585e50bb8
+Author: Peter Breitenlohner <peb@mppmu.mpg.de>
+Date: Sat Dec 2 14:18:11 2006 -0800
+
+ A VPATH build of fontconfig-2.4.1 fails for various reasons. Bug 8933.
+
+ VPATH builds without doctools breaks as it cannot find the distributed
+ pre-formatted documentation.
+
+ configure.in | 2 +-
+ doc/Makefile.am | 14 +++++++++-----
+ 2 files changed, 10 insertions(+), 6 deletions(-)
+
+commit 0f963b0d3ec417a39f6aa2ba22ba56c2a79d05aa
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Dec 2 13:57:45 2006 -0800
+
+ Segfault scanning non-font files. Disallow scan edit of user
+ vars. (#8767)
+
+ Missing NULL font check before attempting to edit scanned pattern.
+ Also, <match target="scan"> rules are now checked to ensure all
+ edited variables are in the predefined set; otherwise, the resulting
+ cache files will not be stable.
+
+ src/fcdir.c | 2 +-
+ src/fcint.h | 1 +
+ src/fcxml.c | 6 ++++++
+ 3 files changed, 8 insertions(+), 1 deletion(-)
+
+commit c9c6875014661d4326100bae0464279d76bd657f
+Author: Kean Johnston <kean@armory.com>
+Date: Sat Dec 2 13:36:56 2006 -0800
+
+ Don't use varargs CPP macros in fccache.c. (bug 8733)
+
+ src/fccache.c uses a trick to try and use a function name that is
+ also a
+ macro name. It does this using the varargs args() macro. Replace that
+ with separate macros for each number of formals.
+
+ src/fccache.c | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+commit 72ffe6536a6825a32095c8185aff836a12326ac5
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Dec 2 13:22:27 2006 -0800
+
+ Add FcFreeTypeQueryFace external API. Bug #7311.
+
+ Expose ability to build an FcPattern directly from an FT_Face
+ object.
+
+ configure.in | 4 ++--
+ doc/fcfreetype.fncs | 17 ++++++++++++++++-
+ fontconfig/fcfreetype.h | 6 ++++++
+ src/fcfreetype.c | 50
+ +++++++++++++++++++++++++++----------------------
+ 4 files changed, 52 insertions(+), 25 deletions(-)
+
+commit 5e234d9e764d8c52d93b918a5c92b7956c95882b
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Dec 2 13:14:23 2006 -0800
+
+ Fix grep pattern in makealias to work on non-Gnu grep (bug 8368).
+
+ grep -l -w '^foo' doesn't work on Solaris. Replace with
+ grep -l '^foo\>' instead which does. Also, grep -l will
+ report the filename more than once (!), so add | head -1
+ to pick just the first one.
+
+ src/makealias | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2b77216ee21de95ec352672aa025195a83925b32
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Dec 2 13:04:05 2006 -0800
+
+ Avoid writing uninitialized structure pad bytes to cache files.
+
+ The union inside the FcValue structure contains pad bytes. Instead of
+ copying the whole structure to the cache block, copy only the
+ initialized
+ fields to avoid writing whichever bytes serve as padding within the
+ structure.
+
+ src/fcpat.c | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+commit 64d7e303df441f274ee194a401dcd14dfb58af7e
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Dec 2 12:14:49 2006 -0800
+
+ Warn (and recover) from config file without <cachedir> elements.
+
+ When updating from older fontconfig versions, if the config file
+ is not replaced, it will not contain <cachedir> elements. Lacking
+ these,
+ fontconfig has no place to store cached font information and cannot
+ operate
+ reasonably.
+
+ Add code to check and see if the loaded configuration has no cache
+ directories, and if so, warn the user and add both the default
+ system cache
+ directory and the normal per-user cache directory.
+
+ src/fcinit.c | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+commit 253ec7609c13b46c717c801206ebb1a6c7f06e27
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Dec 2 11:47:07 2006 -0800
+
+ Use explicit platform/nameid order when scanning ttf files.
+
+ Instead of accepting whatever order names appear in the font file,
+ use an explicit ordering for both platform and nameid.
+
+ Platforms are high precedence than nameids.
+
+ The platform order is:
+
+ microsoft, apple unicode, macintosh, (other)
+
+ The family nameid order is:
+
+ preferred family, font family
+
+ The fullname nameid order is:
+
+ mac full name, full name
+
+ The style nameid order is
+
+ preferred subfamily, font subfamily
+
+ This will change the names visible to users in various application
+ UIs, but
+ should not change how existing font names are matched as all names
+ remain
+ present in the resulting database. The hope is that family names
+ will, in
+ general, be less ambiguous. Testing here shows that commercial fonts
+ have longer names now while DejaVu has a shorter family name, and
+ moves more
+ of the font description to the style name.
+
+ src/fcfreetype.c | 237
+ ++++++++++++++++++++++++++++++++++---------------------
+ 1 file changed, 149 insertions(+), 88 deletions(-)
+
+commit b5803016d74856eb44b05876f0d7178bfec0df47
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Nov 12 17:15:55 2006 -0800
+
+ FcStrCanonAbsoluteFilename should be static.
+
+ src/fcstr.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit bae5db78ddab473695a7efee374a75d6fe02426f
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Nov 12 17:15:24 2006 -0800
+
+ Add sparc64 architecture string.
+
+ fc-arch/fcarch.tmpl.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 0334e5a294dd6a36c94936f6c9c709e86773cf64
+Author: Mike FABIAN <mfabian@suse.de>
+Date: Fri Oct 27 10:26:50 2006 -0700
+
+ Do not clean cache files for different architectures
+
+ Use filenames to clean cache files for current architecture
+ only. This is
+ sufficient as cache files live in their own directory where
+ filenames are
+ under fontconfig control.
+
+ fc-cache/fc-cache.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit 0596d7296c94b2bb9817338b8c1a76da91673fb9
+Author: Han-Wen Nienhuys <hanwen@xs4all.nl>
+Date: Sun Sep 17 17:03:33 2006 -0700
+
+ More fixes for Win32 building (bug 8311)
+
+ Our build system barfs on autogen.sh, which ignores
+ --noconfigure. Configure
+ needs a host of options to make the cross compile work in our case.
+
+ Fix typo in fccache.c
+
+ autogen.sh | 7 +++++++
+ src/fccache.c | 3 ++-
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+commit 1de7a4cc09172bbc99912e1410f46fc16c1a05ec
+Author: Han-Wen Nienhuys <hanwen@xs4all.nl>
+Date: Sun Sep 17 14:34:46 2006 -0700
+
+ FcStrCanonFileName buggy for mingw. (bug 8311)
+
+ FcStrCanonFileName checks whether s[0] == '/', and recurses if not.
+
+ This only works on POSIX. On dos, this crashes with a stack overflow.
+
+ The patch attached splits this functionality in two functions
+ (FcStrCanonAbsoluteFilename) and uses GetFullPathName on windows to
+ get an
+ absolute path. It also fixes a number of other issues. With this
+ patch,
+ LilyPond actually produces output on Windows.
+
+ src/fccache.c | 5 ++++
+ src/fcstr.c | 88
+ +++++++++++++++++++++++++++++++++++++++++++++++++----------
+ 2 files changed, 78 insertions(+), 15 deletions(-)
+
+commit cc104e6a910427db009be36ec34125962889ecb8
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Sep 17 14:20:18 2006 -0700
+
+ Detect and use available random number generator (bug 8308)
+
+ Prefer random over lrand48 over rand
+
+ configure.in | 2 +-
+ src/fccache.c | 13 ++++++++++++-
+ 2 files changed, 13 insertions(+), 2 deletions(-)
+
+commit 706a1b367abc4589c7eccfd7cea3af1029bc2d8c
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Sep 17 14:09:12 2006 -0700
+
+ Build fontconfig.def from header files when needed.
+
+ Instead of attempting to track exported symbols manually in
+ fontconfig.def.in, build it directly from the public fontconfig
+ header files
+ to ensure it exports the public API.
+
+ configure.in | 1 -
+ src/Makefile.am | 18 ++-
+ src/fontconfig.def.in | 303
+ --------------------------------------------------
+ 3 files changed, 17 insertions(+), 305 deletions(-)
+
+commit 6262fefe54823476070053d53eb3f52fd516ebfe
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Sep 17 13:50:31 2006 -0700
+
+ Remove documentation for non-existant FcConfigNormalizeFontDir.
+
+ FcConfigNormalizeFontDir was present in some of the 2.3.9x release
+ but not
+ in the final 2.4 release. However, the documentation persisted.
+
+ doc/fcconfig.fncs | 11 -----------
+ 1 file changed, 11 deletions(-)
+
+commit b9cc1c4ed81c8caefb5b857f37fdc24e804a5ef9
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 15 10:12:15 2006 -0700
+
+ Update for version 2.4.1
+
+ README | 13 +++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 13 insertions(+), 4 deletions(-)
+
+commit 97c3d5b692c7a45dc1d923fe04b6f2e011583d2d
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 15 00:23:40 2006 -0700
+
+ Reimplement FcConfigAppFontAddDir; function was lost in 2.4.0.
+
+ With the cache restructuring of 2.4.0, the ability to add
+ application-specific font files and directories was accidentally lost.
+ Reimplement this using by sharing the logic used to load configured
+ font
+ directories.
+
+ src/fccfg.c | 86
+ ++++++++++++++++++++++++++++++-------------------------------
+ src/fcdir.c | 4 +--
+ src/fcint.h | 3 ++-
+ 3 files changed, 46 insertions(+), 47 deletions(-)
+
+commit b190ad9da46ff2e8a9ede0afcb59a6c59641515b
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Wed Sep 13 18:55:45 2006 -0700
+
+ Add warning flags to fc-cache build. Clean up warnings in fc-cache.
+
+ Looks like the last directory in the project which didn't use
+ $(WARN_CFLAGS)
+ for some reason. Adding that found the usual collection of char *
+ vs FcChar8
+ * issues (why, oh why is FcChar8 not just char...)
+
+ fc-cache/Makefile.am | 2 +-
+ fc-cache/fc-cache.c | 31 ++++++++-----------------------
+ 2 files changed, 9 insertions(+), 24 deletions(-)
+
+commit 7943a75b7d6750d8a71eb8316bd3bbcb32f1cc47
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Wed Sep 13 18:51:11 2006 -0700
+
+ Add signatures for m68k and mipsel (thanks debian buildd)
+
+ fc-arch/fcarch.tmpl.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit fb47a1f752417d45ad0eac98526cf9de893fc9ca
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Mon Sep 11 11:10:48 2006 -0700
+
+ Add ppc64 signature. Bug 8227
+
+ fc-arch/fcarch.tmpl.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 0fc03ffe443f4bfb1c830eb75c14ca336f2186e1
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Mon Sep 11 11:09:26 2006 -0700
+
+ Update installation notes for 2.4 base.
+
+ INSTALL | 19 ++++++++++++-------
+ 1 file changed, 12 insertions(+), 7 deletions(-)
+
+commit 76c443222313577236c898f7644098e7cad80c75
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Sep 9 22:08:40 2006 -0700
+
+ Update to version 2.4.0
+
+ INSTALL | 3 +++
+ README | 38 ++++++++++++++++++++++++++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 4 ++--
+ 4 files changed, 42 insertions(+), 5 deletions(-)
+
+commit 6c5619a08575943f75d2341e1a4931ec5faf716b
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Sep 9 21:32:14 2006 -0700
+
+ Split much of the configuration into separate files. Renumber files
+
+ Most of the remaining elements in fonts.conf have been moved to
+ separate
+ files. The numbering scheme for conf.d files has been documented
+ in the
+ README and the files have been renumbered. Config files have been
+ validated against the DTD and a few minor errors fixed.
+
+ conf.d/10-autohint.conf | 9 +
+ conf.d/10-no-sub-pixel.conf | 9 +
+ conf.d/10-sub-pixel-bgr.conf | 9 +
+ conf.d/10-sub-pixel-rgb.conf | 9 +
+ conf.d/10-sub-pixel-vbgr.conf | 9 +
+ conf.d/10-sub-pixel-vrgb.conf | 9 +
+ conf.d/10-unhinted.conf | 9 +
+ conf.d/10-urw-aliases.conf | 52 ----
+ conf.d/15-amt-aliases.conf | 21 --
+ conf.d/20-lohit-gujarati.conf | 11 +
+ conf.d/20-unhint-small-vera.conf | 49 ++++
+ conf.d/30-amt-aliases.conf | 21 ++
+ conf.d/30-unhint-small-vera.conf | 49 ----
+ conf.d/30-urw-aliases.conf | 52 ++++
+ conf.d/40-generic.conf | 66 +++++
+ conf.d/49-sansserif.conf | 21 ++
+ conf.d/60-LohitGujarati.conf | 5 -
+ conf.d/60-delicious.conf | 20 --
+ conf.d/60-fonts-persian.conf | 539
+ ---------------------------------------
+ conf.d/60-latin.conf | 42 +++
+ conf.d/65-fonts-persian.conf | 539
+ +++++++++++++++++++++++++++++++++++++++
+ conf.d/65-nonlatin.conf | 38 +++
+ conf.d/69-unifont.conf | 24 ++
+ conf.d/70-no-bitmaps.conf | 13 +
+ conf.d/70-no-sub-pixel.conf | 9 -
+ conf.d/70-sub-pixel-bgr.conf | 9 -
+ conf.d/70-sub-pixel-rgb.conf | 9 -
+ conf.d/70-sub-pixel-vbgr.conf | 9 -
+ conf.d/70-sub-pixel-vrgb.conf | 9 -
+ conf.d/70-yes-bitmaps.conf | 13 +
+ conf.d/73-autohint.conf | 9 -
+ conf.d/73-unhinted.conf | 9 -
+ conf.d/76-no-bitmaps.conf | 13 -
+ conf.d/76-yes-bitmaps.conf | 13 -
+ conf.d/80-delicious.conf | 20 ++
+ conf.d/90-synthetic.conf | 64 +++++
+ conf.d/Makefile.am | 55 ++--
+ conf.d/README | 46 +++-
+ fonts.conf.in | 207 ---------------
+ 39 files changed, 1113 insertions(+), 1006 deletions(-)
+
+commit 9596dce93b751c01770da175d208d78aeaf6ae00
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Sep 9 21:30:06 2006 -0700
+
+ Don't display tests for DESTDIR on make install.
+
+ Make install output quieter by eliding the shell commands
+ used to test for DESTDIR being set during make install.
+
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d08feb851a585b6cfe3ef1f390d60dd8886249b2
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Sep 9 21:29:08 2006 -0700
+
+ Include cachedir in fonts.dtd.
+
+ Fonts.dtd <fontconfig> element was missing the new cachedir element.
+
+ fonts.dtd | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 9419bb34f6eac685fcf957faf6a38a5cdfa811d9
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Sep 9 21:21:01 2006 -0700
+
+ Fix conf.d directory sorting.
+
+ Sort was using broken comparison function.
+
+ src/fcxml.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit 248b5903b7057b3c44ea1cd3a9b0d27624eba24a
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Sep 9 19:37:22 2006 -0700
+
+ Rename conf.avail to conf.d
+
+ Makefile.am | 2 +-
+ conf.avail/10-urw-aliases.conf | 52 ----
+ conf.avail/15-amt-aliases.conf | 21 --
+ conf.avail/20-fix-globaladvance.conf | 29 --
+ conf.avail/30-unhint-small-vera.conf | 49 ----
+ conf.avail/50-user.conf | 7 -
+ conf.avail/51-local.conf | 7 -
+ conf.avail/60-LohitGujarati.conf | 5 -
+ conf.avail/60-delicious.conf | 20 --
+ conf.avail/60-fonts-persian.conf | 539
+ -----------------------------------
+ conf.avail/70-no-sub-pixel.conf | 9 -
+ conf.avail/70-sub-pixel-bgr.conf | 9 -
+ conf.avail/70-sub-pixel-rgb.conf | 9 -
+ conf.avail/70-sub-pixel-vbgr.conf | 9 -
+ conf.avail/70-sub-pixel-vrgb.conf | 9 -
+ conf.avail/73-autohint.conf | 9 -
+ conf.avail/73-unhinted.conf | 9 -
+ conf.avail/76-no-bitmaps.conf | 13 -
+ conf.avail/76-yes-bitmaps.conf | 13 -
+ conf.avail/Makefile.am | 71 -----
+ conf.avail/README | 8 -
+ conf.d/10-urw-aliases.conf | 52 ++++
+ conf.d/15-amt-aliases.conf | 21 ++
+ conf.d/20-fix-globaladvance.conf | 29 ++
+ conf.d/30-unhint-small-vera.conf | 49 ++++
+ conf.d/50-user.conf | 7 +
+ conf.d/51-local.conf | 7 +
+ conf.d/60-LohitGujarati.conf | 5 +
+ conf.d/60-delicious.conf | 20 ++
+ conf.d/60-fonts-persian.conf | 539
+ +++++++++++++++++++++++++++++++++++
+ conf.d/70-no-sub-pixel.conf | 9 +
+ conf.d/70-sub-pixel-bgr.conf | 9 +
+ conf.d/70-sub-pixel-rgb.conf | 9 +
+ conf.d/70-sub-pixel-vbgr.conf | 9 +
+ conf.d/70-sub-pixel-vrgb.conf | 9 +
+ conf.d/73-autohint.conf | 9 +
+ conf.d/73-unhinted.conf | 9 +
+ conf.d/76-no-bitmaps.conf | 13 +
+ conf.d/76-yes-bitmaps.conf | 13 +
+ conf.d/Makefile.am | 71 +++++
+ conf.d/README | 8 +
+ configure.in | 1 -
+ 42 files changed, 898 insertions(+), 899 deletions(-)
+
+commit 9e292c889f1138b1af2f60621d7e2bfd8c490ff7
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Sep 9 16:52:21 2006 -0700
+
+ Add XML headers to new conf files. Move link make commands to
+ conf.avail dir
+
+ Fix up new config fragments to include XML headers as required.
+ Move symbolic link installation to conf.avail directory to centralize
+ both
+ steps.
+
+ conf.avail/10-urw-aliases.conf | 5 ++++
+ conf.avail/15-amt-aliases.conf | 5 ++++
+ conf.avail/20-fix-globaladvance.conf | 5 ++++
+ conf.avail/30-unhint-small-vera.conf | 5 ++++
+ conf.avail/Makefile.am | 22 +++++++++++++++
+ conf.d/Makefile.am | 52
+ ------------------------------------
+ 6 files changed, 42 insertions(+), 52 deletions(-)
+
+commit 49b44b277f2a8a67009a3b68b178b2f1a4c7f72a
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Sep 9 16:41:58 2006 -0700
+
+ Insert newly created caches into reference data structure.
+
+ All caches used in the application must be in the cache reference
+ list so
+ internal references can be tracked correctly. Failing to have
+ newly created
+ caches in the list would cause the cache to be deallocated while
+ references
+ were still present.
+
+ src/fccache.c | 17 ++++++++++++++---
+ 1 file changed, 14 insertions(+), 3 deletions(-)
+
+commit 766a9b2f61458202be0fbf5745ce1e02ecd95c6e
+Merge: 5d2f7a9 164e267
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Sep 9 15:49:24 2006 -0700
+
+ Merge branch 'jhcloos'
+
+commit 5d2f7a9d9224d4df1655cd1d6fd72646734b0272
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Sep 9 10:04:42 2006 -0700
+
+ Accept locale environment variables that do not contain territory.
+
+ Locale environment variables (LC_ALL, LC_CTYPE, LANG) must contain
+ language,
+ and may contain territory and encoding. Don't accidentally require
+ territory
+ as that will cause fontconfig to fall back to 'en'.
+
+ src/fcdefault.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit 164e267d286eccbbdde69e8935a658dced4331b4
+Author: James Cloos <cloos@lugabout.jhcloos.org>
+Date: Sat Sep 9 01:24:08 2006 -0400
+
+ Make conf.avail and conf.d work
+
+ Add conf.avail to configure.in
+
+ Add install: target to conf.d/Makefile.am to
+ create the initial symlinks to conf.avail
+
+ conf.d/Makefile.am | 52
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ configure.in | 1 +
+ 2 files changed, 53 insertions(+)
+
+commit f6cfbe16bfc252b46532f699b496e4a41a1a1c22
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Thu Sep 7 15:17:10 2006 -0700
+
+ Attempt to fix makealias usage for build on Mac OS X.
+
+ Avoid using fcalias.h or fcaliastail.h on systems which don't
+ support it.
+ Provided solution still generates these files, but does not use them.
+
+ src/fcint.h | 3 ++-
+ src/makealias | 2 ++
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+commit 6cff1dca81b60fcd75e19f3ed827aae98f643fd1
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Thu Sep 7 14:37:52 2006 -0700
+
+ Replace gnu-specific sed command with simple grep.
+
+ makealias was using a gnu-extension to sed addressing, replace that
+ with a
+ simple (and more robuse) grep command. Also, found a bug in the public
+ header file that was leaving one symbol out of the process.
+
+ fontconfig/fontconfig.h | 2 +-
+ src/makealias | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 31e0f0321057a7612ed5a7fa890dad09e6a53ee6
+Author: David Turner <david@freetype.org>
+Date: Thu Sep 7 14:29:35 2006 -0700
+
+ Replace character discovery loop with simpler, faster version.
+
+ The existing loop for discovering which characters map to glyphs is
+ ugly and
+ inefficient. The replacement is functionally identical, but far
+ cleaner and
+ faster.
+
+ src/fcfreetype.c | 83
+ ++++++++++++++++++++------------------------------------
+ 1 file changed, 30 insertions(+), 53 deletions(-)
+
+commit 8d779ce4b3cdac796e20ca568654c0ef1c576809
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Thu Sep 7 14:22:16 2006 -0700
+
+ Reference patterns in FcCacheCopySet.
+
+ As patterns are put into the font set copy, mark them as referenced
+ so the
+ cache stays around while the font set is in use.
+
+ src/fccache.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit 4c34c0c52a4e943c6770a6178e5012a3d6fe96d0
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Thu Sep 7 10:37:24 2006 -0700
+
+ Create fc_cachedir at install time. Bug 8157.
+
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 88b6bebc3d648464ad9bcb7f106694ed85a84460
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Wed Sep 6 23:58:14 2006 -0700
+
+ Update for version 2.3.97.
+
+ Makefile.am | 2 +-
+ README | 41 +++++++++++++++++++++++++++++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 4 files changed, 42 insertions(+), 5 deletions(-)
+
+commit c3796ac6061373bcf0276a931036987c01741215
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Wed Sep 6 17:45:40 2006 -0700
+
+ Charset hashing depended on uniqueness of leaves.
+
+ Charset hashing actually use the value of the leaf pointers, which is
+ clearly wrong, especially now that charsets are not shared across
+ multiple
+ font directories.
+
+ src/fccharset.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 08bef687018f2391c2f2b6fc3849878c121b67dd
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Wed Sep 6 17:43:08 2006 -0700
+
+ Parallel build fix for fcalias.h and fcaliastail.h
+
+ These are built from the same script, but creating a single
+ dependency rule
+ caused parallel make to run the script twice.
+
+ src/Makefile.am | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 8e0b03f55085d6fd80f6a262b496303f5a74d2ad
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Wed Sep 6 17:14:46 2006 -0700
+
+ Update architecture signatures for x86-64 and ppc.
+
+ I think the cache file data types are stable for now; add-back the
+ signatures for x86-64 and ppc.
+
+ fc-arch/fcarch.tmpl.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 23816bf9acbd6cc5dd942daaba3cc084ea70d99d
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Tue Sep 5 02:24:01 2006 -0700
+
+ Eliminate .so PLT entries for local symbols. (thanks to Arjan van
+ de Ven)
+
+ Using a simple shell script that processes the public headers,
+ two header
+ files are constructed that map public symbols to hidden internal
+ aliases
+ avoiding the assocated PLT entry for referring to a public symbol.
+
+ A few mistakes in the FcPrivate/FcPublic annotations were also
+ discovered
+ through this process
+
+ .gitignore | 2 ++
+ fc-arch/Makefile.am | 9 ++++++++-
+ fc-case/Makefile.am | 9 ++++++++-
+ fc-glyphname/Makefile.am | 9 ++++++++-
+ fc-lang/Makefile.am | 9 ++++++++-
+ fc-lang/fc-lang.c | 1 -
+ fontconfig/fontconfig.h | 10 +++++-----
+ src/Makefile.am | 15 ++++++++++++++-
+ src/fcatomic.c | 3 +++
+ src/fcblanks.c | 3 +++
+ src/fccache.c | 3 +++
+ src/fccfg.c | 3 +++
+ src/fccharset.c | 3 +++
+ src/fcdbg.c | 3 +++
+ src/fcdefault.c | 3 +++
+ src/fcdir.c | 3 +++
+ src/fcfreetype.c | 4 ++++
+ src/fcfs.c | 3 +++
+ src/fcinit.c | 3 +++
+ src/fcint.h | 5 ++++-
+ src/fclang.c | 3 +++
+ src/fclist.c | 3 +++
+ src/fcmatch.c | 3 +++
+ src/fcmatrix.c | 3 +++
+ src/fcname.c | 3 +++
+ src/fcpat.c | 3 +++
+ src/fcserialize.c | 3 +++
+ src/fcstr.c | 3 +++
+ src/fcxml.c | 3 +++
+ src/ftglue.c | 3 +++
+ src/makealias | 24 ++++++++++++++++++++++++
+ 31 files changed, 145 insertions(+), 12 deletions(-)
+
+commit 323ecd0cd3b8eeb50c4af87d57f2ea7b19f37215
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Mon Sep 4 23:19:59 2006 -0700
+
+ Correct reference count when sharing cache file objects.
+
+ Multiple maps of the same cache file share the same mapped object;
+ bump the
+ cache object reference count in this case
+
+ src/fccache.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit afe5a6716058e4b952a6ec1ab3f328a1c069a8c4
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Mon Sep 4 22:39:51 2006 -0700
+
+ Oops, fc-lang broke when I added cache referencing.
+
+ Add FcCacheObjectReference/FcCacheObjectDereference stubs to fc-cache.
+
+ fc-lang/fc-lang.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit 17389539a046f7231447d531ef7f3d131c1d7515
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Mon Sep 4 22:26:24 2006 -0700
+
+ Make cache reference counting more efficient.
+
+ Eliminate need to reference cache object once per cached font, instead
+ just count the number of fonts used from the cache and bump the
+ reference
+ count once by that amount. I think this makes this refernece technique
+ efficient enough for use.
+
+ src/fccache.c | 9 +++++++++
+ src/fccfg.c | 5 ++++-
+ src/fcint.h | 3 +++
+ 3 files changed, 16 insertions(+), 1 deletion(-)
+
+commit 9e612141df7e693ef98071f102cecb5d777ceecb
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Mon Sep 4 22:20:25 2006 -0700
+
+ Reference count cache objects.
+
+ Caches contain patterns and character sets which are reference
+ counted and
+ visible to applications. Reference count the underlying cache object
+ so that
+ it stays around until all reference objects are no longer in use.
+
+ This is less efficient than just leaving all caches around forever,
+ but does
+ avoid eternal size increases in case applications ever bother
+ to actually
+ look for changes in the font configuration.
+
+ src/fccache.c | 255
+ ++++++++++++++++++++++++++++++++++++++++++--------------
+ src/fccfg.c | 22 +----
+ src/fccharset.c | 5 ++
+ src/fcint.h | 16 ++--
+ src/fcpat.c | 10 ++-
+ 5 files changed, 213 insertions(+), 95 deletions(-)
+
+commit 8fe2104a1e5771ac8079a438fa21e00f946be8b3
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Mon Sep 4 13:59:58 2006 -0700
+
+ Leave cache files mapped permanently.
+
+ Without reference counting on cache objects, there's no way to
+ know when
+ an application is finished using objects pulled from the cache. Until
+ some
+ kinf of cache reference counting can be done, leave all cache
+ objects mapped
+ for the life of the library (until FcFini is called). To mitigate
+ the cost
+ of this, ensure that each instance of a cache file is mapped only
+ once.
+
+ src/fccache.c | 143
+ +++++++++++++++++++++++++++++++++++++++++++++-------------
+ src/fcinit.c | 1 +
+ src/fcint.h | 3 ++
+ 3 files changed, 116 insertions(+), 31 deletions(-)
+
+commit 469010c1bdd5cc8801405ef809540bd4b17f41c1
+Author: James Cloos <cloos@lugabout.jhcloos.org>
+Date: Mon Sep 4 15:57:19 2006 -0400
+
+ Update Makefile.am files
+
+ Makefile.am | 2 +-
+ conf.avail/Makefile.am | 34 ++++++++++++++++++++--------------
+ 2 files changed, 21 insertions(+), 15 deletions(-)
+
+commit c3425fa671663b11aa5288a0b52a0618c5d075ef
+Author: James Cloos <cloos@lugabout.jhcloos.org>
+Date: Mon Sep 4 15:47:52 2006 -0400
+
+ Move some section from fonts.conf into conf.avail files
+
+ URL aliases, AMT aliases, Che globaladvance fixes and Vera <8pt
+ unhinting
+ sections all moved into conf.avail, to load before user and local
+ confs.
+
+ conf.avail/10-urw-aliases.conf | 47 +++++++++++++
+ conf.avail/15-amt-aliases.conf | 16 +++++
+ conf.avail/20-fix-globaladvance.conf | 24 +++++++
+ conf.avail/30-unhint-small-vera.conf | 44 ++++++++++++
+ fonts.conf.in | 133
+ -----------------------------------
+ 5 files changed, 131 insertions(+), 133 deletions(-)
+
+commit 9a9fd975a1330e21f0184cdb237cfb2a2f19c098
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Mon Sep 4 12:46:01 2006 -0700
+
+ Can't typecheck values for objects with no known type.
+
+ Objects that aren't part of the built-in object list don't have
+ predefined
+ types, so we can't typecheck them.
+
+ src/fcxml.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 60018915891bd146271b687278782fe38b4c4461
+Author: James Cloos <cloos@lugabout.jhcloos.org>
+Date: Mon Sep 4 15:45:28 2006 -0400
+
+ Re-order old conf.d files
+
+ Make sure they continue to load after ~/.fonts.conf and local.conf
+
+ conf.avail/20-LohitGujarati.conf | 5 -
+ conf.avail/20-fonts-persian.conf | 539
+ --------------------------------------
+ conf.avail/30-no-sub-pixel.conf | 9 -
+ conf.avail/30-sub-pixel-bgr.conf | 9 -
+ conf.avail/30-sub-pixel-rgb.conf | 9 -
+ conf.avail/30-sub-pixel-vbgr.conf | 9 -
+ conf.avail/30-sub-pixel-vrgb.conf | 9 -
+ conf.avail/33-autohint.conf | 9 -
+ conf.avail/33-unhinted.conf | 9 -
+ conf.avail/36-no-bitmaps.conf | 13 -
+ conf.avail/36-yes-bitmaps.conf | 13 -
+ conf.avail/60-LohitGujarati.conf | 5 +
+ conf.avail/60-fonts-persian.conf | 539
+ ++++++++++++++++++++++++++++++++++++++
+ conf.avail/70-no-sub-pixel.conf | 9 +
+ conf.avail/70-sub-pixel-bgr.conf | 9 +
+ conf.avail/70-sub-pixel-rgb.conf | 9 +
+ conf.avail/70-sub-pixel-vbgr.conf | 9 +
+ conf.avail/70-sub-pixel-vrgb.conf | 9 +
+ conf.avail/73-autohint.conf | 9 +
+ conf.avail/73-unhinted.conf | 9 +
+ conf.avail/76-no-bitmaps.conf | 13 +
+ conf.avail/76-yes-bitmaps.conf | 13 +
+ 22 files changed, 633 insertions(+), 633 deletions(-)
+
+commit 31f8061b5d0a60f497eaafe6d38006ae71e53163
+Author: James Cloos <cloos@lugabout.jhcloos.org>
+Date: Mon Sep 4 15:36:46 2006 -0400
+
+ Make room for chunks from fonts.conf in conf.avail
+
+ conf.avail/10-LohitGujarati.conf | 5 -
+ conf.avail/10-fonts-persian.conf | 539
+ ---------------------------------------
+ conf.avail/20-LohitGujarati.conf | 5 +
+ conf.avail/20-fonts-persian.conf | 539
+ +++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 544 insertions(+), 544 deletions(-)
+
+commit d55620c90676951fc70ec9430c2670edca2147cb
+Author: James Cloos <cloos@lugabout.jhcloos.org>
+Date: Mon Sep 4 15:32:37 2006 -0400
+
+ Replace load of conf.d in fonts.conf.in
+
+ fonts.conf.in | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit f6e645c4993fff77d596dba734c09cdb255f4ca0
+Author: James Cloos <cloos@lugabout.jhcloos.org>
+Date: Mon Sep 4 15:30:10 2006 -0400
+
+ Update Makefile.am to match conf.avail changes
+
+ conf.avail/Makefile.am | 21 ++++++++++++---------
+ 1 file changed, 12 insertions(+), 9 deletions(-)
+
+commit cbdd74d6569b5975b86bd425b56b1b50aa73d2bb
+Author: James Cloos <cloos@lugabout.jhcloos.org>
+Date: Mon Sep 4 15:27:29 2006 -0400
+
+ Number the remaining conf.avail files
+
+ conf.avail/30-no-sub-pixel.conf | 9 +++++++++
+ conf.avail/30-sub-pixel-bgr.conf | 9 +++++++++
+ conf.avail/30-sub-pixel-rgb.conf | 9 +++++++++
+ conf.avail/30-sub-pixel-vbgr.conf | 9 +++++++++
+ conf.avail/30-sub-pixel-vrgb.conf | 9 +++++++++
+ conf.avail/33-autohint.conf | 9 +++++++++
+ conf.avail/33-unhinted.conf | 9 +++++++++
+ conf.avail/36-no-bitmaps.conf | 13 +++++++++++++
+ conf.avail/36-yes-bitmaps.conf | 13 +++++++++++++
+ conf.avail/autohint.conf | 9 ---------
+ conf.avail/no-bitmaps.conf | 13 -------------
+ conf.avail/no-sub-pixel.conf | 9 ---------
+ conf.avail/sub-pixel-bgr.conf | 9 ---------
+ conf.avail/sub-pixel-rgb.conf | 9 ---------
+ conf.avail/sub-pixel-vbgr.conf | 9 ---------
+ conf.avail/sub-pixel-vrgb.conf | 9 ---------
+ conf.avail/unhinted.conf | 9 ---------
+ conf.avail/yes-bitmaps.conf | 13 -------------
+ 18 files changed, 89 insertions(+), 89 deletions(-)
+
+commit a04ac99f0f3e487c7611772442727a6eb4f44393
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Mon Sep 4 02:13:13 2006 -0700
+
+ Hide FreeType glue code from library ABI.
+
+ FreeType glue code was escaping the shared library.
+
+ src/ftglue.h | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 4984242e3681a50a9c19f352783f145f91ecb868
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Mon Sep 4 00:47:07 2006 -0700
+
+ Hide private functions in shared library. Export functionality
+ for utilities.
+
+ Borrowing header stuff written for cairo, fontconfig now exposes
+ in the
+ shared library only the symbols which are included in the public
+ header
+ files. All private symbols are hidden using suitable compiler
+ directives.
+
+ A few new public functions were required for the fontconfig utility
+ programs
+ (fc-cat and fc-cache) so those were added, bumping the .so minor
+ version number
+ in the process.
+
+ configure.in | 9 +-
+ fc-cache/fc-cache.c | 30 ++--
+ fc-cat/Makefile.am | 2 +-
+ fc-cat/fc-cat.c | 37 ++---
+ fontconfig/fcfreetype.h | 14 +-
+ fontconfig/fontconfig.h | 403
+ ++++++++++++++++++++++++++++--------------------
+ src/fccache.c | 48 ++++++
+ src/fccharset.c | 5 -
+ src/fcint.h | 337 +++++++++++++++++++---------------------
+ 9 files changed, 481 insertions(+), 404 deletions(-)
+
+commit 57b42cef2ad2f18618ca0748325fc800165bdc1b
+Author: James Cloos <cloos@lugabout.jhcloos.org>
+Date: Mon Sep 4 01:33:09 2006 -0400
+
+ Move user and local conf file loading into conf.avail files
+
+ conf.avail/50-user.conf | 7 +++++++
+ conf.avail/51-local.conf | 7 +++++++
+ fonts.conf.in | 11 -----------
+ 3 files changed, 14 insertions(+), 11 deletions(-)
+
+commit 04ceb322c8e8c4bfc5f4df27d15e8353058a19b8
+Author: James Cloos <cloos@lugabout.jhcloos.org>
+Date: Mon Sep 4 01:28:07 2006 -0400
+
+ Support all five possibilities for sub-pixel
+
+ Make sub-pixel.conf be sub-pixel-rgb.conf and add the
+ three other possibilites: bgr, vrgb and vbgr.
+
+ conf.avail/sub-pixel-bgr.conf | 9 +++++++++
+ conf.avail/sub-pixel-rgb.conf | 9 +++++++++
+ conf.avail/sub-pixel-vbgr.conf | 9 +++++++++
+ conf.avail/sub-pixel-vrgb.conf | 9 +++++++++
+ conf.avail/sub-pixel.conf | 9 ---------
+ 5 files changed, 36 insertions(+), 9 deletions(-)
+
+commit 085d12cd4bcc215a5fb2bc403148e68c45bd3d2a
+Author: James Cloos <cloos@lugabout.jhcloos.org>
+Date: Mon Sep 4 01:24:02 2006 -0400
+
+ Standardize conf.avail number prefixing convention
+
+ Always use \d- rather than just \d as prefix
+
+ conf.avail/10-LohitGujarati.conf | 5 +++++
+ conf.avail/10LohitGujarati.conf | 5 -----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 709f32438d814f73b6ce677a48b81a238cd0d6aa
+Author: James Cloos <cloos@lugabout.jhcloos.org>
+Date: Mon Sep 4 01:21:55 2006 -0400
+
+ Move files from conf.d to conf.avail
+
+ All of the files in conf.d are now in conf.avail
+ Makefile.am is updated to reflect the change
+
+ Makefile.am | 2 +-
+ conf.avail/10-fonts-persian.conf | 539
+ +++++++++++++++++++++++++++++++++++++++
+ conf.avail/10LohitGujarati.conf | 5 +
+ conf.avail/60-delicious.conf | 20 ++
+ conf.avail/Makefile.am | 40 +++
+ conf.avail/README | 8 +
+ conf.avail/autohint.conf | 9 +
+ conf.avail/no-bitmaps.conf | 13 +
+ conf.avail/no-sub-pixel.conf | 9 +
+ conf.avail/sub-pixel.conf | 9 +
+ conf.avail/unhinted.conf | 9 +
+ conf.avail/yes-bitmaps.conf | 13 +
+ conf.d/10-fonts-persian.conf | 539
+ ---------------------------------------
+ conf.d/10LohitGujarati.conf | 5 -
+ conf.d/60-delicious.conf | 20 --
+ conf.d/Makefile.am | 40 ---
+ conf.d/README | 8 -
+ conf.d/autohint.conf | 9 -
+ conf.d/no-bitmaps.conf | 13 -
+ conf.d/no-sub-pixel.conf | 9 -
+ conf.d/sub-pixel.conf | 9 -
+ conf.d/unhinted.conf | 9 -
+ conf.d/yes-bitmaps.conf | 13 -
+ 23 files changed, 675 insertions(+), 675 deletions(-)
+
+commit 34227592c23db4d462d36773532cef67731e2831
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Sep 3 16:27:09 2006 -0700
+
+ Remove all .cvsignore files
+
+ .cvsignore | 35 -----------------------------------
+ conf.d/.cvsignore | 2 --
+ doc/.cvsignore | 16 ----------------
+ fc-cache/.cvsignore | 6 ------
+ fc-case/.cvsignore | 6 ------
+ fc-cat/.cvsignore | 6 ------
+ fc-glyphname/.cvsignore | 6 ------
+ fc-lang/.cvsignore | 6 ------
+ fc-list/.cvsignore | 6 ------
+ fc-match/.cvsignore | 6 ------
+ fontconfig/.cvsignore | 2 --
+ src/.cvsignore | 7 -------
+ test/.cvsignore | 2 --
+ 13 files changed, 106 deletions(-)
+
+commit 822ec78c54a24a0f1589154ac2d4906b02b111ef
+Merge: e79c648 fb2092c
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Sep 3 16:07:11 2006 -0700
+
+ Merge branch 'fc-2_4_branch' to master
+
+ Moving development back to master.
+
+commit fb2092c18fbf4af69e2cbafc265c4b0ad7e54346
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Sep 3 15:20:46 2006 -0700
+
+ Finish INSTALL changes. .gitignore ChangeLog
+
+ .gitignore | 1 +
+ INSTALL | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+commit 2ec3ed0806cfd2cd17cae4117a7047451a52cf95
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Sep 3 14:58:49 2006 -0700
+
+ Update instructions for doing a release. Autogen ChangeLog from
+ git-log.
+
+ INSTALL | 21 ++++++++++++++++-----
+ Makefile.am | 39 +++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 55 insertions(+), 5 deletions(-)
+
+commit d3c392b6693ce79fbab42e9a8cf543f6182c5917
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Sep 3 14:46:17 2006 -0700
+
+ Remove ChangeLog
+
+ ChangeLog | 3496
+ -------------------------------------------------------------
+ 1 file changed, 3496 deletions(-)
+
+commit 0945cbe73019404c880be0de7f703ef77aec8a08
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Sep 3 14:42:48 2006 -0700
+
+ Change version to 2.3.96
+
+ README | 67
+ +++++++++++++++++++++++++++++++++++++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 67 insertions(+), 4 deletions(-)
+
+commit 2a5ea80023657724e3e6ba629d828ab5e33bdb70
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Sep 2 23:10:59 2006 -0700
+
+ Oops; missed the 60-delicious.conf file.
+
+ This file fixes Delicious Heavy fonts to have the correct weight
+ value.
+
+ conf.d/60-delicious.conf | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit e3b771a63e837b341bbd1e3e7e9c868244506f62
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Sep 2 23:09:44 2006 -0700
+
+ Using uninitialized (and wrong) variable in FcStrCopyFilename.
+
+ A typo from the change in where filename canonicalization occurs.
+
+ src/fcstr.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 04cedae0d5a720662bdc0de3d4cb97f6c77e7d1a
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Sep 2 20:23:31 2006 -0700
+
+ Don't segfault when string values can't be parsed as charsets or
+ langsets.
+
+ If parsing charsets or langsets fails, return a FcTypeVoid value
+ instead of
+ a charset/langset value with a NULL pointer in it (which is invalid).
+
+ src/fcname.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit fb6e30ab3ef74021978d260fb7f2c40a0b5a0b06
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Sep 2 20:07:29 2006 -0700
+
+ Fix missing initialization/destruction of new 'scan' target subst
+ list.
+
+ Forgot to initialize and destroy the new substitution list for the
+ 'scan'
+ match target.
+
+ src/fccfg.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit c2c6976d1a88cc35143ffcc34f3c38d0a28d34f4
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Sep 2 17:52:12 2006 -0700
+
+ Add FcMatchScan to resolve Delicious font matching issues (bug #6769)
+
+ The Delicious family includes one named Delicious Heavy, a bold
+ variant
+ which is unfortunately marked as having normal weight. Because
+ the family
+ name is 'Delicious', fontconfig accidentally selects this font
+ instead of
+ the normal weight variant. The fix here rewrites the scanned data
+ by running
+ the scanned pattern through a new substitution sequence tagged with
+ <match target=scan>; a sample for the Delicious family is included to
+ demonstrate how it works (and fix Delicious at the same time).
+
+ Also added was a new match predicate -- the 'decorative' predicate
+ which is
+ automatically detected in fonts by searching style names for key
+ decorative
+ phrases like SmallCaps, Shadow, Embosed and Antiqua. Suggestions for
+ additional decorative key words are welcome. This should have
+ little effect
+ on font matching except when two fonts share the same characteristics
+ except
+ for this value.
+
+ conf.d/Makefile.am | 1 +
+ doc/fontconfig-user.sgml | 6 ++++--
+ fontconfig/fontconfig.h | 3 ++-
+ fonts.dtd | 6 +++++-
+ src/fccfg.c | 35 +++++++++++++++++++++++++++--------
+ src/fcdbg.c | 7 +++++++
+ src/fcdefault.c | 1 +
+ src/fcdir.c | 18 +++++++++++++++++-
+ src/fcfreetype.c | 34 +++++++++++++++++++++++++++++++++-
+ src/fcint.h | 2 ++
+ src/fcmatch.c | 33 ++++++++++++++++++++-------------
+ src/fcname.c | 34 ++++++++++++++++++++++++++++++----
+ src/fcxml.c | 4 ++++
+ 13 files changed, 153 insertions(+), 31 deletions(-)
+
+commit 3b8a03c09d3a45f578680b5fe80255af9761b3fa
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Sep 2 14:54:14 2006 -0700
+
+ Allow font caches to contain newer version numbers
+
+ Use the version number inside the cache file to mark backward
+ compatible
+ changes while continuing to reserve the filename number for
+ incompatible
+ changes.
+
+ src/fccache.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 9b511b290548ad2920cda94507a3311efc461e8a
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Sep 2 14:52:37 2006 -0700
+
+ Unify directory canonicalization into FcStrAddFilename.
+
+ Instead of making filename canonicalization occur in multiple
+ places, it
+ occurs only in FcStrAddFilename now, as all filenames pass through
+ that
+ function at one point.
+
+ fc-cache/fc-cache.c | 2 +-
+ fc-cat/fc-cat.c | 2 +-
+ src/fcdir.c | 17 ++++-------------
+ src/fcstr.c | 24 +++++++++++-------------
+ 4 files changed, 17 insertions(+), 28 deletions(-)
+
+commit 813258dc8e3a8c964af49abe810e76a95241926d
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 22:08:41 2006 -0700
+
+ Move Free family names to bottom of respective aliases. (bug 7429)
+
+ The FreeSans, FreeSerif and FreeMono fonts cover a large number of
+ languages, but are of generally poor quality. Moving these after
+ fonts which
+ cover specific languages but which have higher quality glyphs
+ should improve
+ font selection.
+
+ fonts.conf.in | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 5cafbd4da08aa8110a94deba59dc631c39ef7285
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 22:04:52 2006 -0700
+
+ Document FC_DEBUG values (bug 6393). Document name \ escape syntax.
+
+ Limited FC_DEBUG documentation (just shows values and vague idea
+ of what
+ they're related to). Also document \ escape syntax for font names,
+ including
+ how family name and values have different escape requirements.
+
+ doc/fontconfig-user.sgml | 40 ++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 38 insertions(+), 2 deletions(-)
+
+commit 7295c6f5faa595422e0825aa2e91883147d5b50e
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 21:30:54 2006 -0700
+
+ Guess that mac roman names with lots of high bits are actually SJIS.
+
+ Many Japanese fonts incorrectly include names tagged as Roman
+ encoding and
+ English language which are actually Japanese names in the SJIS
+ encoding.
+ Guess that names with a large number of high bits set are SJIS encoded
+ Japanese names rather than English names.
+
+ src/fcfreetype.c | 81
+ ++++++++++++++++++++++++++++++++++++++++++++------------
+ 1 file changed, 64 insertions(+), 17 deletions(-)
+
+commit db970d3596fbbc75f652f1a9fe7f7ce98e651ad2
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 21:12:44 2006 -0700
+
+ Prefer Bitstream Vera to DejaVu families.
+
+ DejaVu is a modified version of Bitstream Vera that covers
+ significantly
+ more languages, but does so with spotty quality, lacking hinting
+ for many
+ glyphs, especially for the synthesized serif oblique face. Use
+ Bitstream
+ Vera (where installed).
+
+ fonts.conf.in | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+commit 3bb1812f0d173b153415e2191ecdd27a95fc4b05
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 15:33:27 2006 -0700
+
+ Fonts matching lang not territory should satisfy sort pattern lang.
+
+ A pattern specifying 'Chinese' (:lang=zh) without a territory
+ should be
+ satisfied by any font supporting any Chinese lang. The code was
+ requiring
+ that the lang tags match exactly, causing this sort to fail.
+
+ src/fcmatch.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit cfccd4873a44da5b041368d5fca4f05180dcf041
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 13:22:45 2006 -0700
+
+ Really only rebuild caches for system fonts at make install time.
+
+ Oops. Fix actual fc-cache command line instead of just the displayed
+ version.
+
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit caf996342b53bf2ca4eedbe54bc86b68456d7470
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 12:59:09 2006 -0700
+
+ Add Assamese orthography (as.orth). Bug #8050
+
+ Behdad Esfahbod says Assamese is the same as Bengali, so this
+ just uses
+ bn.orth.
+
+ fc-lang/as.orth | 28 ++++++++++++++++++++++++++++
+ fc-lang/iso639-1 | 2 +-
+ 2 files changed, 29 insertions(+), 1 deletion(-)
+
+commit c9e6d2c8cc920937546faa63c889570fa7b4745c
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 12:45:43 2006 -0700
+
+ Chinese/Macau needs the Hong Kong orthography instead of Taiwan
+ (bug 7884)
+
+ From Abel Cheung:
+ Currently zh_mo.orth includes zh_tw.orth, which means it is assumed
+ Macau
+ only uses traditional Chinese characters used in Taiwan; however
+ that is
+ wrong, as a majority of Macau people speaks Cantonese too, and
+ also uses
+ additional traditional Chinese chars from Hong Kong (there are
+ already some
+ place names that can't be represented in just chars used in
+ Taiwan). So it
+ should include zh_hk.orth instead.
+
+ fc-lang/zh_mo.orth | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+commit 5b8e43a48ea1a5fb4e54dd12fe965439df2bf95d
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 12:36:31 2006 -0700
+
+ Avoid #warning directives on non-GCC compilers. (bug 7683)
+
+ Detect GCC and use #warning only on GCC systems.
+
+ configure.in | 4 +++-
+ src/fcfreetype.c | 2 ++
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+commit ab2cb932b25af20896c08f4641dfa696ed651418
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 12:26:15 2006 -0700
+
+ Add @EXPAT_LIBS@ to Libs.private in fontconfig.pc (bug 7683)
+
+ Linking against fontconfig requires expat on systems without chained
+ shared
+ library dependencies.
+
+ fontconfig.pc.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 1741499e2387f0c1e692801a1ef3c6ce5d043f9f
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 12:07:10 2006 -0700
+
+ Fix memory leaks in fc-cache directory cleaning code.
+
+ valgrind found a few leaks in the new cache cleaning code.
+
+ fc-cache/fc-cache.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit fd7223c770e74730480bdf9ecf36f3152a12473e
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 12:05:04 2006 -0700
+
+ Only rebuild caches for system fonts at make install time.
+
+ Rebuilding user-specific fonts will stick those cache files in
+ the system
+ font cache directory.
+
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8587d77ce64147b7fb324458ba100910ebba93f4
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 02:27:45 2006 -0700
+
+ Add some ignores
+
+ .gitignore | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 09bd9ae2be032efb05a8be7bae584fa18756d951
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 02:22:59 2006 -0700
+
+ Fontset pattern references are relative to fontset, not array.
+
+ Within a fontset, the patterns are stored as pointers in an array.
+ When stored as offsets, the offsets are relative to the fontset object
+ itself, not the base of the array of pointers.
+
+ src/fcint.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 18b6857c6476517db7932025847ae952feba758d
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 01:49:47 2006 -0700
+
+ Fix fc-lang to use new charset freezer API.
+
+ Charset freezer api now uses allocated object. Also required minor
+ fixes to
+ charset freezer code to remove assumption that all input charsets are
+ persistant.
+
+ fc-lang/fc-lang.c | 30 ++++++++++++++++++------------
+ src/fccharset.c | 11 +++++------
+ src/fcint.h | 6 ++++++
+ 3 files changed, 29 insertions(+), 18 deletions(-)
+
+commit bc5e487f2a1ad9946aa5c6e19cd75794fc38d530
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 01:15:14 2006 -0700
+
+ Pass directory information around in FcCache structure. Freeze
+ charsets.
+
+ Instead of passing directory information around in separate variables,
+ collect it all in an FcCache structure. Numerous internal and tool
+ interfaces changed as a result of this.
+
+ Charsets are now pre-frozen before being serialized. This causes
+ them to
+ share across multiple fonts in the same cache.
+
+ fc-cache/fc-cache.c | 109 ++++-----
+ fc-cat/fc-cat.c | 83 ++-----
+ fc-glyphname/fc-glyphname.c | 13 --
+ src/fccache.c | 300 ++++++++++--------------
+ src/fccfg.c | 169 ++++++++------
+ src/fccharset.c | 550
+ +++++++++++++++++++++++---------------------
+ src/fcdir.c | 177 +++++++-------
+ src/fcinit.c | 1 -
+ src/fcint.h | 60 ++---
+ src/fcpat.c | 8 +
+ src/fcserialize.c | 3 +
+ 11 files changed, 702 insertions(+), 771 deletions(-)
+
+commit aec8c90b450c115718fd87bc270e35ee6b605967
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Fri Sep 1 01:12:13 2006 -0700
+
+ Remove stale architecture signatures.
+
+ All but x86 are known to be wrong.
+
+ fc-arch/fcarch.tmpl.h | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit 551b6b2cd7d94dd90a9eb22bdb752f264afc48ce
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Thu Aug 31 18:16:00 2006 -0700
+
+ Allow FcTypeLangSet to match either FcTypeLangSet or FcTypeString.
+
+ Applications explicitly setting FC_LANG with string would fail due
+ to typechecking disallowing this case.
+
+ src/fcname.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit bf0c80fc4996157dda7bed8b8b2e4c8a13611ada
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Thu Aug 31 18:14:45 2006 -0700
+
+ Change $(pkgcachedir) to $(fc_cachedir) in fc-cat and fc-cache
+ Makefile.am
+
+ make distcheck caught this bug; the effect of 'make uninstall'
+ would have been to execute 'rm -rf /', somewhat less that desirable.
+
+ fc-cache/Makefile.am | 6 ++----
+ fc-cat/Makefile.am | 2 --
+ 2 files changed, 2 insertions(+), 6 deletions(-)
+
+commit f57783d2e9c7362b1e5d5e3a967ba90fa49ade6e
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Thu Aug 31 14:38:18 2006 -0700
+
+ Revert ABI changes from version 2.3
+
+ Accidental ABI changes and additions were discovered by looking at the
+ differences in fontconfig.h. All of those have been reverted.
+
+ fc-cache/fc-cache.c | 4 ++--
+ fc-list/fc-list.c | 2 +-
+ fontconfig/fontconfig.h | 23 +++++------------------
+ src/fccache.c | 16 ++++++++++++++--
+ src/fcint.h | 6 ++++++
+ 5 files changed, 28 insertions(+), 23 deletions(-)
+
+commit 0a87ce715e1862c56702f5be43af9f246aa34e68
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Thu Aug 31 11:56:43 2006 -0700
+
+ With no args, fc-cat now dumps all directories.
+
+ Automatically list all font directories when no arguments are given to
+ fc-cat. Also add -r option to recurse from specified cache
+ directories.
+ fc-cat also now prints the cache filename in verbose mode, along
+ with the
+ related directory name.
+
+ fc-cat/fc-cat.c | 119
+ +++++++++++++++++++++++++++++++++++++++++++-------------
+ src/fccache.c | 16 +++++---
+ src/fcint.h | 2 +-
+ 3 files changed, 104 insertions(+), 33 deletions(-)
+
+commit d8ab9e6c42cb3513a6623df0c2866e1ebbd96485
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Thu Aug 31 09:42:49 2006 -0700
+
+ Automatically remove invalid cache files.
+
+ Cache files for missing or more recently modified directories are
+ automatically removed at the end of every fc-cache run.
+
+ fc-cache/Makefile.am | 2 +-
+ fc-cache/fc-cache.c | 130
+ ++++++++++++++++++++++++++++++++++++++++++++++++++-
+ fc-cat/fc-cat.c | 3 +-
+ src/fccache.c | 6 +--
+ src/fcint.h | 2 +-
+ 5 files changed, 135 insertions(+), 8 deletions(-)
+
+commit e9a564e2cd3cb40109a1133dbbcee9f938f141b3
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Thu Aug 31 09:07:32 2006 -0700
+
+ Serialized value lists were only including one value.
+
+ The next pointer in the serialized value list wasn't getting set,
+ so they
+ were truncated at a single value.
+
+ src/fcpat.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit c50ea916b0e56520948804b67fc7df57bb490575
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Wed Aug 30 23:09:39 2006 -0700
+
+ Use intptr_t instead of off_t inside FcCache structure.
+
+ This avoids OS-dependencies in the cache file structure.
+
+ src/fcint.h | 2 +-
+ src/fcserialize.c | 1 -
+ 2 files changed, 1 insertion(+), 2 deletions(-)
+
+commit 76abb77f26c43d069919f80e960c71c2242fb5c2
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Wed Aug 30 22:23:25 2006 -0700
+
+ Fix fc-cat again. Sigh.
+
+ Internal interfaces in cache management changed again...
+
+ fc-cat/fc-cat.c | 37 +++++++++++++++++++++++++------------
+ src/fccache.c | 19 ++++++++++---------
+ src/fcint.h | 9 ++++++---
+ 3 files changed, 41 insertions(+), 24 deletions(-)
+
+commit 2d3387fd720f33f80847ae6cbb83d94c9a52fde3
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Wed Aug 30 21:59:53 2006 -0700
+
+ Skip broken caches. Cache files are auto-written, don't rewrite
+ in fc-cache.
+
+ Validate cache contents and skip broken caches, looking down cache
+ path for
+ valid ones.
+
+ Every time a directory is scanned, it will be written to a cache
+ file if
+ possible, so fc-cache doesn't need to re-write the cache file. This
+ makes
+ detecting when the cache was generated a bit tricky, so we guess
+ that if the
+ cache wasn't valid before running and is valid afterwards, the
+ cache file
+ was written.
+
+ Also, allow empty charsets to be serialized with null leaves/numbers.
+
+ Eliminate a leak in FcEdit by switching to FcObject sooner.
+
+ Call FcFini from fc-match to make valgrind happy.
+
+ fc-cache/fc-cache.c | 25 +++++----
+ fc-match/fc-match.c | 1 +
+ src/fccache.c | 148
+ +++++++++++++++++++++++++++-------------------------
+ src/fccfg.c | 80 ++++++++--------------------
+ src/fccharset.c | 56 +++++++++++---------
+ src/fcdir.c | 2 +-
+ src/fcint.h | 19 +++++--
+ src/fcxml.c | 19 +++----
+ 8 files changed, 169 insertions(+), 181 deletions(-)
+
+commit 09f9f6f62ac94f7b1a6df649a00c64f78ab132f5
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Wed Aug 30 18:50:58 2006 -0700
+
+ Rework Object name database to unify typechecking and object lookup.
+
+ Eliminate ancient list of object name databases and load names
+ into single
+ hash table that includes type information. Typecheck all pattern
+ values to
+ avoid mis-typed pattern elements.
+
+ fc-case/fc-case.c | 13 --
+ src/fcint.h | 7 +-
+ src/fcmatch.c | 9 +-
+ src/fcname.c | 389
+ ++++++++++++++++++++++++++++++------------------------
+ src/fcpat.c | 2 +-
+ 5 files changed, 233 insertions(+), 187 deletions(-)
+
+commit c02886485b293179e8492cad9a34eb431dd4bfc9
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Wed Aug 30 13:51:03 2006 -0700
+
+ FcCharSetSerialize was using wrong offset for leaves. Make fc-cat
+ work.
+
+ FcCharSetSerialize was computing the offset to the unserialized leaf,
+ which left it pointing at random data when the cache was reloaded.
+
+ fc-cat has been updated to work with the new cache structure.
+
+ Various debug messages extended to help diagnose serialization errors.
+
+ fc-cat/fc-cat.c | 134
+ ++++++++++++++++++++++++++++++--------------------------
+ src/fccache.c | 6 +--
+ src/fccharset.c | 3 +-
+ src/fcdbg.c | 20 +++++++--
+ src/fcint.h | 15 +++++--
+ src/fcpat.c | 7 +++
+ 6 files changed, 110 insertions(+), 75 deletions(-)
+
+commit e3096d90fd3e0ba8b62d2c6df4cfb24f08a0766c
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Wed Aug 30 04:24:03 2006 -0700
+
+ Fix build problems caused by cache rework.
+
+ Pagesize no longer matters in architecture decisions, the entire
+ cache file
+ is mmaped into the library. However, lots of intptr_t values are in
+ use now,
+ so that value is important.
+
+ fc-lang now requires fcserialize.c, which has been added to the
+ repository.
+
+ fc-arch/fc-arch.c | 14 +----
+ fc-arch/fcarch.tmpl.h | 4 +-
+ fc-lang/fc-lang.c | 1 +
+ src/fcserialize.c | 159
+ ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 165 insertions(+), 13 deletions(-)
+
+commit 7ce196733129b0e664c1bdc20f973f15167292f7
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Wed Aug 30 04:16:22 2006 -0700
+
+ Rework cache files to use offsets for all data structures.
+
+ Replace all of the bank/id pairs with simple offsets, recode several
+ data structures to always use offsets inside the library to avoid
+ conditional paths. Exposed data structures use pointers to hold
+ offsets,
+ setting the low bit to distinguish between offset and pointer.
+
+ Use offset-based data structures for lang charset encodings;
+ eliminates
+ separate data structure format for that file.
+
+ Much testing will be needed; offsets are likely not detected
+ everywhere in
+ the library yet.
+
+ fc-arch/fcarch.tmpl.h | 3 +-
+ fc-lang/fc-lang.c | 185 +++++----
+ fontconfig/fontconfig.h | 3 -
+ src/Makefile.am | 1 +
+ src/fccache.c | 581 +++++++++++----------------
+ src/fccfg.c | 102 +++--
+ src/fccharset.c | 493 ++++++++---------------
+ src/fcdbg.c | 43 +-
+ src/fcdefault.c | 64 +--
+ src/fcfs.c | 133 ++----
+ src/fcint.h | 477 +++++++++++++---------
+ src/fclang.c | 120 ++----
+ src/fclist.c | 86 ++--
+ src/fcmatch.c | 179 +++------
+ src/fcname.c | 142 ++-----
+ src/fcpat.c | 1025
+ ++++++++++++++---------------------------------
+ src/fcstr.c | 1 +
+ src/fcxml.c | 15 +-
+ 18 files changed, 1394 insertions(+), 2259 deletions(-)
+
+commit 2a9179d8895c1cc90d02917f7bb6fac30ffb6a62
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Mon Aug 28 11:51:12 2006 -0700
+
+ Revert to original FcFontSetMatch algorithm to avoid losing fonts.
+
+ The fancy new FcFontSetMatch algorithm would discard fonts for the
+ wrong reasons; fc-match sans:lang=en,ja would discard all fonts
+ without
+ Japanese support. This commit reverts to the original algorithm which
+ ensure that FcFontSetMatch always matches the first font in the
+ FcFontSetSort return list.
+
+ src/fcmatch.c | 229
+ ++++++++--------------------------------------------------
+ 1 file changed, 32 insertions(+), 197 deletions(-)
+
+commit ad05e3135b43f82c64d74f17dfec0b44fe7efcf0
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Mon Aug 28 10:38:27 2006 -0700
+
+ Add ppc architecture
+
+ fc-arch/fcarch.tmpl.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 7a03bbdceb4ea5b673caf89bfcafa84211a456f0
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Mon Aug 28 10:30:22 2006 -0700
+
+ During test run, remove cache directory to avoid stale cache usage.
+
+ As file timestamps have only one second granularity, an old cache
+ file could easily be used when a test took less than 1 second to run.
+ Just remove the cache directory and its contents before each test
+ is run.
+ Also, remove mention of the old cache file from the test config file.
+
+ test/fonts.conf.in | 1 -
+ test/run-test.sh | 4 +---
+ 2 files changed, 1 insertion(+), 4 deletions(-)
+
+commit 1e4080ea49160c5af24400b8daf701412a0cc7cb
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Mon Aug 28 10:07:43 2006 -0700
+
+ Add x86-64 architecture and signature.
+
+ fc-arch/fcarch.tmpl.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 7db39f729859827b246da242a26ddba13cb8c4b1
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Mon Aug 28 09:43:12 2006 -0700
+
+ Regenerate x86 line in fcarch.tmpl.h to match change in cache data.
+
+ Also remove spurious printf of directory names.
+
+ fc-arch/Makefile.am | 2 +-
+ fc-arch/fcarch.tmpl.h | 2 +-
+ src/fcdir.c | 1 -
+ 3 files changed, 2 insertions(+), 3 deletions(-)
+
+commit 0d9e31c810a36cddadff7572fdbb5a1b505e495e
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Aug 27 23:40:51 2006 -0700
+
+ Eliminate ./ and ../ elements from font directory names when scanning.
+
+ FcStrCanonFilename eliminates ./ and ../ elements from pathnames
+ through
+ simple string editing. Also, relative path names are fixed by
+ prepending the
+ current working directory.
+
+ src/fcdir.c | 45 ++++++++++++++++++++++++++++++---------------
+ src/fcint.h | 3 +++
+ src/fcstr.c | 57
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 90 insertions(+), 15 deletions(-)
+
+commit af180c40376690b7ced5262156fbe13c9ebba1e2
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Aug 27 22:24:39 2006 -0700
+
+ Fix up fc-cache and fc-cat for no global cache changes.
+
+ fc-cache and fc-cat use internal (fcint.h) APIs that have
+ changed with the elimination of the global cache.
+
+ fc-cache/fc-cache.c | 2 +-
+ fc-cat/fc-cat.c | 119
+ ++++++----------------------------------------------
+ src/fccache.c | 77 +++++++++++++++++++++++-----------
+ src/fcdir.c | 13 +++---
+ src/fcint.h | 4 ++
+ 5 files changed, 76 insertions(+), 139 deletions(-)
+
+commit 00f059e930f12ca7c66cf2ffbc6c4ae789912af7
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Aug 27 21:53:48 2006 -0700
+
+ Eliminate global cache. Eliminate multi-arch cache code.
+
+ With the removal of the in-directory cache files, and the addition of
+ per-user cache directories, there is no longer any reason to
+ preserve the
+ giant global cache file. Eliminating of this unifies the cache
+ structure
+ and simplifies the overall caching strategies greatly.
+
+ fc-cache/fc-cache.c | 3 +-
+ src/fccache.c | 1051
+ ++++++---------------------------------------------
+ src/fccfg.c | 23 +-
+ src/fcdir.c | 164 ++++----
+ src/fcint.h | 70 +---
+ 5 files changed, 203 insertions(+), 1108 deletions(-)
+
+commit cf65c0557e9fa1b86003d1ec8643f44f4344ebd2
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Aug 27 18:29:51 2006 -0700
+
+ Add architecture to cache filename.
+
+ Make cache filenames unique by inserting the architecture name
+ into the
+ filename.
+
+ src/fccache.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit db50cbdaf592349c204ab0af0e7061ea72237044
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Aug 27 18:19:39 2006 -0700
+
+ Eliminate NormalizeDir. Eliminate gratuitous stat/access calls
+ per dir.
+
+ Normalized directory names offer protection against looped directory
+ trees
+ but cost enormous numbers of system calls (stat per file in the
+ hierarchy).
+ Also, cache file directory name contents are validated each time the
+ directory is modified, don't re-validate every time the cache file
+ is loaded
+ with an access and stat call.
+
+ fc-cache/fc-cache.c | 7 ++--
+ src/fccache.c | 55 ++---------------------------
+ src/fccfg.c | 100
+ ----------------------------------------------------
+ src/fcdir.c | 6 ----
+ 4 files changed, 4 insertions(+), 164 deletions(-)
+
+commit d2f786849c0c4503360a5c09469505b05164c6d2
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Aug 27 17:04:01 2006 -0700
+
+ Write caches to first directory with permission. Valid cache in
+ FcDirCacheOpen.
+
+ Previous policy was to attempt to update the cache in place and bail
+ if that
+ didn't work. Now, search for the first writable directory and
+ place the
+ cache file there instead. Furthermore, on startup, search directory
+ list for
+ valid cache files instead of bailing if the first found cache
+ file wasn't
+ valid.
+
+ fonts.conf.in | 2 +-
+ src/fccache.c | 90
+ ++++++++++++++++++++++++++++-------------------------------
+ 2 files changed, 43 insertions(+), 49 deletions(-)
+
+commit 2b629781d74b5a7db1fff873ce5322e59a0f863a
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Aug 27 16:25:07 2006 -0700
+
+ Construct short architecture name from architecture signature.
+
+ Map existing architecture signature to short architecture name
+ at build time. This architecture name is (as yet) unused, but will
+ be used
+ to build per-architecture cache files with names made unique by
+ including
+ the architecture name. The auto-detected architecture name can
+ be overridden
+ with the --with-arch=ARCH configure option.
+
+ Makefile.am | 2 +-
+ configure.in | 17 ++++++
+ fc-arch/Makefile.am | 50 ++++++++++++++++++
+ fc-arch/fc-arch.c | 144
+ ++++++++++++++++++++++++++++++++++++++++++++++++++
+ fc-arch/fcarch.tmpl.h | 32 +++++++++++
+ 5 files changed, 244 insertions(+), 1 deletion(-)
+
+commit 199a92241151c391d9becca4fae1cc7e5e32ca80
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Aug 27 16:21:16 2006 -0700
+
+ Add .gitignore
+
+ .gitignore | 73
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 73 insertions(+)
+
+commit 7410e40bd93beb4ab1a577d084112413431cede2
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Aug 4 16:13:00 2006 +0000
+
+ 2006-08-04 Keith Packard (keithp@keithp.com) reviewed by: plam
+ Make cache directories configurable. Simplify and correct some
+ code which
+ deals with per-directory caches.
+
+ ChangeLog | 24 ++++
+ configure.in | 22 +++-
+ fc-cache/fc-cache.c | 7 +-
+ fontconfig/fontconfig.h | 4 +-
+ fonts.conf.in | 5 +
+ fonts.dtd | 12 ++
+ src/Makefile.am | 3 +-
+ src/fccache.c | 323
+ +++++++++++++++++++++++++-----------------------
+ src/fccfg.c | 28 ++++-
+ src/fcdir.c | 6 +-
+ src/fcinit.c | 2 +
+ src/fcint.h | 13 +-
+ src/fcxml.c | 17 +++
+ test/fonts.conf.in | 1 +
+ test/run-test.sh | 6 +-
+ 15 files changed, 294 insertions(+), 179 deletions(-)
+
+commit 62a4a8459adaf26833e1dad0ee96ea5a4b8c3d54
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Jul 19 02:14:28 2006 +0000
+
+ 2006-07-19 Jon Burgess (jburgess@uklinux.net) reviewed by: plam
+ Fix file-descriptor leak in FcGlobalCacheDestroy.
+
+ ChangeLog | 7 +++++++
+ src/fccache.c | 2 ++
+ 2 files changed, 9 insertions(+)
+
+commit 1c14f2d96390ebafb390a953aa9b847e4a7303d7
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Jun 2 18:48:30 2006 +0000
+
+ 2006-05-31 Yong Li (rigel863@gmail.com) reviewed by: plam, Bedhad
+ Esfahbod
+ TrueType Collection table offsets are absolute, not relative.
+
+ ChangeLog | 7 +++++++
+ src/ftglue.c | 2 +-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+commit 31b7e6d7f58616ebdc6281c3230282a2d7b57d6d
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Apr 28 07:00:25 2006 +0000
+
+ 2006-04-27 Paolo Borelli (pborelli@katamail.com) reviewed by: plam
+ Make FcStrCopy slightly more efficient.
+
+ ChangeLog | 7 +++++++
+ src/fcstr.c | 12 +++++++-----
+ 2 files changed, 14 insertions(+), 5 deletions(-)
+
+commit 0037aad501e18e53acd2590483b99aaa2a1fba8c
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Apr 27 08:13:45 2006 +0000
+
+ Keith Packard <keithp@keithp.com>
+ Reduce transient memory usage during config file parsing by allocating
+ smaller buffers (64 seems to be a magic number).
+
+ ChangeLog | 20 +++++++-------------
+ src/fcstr.c | 2 +-
+ 2 files changed, 8 insertions(+), 14 deletions(-)
+
+commit 529291bef436384a06db246fda30e08d5812de14
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Apr 27 07:54:07 2006 +0000
+
+ Eliminate pattern freezing
+
+ ChangeLog | 8 ++
+ src/fcinit.c | 4 -
+ src/fcint.h | 3 -
+ src/fcpat.c | 370
+ -----------------------------------------------------------
+ src/fcxml.c | 3 +-
+ 5 files changed, 9 insertions(+), 379 deletions(-)
+
+commit c1c3ba06d5f5e00a1bfef4ef0dbf10f28fa86ce2
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Apr 27 07:11:44 2006 +0000
+
+ Make path names in cache files absolute (NB, cache format change) Stop
+ permitting cache files to be stored in font dirs. Bump cache
+ magic.
+ Don't include /fonts.cache-2 in cache hash construction.
+ reviewed by: Patrick Lam <plam@mit.edu>
+
+ ChangeLog | 30 +++++++++++++
+ src/fccache.c | 104 +++++++++++---------------------------------
+ src/fcfreetype.c | 10 +----
+ src/fcint.h | 8 +---
+ src/fclist.c | 4 --
+ src/fcmatch.c | 3 --
+ src/fcpat.c | 130
+ -------------------------------------------------------
+ 7 files changed, 57 insertions(+), 232 deletions(-)
+
+commit 3b013a034acac70f3ceee05505bf5bb4dd45963b
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Apr 26 14:50:41 2006 +0000
+
+ Really update for 2.3.95.
+
+ README | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 73775d8f28bd8f5c40b524fe1ede63d3dfaff171
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Apr 25 15:33:07 2006 +0000
+
+ Fix the issues with GNU libiconv vs. libc iconv (which especially
+ appear on
+ Solarii). Approach suggested by Tim Mooney.
+ reviewed by: plam
+
+ ChangeLog | 12 +++++++++++-
+ configure.in | 37 +++++++++++++++++++++++++++++++++++--
+ src/Makefile.am | 2 +-
+ src/fcfreetype.c | 3 +--
+ 4 files changed, 48 insertions(+), 6 deletions(-)
+
+commit 49512317264da1996bddf0b3c82d8d2de0c201eb
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Apr 25 06:12:06 2006 +0000
+
+ Include $(top_srcdir), $(top_srcdir)/src before anything else.
+ Shuffle order of includes for building out of srcdir on win32.
+ reviewed by: plam
+
+ ChangeLog | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+commit f045376c0831f068e8fd8fd61773a5ed83dede7f
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Apr 25 05:57:41 2006 +0000
+
+ Include $(top_srcdir), $(top_srcdir)/src before anything else.
+ Shuffle order of includes for building out of srcdir on win32.
+ reviewed by: plam
+
+ fc-cache/fc-cache.c | 15 ++++++++-------
+ fc-cat/fc-cat.c | 17 +++++++++--------
+ fc-match/fc-match.c | 11 ++++++-----
+ src/Makefile.am | 6 +++---
+ src/fccache.c | 2 +-
+ src/fccfg.c | 2 +-
+ src/fccharset.c | 2 +-
+ src/fcdbg.c | 2 +-
+ src/fcfreetype.c | 2 +-
+ src/fcfs.c | 2 +-
+ src/fcinit.c | 2 +-
+ src/fclist.c | 2 +-
+ src/fcmatch.c | 2 +-
+ src/fcmatrix.c | 2 +-
+ src/fcname.c | 2 +-
+ src/fcpat.c | 2 +-
+ src/fcstr.c | 2 +-
+ src/fcxml.c | 2 +-
+ 18 files changed, 40 insertions(+), 37 deletions(-)
+
+commit 55e145b0250e5c233d9fed1f8f5efe690374cdf2
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Apr 20 16:57:50 2006 +0000
+
+ Prevent terrible perf regression by getting the if-condition right
+ (reported by Wouter Bolsterlee).
+
+ ChangeLog | 8 +++++++-
+ src/fcmatch.c | 2 +-
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+commit 93f67dfc73601ea2f73c1fa2d9f4f13a84cf1232
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Apr 19 16:53:50 2006 +0000
+
+ Dominic Lachowicz <cinamod@hotmail.com>
+ Implement mmap-like code for Windows using MapViewOfFile.
+
+ ChangeLog | 7 +++++++
+ src/fccache.c | 23 ++++++++++++++++++++---
+ 2 files changed, 27 insertions(+), 3 deletions(-)
+
+commit 56f8358364ad9078d99a35a12d7734884b8fccc2
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Apr 19 16:17:46 2006 +0000
+
+ Bump version to 2.3.95.
+
+ ChangeLog | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit c001a192af784a3e7aa680cc925a4f6fc8f5b502
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Apr 19 16:17:19 2006 +0000
+
+ Bail gracefully if the cache file does not contain enough data.
+
+ ChangeLog | 5 +++++
+ README | 23 +++++++++++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ src/fccache.c | 19 ++++++++++++++++++-
+ 5 files changed, 46 insertions(+), 5 deletions(-)
+
+commit a77572948ed9ce3e7fdffcfadd8772a5f962e4ed
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Apr 15 00:25:20 2006 +0000
+
+ Give the 'Standard Symbols L' match a strong (vs. weak) binding.
+
+ ChangeLog | 5 +++++
+ fonts.conf.in | 13 ++++++++-----
+ 2 files changed, 13 insertions(+), 5 deletions(-)
+
+commit 8cfa0bbc822169c5c2dae8a0e089c225c5944558
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Apr 14 18:35:16 2006 +0000
+
+ Fix Gecko-exposed segfault from my last hack to FcObjectToPtrLookup.
+ Simplify code and get things straight.
+
+ ChangeLog | 6 ++++++
+ src/fcname.c | 20 +++++---------------
+ 2 files changed, 11 insertions(+), 15 deletions(-)
+
+commit b43dbbdc92fc81d6f8e54b30c2d5062c1a20a105
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Apr 14 15:40:58 2006 +0000
+
+ Actually, just add URW fonts as aliases for all of the PostScript
+ fonts.
+ (reported by Miguel Rodriguez).
+
+ ChangeLog | 6 ++++++
+ fonts.conf.in | 36 ++++++++++++++++++++++++++++++------
+ 2 files changed, 36 insertions(+), 6 deletions(-)
+
+commit ca2556f2632f80ae4ed7e5c9e5f5bf8f3e738992
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Apr 14 14:51:22 2006 +0000
+
+ Add an alias 'Standard Symbols L' for 'Symbol'.
+
+ ChangeLog | 5 +++++
+ fonts.conf.in | 6 +++++-
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+commit 2f02e38361b24032945e24f7f8480999bf9df1e2
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Apr 12 14:36:36 2006 +0000
+
+ Fix memory leak (Coverity defect #2089).
+ Ignore script if subtable is missing (Coverity defect #2088).
+ Fix possible null pointer dereference (Coverity defect #784)
+ and memory
+ leak (Coverity defects #785, #786).
+ Don't copy FcCharSet if we're going to throw it away anyway. (Reported
+ by
+ Kenichi Handa).
+ reviewed by: plam
+
+ ChangeLog | 21 +++++++++++++++++++++
+ src/fccfg.c | 4 +++-
+ src/fcfreetype.c | 5 +----
+ src/fcmatch.c | 33 ++++++++++++++++++++-------------
+ src/fcpat.c | 7 ++++++-
+ 5 files changed, 51 insertions(+), 19 deletions(-)
+
+commit a56e89ab4f21aa6288345c63d2c43e55561632e0
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Apr 12 03:02:57 2006 +0000
+
+ Fix bad behaviour on realloc resulting in crash.
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ src/fcname.c | 17 ++++++++++-------
+ 2 files changed, 17 insertions(+), 7 deletions(-)
+
+commit 5c90509c073b3879fd9e3a2dc9dddeb724757ccf
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Apr 12 02:38:28 2006 +0000
+
+ Don't crash if config is null (Coverity defect #984).
+
+ ChangeLog | 13 +++++++++----
+ src/fccache.c | 5 +++--
+ 2 files changed, 12 insertions(+), 6 deletions(-)
+
+commit 2de24638b23f65b5586cebe3e9d9f4577a40673e
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Apr 11 16:54:24 2006 +0000
+
+ Missing bits from previous patches.
+ Remove extra semi-colon.
+ Fix memory leak in error case (Coverity defects #776, #985).
+ Fix memory leaks (Coverity defects #779, #781) and memory use
+ after free
+ (Coverity defect #780).
+ reviewed by: plam
+
+ ChangeLog | 18 ++++++++++++++++++
+ src/fccfg.c | 13 +++++++++----
+ src/fccharset.c | 5 ++++-
+ src/fclang.c | 1 +
+ src/fcxml.c | 4 +++-
+ 5 files changed, 35 insertions(+), 6 deletions(-)
+
+commit 04f7d3e7fd5069965bc74e678fc51b0412d15aa9
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Apr 11 14:20:59 2006 +0000
+
+ Properly convert static charsets to dynamic charsets.
+ Fix memory leak in error case (Coverity defects #1820, #1821, #1822).
+ Fix memory leak (Coverity defect #1819).
+ prevent crash when invalid include line is parsed (Coverity defect
+ #763).
+ Fix potential null pointer access (Coverity defect #1804).
+ Remove dead code (Coverity defect #1194).
+ Prevent potential null pointer access (Coverity defect #767),
+ ensure error
+ value is read (Coverity defect #1195).
+ reviewed by: plam
+
+ ChangeLog | 29 +++++++++++++++++++++++++++++
+ fc-cat/fc-cat.c | 4 +++-
+ fc-lang/fc-lang.c | 3 +++
+ src/fccharset.c | 5 +++++
+ src/fcfreetype.c | 6 ++++--
+ src/fclang.c | 8 +++++++-
+ src/fcname.c | 8 --------
+ src/fcpat.c | 11 ++++++++++-
+ 8 files changed, 61 insertions(+), 13 deletions(-)
+
+commit af2ad236f037c7a53e73b9454f620de1a52f0422
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Apr 11 05:08:26 2006 +0000
+
+ Survive missing docbook2pdf.
+ reviewed by: plam
+
+ ChangeLog | 11 +++++++++--
+ doc/Makefile.am | 10 ++++++----
+ 2 files changed, 15 insertions(+), 6 deletions(-)
+
+commit 67ed0b729718233662255a181bdcdb136c04dc5b
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Apr 10 22:08:35 2006 +0000
+
+ Include more stub definitions to make HP-UX's C compiler happy.
+
+ ChangeLog | 7 +++++++
+ fc-case/fc-case.c | 3 +++
+ fc-glyphname/fc-glyphname.c | 3 +++
+ fc-lang/fc-lang.c | 3 +++
+ 4 files changed, 16 insertions(+)
+
+commit ac0010940e626cb9193bb4ad0271f3820c7225ee
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Apr 10 21:04:54 2006 +0000
+
+ Swap typo in order of ALIGN and dereferencing, fixing bug 6529.
+
+ ChangeLog | 5 +++++
+ src/fcname.c | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+commit 3ea92166a0e45b0c7d7e9ecc0546317640c50336
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Apr 10 19:33:03 2006 +0000
+
+ Fix string memory leak (Coverity defect #1823).
+ Fix memory leak with hash collision (Coverity defect #1824).
+ reviewed by: plam
+
+ ChangeLog | 9 +++++++++
+ src/fccache.c | 1 +
+ src/fccfg.c | 5 ++++-
+ 3 files changed, 14 insertions(+), 1 deletion(-)
+
+commit c814c301ee4dcc67eeacee9608fb716e67534356
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Apr 10 16:12:55 2006 +0000
+
+ Don't leak header in non-error case (Coverity defect #1825).
+ reviewed by: plam
+
+ ChangeLog | 6 ++++++
+ src/fccache.c | 2 ++
+ 2 files changed, 8 insertions(+)
+
+commit 65448e8b2af9bec38f86ab45916a9bcc7726ae30
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Apr 10 16:06:42 2006 +0000
+
+ src/fcdir.c (FcDirScanConfig) Don't leak in error cases (Coverity
+ defects
+ #777, #1826)
+ reviewed by: plam
+
+ ChangeLog | 6 ++++++
+ src/fcdir.c | 54 +++++++++++++++++++++++++++++++++++++-----------------
+ 2 files changed, 43 insertions(+), 17 deletions(-)
+
+commit ae2aafe6028be658bd1de0fe2dd309799bf575f7
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Apr 10 15:46:34 2006 +0000
+
+ Fix double free (spotted by Coverity, CID #1965).
+ Check if pattern is not null before using it (Coverity defect #1883).
+ Fix memory leak with hash collision (Coverity defect #1829).
+ Fix memory leak when bail cases (Coverity defect #1828).
+ Don't leak directory name (Coverity defect #1827).
+ reviewed by: plam
+
+ ChangeLog | 18 ++++++++++++++++++
+ fc-match/fc-match.c | 6 ++++--
+ src/fccache.c | 10 +++++++---
+ src/fccfg.c | 1 +
+ 4 files changed, 30 insertions(+), 5 deletions(-)
+
+commit 86abd75965f598dba79a3df68e7bc4c5082a5764
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Apr 7 18:07:51 2006 +0000
+
+ LD_ADD missing dependencies for binaries. Reported by Edson Alves
+ Pereira.
+ reviewed by: plam
+
+ ChangeLog | 10 ++++++++++
+ fc-cache/Makefile.am | 2 +-
+ fc-cat/Makefile.am | 2 +-
+ fc-list/Makefile.am | 3 +--
+ fc-match/Makefile.am | 2 +-
+ 5 files changed, 14 insertions(+), 5 deletions(-)
+
+commit f23f5f388d93655af972083513ba4d505ec4f449
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Apr 7 17:37:09 2006 +0000
+
+ SGI compilation fixes (reported by Christoph Bauer):
+ 1) reorder union definition of _FcChar;
+ 2) omit .stats =.
+
+ ChangeLog | 8 ++++++++
+ fc-lang/fc-lang.c | 2 +-
+ src/fcint.h | 8 ++++----
+ 3 files changed, 13 insertions(+), 5 deletions(-)
+
+commit 44415a079a3e9951e0c2424edca4907a93a60db5
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Apr 7 17:27:39 2006 +0000
+
+ Portability fixes for HP-UX (reported by Christoph Bauer). Replace
+ '__inline__' by AC_C_INLINE and 'inline'. Replace '__alignof__' by
+ 'fc_alignof'.
+ reviewed by: plam
+
+ ChangeLog | 15 +++++++++++++++
+ configure.in | 1 +
+ src/fccharset.c | 4 ++--
+ src/fcfs.c | 2 +-
+ src/fcint.h | 15 +++++++++------
+ src/fclang.c | 2 +-
+ src/fcname.c | 2 +-
+ src/fcpat.c | 6 +++---
+ 8 files changed, 33 insertions(+), 14 deletions(-)
+
+commit 91fe51b4f8cf792041bc5cad34797b87abd63e67
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Apr 7 17:06:55 2006 +0000
+
+ Move up #include of config.h. Fail if neither inttypes.h nor
+ stdint.h is
+ available. Fixes bug 6171.
+ reviewed by: plam
+
+ ChangeLog | 8 ++++++++
+ src/fcint.h | 11 +++++++----
+ 2 files changed, 15 insertions(+), 4 deletions(-)
+
+commit d6217cc6bcce0768ce1e01c077e90967ff91db5a
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Apr 7 04:42:32 2006 +0000
+
+ Patrick Lam <plam@mit.edu>
+ Make fontconfig compile under MinGW:
+ 1) remove unneeded #includes;
+ 2) make use of mmap and sysconf conditional;
+ 3) replace rand_r by srand/rand if needed;
+ 4) use chsize instead of ftruncate; and
+ 5) update libtool exports file
+
+ ChangeLog | 18 +++
+ configure.in | 3 +-
+ fc-cache/fc-cache.c | 7 +
+ fc-cat/fc-cat.c | 1 -
+ src/fccache.c | 74 +++++++++-
+ src/fcfreetype.c | 3 +-
+ src/fontconfig.def.in | 370
+ ++++++++++++++++++++++++++++++++++----------------
+ 7 files changed, 353 insertions(+), 123 deletions(-)
+
+commit 3a342c5a6ca6c27fdddf0c669392b7ab1d6e3f7e
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Apr 7 04:19:49 2006 +0000
+
+ Eliminate warning.
+
+ ChangeLog | 5 +++++
+ src/fcdir.c | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+commit e79c648c7a27a1afdde813105d0727e3ee6bc9fd
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Apr 6 05:15:08 2006 +0000
+
+ file fc-match.sgml was initially added on branch fc-2_4_branch.
+
+commit 8b4e7628e1d8baca4f55fcdd76101b8b3e015044
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Apr 6 05:15:08 2006 +0000
+
+ Update documentation for fc-match (SGML-ize it). (reported by Ilya
+ Konstantinov)
+
+ ChangeLog | 8 +++
+ fc-match/.cvsignore | 1 +
+ fc-match/Makefile.am | 27 +++++++-
+ fc-match/fc-match.1 | 37 -----------
+ fc-match/fc-match.sgml | 169
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 203 insertions(+), 39 deletions(-)
+
+commit 392fa276dcae8d4c66607bbbd8dd30354a331afc
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Apr 6 04:52:21 2006 +0000
+
+ Reduce amount of dirty rss by const'ing some data structures.
+ Don't fail if we can't create or remove $(pkgcachedir) i.e.
+ /var/cache/fontconfig. (reported by Quanah Gibson-Mount).
+ reviewed by: plam
+
+ ChangeLog | 15 +++++++++++++++
+ fc-cache/Makefile.am | 4 ++--
+ src/fcdefault.c | 2 +-
+ src/fcpat.c | 2 +-
+ src/fcxml.c | 2 +-
+ 5 files changed, 20 insertions(+), 5 deletions(-)
+
+commit 0d745819a9ec491349d4e122a7d44d689b2d3479
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Apr 6 04:33:11 2006 +0000
+
+ Fix intel compiler warnings: make many variables static, eliminate
+ duplicate names, reduce variable scopes, unsigned/signed printf
+ formatting.
+ reviewed by: plam
+
+ ChangeLog | 16 ++++++++++++++++
+ fc-case/fc-case.c | 8 ++++----
+ fc-glyphname/fc-glyphname.c | 12 ++++++------
+ fc-lang/fc-lang.c | 8 ++++----
+ fc-match/fc-match.c | 2 +-
+ src/fccache.c | 11 ++++++-----
+ src/fcfreetype.c | 4 +---
+ src/fclang.c | 5 ++---
+ src/fcxml.c | 14 +++++++-------
+ 9 files changed, 47 insertions(+), 33 deletions(-)
+
+commit b17cf498be69f483e6355ae468f7239165df3ffb
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Mar 24 15:21:10 2006 +0000
+
+ Fix multiarch support (don't destroy multiarch files!)
+ Require pkg-config. (Thanks Behdad; better solution wanted for libxml2
+ detection!)
+ reviewed by: plam
+
+ ChangeLog | 12 ++++++++++++
+ configure.in | 2 ++
+ fonts.conf.in | 7 ++++++-
+ src/fccache.c | 3 ++-
+ 4 files changed, 22 insertions(+), 2 deletions(-)
+
+commit ba76916ff64d476d5c5564e46a5d4209cb942864
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Mar 23 04:22:28 2006 +0000
+
+ On Windows, unlink before rename. Reported by Tim Evans.
+
+ ChangeLog | 5 +++++
+ src/fcatomic.c | 3 +++
+ 2 files changed, 8 insertions(+)
+
+commit c02218223153b3022071e789def3fde8b556d6d6
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Mar 23 04:21:10 2006 +0000
+
+ On Windows, unlink before rename. Reported by Tim Evans.
+
+ ChangeLog | 5 +++++
+ src/fcatomic.c | 3 +++
+ 2 files changed, 8 insertions(+)
+
+commit d8fda87d5e306eea6b07d0e4f8c6fb1cc2f25804
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Mar 15 15:59:33 2006 +0000
+
+ Fix typos in orth files. Reported by Denis Jacquerye.
+
+ fc-lang/ab.orth | 2 +-
+ fc-lang/ibo.orth | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 04af4f56dcaa6bdfbc67c0bc184ac88ccdfb03c1
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Mar 15 15:58:59 2006 +0000
+
+ Fix typos in orth files. Reported by Denis Jacquerye.
+
+ ChangeLog | 6 ++++++
+ fc-lang/ab.orth | 2 +-
+ fc-lang/ibo.orth | 2 +-
+ 3 files changed, 8 insertions(+), 2 deletions(-)
+
+commit fd11da8464309d6d562bdf2cd59e22cc3763c65a
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Mar 8 20:57:39 2006 +0000
+
+ Fix Makefile.am for removal of debian/ directory.
+
+ ChangeLog | 7 +++++++
+ Makefile.am | 35 +----------------------------------
+ config/config.guess | 51
+ +++++++++++++++++++++++++++++++++++++++++----------
+ config/config.sub | 47 ++++++++++++++++++++++++++++++++++++++---------
+ 4 files changed, 87 insertions(+), 53 deletions(-)
+
+commit c957abedc73ac8f22bc56e04342ff3bb6cb29ad1
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Mar 8 20:38:39 2006 +0000
+
+ .cvsignore
+ Ignore debian/ directory for CVS.
+
+ .cvsignore | 1 +
+ ChangeLog | 6 +++++-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+commit dcd49fcc23239be8fc0c3ca62a5fd3e059f19c02
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Mar 8 20:33:42 2006 +0000
+
+ debian/*
+ Now remove debian/ directory.
+
+ ChangeLog | 5 +
+ debian/README.Debian | 45 ---
+ debian/changelog | 718
+ --------------------------------------
+ debian/compat | 1 -
+ debian/control | 80 -----
+ debian/copyright | 29 --
+ debian/fontconfig-udeb.install | 3 -
+ debian/fontconfig.config | 10 -
+ debian/fontconfig.defoma | 162 ---------
+ debian/fontconfig.dirs | 1 -
+ debian/fontconfig.install | 7 -
+ debian/fontconfig.postinst | 145 --------
+ debian/fontconfig.postrm | 26 --
+ debian/fontconfig.templates | 27 --
+ debian/libfontconfig1-dev.install | 7 -
+ debian/libfontconfig1.install | 1 -
+ debian/local.conf.md5sum | 18 -
+ debian/rules | 40 ---
+ 18 files changed, 5 insertions(+), 1320 deletions(-)
+
+commit ccda304eac0cafabb765a8b04d3f0b9f0c9e8944
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Mar 8 20:32:56 2006 +0000
+
+ debian/po/*
+ .cvsignore
+ Remove debian/ directory from sources. See Debian's subversion
+ server at
+ svn://svn.debian.org/pkg-freedesktop/trunk/fontconfig instead.
+
+ ChangeLog | 8 +++
+ debian/po/POTFILES.in | 1 -
+ debian/po/cs.po | 127 -------------------------------------
+ debian/po/da.po | 146 -------------------------------------------
+ debian/po/de.po | 124 ------------------------------------
+ debian/po/es.po | 163
+ ------------------------------------------------
+ debian/po/fr.po | 159
+ ----------------------------------------------
+ debian/po/ja.po | 88 --------------------------
+ debian/po/nl.po | 125 -------------------------------------
+ debian/po/pt.po | 112 ---------------------------------
+ debian/po/pt_BR.po | 148 -------------------------------------------
+ debian/po/templates.pot | 84 -------------------------
+ debian/po/tr.po | 117 ----------------------------------
+ debian/po/zh_CN.po | 115 ----------------------------------
+ 14 files changed, 8 insertions(+), 1509 deletions(-)
+
+commit 72b3e80625b6706edc1204fe1015b21c8d8300b8
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Mar 8 19:27:25 2006 +0000
+
+ file ln.orth was initially added on branch fc-2_4_branch.
+
+commit 2509fc7ac15e02992fe5c51f1c58d2f396447883
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Mar 8 19:27:25 2006 +0000
+
+ Add orthography for Lingala.
+ reviewed by: plam
+
+ ChangeLog | 8 ++++++++
+ fc-lang/iso639-1 | 2 +-
+ fc-lang/iso639-2 | 2 +-
+ fc-lang/ln.orth | 43 +++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 53 insertions(+), 2 deletions(-)
+
+commit 37e3f33c7ec32432260b0ef750ac415763d6044f
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Mar 8 19:19:05 2006 +0000
+
+ Sort directory entries while scanning them from disk; prevents
+ Heisenbugs
+ due to file ordering in a directory.
+ reviewed by: plam
+
+ ChangeLog | 8 ++++++++
+ src/fcdir.c | 45 ++++++++++++++++++++++++++++++++++++++++++---
+ 2 files changed, 50 insertions(+), 3 deletions(-)
+
+commit e01166d52a1a597f32b57ac47154332c0c6ab1bf
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Mar 8 19:16:10 2006 +0000
+
+ Add a configuration file that disables hinting for the Lohit
+ Gujarati font
+ (since the hinting distort some glyphs quite badly).
+ reviewed by: keithp
+
+ ChangeLog | 9 +++++++++
+ conf.d/Makefile.am | 1 +
+ 2 files changed, 10 insertions(+)
+
+commit e3c6d3364c79838e5c30de072b97f7f091b1f81d
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Mar 8 19:10:57 2006 +0000
+
+ Sort directory entries while scanning them from disk; prevents
+ Heisenbugs
+ due to file ordering in a directory.
+ reviewed by: plam
+
+ ChangeLog | 8 ++++++++
+ src/fcdir.c | 44 +++++++++++++++++++++++++++++++++++++++++---
+ 2 files changed, 49 insertions(+), 3 deletions(-)
+
+commit d8951c0cc2474176910277e8ca840fba5d8f3655
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Mar 8 02:30:43 2006 +0000
+
+ Remove stuff we don't use, make get_{char,short,long} functions
+ of ftglue
+ macros to be inlined.
+ Code cleanups (excess prototype, old-style function definition).
+ reviewed by: plam
+
+ ChangeLog | 14 ++++++++++++++
+ src/fcfreetype.c | 8 ++++----
+ src/fcint.h | 3 ---
+ src/fcname.c | 2 +-
+ src/ftglue.c | 55
+ ++++++++-----------------------------------------------
+ src/ftglue.h | 39 +++++++++++----------------------------
+ 6 files changed, 38 insertions(+), 83 deletions(-)
+
+commit 9226e04c69d7cb472999b1d8bc0cfa3c28054ebe
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sun Mar 5 15:33:46 2006 +0000
+
+ Because we hacked FcPatternGet, we don't really need to expand
+ the filename
+ again in FcPatternGetString.
+
+ ChangeLog | 6 ++++++
+ src/fcpat.c | 3 ---
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+commit 618adbaf7bbad8441efb589417d7144476f828c7
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sun Mar 5 06:05:50 2006 +0000
+
+ Ok, so some people (wine!) use FcPatternGet to fetch FC_FILE. Make
+ that
+ work. Reported by Bernhard Rosenkraenzer.
+
+ ChangeLog | 6 +++++
+ src/fcpat.c | 73
+ +++++++++++++++++++++++++++++++++----------------------------
+ 2 files changed, 46 insertions(+), 33 deletions(-)
+
+commit dc70c15aba6d14dbd5ce8bcd1bc36a39602fbc2c
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Mar 3 18:35:42 2006 +0000
+
+ Include inttypes.h instead of stdint.h if appropriate.
+
+ ChangeLog | 5 +++++
+ src/fcint.h | 4 ++++
+ 2 files changed, 9 insertions(+)
+
+commit ead55be0eddcaa60ed3f7147091ada276e891ed9
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Mar 3 18:19:04 2006 +0000
+
+ More stub definitions and remove FcFileIsDir from fc-cat.
+
+ ChangeLog | 6 ++++++
+ fc-cat/fc-cat.c | 10 ----------
+ fc-glyphname/fc-glyphname.c | 10 ++++++++++
+ 3 files changed, 16 insertions(+), 10 deletions(-)
+
+commit c003f5aec37e099d7f5a88d29cc4b2d5f1d002eb
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Mar 3 15:12:12 2006 +0000
+
+ Fix compilation on AIX with stub definitions (bug 6097).
+
+ ChangeLog | 5 +++++
+ fc-case/fc-case.c | 10 ++++++++++
+ 2 files changed, 15 insertions(+)
+
+commit bb6b19938e2c9d115abd4f36439c365b63713bb1
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Mar 3 06:35:53 2006 +0000
+
+ Get rid of C++-style comments.
+
+ ChangeLog | 8 ++++++++
+ src/fccache.c | 4 ++--
+ src/fcfreetype.c | 2 +-
+ src/fcfs.c | 8 ++++----
+ src/fcpat.c | 5 +++--
+ 5 files changed, 18 insertions(+), 9 deletions(-)
+
+commit 5b4a40a955c9607e80a8da5a42a0da5923e3c509
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Mar 3 06:12:55 2006 +0000
+
+ debian/changelog
+ Enable creation of 2.3.94 Debian packages.
+
+ ChangeLog | 5 +++++
+ debian/changelog | 5 +++++
+ 2 files changed, 10 insertions(+)
+
+commit b36f2a39d0ad08d5ee6757f2e419021e63b39ea4
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Mar 3 06:11:31 2006 +0000
+
+ Fix suspicious return expression which causes junk to be returned.
+ reviewed by: plam
+
+ ChangeLog | 8 ++++++++
+ src/fclang.c | 2 +-
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+commit b152a85bdc5c911883af4b0e7930cbe12531d179
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Feb 24 19:32:58 2006 +0000
+
+ Fix placement of @s.
+
+ ChangeLog | 5 +++++
+ Makefile.am | 14 +++++++-------
+ 2 files changed, 12 insertions(+), 7 deletions(-)
+
+commit 63d2df3f92b633ba82bfb4fb388062a21e0a0178
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Feb 24 19:19:09 2006 +0000
+
+ Bump version to 2.3.94.
+
+ ChangeLog | 8 ++++++++
+ README | 47
+ +++++++++++++++++++++++++++++++++++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 4 files changed, 55 insertions(+), 4 deletions(-)
+
+commit 639475e873c797792fff63fbd8efd73e2b0695fd
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Feb 24 18:52:17 2006 +0000
+
+ Remove unconditional emboldening (per Behdad's instructions).
+ Add @s to hide some echos.
+
+ ChangeLog | 9 +++++++++
+ Makefile.am | 10 +++++-----
+ conf.d/10-fonts-persian.conf | 6 ------
+ 3 files changed, 14 insertions(+), 11 deletions(-)
+
+commit 0cfaf27e334e599bb3dcf8f06140e9577718191d
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Feb 24 16:41:34 2006 +0000
+
+ Takashi Iwai <tiwai@suse.de> reviewed by: plam
+ Fix double-free on error case.
+
+ ChangeLog | 8 ++++++++
+ src/fcfreetype.c | 1 +
+ 2 files changed, 9 insertions(+)
+
+commit cf5cf4cadb35c7ebabf025bf6781f69c390548c8
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Feb 22 04:50:16 2006 +0000
+
+ Strip \r and whitespace from input; fixes bug 3454.
+
+ ChangeLog | 7 ++++++-
+ fc-lang/fc-lang.c | 11 +++++++----
+ 2 files changed, 13 insertions(+), 5 deletions(-)
+
+commit 69a3fc78e233957f9e1f6737eccada1494a937ae
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Feb 22 04:09:39 2006 +0000
+
+ Allocate large arrays statically in fc-lang to fix crashes under
+ MinGW/MSYS.
+
+ ChangeLog | 6 ++++++
+ fc-lang/fc-lang.c | 18 +++++++++---------
+ 2 files changed, 15 insertions(+), 9 deletions(-)
+
+commit 656b47f6988e001c5b6fdfee7a38dc8321e71454
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Feb 21 15:56:41 2006 +0000
+
+ Pass the buck; make fontconfig not crash on pango badness.
+
+ ChangeLog | 5 +++++
+ src/fcfreetype.c | 4 ++++
+ 2 files changed, 9 insertions(+)
+
+commit 9fb0e0743eaf44099bdb9b3ff04b5fc7f73792a3
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Feb 21 15:53:43 2006 +0000
+
+ Use embeddedbitmap rather than rh_prefer_bitmap.
+
+ ChangeLog | 5 +++++
+ conf.d/10-fonts-persian.conf | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+commit f2fb985c7a0e51109b1750e166e4244a833ffbe3
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Feb 21 15:50:19 2006 +0000
+
+ Eliminate redundancies.
+ reviewed by: plam
+
+ ChangeLog | 11 +++++++++++
+ src/fccache.c | 3 ++-
+ src/fcdir.c | 3 ---
+ src/fcfreetype.c | 1 -
+ src/fcxml.c | 3 +--
+ src/ftglue.c | 1 -
+ 6 files changed, 14 insertions(+), 8 deletions(-)
+
+commit b023dbd38410521a459758498f99d3a48cdd313d
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Feb 21 15:40:18 2006 +0000
+
+ Eliminate unused vars reported by Intel's compiler.
+ reviewed by: plam
+
+ ChangeLog | 10 ++++++++++
+ fc-list/fc-list.c | 4 ++--
+ src/fcfreetype.c | 3 +--
+ src/fcstr.c | 3 +--
+ src/fcxml.c | 2 --
+ 5 files changed, 14 insertions(+), 8 deletions(-)
+
+commit 2b90aee36399ec13ba3af929311b37d9494adab6
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Feb 21 15:29:54 2006 +0000
+
+ Remove one more archaic character.
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ fc-lang/ka.orth | 2 +-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+commit dacf81ed4c541174f0dbfe2898f3309657bf6116
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Feb 21 15:24:28 2006 +0000
+
+ Freeze patterns created by configuration file for tiny memory savings
+ (every little bit helps).
+ reviewed by: plam, keithp
+
+ ChangeLog | 8 ++++++++
+ src/fcxml.c | 3 ++-
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+commit 9769b43d4a4d8fe5480b672124f764e5bac1f4c9
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Feb 21 14:12:41 2006 +0000
+
+ Initialize fontconfig library in fc-cat to avoid segfault.
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ fc-cat/fc-cat.c | 11 ++++++++++-
+ 2 files changed, 17 insertions(+), 1 deletion(-)
+
+commit 530e66b008c0d5b972b54046a5b15e76c8e989b6
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Feb 18 18:18:07 2006 +0000
+
+ Fix the underlying cause of the below segfault (must usually call
+ FcDirCacheHasCurrentArch after FcDirCacheValid).
+
+ ChangeLog | 12 ++++++++++--
+ fc-cache/fc-cache.c | 2 ++
+ src/fccache.c | 4 +++-
+ src/fcdir.c | 4 +++-
+ 4 files changed, 18 insertions(+), 4 deletions(-)
+
+commit a68ce9525dedc06fd4da102492e8d1c6137b3664
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Feb 18 17:56:25 2006 +0000
+
+ Fix segfault (reported by fcrozat) caused by incorrect input on cache
+ files.
+
+ ChangeLog | 6 ++++++
+ src/fccache.c | 21 +++++++++++++--------
+ 2 files changed, 19 insertions(+), 8 deletions(-)
+
+commit 310817371cdd4163c8d2f138e4fc3295ff0afbc5
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Feb 17 14:44:42 2006 +0000
+
+ Bump up magic version; we changed the binary format.
+
+ ChangeLog | 5 +++++
+ src/fcint.h | 4 ++--
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+commit 12f46c42fa583d8e23b8f97eebac77d7b0576ed2
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Feb 17 05:47:08 2006 +0000
+
+ Enable fc-cat to print out old-style cache info when given a directory
+ name.
+
+ ChangeLog | 6 ++++++
+ fc-cat/fc-cat.c | 26 +++++++++++++++++++++++++-
+ 2 files changed, 31 insertions(+), 1 deletion(-)
+
+commit 8c0d692125018052fa228721f30f760dfb0c0adf
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Feb 16 17:50:04 2006 +0000
+
+ Deal correctly with changing FC_CACHE_MAGIC.
+
+ ChangeLog | 5 +++++
+ src/fccache.c | 17 +++++++++++++++++
+ 2 files changed, 22 insertions(+)
+
+commit d2c0102944176744e440c4109bf7725240453cc7
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Feb 16 15:36:43 2006 +0000
+
+ Add -r --really-force option which blows away cache files and then
+ regenerates them.
+
+ ChangeLog | 6 ++++++
+ fc-cache/fc-cache.c | 25 ++++++++++++++++++-------
+ 2 files changed, 24 insertions(+), 7 deletions(-)
+
+commit 719f4b841f9763f2e4aa10a61cb2ffd41d9e8226
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Feb 16 07:12:04 2006 +0000
+
+ Don't bail if fontconfig can't remove a dir cache file. Skip the ID
+ of a
+ cache file when copying. Eliminate 'source file too small' bug in
+ FcDirCacheWrite.
+
+ ChangeLog | 9 ++++++++-
+ fc-cache/fc-cache.c | 16 ++++++++++------
+ src/fccache.c | 8 +++-----
+ 3 files changed, 21 insertions(+), 12 deletions(-)
+
+commit f8a17f329815cfa5416142811b96d16f2a5cca93
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Feb 13 22:19:30 2006 +0000
+
+ Fix memory leak in error condition code.
+
+ ChangeLog | 5 +++++
+ src/fcfreetype.c | 4 ++--
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+commit 5657098e2940652065fcfd00e4cf2771d7df21ef
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Feb 13 21:51:11 2006 +0000
+
+ Skip bitmap fonts which can't even get it together enough to declare a
+ family name; this appears to reproduce previous fontconfig
+ behaviour.
+ reviewed by: plam
+
+ ChangeLog | 8 ++++++++
+ src/fcfreetype.c | 5 +++++
+ 2 files changed, 13 insertions(+)
+
+commit d00c3cb5e046dfb04b446d8b0bb10880d190cc13
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Feb 11 05:01:32 2006 +0000
+
+ Try to open /var/cache/fontconfig/[hashed name] before fonts.cache-2
+ in a
+ directory, because /var/cache/fontconfig failures ought to
+ be fixable,
+ unlike fonts.cache-2 failures, which may leave you screwed.
+ reviewed by: plam
+
+ ChangeLog | 9 +++++++++
+ src/fccache.c | 42 ++++++++++++++++++++----------------------
+ 2 files changed, 29 insertions(+), 22 deletions(-)
+
+commit 9e07e0a77b6b1c33a52a1ec4d845797e32125baf
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Feb 11 04:50:46 2006 +0000
+
+ Use a tri-state to mark the fonts which didn't get blocked but
+ were just
+ missing an element, to distinguish them from the fonts that
+ do match
+ the element.
+ reviewed by: plam
+
+ ChangeLog | 8 ++++++++
+ src/fcmatch.c | 18 +++++++++++-------
+ 2 files changed, 19 insertions(+), 7 deletions(-)
+
+commit f11a184104a57c0d68afde8e7458c7b8473b6671
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Feb 10 19:40:11 2006 +0000
+
+ Don't kill fonts because they don't declare an element that's
+ being matched
+ on.
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ src/fcmatch.c | 4 ++++
+ 2 files changed, 11 insertions(+)
+
+commit 879af7060b24c6d57eb29cf6cfe2f6bb04589261
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Feb 9 18:44:14 2006 +0000
+
+ Define and pass O_BINARY to open if appropriate, for those platforms
+ that
+ need it. Reported by Doodle.
+
+ ChangeLog | 7 ++++---
+ src/fccache.c | 30 +++++++++++++++++-------------
+ 2 files changed, 21 insertions(+), 16 deletions(-)
+
+commit c7490074c57da387904cecfdf60595713c7bb89e
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Feb 9 16:19:42 2006 +0000
+
+ Fix attempt to close -1. Don't unboundedly grow bad caches
+ (reported by
+ fcrozat).
+
+ ChangeLog | 6 ++++++
+ src/fccache.c | 8 +++++---
+ 2 files changed, 11 insertions(+), 3 deletions(-)
+
+commit a8c425301aeb8e417b0fa35567b2f8f64b450657
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Feb 9 15:25:57 2006 +0000
+
+ Fix problem with missing 'en' due to euro.patch: change cache
+ file format
+ slightly to coincide with that generated by fc-lang.
+
+ ChangeLog | 8 ++++++++
+ src/fccharset.c | 8 ++++----
+ 2 files changed, 12 insertions(+), 4 deletions(-)
+
+commit b10e77628c4d207ac60ae4000b1459ced9228d69
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Feb 8 03:34:17 2006 +0000
+
+ Fix warning.
+
+ ChangeLog | 5 +++++
+ src/fccache.c | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+commit 5c3deb2985586a06216afd0e6a0c136d4e67a58b
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Feb 7 22:09:01 2006 +0000
+
+ Don't reject dirs that can't be normalized (fixes lilypond, and
+ is correct
+ in the context of application font directories.)
+ Use normalized directory name exclusively in FcCacheReadDirs.
+ reviewed by: plam
+
+ ChangeLog | 13 +++++++++++++
+ src/fccache.c | 19 ++++++++++---------
+ src/fcdir.c | 9 ++++-----
+ 3 files changed, 27 insertions(+), 14 deletions(-)
+
+commit efb11b36c4e24a619e7be1790834130ca4113c5b
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Feb 7 21:15:33 2006 +0000
+
+ Perf optimizations. Inline FcValueCanonicalize, reduce FcValueListPtrU
+ usage, remove redundant cast.
+ reviewed by: plam
+
+ ChangeLog | 8 ++++++++
+ src/fcpat.c | 39 +++++++++++++++++++--------------------
+ 2 files changed, 27 insertions(+), 20 deletions(-)
+
+commit 6cc02fe6b95421f6e97af9008ad9ff4febe80c36
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Feb 7 20:56:48 2006 +0000
+
+ src/fccharset.c (FcLangCharSetPopulate, FcCharSetInsertLeaf)
+ Fix missing FcCacheBankToIndex in FcCharSetInsertLeaf. Declare
+ extern for
+ static arrays as arrays, not pointers. (Part of the fix for 'fonts
+ don't have en' issue after Euro patch.)
+ (I forgot to commit the ChangeLog last time.)
+ reviewed by: plam
+
+ ChangeLog | 25 +++++++++++++++++++++++++
+ src/fccharset.c | 6 +++---
+ 2 files changed, 28 insertions(+), 3 deletions(-)
+
+commit a81f23c0cecdc5d4cb7a443fdd4527b5f0dbca8a
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Feb 7 03:53:32 2006 +0000
+
+ Fix hidden variable warning.
+
+ ChangeLog | 6 ++++++
+ fc-lang/de.orth | 1 +
+ fc-lang/el.orth | 1 +
+ fc-lang/en.orth | 1 +
+ fc-lang/es.orth | 1 +
+ fc-lang/fc-lang.c | 6 +++---
+ fc-lang/fi.orth | 2 +-
+ fc-lang/fr.orth | 1 +
+ fc-lang/it.orth | 1 +
+ fc-lang/nl.orth | 1 +
+ fc-lang/pt.orth | 1 +
+ src/fccache.c | 1 -
+ src/fccharset.c | 9 +++++----
+ 13 files changed, 23 insertions(+), 9 deletions(-)
+
+commit 799157dbbf55d1bf13b1e63faf3b530979116aca
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Feb 7 02:33:57 2006 +0000
+
+ Remove de-escaping logic because FcCacheWriteString doesn't escape
+ anyway.
+ Do blockwise reading instead of byte-wise for performance.
+
+ ChangeLog | 8 +++++++
+ src/fccache.c | 72
+ ++++++++++++++++++++---------------------------------------
+ 2 files changed, 32 insertions(+), 48 deletions(-)
+
+commit 8b413bb62c6743db10e7d210fb7924c9502fd60e
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Feb 7 02:22:50 2006 +0000
+
+ Takashi Iwai <tiwai@suse.de>
+ Don't loop infinitely on recursive symlinks (client-side).
+
+ ChangeLog | 7 +++++++
+ src/fccache.c | 21 +++++++++++++++------
+ 2 files changed, 22 insertions(+), 6 deletions(-)
+
+commit 660acf8f2278df9276c9a1bff3533e9a74fd8c6b
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Feb 6 23:11:41 2006 +0000
+
+ Don't loop infinitely on recursive symlinks.
+ reviewed by: plam
+
+ ChangeLog | 6 ++++++
+ fc-cache/fc-cache.c | 18 ++++++++++++++++++
+ 2 files changed, 24 insertions(+)
+
+commit fff5a5af30142c933d8e9dddda61a6a994f44c28
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Feb 6 22:44:02 2006 +0000
+
+ Skip subdirs when skipping over stale bits of global cache. Introduce
+ state
+ machine into FcGlobalCacheDir to avoid doing inappropriate
+ operations
+ on global dir entries, e.g. writing out an out-of-date cache
+ entry.
+ reviewed by: plam
+
+ ChangeLog | 12 ++++
+ src/fccache.c | 186
+ ++++++++++++++++++++++++++++++++++++++++++----------------
+ src/fcint.h | 4 ++
+ 3 files changed, 150 insertions(+), 52 deletions(-)
+
+commit 98592bbb1dbdb867994dcf463bdd36f98878fffc
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Feb 6 21:52:15 2006 +0000
+
+ Hoist FcFileIsDir check out of FcFileScanConfig loop.
+ reviewed by: plam
+
+ ChangeLog | 6 ++++++
+ src/fcdir.c | 11 ++++-------
+ 2 files changed, 10 insertions(+), 7 deletions(-)
+
+commit a0aa54f6ee032efbca25bdf734ba62dd642b04a1
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Feb 6 19:25:45 2006 +0000
+
+ Don't rescan when trying to normalize a non-declared font dir. Don't
+ add
+ font dirs multiple times (even if they're aliased).
+ reviewed by: plam
+
+ ChangeLog | 9 +++++++
+ src/fccfg.c | 78
+ ++++++++++++++++++++++++++++++++++++++++---------------------
+ 2 files changed, 61 insertions(+), 26 deletions(-)
+
+commit 86e75dfb5d1434837537b40e829f00f9ffbb8183
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Feb 6 14:44:46 2006 +0000
+
+ Explain apples/oranges comparison and fix compilation error.
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ src/fcfs.c | 5 ++++-
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+commit f076169d19574c6c548764d574a33bc4fe022ffb
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Feb 6 14:14:21 2006 +0000
+
+ Insert check for integer overflow in # of fonts.
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ src/fcfs.c | 2 +-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+commit 788c4af232f5677d73e8e2e77e123cf566530ccb
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sun Feb 5 04:11:08 2006 +0000
+
+ Make 'make distcheck' work with automake 1.6.3.
+ reviewed by: plam
+
+ ChangeLog | 10 ++++++++++
+ doc/Makefile.am | 2 +-
+ fc-cache/Makefile.am | 2 +-
+ fc-cat/Makefile.am | 2 +-
+ fc-list/Makefile.am | 2 +-
+ 5 files changed, 14 insertions(+), 4 deletions(-)
+
+commit 68355f38774fe55d8010268291a170492b241a71
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sun Feb 5 02:57:21 2006 +0000
+
+ src/fccache.c (FcGlobalCacheLoad, FcGlobalCacheSave,
+ FcDirCacheConsume,
+ FcDirCacheWrite)
+ Check I/O call return values and eliminate unused variable warnings.
+ reviewed by: plam
+
+ ChangeLog | 13 ++++++++++++
+ fc-cat/fc-cat.c | 5 ++---
+ src/fccache.c | 66
+ +++++++++++++++++++++++++++++++++++++++++++--------------
+ src/fcxml.c | 4 ++--
+ 4 files changed, 67 insertions(+), 21 deletions(-)
+
+commit c4c47a7654196f37b625f337192b235e558ab890
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Feb 4 00:09:42 2006 +0000
+
+ src/fccfg.c (FcConfigAppFontAddFile, FcConfigAppFontAddDir)
+ Fix memory leak.
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ src/fccfg.c | 2 ++
+ 2 files changed, 9 insertions(+)
+
+commit a8e4d9eb395b45ab23f0c540f919ec432b46dea8
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Feb 4 00:04:00 2006 +0000
+
+ Gracefully handle the case where a cache asserts that it has
+ a negative
+ number of fonts, causing overflow.
+ reviewed by: plam
+
+ ChangeLog | 8 ++++++++
+ src/fcfs.c | 29 +++++++++++++++--------------
+ 2 files changed, 23 insertions(+), 14 deletions(-)
+
+commit 1af0f5741a95eed6f3a54140c360e0422fd13f62
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Feb 3 23:47:37 2006 +0000
+
+ Fix double free in error case.
+
+ ChangeLog | 5 +++++
+ src/fccache.c | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+commit 80ba0571f3bfdee854d6e69f55664f552f4b75a3
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Jan 31 07:30:23 2006 +0000
+
+ Stephan Kulow <coolo@suse.de> reviewed by: plam
+ Replace 'stamp' target with mkinstalldirs.
+
+ ChangeLog | 8 ++++++++
+ fc-cache/Makefile.am | 13 +++----------
+ 2 files changed, 11 insertions(+), 10 deletions(-)
+
+commit 28aefd013d1896ffbf389596109eaec729d5d9a5
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Jan 31 07:16:22 2006 +0000
+
+ Toast broken global cache files.
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ src/fccache.c | 4 ++--
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+commit 3616cbe251e47cf36018a7277d9ff78f1cb0965e
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Jan 31 04:42:20 2006 +0000
+
+ Actually use the directories that I added to the global cache. Fixes
+ 'make
+ check'.
+
+ ChangeLog | 6 ++++++
+ src/fccache.c | 11 +++++++++--
+ 2 files changed, 15 insertions(+), 2 deletions(-)
+
+commit 275cf6cd8350f8a9f29caabd5b1994c6324caaf6
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Jan 31 04:07:45 2006 +0000
+
+ Don't stop scanning if a directory in fonts.conf doesn't exist,
+ because
+ subsequent directories might exist.
+ reviewed by: plam
+
+ ChangeLog | 8 ++++++++
+ fc-cache/fc-cache.c | 20 ++++++++++++++------
+ 2 files changed, 22 insertions(+), 6 deletions(-)
+
+commit 81d97094cf2a714417a9e73bb2f0f17f51ca3d95
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Jan 30 16:31:56 2006 +0000
+
+ Make global cache work again after putting dir names into global cache
+ (I
+ misplaced the recording of a file offset).
+
+ ChangeLog | 6 ++++++
+ src/fccache.c | 2 +-
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+commit 2c4e0124976724a7ae56bfee0ac4f7046c819ea8
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Jan 30 15:59:17 2006 +0000
+
+ Update fc-cat to handle subdir lists in global cache file.
+ Another FcCacheReadString return value check.
+
+ ChangeLog | 9 +++++++++
+ fc-cat/fc-cat.c | 10 ++++++++++
+ src/fccache.c | 11 +++++++++--
+ 3 files changed, 28 insertions(+), 2 deletions(-)
+
+commit c5411c4cae9389ad875fbbeedeaba0644f5e399f
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Jan 30 15:44:13 2006 +0000
+
+ Make fccache more resilient to broken cache files by checking
+ return value
+ of FcCacheReadString all the time.
+ reviewed by: plam
+
+ ChangeLog | 9 +++++++++
+ src/fccache.c | 28 ++++++++++++++--------------
+ 2 files changed, 23 insertions(+), 14 deletions(-)
+
+commit 946478e1a7f8c59a97c89f5c9029f30241a6cc0c
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Jan 30 14:43:04 2006 +0000
+
+ Remove references to dead fontconfig(3) manpages in other fontconfig
+ manpages.
+ reviewed by: plam
+
+ ChangeLog | 9 +++++++++
+ fc-lang/fc-lang.man | 2 --
+ fc-match/fc-match.1 | 2 --
+ 3 files changed, 9 insertions(+), 4 deletions(-)
+
+commit af7a965f945ab5aafab13fb7b6e8d96c911b24fd
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Jan 30 04:51:22 2006 +0000
+
+ Fix world's tiniest typo in code example.
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ doc/fcpattern.fncs | 2 +-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+commit 30c4189deb8412793d175bce255561a882ad81b7
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Jan 30 04:47:17 2006 +0000
+
+ Fix global cache reads of subdirectories.
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ src/fccache.c | 2 +-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+commit 971cf18018a4f41bca196dd81989e67672e52112
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Jan 30 04:27:53 2006 +0000
+
+ Add documentation for FcConfigNormalizeFontDir.
+ Write directory information to global caches to fix make check
+ (reported by
+ Ronny V. Vindenes). This changes the global cache format again.
+
+ ChangeLog | 13 +++++++++++++
+ doc/fcconfig.fncs | 11 +++++++++++
+ src/fccache.c | 25 +++++++++++++++++++++++--
+ src/fcdir.c | 2 +-
+ src/fcint.h | 2 ++
+ 5 files changed, 50 insertions(+), 3 deletions(-)
+
+commit 97293e07dd688b3d81cd6e7ecd5df4cdef4c87d8
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Jan 27 05:47:59 2006 +0000
+
+ Move FcConfigNormalizeFontDir call so that it doesn't result in
+ infinite
+ recursion (reported by Ronny V. Vindenes).
+
+ ChangeLog | 9 +++++++++
+ fc-cache/fc-cache.c | 6 +++++-
+ fontconfig/fontconfig.h | 4 ++++
+ src/fccache.c | 8 --------
+ src/fcint.h | 4 ----
+ 5 files changed, 18 insertions(+), 13 deletions(-)
+
+commit 3cf9f5cec386ce97bb3cdd1dfe78d0d6999243ea
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Jan 27 00:27:37 2006 +0000
+
+ Add a couple of missing normalizations to make fc-cache work right;
+ only
+ scan subdirectories once.
+
+ ChangeLog | 7 +++++++
+ src/fccache.c | 8 ++++++++
+ src/fccfg.c | 4 ++--
+ 3 files changed, 17 insertions(+), 2 deletions(-)
+
+commit 4073203deb00cb1497f7cc8c1a7de25534070d2c
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Jan 26 16:11:41 2006 +0000
+
+ Don't crash on non-existant directories in global cache.
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ src/fccache.c | 4 +++-
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+commit f468f568b4aedef1606b0692addf47cb9f02b328
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Jan 26 16:09:12 2006 +0000
+
+ Stop trampling the directory name when writing out caches. (with Mike
+ Fabian:) Beef up FcConfigNormalizeFontDir to scan subdirs when
+ necessary. Don't scan directories that can't be normalized.
+
+ ChangeLog | 11 +++++++++++
+ src/fccache.c | 16 +++++++++++++---
+ src/fccfg.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcdir.c | 6 +++++-
+ src/fcxml.c | 2 +-
+ 5 files changed, 82 insertions(+), 5 deletions(-)
+
+commit 575a37b7975656f73162438635b4ba26e229b33f
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Jan 25 14:52:49 2006 +0000
+
+ Fix additional memory leaks reported by Ronny V. Vindenes: don't
+ invoke
+ FcValueSave on hashed static strings in FcPatternAddWithBinding.
+ Add another st_dev check in FcDirCacheOpen.
+
+ ChangeLog | 11 +++++++++++
+ src/fccache.c | 13 +++++++++++--
+ src/fccfg.c | 3 +--
+ src/fcpat.c | 9 ++++++++-
+ 4 files changed, 31 insertions(+), 5 deletions(-)
+
+commit 16a71eff3ee0326db3794fa26548106a8a8697f6
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Jan 25 02:54:37 2006 +0000
+
+ Treat zh-hk fonts differently from zh-tw fonts. This patch may cause
+ fontconfig to treat A-X fonts differently from A-Y fonts;
+ please mail
+ the fontconfig list if this causes any problems.
+ reviewed by: plam
+
+ ChangeLog | 10 ++++++++++
+ fc-lang/zh_hk.orth | 2 +-
+ src/fcfreetype.c | 2 +-
+ 3 files changed, 12 insertions(+), 2 deletions(-)
+
+commit 6f9fcb51861fe3066e44a23817f1c700f3475ac0
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Jan 25 02:33:46 2006 +0000
+
+ Fix memory leaks reported by Ronny V. Vindenes.
+
+ ChangeLog | 6 ++++++
+ src/fccache.c | 9 ++++++++-
+ src/fcfreetype.c | 8 +++++++-
+ 3 files changed, 21 insertions(+), 2 deletions(-)
+
+commit 986e35979e56774c91f3214af9e8a6f71817dcfa
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Jan 19 19:20:30 2006 +0000
+
+ Fix for unaligned memory accesses.
+ reviewed by: plam
+
+ ChangeLog | 9 ++++++++-
+ src/fcpat.c | 12 ++++++++----
+ 2 files changed, 16 insertions(+), 5 deletions(-)
+
+commit 58bdd29619e6580477918f8c8d77aadbe5e427a4
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Jan 18 15:41:15 2006 +0000
+
+ Properly order the FcConfigAddFontDir and FcConfigNormalizeFontDir
+ calls to
+ avoid crashes.
+ reviewed by: plam
+
+ ChangeLog | 8 ++++++++
+ src/fcdir.c | 4 +++-
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+commit eadadf489aff5f4a17a91f85909cb0dc27b2a494
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sun Jan 15 05:31:58 2006 +0000
+
+ Fix segfault when consuming zero-length caches in fc-cat (which has no
+ config, so FcConfigAddFontDir shouldn't be called.)
+
+ ChangeLog | 6 ++++++
+ src/fccache.c | 3 ++-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+commit 8a0b0ed6d01e4e20ab6727211fe5823395a9b4c4
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Jan 14 21:23:03 2006 +0000
+
+ Compare device numbers as well as inodes. Always normalize directory
+ names
+ before comparing them.
+ Allocate extra space for appended '/' in directory name.
+ reviewed by: plam
+
+ ChangeLog | 19 +++++++++++++++++++
+ fc-cache/fc-cache.c | 2 +-
+ fc-cat/fc-cat.c | 6 +++++-
+ fontconfig/fontconfig.h | 2 +-
+ src/fccache.c | 19 ++++++++++++++-----
+ src/fccfg.c | 7 ++++---
+ src/fcdir.c | 2 +-
+ src/fcint.h | 6 ++++--
+ 8 files changed, 49 insertions(+), 14 deletions(-)
+
+commit df3efc11a9584e2099366c31ba64ac9346760321
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Jan 10 13:15:05 2006 +0000
+
+ Explicitly add font dirs to config.fontDirs even if they're empty. Set
+ current config in fc-cache.c. Fix treatment of cache directory
+ as read
+ from cache file; don't use string equality to determine if we
+ have the
+ right file, use inode equality.
+
+ ChangeLog | 12 ++++++++++
+ fc-cache/fc-cache.c | 1 +
+ src/fccache.c | 64
+ ++++++++++++++++++++++++++++-------------------------
+ 3 files changed, 47 insertions(+), 30 deletions(-)
+
+commit cd9bca69702900ca9b24319c76b2dc9432bb548f
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Jan 9 13:58:04 2006 +0000
+
+ Normalize font dirs by using the form, as given in fonts.conf,
+ and recorded
+ in FcConfig's fontDirs string set, as canonical.
+ Actually update config.fontDirs as font directories are scanned.
+
+ ChangeLog | 14 ++++++++++++++
+ fc-cache/fc-cache.c | 2 +-
+ fc-cat/fc-cat.c | 4 ++--
+ src/fccache.c | 21 ++++++++++++---------
+ src/fccfg.c | 23 +++++++++++++++++++++++
+ src/fcdir.c | 3 ++-
+ src/fcint.h | 6 +++++-
+ 7 files changed, 59 insertions(+), 14 deletions(-)
+
+commit 5576a5873dc9cd6e11234df6e64dbff18afe6378
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sun Jan 8 10:58:30 2006 +0000
+
+ Fix matching bug when multiple elements match; don't use the sum
+ of all
+ scores, but the best score.
+ Also more perf opts, e.g. evaluate best over all font sets rather
+ than on a
+ per-set basis (and other changes).
+
+ src/fcmatch.c | 243
+ ++++++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 143 insertions(+), 100 deletions(-)
+
+commit a6d3757d9802c8f5dc8632a8cf6703042f62e303
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sun Jan 8 10:58:05 2006 +0000
+
+ Fix matching bug when multiple elements match; don't use the sum
+ of all
+ scores, but the best score.
+ Also more perf opts, e.g. evaluate best over all font sets rather
+ than on a
+ per-set basis (and other changes).
+
+ ChangeLog | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit 05a98eaf4bd23fe1035660a9a2b1018abdfc9c6e
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sun Jan 8 10:50:51 2006 +0000
+
+ Properly skip past dir caches that contain zero fonts (as occurs
+ in global
+ caches.) Reported by Mike Fabian.
+
+ ChangeLog | 6 ++++++
+ src/fccache.c | 4 ++++
+ 2 files changed, 10 insertions(+)
+
+commit 5fe09702f4fc4ec6d55f30b80999ce2c219bd966
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Jan 7 06:36:24 2006 +0000
+
+ Print out full pathname in fc-match -v as well. Reported by Frederic
+ Crozat.
+ Fix bug where fc-match crashes when given __DUMMY__ property to
+ match on.
+ (I added the __DUMMY__ string to enable callers of FcObjectToPtrLookup
+ to
+ distinguish an error return from a successful return. -PL)
+ reviewed by: plam
+
+ ChangeLog | 18 ++++++++++++++++++
+ src/fcdbg.c | 21 ++++++++++++++++++++-
+ src/fcname.c | 11 +++++++----
+ 3 files changed, 45 insertions(+), 5 deletions(-)
+
+commit c60ec7cc6d1795922b742435965746e02e67f11c
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Jan 5 15:12:22 2006 +0000
+
+ Add self to AUTHORS list.
+ Minor change to global cache file format to fix fc-cat bug reported by
+ Frederic Crozat, and buglet with not globally caching directories
+ with
+ zero fonts cached.
+
+ AUTHORS | 2 ++
+ ChangeLog | 18 ++++++++++++++++
+ fc-cat/fc-cat.c | 66
+ +++++++++++++++++++++++++++++++++------------------------
+ src/fccache.c | 31 +++++++++++++--------------
+ src/fcint.h | 1 +
+ src/fcpat.c | 2 +-
+ 6 files changed, 75 insertions(+), 45 deletions(-)
+
+commit 52ac91f7c1a8a6433851cbde8ccade618f0218e4
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Jan 2 17:20:23 2006 +0000
+
+ Fix double-free which occurs because FcValueCanonicalize doesn't
+ create an
+ extra copy of the returned value, it only canonicalizes it.
+ reviewed by: plam
+
+ ChangeLog | 11 ++++++++++-
+ src/fccfg.c | 1 +
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+commit cea78a87910a88383699d5a386693d39aa3236f5
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Jan 2 17:18:22 2006 +0000
+
+ Fix version of .cache file (currently 1 -> currently 2). Reported
+ by Jim
+ Osborn.
+
+ ChangeLog | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit e9fd3c069aa415f9e7589dd1a871cd7727925364
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Jan 2 17:13:48 2006 +0000
+
+ Fix version of .cache file (currently 1 -> currently 2). Reported
+ by Jim
+ Osborn.
+
+ doc/fontconfig-user.sgml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ebc157f9a1eb266d60d03ad3fa36dc2ba0250db1
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Dec 21 20:00:20 2005 +0000
+
+ Shut up GCC warnings on amd.
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ src/fcpat.c | 4 ++--
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+commit 19ea60bc7c0186070d95f5effc815c546de1dcb0
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Dec 21 05:37:10 2005 +0000
+
+ Avoid check on _fcBankId nullness and fix case where it used to crash.
+
+ ChangeLog | 7 +++++++
+ src/fccharset.c | 2 +-
+ src/fcint.h | 2 +-
+ 3 files changed, 9 insertions(+), 2 deletions(-)
+
+commit 3bfae75d44db5ceae394194d2e6c7b81201ea685
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Dec 21 03:31:19 2005 +0000
+
+ Bump version to 2.3.93.
+ Use open instead of fopen (requested by Phil Race for Sun).
+ src/fccache.c (FcDirCacheWrite);
+ Fix GCC4 warning and Makefile brokenness for /var/cache/fontconfig
+ dir.
+
+ ChangeLog | 20 ++++++++++++++++
+ README | 17 ++++++++++++--
+ configure.in | 2 +-
+ fc-cache/Makefile.am | 8 +++++++
+ fontconfig/fontconfig.h | 2 +-
+ src/fccache.c | 62
+ ++++++++++++++++++++++++++++++++++++++++---------
+ src/fcxml.c | 13 ++++++-----
+ 7 files changed, 103 insertions(+), 21 deletions(-)
+
+commit 6f767cec491d354150a11491905ba59cc77a2659
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Dec 20 20:35:47 2005 +0000
+
+ Restore code to skip over PCF fonts that have no encoded
+ characters. (We
+ guess that a font is PCF by presence of the PIXEL_SIZE BDF
+ property.)
+
+ ChangeLog | 8 ++++++++
+ conf.d/10LohitGujarati.conf | 5 +++++
+ src/fcfreetype.c | 9 ++++++---
+ 3 files changed, 19 insertions(+), 3 deletions(-)
+
+commit a7683cafe10925d09855f927cb7602a90e10516f
+Author: Carl Worth <cworth@cworth.org>
+Date: Tue Dec 13 17:50:50 2005 +0000
+
+ Add a configuration file that disables hinting for the Lohit
+ Gujarati font
+ (since the hinting distort some glyphs quite badly).
+ reviewed by: keithp
+
+ ChangeLog | 8 ++++++++
+ conf.d/10LohitGujarati.conf | 5 +++++
+ conf.d/Makefile.am | 1 +
+ 3 files changed, 14 insertions(+)
+
+commit ec760b178a7bb1a60fe2fe5e205ef82922fde5b6
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Dec 12 20:45:54 2005 +0000
+
+ Read and write the original location as a fallback for the hashed
+ cache
+ file locations. This is mostly for users to be able to have
+ per-directory cache files.
+
+ ChangeLog | 7 +++++++
+ src/fccache.c | 41 ++++++++++++++++++++++++++++++++---------
+ 2 files changed, 39 insertions(+), 9 deletions(-)
+
+commit 83b6739035fc17d97b8ce01d6a9b9ef6e78d694c
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Dec 12 13:46:45 2005 +0000
+
+ Improve error message when fc-cache can't write the cache. Add missing
+ slash. Reported by Behdad. Incorporate Behdad's patch to create
+ /var/cache/fontconfig when appropriate.
+
+ ChangeLog | 9 +++++++++
+ fc-cache/Makefile.am | 5 +++++
+ fc-cache/fc-cache.c | 4 +++-
+ src/fccache.c | 2 +-
+ 4 files changed, 18 insertions(+), 2 deletions(-)
+
+commit 368104c381815aa9a0c8c878f1d2be0cc5330f10
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Dec 12 13:20:41 2005 +0000
+
+ Fix crash reported by Frederic Crozat when using libxml2.
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ src/fcxml.c | 3 +++
+ 2 files changed, 10 insertions(+)
+
+commit ea44e2184198aba956e39ae63a4914544c9719fe
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Dec 9 16:36:45 2005 +0000
+
+ Migrate cache files from fonts directories to
+ /var/cache/fontconfig. This
+ helps make fontconfig FHS-compliant, but requires that all
+ caches get
+ rebuilt.
+ Also, autogen.sh now needs the additional parameter
+ --localstatedir=/var.
+
+ ChangeLog | 20 ++
+ INSTALL | 2 +-
+ configure.in | 7 +
+ fc-cache/Makefile.am | 2 +
+ fc-cat/Makefile.am | 2 +
+ fc-cat/fc-cat.c | 13 +-
+ fontconfig/fontconfig.h | 1 +
+ src/Makefile.am | 2 +
+ src/fccache.c | 523
+ +++++++++++++++++++++++++++++++++++++++++++-----
+ 9 files changed, 519 insertions(+), 53 deletions(-)
+
+commit 204da5a8b88a73e54a9bab0537db7ff4fe8c6374
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Dec 8 05:54:27 2005 +0000
+
+ Because we've changed FcPatternAddString to use FcStrStaticName
+ and not
+ FcValueSave, explicitly handle the case of a null string.
+
+ ChangeLog | 6 ++++++
+ src/fcpat.c | 7 +++++++
+ 2 files changed, 13 insertions(+)
+
+commit 982b598278315de60721740047a1b57f4a5895b8
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Dec 7 03:55:25 2005 +0000
+
+ Fix warnings.
+
+ ChangeLog | 5 +++++
+ fc-cat/fc-cat.c | 9 +++------
+ 2 files changed, 8 insertions(+), 6 deletions(-)
+
+commit c6103dfb22de0664a6ab164d90d6959551e301c5
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Dec 6 18:57:43 2005 +0000
+
+ Don't assign types to user object names.
+
+ ChangeLog | 5 +++++
+ src/fcname.c | 3 +++
+ 2 files changed, 8 insertions(+)
+
+commit 9ede93f1dc375c1f4d7e71d821887c01a367d995
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Dec 5 16:08:01 2005 +0000
+
+ Don't free strings that have been returned from FcStrStaticName.
+
+ ChangeLog | 5 +++++
+ src/fcpat.c | 21 +++++++++++++++++++--
+ 2 files changed, 24 insertions(+), 2 deletions(-)
+
+commit 6059daeddb7b44d9b2c0f4d94a08fb6ff79ff3ac
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Dec 1 07:12:45 2005 +0000
+
+ Add codepath for reading global cache files as well.
+
+ ChangeLog | 5 +++++
+ fc-cat/fc-cat.c | 61
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 66 insertions(+)
+
+commit 4edd0a0286c3c7fc3497afe8f5f68df118deb682
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Dec 1 06:27:07 2005 +0000
+
+ file 10-fonts-persian.conf was initially added on branch
+ fc-2_4_branch.
+
+commit 2c6fead73fd6608fd50eb97c69a556fdac1b5c55
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Dec 1 06:27:07 2005 +0000
+
+ Add config file for Persian fonts from Sharif FarsiWeb, Inc.
+ reviewed by: plam
+
+ ChangeLog | 10 +-
+ conf.d/10-fonts-persian.conf | 545
+ +++++++++++++++++++++++++++++++++++++++++++
+ conf.d/Makefile.am | 1 +
+ 3 files changed, 555 insertions(+), 1 deletion(-)
+
+commit cb6d97eb1baba6795bb8abdede69902b2440f371
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Nov 30 22:13:21 2005 +0000
+
+ Only add a config file to the set of config files once.
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ src/fcxml.c | 6 ++++++
+ 2 files changed, 13 insertions(+)
+
+commit 93a27747a485624d4a89550036e12eeec96d4558
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Nov 29 15:04:06 2005 +0000
+
+ src/fcint.h (FcCacheBankToIndex);
+ Fix segfault by guarding array dereference.
+
+ ChangeLog | 5 +++++
+ src/fcint.h | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+commit b8948e85420469c83098a6b97d7979189a8734d9
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Nov 29 14:57:10 2005 +0000
+
+ Refactor FcCacheBankToIndex into an inlineable part (in fcint.h) which
+ checks the front of the list and a non-inlineable part which
+ finds and
+ moves the appropriate element to the front of the list.
+ reviewed by: plam
+
+ ChangeLog | 14 ++++++++++++++
+ fc-lang/fc-lang.c | 5 ++++-
+ src/fccache.c | 34 +++++++++++++++++-----------------
+ src/fcint.h | 9 ++++++++-
+ 4 files changed, 43 insertions(+), 19 deletions(-)
+
+commit 9fad72abaf3da6f3e4a691a0e1a852f6a7353d56
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Nov 29 06:23:00 2005 +0000
+
+ Make the perf guys hate me a bit less: hoist the directory-name
+ FcConfigAcceptFont check for cached fonts up to directory
+ cache read
+ time, rather than running it for each font.
+
+ ChangeLog | 8 ++++++++
+ src/fccache.c | 3 +++
+ src/fccfg.c | 6 ++----
+ 3 files changed, 13 insertions(+), 4 deletions(-)
+
+commit 51af0509925e780eb3eb9014aac5e50b6bbbe0d1
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Nov 29 06:09:18 2005 +0000
+
+ Don't make FcPatternFindFullFname available to fccfg, it's not
+ really safe.
+ Instead go through FcPatternGetString (sorry, perf guys.) Also,
+ use
+ globs for dirs as well.
+
+ ChangeLog | 9 +++++++++
+ src/fccfg.c | 8 +++++---
+ src/fcint.h | 3 ---
+ src/fcpat.c | 5 ++++-
+ 4 files changed, 18 insertions(+), 7 deletions(-)
+
+commit e0421d0289ae95a1c74e607f36c0d54f3d0dedd8
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Nov 29 00:21:05 2005 +0000
+
+ Fix segfault.
+
+ ChangeLog | 5 +++++
+ src/fccfg.c | 5 ++++-
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+commit c4d3b6dad0ccb9b3ddfddb7305b4da26f494271d
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Nov 29 00:16:02 2005 +0000
+
+ Update autogenerated config.* files.
+
+ config/config.guess | 535
+ +++++++++++++++++++++++++++-------------------------
+ config/config.sub | 67 ++++---
+ 2 files changed, 314 insertions(+), 288 deletions(-)
+
+commit ced3f0a0abd84de73753956ec18e7316eda33a37
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Nov 29 00:14:42 2005 +0000
+
+ Fix problem dating back at least to 2.3.2 where globs weren't
+ being applied
+ to patterns loaded from a cache.
+ Fix some obvious spelling mistakes.
+
+ ChangeLog | 13 +++++++++++++
+ doc/fontconfig-user.sgml | 17 +++++++++--------
+ src/fccfg.c | 3 ++-
+ src/fcint.h | 3 +++
+ src/fcpat.c | 4 +---
+ 5 files changed, 28 insertions(+), 12 deletions(-)
+
+commit 1ed98a0c87931ae93ea3d46f3d0367a99218679c
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Nov 28 10:54:11 2005 +0000
+
+ Stephan Kulow <coolo@suse.de> reviewed by: plam
+ Don't kill all fonts during match (oops!)
+
+ ChangeLog | 23 +++++++++++++++++++++++
+ src/fcmatch.c | 39 ++++++++++++++++++++++++++++++++-------
+ 2 files changed, 55 insertions(+), 7 deletions(-)
+
+commit aa472e5f1a83c5e09030b0c862a0c3e0df10dcaa
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Nov 28 01:40:53 2005 +0000
+
+ Stephan Kulow <coolo@suse.de> Michael Matz <matz@suse.de> reviewed
+ by: plam
+ Rewrite FcFontSetMatch to a path-finding based algorithm, i.e. inline
+ FcCompare into FcFontSetMatch and reorder the loops, adding
+ a boolean
+ array which blocks patterns from future consideration if
+ they're known
+ to not be best on some past criterion.
+
+ src/fcmatch.c | 224
+ +++++++++++++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 159 insertions(+), 65 deletions(-)
+
+commit 200a44fed0c28bcf83a65e32c320471d9335d3c5
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Nov 26 05:05:14 2005 +0000
+
+ Fix incorrect merge.
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ src/fcmatch.c | 6 +++---
+ 2 files changed, 10 insertions(+), 3 deletions(-)
+
+commit cbe1df8150e4ed6e76bd258afe5a11529c909ddf
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Nov 25 16:33:58 2005 +0000
+
+ Don't do random matching when bad objects are passed into
+ FcCompareValueList.
+
+ ChangeLog | 6 ++++++
+ src/fcmatch.c | 58
+ +++++++++++++++++++++++++++++++++++++++++++---------------
+ 2 files changed, 49 insertions(+), 15 deletions(-)
+
+commit 81fe99fdd0903ef8aa782fe427bc8f9510457ee9
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Nov 25 16:04:44 2005 +0000
+
+ Rename fcpatterns, fcpatternelts, fcvaluelists to _fcPatterns,
+ _fcPatternElts, _fcValueLists for consistency.
+
+ ChangeLog | 10 ++++++++++
+ src/fcint.h | 8 ++++----
+ src/fcpat.c | 50 +++++++++++++++++++++++++-------------------------
+ 3 files changed, 39 insertions(+), 29 deletions(-)
+
+commit d854eaf8a9c395a1cbca83a7620e087109f6eb87
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Nov 25 15:54:24 2005 +0000
+
+ Pass the FcObjectPtr to FcCompareValueList, not the char * (perf).
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ src/fcmatch.c | 35 ++++++++++-------------------------
+ 2 files changed, 17 insertions(+), 25 deletions(-)
+
+commit 61571f3f2e77ffb221da9af2705af1d383dd6ea0
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Nov 25 15:50:34 2005 +0000
+
+ Pass around FcCache *s to the Unserialize functions for extra
+ consistency
+ (and less overhead, for what that's worth).
+
+ ChangeLog | 13 +++++++++++++
+ src/fccache.c | 2 +-
+ src/fccharset.c | 12 ++++++------
+ src/fcfs.c | 2 +-
+ src/fcint.h | 10 +++++-----
+ src/fclang.c | 8 ++++----
+ src/fcname.c | 2 +-
+ src/fcpat.c | 32 ++++++++++++++++----------------
+ 8 files changed, 47 insertions(+), 34 deletions(-)
+
+commit 9ab79bdfb7f8bfbe108d1c676b361f69f6a5b043
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Nov 25 03:00:51 2005 +0000
+
+ Inline the *PtrU functions to gain perf. Remove unneeded params
+ for the
+ FcCompare* functions.
+ reviewed by: plam
+
+ ChangeLog | 12 +++++++++++-
+ src/fcint.h | 31 +++++++++++++++++++++++++++----
+ src/fcmatch.c | 50 +++++++++++++++++---------------------------------
+ src/fcname.c | 12 +++---------
+ src/fcpat.c | 22 ++--------------------
+ 5 files changed, 60 insertions(+), 67 deletions(-)
+
+commit 3f9f24e077cc079be362343be499ff0baf23e0a1
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Nov 25 02:16:42 2005 +0000
+
+ Fix the debian changelog so that debian/rules works again, make it
+ create a
+ debian package for release 2.3.92-1. Acknowledge change in NMU of
+ debian package.
+
+ debian/changelog | 13 +++++++++++++
+ debian/control | 1 +
+ debian/po/cs.po | 57
+ ++++++++++++++++++++++++++++----------------------------
+ 3 files changed, 43 insertions(+), 28 deletions(-)
+
+commit 1c9fdccab95c9c5eebd0f9d8488d3ac7c46cbe53
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Nov 24 21:40:20 2005 +0000
+
+ Move FC_BANK_DYNAMIC, FC_BANK_FIRST to internal header.
+ Check for type validity during FcPatternAddWithBinding, don't
+ verify type
+ in FcFontMatch, don't call FcCanonicalize here (which always
+ does a
+ deep copy).
+ reviewed by: plam
+
+ ChangeLog | 13 +++++++++++++
+ fontconfig/fontconfig.h | 3 ---
+ src/fcint.h | 3 +++
+ src/fcmatch.c | 22 +++++-----------------
+ src/fcpat.c | 22 +++++++++++++++++-----
+ 5 files changed, 38 insertions(+), 25 deletions(-)
+
+commit 4f8b266fd97e36961639c40d93225265c0f849c7
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Nov 24 20:20:26 2005 +0000
+
+ Make FcCompareString and FcCompareFamily less expensive. Only add
+ a value
+ for FC_FAMILY if the proposed value is a string.
+ reviewed by: plam
+
+ ChangeLog | 11 ++++++++++-
+ src/fcmatch.c | 24 +++++++++++++++++-------
+ src/fcpat.c | 7 +++++++
+ 3 files changed, 34 insertions(+), 8 deletions(-)
+
+commit b97a34b5924b1279dd831426a94016ea8b65ea8d
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Nov 24 19:38:05 2005 +0000
+
+ Inline FcDebug invocations and only initialize once, in
+ FcInit*. Improve
+ debug msg in FcPatternPrint.
+ reviewed by: plam
+
+ ChangeLog | 10 ++++++++++
+ src/fcdbg.c | 30 ++++++++++++------------------
+ src/fcinit.c | 2 ++
+ src/fcint.h | 9 +++++++--
+ 4 files changed, 31 insertions(+), 20 deletions(-)
+
+commit d2f459781cade98d1d07806d023e63f1fc289b0e
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Nov 23 17:01:27 2005 +0000
+
+ Properly apply fcrozat's patch.
+
+ fc-cat/fc-cat.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f7c4624f5624f4dc981f75a4f74446de04bf69d1
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Nov 23 16:36:26 2005 +0000
+
+ 2005-11-23 Frederic Crozat <fcrozat@mandriva.com>: reviewed by: plam
+ Minor code warning cleanups.
+
+ ChangeLog | 8 ++++++++
+ fc-cat/fc-cat.c | 1 -
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 9 insertions(+), 2 deletions(-)
+
+commit b1297aa8977901075e95e40bc430fc823e1fb230
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Nov 23 15:33:48 2005 +0000
+
+ 2005-11-23 Frederic Crozat <fcrozat@mandriva.com>: reviewed by: plam
+ Make getopt_long accept -s parameter to fc-match as well.
+
+ ChangeLog | 7 +++++++
+ fc-match/fc-match.c | 2 +-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+commit 435fc66073ee83d17242bac2880e843489439cda
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Nov 23 15:32:36 2005 +0000
+
+ 2005-11-23 Frederic Crozat <fcrozat@mandriva.com>: reviewed by: plam
+ Make getopt_long accept -s parameter to fc-match as well.
+
+ ChangeLog | 7 +++++++
+ fc-match/fc-match.c | 2 +-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+commit adac22f290f1780f6d1424d6f93cc4453d4d489c
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Nov 22 04:46:55 2005 +0000
+
+ Manually perform inlining & partial redundancy elimination to
+ reduce calls
+ to FcValueListPtrU.
+ Only invoke strlen() when really necessary.
+ reviewed by: plam
+ reviewed by: plam
+
+ ChangeLog | 16 ++++++++++++++++
+ src/fcmatch.c | 17 +++++++++--------
+ src/fcstr.c | 8 ++------
+ 3 files changed, 27 insertions(+), 14 deletions(-)
+
+commit 8c24aa6b45ce7fa0b872ca2e9c3b96e1a5b720e4
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Nov 19 22:38:39 2005 +0000
+
+ Get rid of the use of freetype internal headers in fcfreetype.c, since
+ those headers will go away with freetype 2.2. Replace with public
+ domain ftglue code from pango. Note that the patch removes
+ some extra
+ error checking in FT_Get_BDF_Property() and comments out the
+ skipping
+ of empty pcf fonts.
+ reviewed by: plam
+
+ ChangeLog | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 246985e40e3296a6bb427026d8274fe8409f3776
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Nov 19 22:37:24 2005 +0000
+
+ file ftglue.c was initially added on branch fc-2_4_branch.
+
+commit 824c7bf02515cde1cc562eb6a64b9857d03913fc
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Nov 19 22:37:24 2005 +0000
+
+ Get rid of the use of freetype internal headers in fcfreetype.c, since
+ those headers will go away with freetype 2.2. Replace with public
+ domain ftglue code from pango. Note that the patch removes
+ some extra
+ error checking in FT_Get_BDF_Property() and comments out the
+ skipping
+ of empty pcf fonts.
+ reviewed by: plam
+
+ src/ftglue.c | 349
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/ftglue.h | 159 +++++++++++++++++++++++++++
+ 2 files changed, 508 insertions(+)
+
+commit 8ebf7725a8607b39ff505029b2a41369d67eb736
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Nov 19 22:32:13 2005 +0000
+
+ Get rid of the use of freetype internal headers in fcfreetype.c, since
+ those headers will go away with freetype 2.2. Replace with public
+ domain ftglue code from pango. Note that the patch removes
+ some extra
+ error checking in FT_Get_BDF_Property() and comments out the
+ skipping
+ of empty pcf fonts.
+ reviewed by: plam
+
+ ChangeLog | 13 ++++++++++
+ src/Makefile.am | 4 ++-
+ src/fcfreetype.c | 75
+ ++++++++++++++++++++++++++------------------------------
+ 3 files changed, 51 insertions(+), 41 deletions(-)
+
+commit a151acedc056783957f9875b1a21f13d0bb8bfe2
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Nov 19 16:24:53 2005 +0000
+
+ Further fix of patch from 2005-11-04: miscounted numbers count
+ (numbers_count); didn't strip duplicate numbers (langBankNumbers);
+ and
+ leafidx_offset and numbers_offset in fcLangCharSets are wrong.
+ Removed leafidx_count and numbers_count since they are the same and
+ replaced them with offset_count.
+ reviewed by: plam
+
+ ChangeLog | 12 ++++++++++++
+ fc-lang/fc-lang.c | 21 +++++++++++++--------
+ 2 files changed, 25 insertions(+), 8 deletions(-)
+
+commit 8f2a807810c006e771c0f7429ba218a1ffb1e6de
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Nov 18 20:32:30 2005 +0000
+
+ Don't crash when fc-cat invoked with no arguments.
+ Fix invalid read access caused by premature free and GCC4 warnings in
+ libxml2 codepath.
+ reviewed by: plam
+ reviewed by: plam
+
+ ChangeLog | 17 ++++++++++++++++-
+ fc-cat/fc-cat.c | 3 +++
+ src/fcxml.c | 10 ++++++----
+ 3 files changed, 25 insertions(+), 5 deletions(-)
+
+commit 82912b062b1bb902db54e5b79f4a2d6a33ccd8a0
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Nov 18 04:21:10 2005 +0000
+
+ List iteration not needed in FcConfigValues, since it's building
+ up the
+ list itself; we can just strip FcVoid elements during
+ construction.
+ reviewed by: plam
+
+ ChangeLog | 9 +++++++++
+ src/fccfg.c | 17 ++++++-----------
+ 2 files changed, 15 insertions(+), 11 deletions(-)
+
+commit 38b2ecad5af4f7f7a55023afafaae075ecd3c753
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Nov 17 16:46:07 2005 +0000
+
+ Fix crash on invalid constants in config files (forgot to update
+ a pointer
+ upon list iteration.)
+
+ ChangeLog | 6 ++++++
+ src/fccfg.c | 1 +
+ 2 files changed, 7 insertions(+)
+
+commit f28472fdb4e51a06283161f9e7a645d5354a37d2
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Nov 17 16:17:05 2005 +0000
+
+ Complain about invalid constants in config files.
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ src/fcxml.c | 4 ++++
+ 2 files changed, 11 insertions(+)
+
+commit 1c5b6345b9023dee7962468fccb678b5f2e56ce3
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Nov 17 15:43:39 2005 +0000
+
+ Don't add current_arch_start more than once.
+ Fix ordering of ALIGN with respect to saving block_ptr; add another
+ ALIGN
+ to fcfs.c.
+ reviewed by: plam
+
+ ChangeLog | 16 ++++++++++++++++
+ src/fccache.c | 2 +-
+ src/fccharset.c | 12 ++++++++----
+ src/fcfs.c | 10 +++++++++-
+ src/fcname.c | 6 ++++--
+ src/fcpat.c | 1 +
+ 6 files changed, 39 insertions(+), 8 deletions(-)
+
+commit 8e351527bb87798e9b796e12a3b1ee6229536a28
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Nov 16 17:49:01 2005 +0000
+
+ src/fccache.c (FcDirCacheProduce)
+ Fix case where alignment bytes bumped up metadata->count causing
+ unwarranted failures to write cache files. (Reported by Stephan
+ Kulow).
+
+ ChangeLog | 7 +++++++
+ src/fccache.c | 15 +++++++++++----
+ 2 files changed, 18 insertions(+), 4 deletions(-)
+
+commit 7fd7221e683d6c65b9199fd06d34d5215582748e
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Nov 16 15:55:17 2005 +0000
+
+ Add *NeededBytesAlign(), which overestimates the padding which
+ is later
+ added by the new ALIGN macro. Fix alignment problems on ia64
+ and s390
+ by bumping up block_ptr appropriately. (Earlier version by Andreas
+ Schwab).
+ Use sysconf to determine proper PAGESIZE value; this appears to be
+ POSIX-compliant. (reported by Andreas Schwab)
+ reviewed by: plam
+
+ ChangeLog | 23 +++++++++++++++++++++++
+ src/fccache.c | 21 +++++++++++++--------
+ src/fccharset.c | 11 +++++++++++
+ src/fcfs.c | 10 ++++++++++
+ src/fcint.h | 18 ++++++++++++++++++
+ src/fclang.c | 8 ++++++++
+ src/fcname.c | 8 ++++++++
+ src/fcpat.c | 36 ++++++++++++++++++++++++++++++++++++
+ 8 files changed, 127 insertions(+), 8 deletions(-)
+
+commit 82f35f8bb4fe58ebc839531f4a63544dc07f0f5d
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Nov 4 19:31:26 2005 +0000
+
+ Fix bug 2878 (excessive relocations at startup for charsets,
+ reported by
+ Ross Burton): fc-lang/fc-lang now creates the static form of the
+ langset, not the dynamic form, so that the charsets should now
+ be in
+ .rodata.
+
+ ChangeLog | 11 +++++++++++
+ fc-lang/fc-lang.c | 59
+ ++++++++++++++++++++++++++++++++++++++++---------------
+ src/fccharset.c | 18 +++++++++++++++++
+ src/fcint.h | 5 +++++
+ src/fclang.c | 16 ++++++++++++++-
+ 5 files changed, 92 insertions(+), 17 deletions(-)
+
+commit 50544b13c19c6a4a9fe9cf26cdd2170ddacf86d1
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Nov 4 16:48:32 2005 +0000
+
+ Add test for validity of directory caches that somehow got lost
+ (reported
+ by make distcheck).
+
+ ChangeLog | 6 ++++++
+ src/fcdir.c | 2 +-
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+commit e6d3e251ee26f1267585cbbd5a95dc1f7290e225
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Nov 4 06:17:00 2005 +0000
+
+ Bump version to 2.3.92.
+
+ ChangeLog | 8 ++++++++
+ README | 29 +++++++++++++++++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 4 files changed, 37 insertions(+), 4 deletions(-)
+
+commit ea9726b620bff44d45fa25c91a8ab7d31a813577
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Nov 3 04:45:57 2005 +0000
+
+ Fix argument ordering problem in call to FcPatternTransferFullFname.
+
+ ChangeLog | 5 +++++
+ src/fcpat.c | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+commit 7358dae49b328f5546d156246510601e2dd85d1c
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Nov 3 04:23:22 2005 +0000
+
+ Fix warnings and embarrassing double-free error.
+
+ ChangeLog | 7 +++++++
+ src/fcfreetype.c | 2 +-
+ src/fcpat.c | 14 +++++---------
+ 3 files changed, 13 insertions(+), 10 deletions(-)
+
+commit efa9f2bd077da0ccc432b80baf87c2a3e7340f6a
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Nov 2 15:57:36 2005 +0000
+
+ Change the rule for artificial emboldening in fonts.conf.in. This
+ enables
+ the support for artificial emboldening included in cairo.
+ reviewed by: plam
+
+ ChangeLog | 8 ++++++++
+ fonts.conf.in | 18 ++++++++++++++----
+ 2 files changed, 22 insertions(+), 4 deletions(-)
+
+commit d7b3ac63675983c92092703c9c7da0d9e3c0b2ad
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Nov 2 15:29:53 2005 +0000
+
+ Don't zero out full names for FC_REF_CONSTANT fonts; also, duplicate
+ full
+ names when transferring, and free full names when freeing the
+ associated font. Reported by Jinghua Luo.
+
+ ChangeLog | 8 ++++++++
+ src/fcpat.c | 18 ++++++++++++++----
+ 2 files changed, 22 insertions(+), 4 deletions(-)
+
+commit 303bcf9b9df00ce2906db5c9414aeec96d1a55f9
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Nov 2 07:37:00 2005 +0000
+
+ Revert the previous patch and commit the correct patch: I forgot a
+ canonicalization in FcValueListSerialize, so that it would
+ choke on
+ already-serialized input files. Duh!
+
+ ChangeLog | 8 ++++++++
+ fc-cache/fc-cache.c | 9 ---------
+ src/fcpat.c | 1 +
+ 3 files changed, 9 insertions(+), 9 deletions(-)
+
+commit c6b75577f3bf3019399e0a439d9cccf55e53999f
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Nov 2 07:01:25 2005 +0000
+
+ Forcibly rescan a directory before writing a fresh local cache
+ file for
+ that directory, fixing the losing-fonts problem reported by
+ Mike Fabian
+ and also apparently the font cache file corruption.
+
+ ChangeLog | 8 ++++++++
+ fc-cache/fc-cache.c | 9 +++++++++
+ 2 files changed, 17 insertions(+)
+
+commit 9090cb9eceec10581c9f927b2e895189d20d1d4c
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Nov 2 06:39:23 2005 +0000
+
+ Fix thinko: actually, the whole global cache is stale if the global
+ cache
+ is older than the (newest) config file.
+
+ ChangeLog | 6 ++++++
+ src/fccache.c | 6 +++---
+ 2 files changed, 9 insertions(+), 3 deletions(-)
+
+commit 2b25f00c501a4baf2096a9cb68b0be961251cfda
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Nov 2 06:29:14 2005 +0000
+
+ Declare the global cache of a directory's contents to be stale if the
+ directory is newer than the (newest) configuration file. S:
+ ----------------------------------------------------------------------
+
+ ChangeLog | 8 ++++++++
+ src/fccache.c | 12 +++++++++---
+ src/fccfg.c | 20 ++++++++++++++------
+ src/fcint.h | 11 ++++++++++-
+ 4 files changed, 41 insertions(+), 10 deletions(-)
+
+commit 793154ed8d4b2d832f81a893273c6504bac3f0b3
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Nov 1 06:57:25 2005 +0000
+
+ Copy the full pathname whenever duplicating an FcPattern; otherwise,
+ applications continue breaking.
+
+ ChangeLog | 10 ++++++++++
+ src/fcint.h | 4 ++--
+ src/fclist.c | 6 +-----
+ src/fcmatch.c | 4 ++++
+ src/fcpat.c | 25 ++++++++++++++++++++++++-
+ 5 files changed, 41 insertions(+), 8 deletions(-)
+
+commit d6946c1a11695eb55a3fe60db5480df94570b1ba
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Nov 1 05:52:28 2005 +0000
+
+ Fix small memory error (tried to free argv); use basename and dirname
+ correctly (they can modify their arguments).
+
+ ChangeLog | 7 +++++++
+ fc-cat/fc-cat.c | 4 +---
+ src/fcfreetype.c | 2 +-
+ 3 files changed, 9 insertions(+), 4 deletions(-)
+
+commit e77c17184a6172d6368dd3193c791c4027065bbd
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Nov 1 05:26:27 2005 +0000
+
+ Reinstate basename patch, but keep a hash table linking FcPatterns
+ to their
+ fully-qualified font names for clients' benefit. Clients only
+ pay for
+ the font names once they request the FC_FILE property from an
+ FcPattern, but the font name is malloc'd at that point (i.e. not
+ mmapped: that's impossible, since it may vary between machines.)
+ Clients do have to pay for a copy of the path name per cache file.
+ Note that FcPatternGetString now does some rewriting if you ask for an
+ FC_FILE, appending the pathname as appropriate.
+
+ ChangeLog | 23 ++++++++++++++
+ fc-cat/fc-cat.c | 7 ++--
+ src/fccache.c | 40 ++++++++++++++++++++---
+ src/fcfreetype.c | 5 ++-
+ src/fcint.h | 9 ++++++
+ src/fclist.c | 8 +++++
+ src/fcpat.c | 97
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 7 files changed, 181 insertions(+), 8 deletions(-)
+
+commit be99726f672cef086b4256ad34163f6f9ed9d4a5
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Oct 31 06:02:00 2005 +0000
+
+ Revert basename patch, which breaks fontconfig clients on my system.
+
+ src/fcfreetype.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 720298e773876037dd9af384a9cc16956600b5e7
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Oct 26 06:34:29 2005 +0000
+
+ Add FC_EMBEDDED_BITMAP object type to tell Xft/Cairo whether to load
+ embedded bitmaps or not.
+ reviewed by: plam
+
+ ChangeLog | 11 +++++++++++
+ fontconfig/fontconfig.h | 1 +
+ fonts.conf.in | 4 ++++
+ src/fcdefault.c | 1 +
+ src/fcname.c | 1 +
+ 5 files changed, 18 insertions(+)
+
+commit 961d9b9993ae815d6ba723829724bf0685809091
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Oct 25 22:29:13 2005 +0000
+
+ Only add basename to patterns' FC_FILE element, not any part of the
+ dirname.
+
+ ChangeLog | 6 ++++++
+ src/fcfreetype.c | 3 ++-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+commit 573da729101bfb81d2cafb7e442bbf5395ae9eef
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Oct 22 15:12:05 2005 +0000
+
+ Add some more consts, fixing more GCC4 warnings.
+
+ ChangeLog | 5 +++++
+ src/fcfreetype.c | 22 +++++++++++-----------
+ 2 files changed, 16 insertions(+), 11 deletions(-)
+
+commit 904426816df300fad816238f0f27ef595a6a539b
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Oct 22 14:21:14 2005 +0000
+
+ Support localized font family and style names. This has been
+ reported to
+ break old apps like xfd, but modern (gtk+/qt/mozilla) apps
+ work fine.
+ reviewed by: plam
+
+ ChangeLog | 7 ++++
+ src/fcdefault.c | 110
+ +++++++++++++++++++++++++++++++-------------------------
+ src/fcint.h | 4 +++
+ src/fclist.c | 60 +++++++++++++++++++++++++++++--
+ 4 files changed, 130 insertions(+), 51 deletions(-)
+
+commit e58b50e88cbe3b55695101a0988306ea4646bbe4
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Oct 21 20:24:30 2005 +0000
+
+ Destroy the global cache file if it's terminally broken. (reported
+ by Mike
+ Fabian)
+
+ ChangeLog | 9 ++++++++-
+ src/fccache.c | 16 +++++++++++++---
+ 2 files changed, 21 insertions(+), 4 deletions(-)
+
+commit 2fa3f27e68834d55f0f451514a0658b247fddb0d
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Oct 21 19:47:43 2005 +0000
+
+ Prevent fc-list from escaping strings when printing them.
+
+ ChangeLog | 7 +++++++
+ fc-list/fc-list.c | 2 +-
+ fontconfig/fontconfig.h | 3 +++
+ src/fcname.c | 16 +++++++++++-----
+ 4 files changed, 22 insertions(+), 6 deletions(-)
+
+commit 250c1cd422ce6260ff58f2699043556d93729ef7
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Oct 20 20:50:21 2005 +0000
+
+ Add valist sentinel markup for FcObjectSetBuild and FcPatternBuild.
+ reviewed by: plam
+
+ ChangeLog | 9 ++++++++-
+ fontconfig/fontconfig.h | 12 ++++++++++--
+ 2 files changed, 18 insertions(+), 3 deletions(-)
+
+commit 21696e5bf08b67b57155e5b12e054456fd2b03e2
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Oct 14 21:02:31 2005 +0000
+
+ Add consts to variables so as to move arrays into .rodata.
+ reviewed by: plam
+
+ ChangeLog | 8 ++++++++
+ fc-glyphname/fc-glyphname.c | 4 ++--
+ src/fclang.c | 4 ++--
+ 3 files changed, 12 insertions(+), 4 deletions(-)
+
+commit 15d7bd0a16af189194b665e789331a8f8c86f20d
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Oct 14 20:56:27 2005 +0000
+
+ Check existence of directory cache file before attempting to unlink.
+ reviewed by: plam
+
+ ChangeLog | 7 +++++++
+ src/fccache.c | 4 +++-
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+commit 1178b569764caaf51d2dc55f1c2cf969a98cf61e
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Oct 13 12:32:14 2005 +0000
+
+ Fix flipped return value on unlink. (Reported by Mike Fabian)
+
+ ChangeLog | 14 ++++++++++++++
+ src/fccache.c | 6 ++++--
+ 2 files changed, 18 insertions(+), 2 deletions(-)
+
+commit 2eb843740672da9319c190c48aea2cd98dc92725
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Oct 12 07:55:42 2005 +0000
+
+ When fc-cache is run without --force, use directory cache files to
+ speed up
+ fc-cache run time.
+
+ src/fccache.c | 4 ++--
+ src/fcdir.c | 3 +++
+ src/fcint.h | 3 +++
+ 3 files changed, 8 insertions(+), 2 deletions(-)
+
+commit 23787a8f1b7a23c82f479b0e6906928b9920b9cc
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Oct 6 20:45:25 2005 +0000
+
+ Add padding to make valgrind and glibc not hate each other when
+ calling
+ strlen().
+
+ ChangeLog | 8 ++++++++
+ src/fcname.c | 5 +++--
+ src/fcpat.c | 5 +++--
+ 3 files changed, 14 insertions(+), 4 deletions(-)
+
+commit 008385c5fb957c1547fa1a29537d0c9fb8e3b38a
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Oct 5 21:12:57 2005 +0000
+
+ Use libtool -no-undefined flag on all platforms.
+ reviewed by: plam & keithp
+
+ ChangeLog | 7 +++++++
+ src/Makefile.am | 3 +--
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+commit edffd3b964cde0f2cde86cc5c0cef180843c44e5
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Oct 5 21:12:25 2005 +0000
+
+ Fix typo in manually applying patch.
+
+ src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit affc7d1849c26db10b344cfbe834d0bba764f419
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Oct 5 19:40:35 2005 +0000
+
+ Modify config file to use Greek fonts before Asian fonts with
+ Greek glyphs.
+ reviewed by: plam & keithp
+
+ ChangeLog | 8 ++++++++
+ fonts.conf.in | 10 +++++++---
+ 2 files changed, 15 insertions(+), 3 deletions(-)
+
+commit 328929f5ea3f507426b0c021c11fef62794066df
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Oct 5 19:38:40 2005 +0000
+
+ Modify config file to use Greek fonts before Asian fonts with
+ Greek glyphs.
+ reviewed by: plam & keithp
+
+ ChangeLog | 8 ++++++++
+ fonts.conf.in | 10 +++++++---
+ 2 files changed, 15 insertions(+), 3 deletions(-)
+
+commit 1ed67f658c910ece44ab73bb5a1d08ea1c0246d3
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Oct 5 19:32:41 2005 +0000
+
+ Use libtool -no-undefined flag on all platforms.
+ reviewed by: plam & keithp
+
+ ChangeLog | 7 +++++++
+ src/Makefile.am | 3 +--
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+commit 751932ddb10d5ce798c56d82bc1f40a443237ac1
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Oct 5 18:41:55 2005 +0000
+
+ Implement move-to-front array for banks (perf regression reported
+ by Ronny
+ V. Vindenes).
+
+ ChangeLog | 6 ++++++
+ src/fccache.c | 29 +++++++++++++++++++----------
+ 2 files changed, 25 insertions(+), 10 deletions(-)
+
+commit 55c8fa4f08b86f4e9af97920a61943f5facd7822
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Oct 5 00:34:52 2005 +0000
+
+ Add new API which unlinks directory caches and checks dir caches for
+ existence of appropriate sections. Fix fc-cache to unlink
+ stale cache
+ files and save directory caches that lack relevant sections.
+
+ ChangeLog | 11 +++++++++++
+ fc-cache/fc-cache.c | 6 +++++-
+ fontconfig/fontconfig.h | 6 ++++++
+ src/fccache.c | 44 ++++++++++++++++++++++++++++++++++----------
+ 4 files changed, 56 insertions(+), 11 deletions(-)
+
+commit 6bf2380478f825a6135527133a03869e0ae18742
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Oct 3 19:51:11 2005 +0000
+
+ Ensure that a directory cache has the appropriate section before
+ reporting
+ that it is valid (reported by Matthias Clasen).
+
+ ChangeLog | 6 ++++++
+ src/fccache.c | 15 +++++++++++++++
+ 2 files changed, 21 insertions(+)
+
+commit bc5784ff00230bf70e9cbe5c97e62e4f251e7000
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Oct 1 19:18:51 2005 +0000
+
+ Bump version number to 2.3.91.
+
+ README | 15 ++++++++++++++-
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 16 insertions(+), 3 deletions(-)
+
+commit e99f0f0a45b29ad195c96833c95771ccf7771fef
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Sep 29 20:53:30 2005 +0000
+
+ Use libxml2 if requested (with --enable-libxml2) or if expat is not
+ available.
+ reviewed by: plam
+
+ ChangeLog | 11 ++++
+ configure.in | 162
+ +++++++++++++++++++++++++++++++-------------------------
+ src/Makefile.am | 3 +-
+ src/fcxml.c | 71 ++++++++++++++++++++++++-
+ 4 files changed, 174 insertions(+), 73 deletions(-)
+
+commit 649cc3616d11add9d5c39563f9f343614c2bb2eb
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Sep 29 05:14:04 2005 +0000
+
+ Fix multi-arch cache files: compute the position for the block to
+ be added
+ using info from OrigFile, not NewFile.
+
+ ChangeLog | 6 ++++++
+ src/fccache.c | 4 ++--
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+commit cd3109114ca6ee9ce2b454180dadea5aa04ce55d
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Sep 28 16:21:14 2005 +0000
+
+ Cast results of sizeof() to unsigned int to get rid of warnings
+ on x86_64
+ (thanks Matthias Clasen).
+
+ ChangeLog | 8 +++++++-
+ src/fccache.c | 38 +++++++++++++++++++-------------------
+ 2 files changed, 26 insertions(+), 20 deletions(-)
+
+commit 9ecb9a9a063e4f94deb6da8fd15656c9a7e480e7
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Sep 28 00:23:39 2005 +0000
+
+ Update ChangeLog.
+
+ ChangeLog | 34 ++++++++++++++++++++++++++++++++++
+ 1 file changed, 34 insertions(+)
+
+commit 1d879de2d968ef2bd6317ba3c7be0e62b263a708
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Sep 28 00:23:15 2005 +0000
+
+ Use FcAtomic to rewrite cache files.
+
+ src/fccache.c | 132
+ +++++++++++++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 98 insertions(+), 34 deletions(-)
+
+commit 099f9a86834060741dcbdf8b70e32f3a7338925f
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Sep 27 15:52:58 2005 +0000
+
+ Don't unlink the fonts.cache-2 file even if there's no data to
+ write; just
+ write an empty cache file. (thanks Lubos Lunak)
+
+ src/fccache.c | 7 -------
+ 1 file changed, 7 deletions(-)
+
+commit 6aee8c6faa2906334b9d9f933440184a256d0b53
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Sep 27 05:43:08 2005 +0000
+
+ Allocate room for the subdirectory names in each directory
+ cache. Thanks to
+ James Cloos for finding and diagnosing this bug!
+
+ src/fccache.c | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+commit 2633bc38431468ce528407ee576cb29b0d1212c8
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Sep 27 05:26:59 2005 +0000
+
+ Fix .cvsignore file after copying across directories.
+
+ fc-cat/.cvsignore | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit d75bef7bc8b2bb4ed7750ce5083b1e65a709d75a
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Sep 23 21:42:32 2005 +0000
+
+ Add comment about needing docbook-utils to run make distcheck;
+ hope it'll
+ save pain to others later.
+
+ INSTALL | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 35c2c7f1e979449e67551588f3440ff15e5c806c
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Sep 23 14:41:40 2005 +0000
+
+ Update ChangeLog for 2.3.90.
+
+ ChangeLog | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+commit d8c22de1f1c809ac6b0e1b3caa2cd9ad8046311a
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Sep 23 05:59:19 2005 +0000
+
+ file Makefile.am was initially added on branch fc-2_4_branch.
+
+commit f28f090d2537fc7dcc4fe71a84020a53d14027b4
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Sep 23 05:59:19 2005 +0000
+
+ Add new command-line utility, fc-cat, to convert fonts.cache-2
+ files into
+ fonts.cache-1 files (e.g. for grepping and validation of the mmap
+ codepath), as per James Cloos' request.
+ Remove done 'TODO' comment.
+ Updates for development release 2.3.90.
+
+ Makefile.am | 2 +-
+ README | 7 +-
+ configure.in | 3 +-
+ fc-cache/fc-cache.c | 1 -
+ fc-cache/fc-cache.sgml | 4 +-
+ fc-cat/.cvsignore | 6 +
+ fc-cat/Makefile.am | 55 ++++++++
+ fc-cat/fc-cat.c | 336
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ fc-cat/fc-cat.sgml | 139 ++++++++++++++++++++
+ fontconfig/fontconfig.h | 2 +-
+ 10 files changed, 548 insertions(+), 7 deletions(-)
+
+commit a9698bed6553c12d397593292ee9e81054244e85
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Sep 23 04:09:37 2005 +0000
+
+ Update documentation -- fc-cache's man page now says that you need
+ to run
+ fc-cache once per cached architecture; add some documentation
+ to the
+ FcCache structure.
+ Make fc-cache write out fonts.cache-2 files for directories with
+ no fonts
+ (i.e. only subdirectories).
+
+ fc-cache/fc-cache.sgml | 7 +++++++
+ src/fccache.c | 13 ++++++++-----
+ src/fcint.h | 8 ++++----
+ 3 files changed, 19 insertions(+), 9 deletions(-)
+
+commit e3ff8a4ea66b3738a72558520f33eb5b8d44442e
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Sep 23 02:33:55 2005 +0000
+
+ Remove debugging printf (oops).
+
+ src/fcpat.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit bef069e19e72af1f7983e40a7ca5045f7d006bdd
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Sep 23 02:08:40 2005 +0000
+
+ Convert fromcode to char[12] from char *.
+
+ src/fcfreetype.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit c7beacf91698e8b0dcba2e813052538ec56dd268
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Sep 23 01:48:33 2005 +0000
+
+ Small patch for output in case where lineno not defined.
+
+ fc-lang/fc-lang.c | 2 +-
+ src/fcint.h | 14 +++++++-------
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+commit 67accef4d3e245c1dea341e633d82b14aa03432a
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Sep 22 23:45:53 2005 +0000
+
+ Fix more gcc4 warnings:
+ - Cast sizeof to int, to shut up signedness warnings in comparison.
+ - Add consts where appropriate.
+ reviewed by: Patrick Lam <plam@mit.edu>
+
+ doc/edit-sgml.c | 4 +-
+ fc-case/fc-case.c | 8 +--
+ fc-glyphname/fc-glyphname.c | 21 ++++---
+ fc-lang/fc-lang.c | 20 ++++---
+ src/fccharset.c | 3 +-
+ src/fcdefault.c | 6 +-
+ src/fcfreetype.c | 43 ++++++++------
+ src/fcinit.c | 2 +-
+ src/fcmatch.c | 18 +++---
+ src/fcpat.c | 3 +-
+ src/fcxml.c | 138
+ ++++++++++++++++++++++----------------------
+ 11 files changed, 142 insertions(+), 124 deletions(-)
+
+commit 141432505aecb158285ccc84ec5d7099e3c2efa7
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Sep 22 20:49:24 2005 +0000
+
+ Fix bug when clients use FcNameRegisterObjectTypes; fontconfig was
+ returning bogus (i.e. duplicate) FcObjectPtr values. Now use
+ negative
+ values for dynamic object strings and positive values for
+ built-in and
+ FcNameRegisterObjectType strings. Thanks to Matthias Clasen for
+ pinpointing this bus!
+
+ src/fcname.c | 37 ++++++++++++++++++++++++++++---------
+ 1 file changed, 28 insertions(+), 9 deletions(-)
+
+commit 9fe2bd7ab07611559363d80efdf8d3efb4ea737e
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Sep 16 04:57:18 2005 +0000
+
+ Add missing FcValueCanonicalize on call to FcPatternAdd.
+
+ src/fcpat.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 13cdf607533ad592b896b738c5642f3685fd8053
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Sep 15 20:36:44 2005 +0000
+
+ Revert ill-advised addition of FC_RENDER. Add strategy for handling
+ objects
+ that aren't hardcoded into fontconfig, but generated by fontconfig
+ clients: keep another array of user-defined objects (indexed
+ after the
+ built-in objects).
+ Fix compilation warning (uninitialized variable).
+ Add comment.
+
+ fontconfig/fontconfig.h | 1 -
+ src/fccache.c | 1 +
+ src/fccfg.c | 2 +-
+ src/fcname.c | 98
+ +++++++++++++++++++++++++++++++++++++++----------
+ 4 files changed, 80 insertions(+), 22 deletions(-)
+
+commit 0fa237d1e010a1ab9b8fb09079fbb364958d8cc7
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sun Sep 11 05:17:28 2005 +0000
+
+ Add a global binding for the 'render' pattern element used by Xft;
+ the lack
+ of said binding prevented programs from using FcPatterns
+ through Xft.
+
+ fontconfig/fontconfig.h | 1 +
+ src/fcname.c | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+commit 8245771d5a42dac36024411a0da047b9a7dc42c6
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sun Sep 11 02:16:09 2005 +0000
+
+ Merge with HEAD and finish the GCC 4 cleanups (no more warnings!)
+
+ ChangeLog | 19 +++++
+ doc/fontconfig-user.sgml | 4 +-
+ fc-glyphname/fc-glyphname.c | 4 +-
+ fc-lang/fc-lang.c | 2 +-
+ fc-match/fc-match.c | 8 +-
+ fontconfig/fcprivate.h | 2 +-
+ src/fccache.c | 35 ++++----
+ src/fccfg.c | 2 +-
+ src/fcdir.c | 4 +-
+ src/fcfreetype.c | 191
+ ++++++++++++++++++++++++--------------------
+ src/fcint.h | 10 +--
+ src/fclist.c | 2 +-
+ src/fcpat.c | 80 +++++++++----------
+ src/fcstr.c | 2 +-
+ src/fcxml.c | 11 ++-
+ 15 files changed, 209 insertions(+), 167 deletions(-)
+
+commit 8cb4c56d9925bba17bce32c12f7e09d8f36b2e53
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Sep 7 15:38:46 2005 +0000
+
+ Robustness fixes: check return values from read and lseek; fix
+ uninitialized variables; ensure progress on FcCacheSkipToArch.
+
+ src/fccache.c | 34 +++++++++++++++++++++++-----------
+ 1 file changed, 23 insertions(+), 11 deletions(-)
+
+commit 03a212e525a34e2ceeac369bac669871d8cc681a
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Sep 3 04:56:56 2005 +0000
+
+ Really fix the global cache: make sure we're reading and writing
+ the same
+ data format. Also match subdirectories when consuming cache
+ information. Also check dates for global cache: a dir is out of
+ date if
+ it is newer than the global cache; scan it manually if that's
+ the case.
+
+ src/fccache.c | 55
+ ++++++++++++++++++++++++++++++++++++++-----------------
+ src/fccfg.c | 23 ++++++++++++++++++++---
+ src/fcint.h | 1 +
+ 3 files changed, 59 insertions(+), 20 deletions(-)
+
+commit f6ee3db5f02eb8f41e3941e892964175cad0a898
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Sep 2 06:16:49 2005 +0000
+
+ Fix addressing in the global cache file, preventing infinite
+ loops. Get rid
+ of unused variables.
+
+ src/fccache.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+commit 07b3e5766332ad1b2ec0ae613476a123ec9c5453
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Sep 1 18:29:28 2005 +0000
+
+ Apply Matthias Clasen's patch to fix obvious bogosity (i.e. missing
+ FcObjectPtrU).
+
+ src/fcpat.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0230c9f88706ee4629bca625f1acd133a4cb1d9f
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Sep 1 06:59:44 2005 +0000
+
+ Fix embarassing attempt to free a static buffer.
+
+ src/fccache.c | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+commit 2304e38f9bc070ccd54f80187c208d93b6eeb373
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Sep 1 06:14:46 2005 +0000
+
+ :
+ Save subdirectory names in cache files to save time. This completely
+ restores the original fontconfig API, BTW. Note that directories
+ without fonts don't get a cache file; but then how many files
+ would it
+ have in that directory...
+
+ fc-cache/fc-cache.c | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ src/fccache.c | 40 ++++++++++++++++------------------------
+ src/fcdir.c | 4 ++--
+ src/fcint.h | 2 +-
+ 5 files changed, 21 insertions(+), 29 deletions(-)
+
+commit 5e678e9459f71878d72f72d3765f7dc7e8f3f643
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Aug 31 15:12:41 2005 +0000
+
+ Only load requested fonts for fc-cache, and cleanup memory handling:
+ *Serialize no longer mutates original FcPatterns, it creates a
+ new copy
+ in the supplied buffer. Fix thinkos in global cache freeing and in
+ FcCacheSkipToArch.
+
+ fc-cache/fc-cache.c | 3 +--
+ src/fccache.c | 36 ++++++++++++++++--------------------
+ src/fcfs.c | 3 ---
+ 3 files changed, 17 insertions(+), 25 deletions(-)
+
+commit fd77c154afb039b6b19f8e29c28dce652b2d060e
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Aug 30 23:03:42 2005 +0000
+
+ Fix compilation error exposed with gcc 2.95.
+
+ src/fccache.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit eb0cf67144258acbee0a5bf369b6dfb950fcebb9
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Aug 30 05:55:13 2005 +0000
+
+ src/fcint.c
+ The global cache now uses the same mmap-based cache infrastructure
+ as the
+ per-directory caches. Furthermore, the global cache is
+ automatically
+ updated (if possible) whenever fontconfig is used. Rip out
+ remnants of
+ the old cache infrastructure.
+
+ fc-cache/fc-cache.c | 3 -
+ src/fccache.c | 1156
+ ++++++++++++---------------------------------------
+ src/fcdir.c | 144 ++-----
+ src/fcint.h | 97 +----
+ 4 files changed, 307 insertions(+), 1093 deletions(-)
+
+commit 2dbe759762c3b7b779dbe52ef0d6ca50e51d4bf1
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sun Aug 28 05:20:23 2005 +0000
+
+ Emit and verify machine signature (sizeof (stuff) + endianness)
+ in cache
+ files. Fix bugs in FcCacheBankToIndex.
+
+ src/fccache.c | 152
+ ++++++++++++++++++++++++++++++++--------------------------
+ src/fcint.h | 2 +-
+ 2 files changed, 85 insertions(+), 69 deletions(-)
+
+commit 7f37423d8c1acc8ece0555e66ae7f857c22a77a7
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Sat Aug 27 02:34:24 2005 +0000
+
+ Replace FcObjectStaticName by FcStrStaticName. Implement serialization
+ of
+ 'object' table (strings pointed to by FcPatternElt->object and
+ used as
+ keys) and loading of object table from cache file if more
+ strings are
+ present in cache file than in current version of fontconfig. Hash
+ the
+ object table in memory.
+
+ src/fccfg.c | 4 +-
+ src/fcfs.c | 11 ++--
+ src/fcint.h | 31 +++++-----
+ src/fclist.c | 2 +-
+ src/fcname.c | 181
+ +++++++++++++++++++++++++++++++++++++++++++++++++----------
+ src/fcpat.c | 19 +++----
+ 6 files changed, 186 insertions(+), 62 deletions(-)
+
+commit 1b7be377906048e4a3a8d6ab46ebaab8847a0573
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Aug 25 07:38:02 2005 +0000
+
+ Reinstate the old global cache code. For the forseeable future, it's
+ probably all right to use the global cache as it was previously
+ and
+ just store filenames and font info, as long as no mmap cache
+ exists in
+ the directory. Of course, if an mmap cache exists, use that
+ instead.
+ If a directory cache does not exist or is invalid, load the fonts
+ for just
+ that directory using the old codepath.
+ Fix premature free of the FcPatterns belonging to the FcFontSet
+ which we
+ create from the mmapped files.
+
+ src/fccache.c | 710
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
+ src/fccfg.c | 21 +-
+ src/fcint.h | 53 ++++-
+ 3 files changed, 741 insertions(+), 43 deletions(-)
+
+commit 4262e0b3853bc2153270eb33d09a063f852f3f90
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Wed Aug 24 06:21:30 2005 +0000
+
+ Overhaul the serialization system to create one mmapable file per
+ directory
+ and distribute bytes for each directory from a single malloc
+ for that
+ directory. Store pointers as differences between the data
+ pointed to
+ and the pointer's address (s_off = s - v). Don't serialize data
+ structures that never actually get serialized. Separate strings
+ used
+ for keys from strings used for values (in FcPatternElt and
+ FcValue,
+ respectively). Bump FC_CACHE_VERSION to 2.
+
+ fc-cache/fc-cache.c | 12 +-
+ fc-lang/fc-lang.c | 4 +-
+ fontconfig/fcprivate.h | 8 +-
+ fontconfig/fontconfig.h | 51 +-
+ src/fccache.c | 415 ++++++++++------
+ src/fccfg.c | 109 +++--
+ src/fccharset.c | 333 +++++--------
+ src/fcdbg.c | 12 +-
+ src/fcdir.c | 17 +-
+ src/fcfs.c | 154 +++---
+ src/fcinit.c | 3 -
+ src/fcint.h | 276 ++++-------
+ src/fclang.c | 213 ++++-----
+ src/fclist.c | 57 ++-
+ src/fcmatch.c | 88 ++--
+ src/fcmatrix.c | 100 +---
+ src/fcname.c | 101 +++-
+ src/fcpat.c | 1218
+ ++++++++++++++++++-----------------------------
+ src/fcstr.c | 291 +----------
+ src/fcxml.c | 13 +-
+ 20 files changed, 1402 insertions(+), 2073 deletions(-)
+
+commit 71f94d0768725eb171e04748d9f561f58b258ae7
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Jul 25 20:39:19 2005 +0000
+
+ Various GCC 4 cleanups for signed vs unsigned char
+ Match only [0-9]*.conf files in <include>{directory}</include>
+ elements to
+ avoid loading *.rpmsave or .dpkg-old files. (otaylor)
+
+ ChangeLog | 19 +++++
+ doc/fontconfig-user.sgml | 4 +-
+ fc-glyphname/fc-glyphname.c | 4 +-
+ fc-lang/fc-lang.c | 2 +-
+ fc-match/fc-match.c | 8 +-
+ src/fccfg.c | 2 +-
+ src/fcfreetype.c | 191
+ ++++++++++++++++++++++++--------------------
+ src/fcpat.c | 2 +-
+ src/fcstr.c | 2 +-
+ src/fcxml.c | 11 ++-
+ 10 files changed, 144 insertions(+), 101 deletions(-)
+
+commit 212c9f437e959fbdc5fe344c67b8c1cf8ca63edb
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Mon Jul 25 04:10:09 2005 +0000
+
+ #ifdef out old cache stuff, replace with first version of new mmapping
+ cache. Add *Read and *Write procedures which mmap in and write
+ out the
+ fontconfig data structures to disk. Currently, create cache
+ in /tmp,
+ with different sections for each architecture (as returned
+ by uname's
+ .machine field. Run the fc-cache binary to create a new cache
+ file;
+ fontconfig then uses this cache file on subsequent runs, saving
+ lots of
+ memory. Also fixes a few bugs and leaks.
+
+ fc-cache/fc-cache.c | 13 +-
+ fc-lang/fc-lang.c | 6 +
+ src/fccache.c | 1081
+ ++++++++++++++-------------------------------------
+ src/fccfg.c | 16 +-
+ src/fccharset.c | 103 ++++-
+ src/fcdir.c | 17 +-
+ src/fcfs.c | 95 +++++
+ src/fcinit.c | 3 +
+ src/fcint.h | 148 ++++---
+ src/fclang.c | 28 ++
+ src/fcmatrix.c | 29 ++
+ src/fcpat.c | 241 ++++++++++--
+ src/fcstr.c | 76 +++-
+ 13 files changed, 963 insertions(+), 893 deletions(-)
+
+commit e1b9d091c661b0e1d1e9f73c5c55ad53959c55c7
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Fri Jul 15 18:49:12 2005 +0000
+
+ Forward port cworth's patch to branch.
+
+ ChangeLog | 15 +++++++++++++++
+ src/fcinit.c | 2 +-
+ src/fcint.h | 2 +-
+ src/fcpat.c | 60
+ +++++++++++++++++++++++++++++++++++++++++-------------------
+ src/fcxml.c | 1 +
+ 5 files changed, 59 insertions(+), 21 deletions(-)
+
+commit 7850458d28ae2cb3b1d7fa9dd9fecd125cef5369
+Author: Carl Worth <cworth@cworth.org>
+Date: Fri Jul 15 17:43:44 2005 +0000
+
+ Rename FcPatternThawAll to FcPatternFini.
+ Pull the FcObjectStateName hash table out to file scope, and add
+ FcObjectStaticNameFini so that FcFini will cleanup this hash
+ table as
+ well.
+ Clear FILE* to NULL after fclose.
+
+ ChangeLog | 15 +++++++++++++++
+ src/fcinit.c | 2 +-
+ src/fcint.h | 2 +-
+ src/fcpat.c | 49 ++++++++++++++++++++++++++++++++++++-------------
+ src/fcxml.c | 1 +
+ 5 files changed, 54 insertions(+), 15 deletions(-)
+
+commit 0fa680f0766a8f545b20a7935a19e9db5529f903
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Thu Jul 7 12:09:10 2005 +0000
+
+ Convert ObjectPtr from a fat structure to a simple index into an
+ id table;
+ ids can be positive (for static strings) or negative (for dynamic
+ strings). Static strings belong to a single buffer, while dynamic
+ strings are independently allocated.
+
+ fontconfig/fontconfig.h | 9 +-
+ src/fccfg.c | 7 +-
+ src/fcname.c | 2 +-
+ src/fcpat.c | 560
+ ++++++++++++++++++++++++++++++++++--------------
+ src/fcxml.c | 2 +-
+ 5 files changed, 408 insertions(+), 172 deletions(-)
+
+commit cd2ec1a940888ebcbd323a8000d2fcced41ddf9e
+Author: Patrick Lam <plam@MIT.EDU>
+Date: Tue Jun 28 03:41:02 2005 +0000
+
+ Add functionality to allow fontconfig data structure serialization.
+ This patch allows the fundamental fontconfig data structures to be
+ serialized. I've converted everything from FcPattern down to be
+ able to
+ use *Ptr objects, which can be either static or dynamic (using
+ a union
+ which either contains a pointer or an index) and replaced
+ storage of
+ pointers in the heap with the appropriate *Ptr object. I then
+ changed
+ all writes of pointers to the heap with a *CreateDynamic call,
+ which
+ creates a dynamic Ptr object pointing to the same object as
+ before.
+ This way, the fundamental fontconfig semantics should be
+ unchanged; I
+ did not have to change external signatures this way, although
+ I did
+ change some internal signatures. When given a *Ptr object,
+ just run *U
+ to get back to a normal pointer; it gives the right answer
+ regardless
+ of whether we're using static or dynamic storage.
+ I've also implemented a Fc*Serialize call. Calling FcFontSetSerialize
+ converts the dynamic FcFontSets contained in the config object to
+ static FcFontSets and also converts its dependencies
+ (e.g. everything
+ you'd need to write to disk) to static objects. Note that you
+ have to
+ call Fc*PrepareSerialize first; this call will count the number of
+ objects that actually needs to be allocated, so that we can avoid
+ realloc. The Fc*Serialize calls then check the static pointers for
+ nullness, and allocate the buffers if necessary. I've tested the
+ execution of fc-list and fc-match after Fc*Serialize and they
+ appear to
+ work the same way.
+
+ fc-lang/fc-lang.c | 17 +-
+ fontconfig/fcprivate.h | 8 +-
+ fontconfig/fontconfig.h | 50 ++-
+ src/fccache.c | 32 ++
+ src/fccfg.c | 135 ++++----
+ src/fccharset.c | 371 ++++++++++++++++-----
+ src/fcdbg.c | 26 +-
+ src/fcfs.c | 36 ++
+ src/fcint.h | 212 +++++++++++-
+ src/fclang.c | 164 ++++++---
+ src/fclist.c | 104 +++---
+ src/fcmatch.c | 69 ++--
+ src/fcmatrix.c | 71 +++-
+ src/fcname.c | 35 +-
+ src/fcpat.c | 866
+ ++++++++++++++++++++++++++++++++++++++----------
+ src/fcstr.c | 219 ++++++++++--
+ src/fcxml.c | 13 +-
+ 17 files changed, 1902 insertions(+), 526 deletions(-)
+
+commit f1a42f6b5f9bcd774d09002509b2872c04025c1b
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Jun 17 03:01:43 2005 +0000
+
+ Make FcOpNotContains use FcStrStr for strings so that it matches
+ semantics
+ for !FcOpContains.
+ reviewed by: keithp
+
+ ChangeLog | 8 ++++++++
+ src/fccfg.c | 4 +++-
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+commit adc7abacbf0e2eae882d035f10117fb009b71bdd
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri May 20 16:21:39 2005 +0000
+
+ Move fontconfig source package to libs as per override
+
+ ChangeLog | 6 ++++++
+ debian/changelog | 2 ++
+ debian/control | 2 +-
+ 3 files changed, 9 insertions(+), 1 deletion(-)
+
+commit a65a77aecfd2182589fd5fe1a1ec1ef1f250c795
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri May 20 15:56:51 2005 +0000
+
+ The ka.orth file requires several characters which are not used
+ anymore in
+ modern Georgian and which are missing in the free Georgian
+ TrueType
+ fonts downloadable at:
+ http://aiet.qartuli.net/docs/georgian_on_linux_en.php
+ reviewed by: Mike Fabian Bug: 3352
+
+ ChangeLog | 11 +++++++++++
+ fc-lang/ka.orth | 5 +++--
+ 2 files changed, 14 insertions(+), 2 deletions(-)
+
+commit 87c887464a6fc20310998146b8558179ebe18923
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 27 19:08:08 2005 +0000
+
+ Update date to real 2.3.2 release date. Fix change attributions
+
+ ChangeLog | 14 ++++++++++++++
+ README | 5 +++--
+ debian/changelog | 2 +-
+ 3 files changed, 18 insertions(+), 3 deletions(-)
+
+commit 5c1853cd4c9bd511f0ae9f644a2a30025116987e
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 27 16:22:46 2005 +0000
+
+ Bump so revision for 2.3.2
+ Fix a few minor leaks in error cases.
+
+ fc-cache/fc-cache.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+commit 1cb309adcb881409d669749bbca91056a0967ccf
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Apr 23 04:32:23 2005 +0000
+
+ Update for version 2.3.2
+
+ ChangeLog | 8 ++++++++
+ README | 11 +++++++++--
+ configure.in | 2 +-
+ debian/changelog | 7 +++++++
+ fontconfig/fontconfig.h | 2 +-
+ 5 files changed, 26 insertions(+), 4 deletions(-)
+
+commit 716ac8b8033794e2557ad567005dfff4dd95f031
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Apr 21 19:03:53 2005 +0000
+
+ Don't force bitmap font enable in default configuration; allows
+ users to
+ override this in ~/.fonts.conf
+ Updated translations
+ Destroy font configuration on exit to help valgrind
+ Use own transcoding routines in preference to iconv which appears
+ to have
+ leaks in some translators. Call iconv_close after using iconv
+ (oops).
+ Prefer unicode encoding of Euro char as some fonts mis-encode Euro
+ in other
+ ones.
+ Must fetch bitmap glyphs to get width values to check for
+ monospace/dual-width fonts.
+
+ ChangeLog | 36 +++++++++++
+ debian/fontconfig.postinst | 8 ++-
+ debian/po/cs.po | 154
+ +++++++++++++++++++--------------------------
+ debian/po/da.po | 94 ++++++++++-----------------
+ debian/po/de.po | 71 ++++++---------------
+ debian/po/es.po | 77 +++++++----------------
+ debian/po/fr.po | 77 +++++++----------------
+ debian/po/ja.po | 150
+ +++++++++----------------------------------
+ debian/po/nl.po | 71 ++++++---------------
+ debian/po/pt.po | 71 ++++++---------------
+ debian/po/pt_BR.po | 77 +++++++----------------
+ debian/po/templates.pot | 66 +++++--------------
+ debian/po/tr.po | 71 ++++++---------------
+ debian/po/zh_CN.po | 71 ++++++---------------
+ fc-cache/fc-cache.c | 1 +
+ fonts.conf.in | 37 +++++------
+ src/fcfreetype.c | 84 ++++++++++++++-----------
+ 17 files changed, 404 insertions(+), 812 deletions(-)
+
+commit 2ff4f0760a700bf7c6e1ed4c5072a524b02243ca
+Author: Ross Burton <ross@burtonini.com>
+Date: Wed Apr 13 09:11:52 2005 +0000
+
+ Check that a pattern isn't already frozen in FcPatternFreeze
+
+ ChangeLog | 5 +++++
+ src/fcpat.c | 3 +++
+ 2 files changed, 8 insertions(+)
+
+commit ae7d0f35938693d250f09165fb6486b9e0f4b9bd
+Author: Ross Burton <ross@burtonini.com>
+Date: Thu Mar 31 19:16:49 2005 +0000
+
+ Put all FcPattern objects though FcObjectStaticName and do pointer
+ trather
+ than string compares
+
+ ChangeLog | 8 ++++++++
+ src/fclist.c | 5 +++--
+ src/fcmatch.c | 2 +-
+ src/fcpat.c | 3 ++-
+ 4 files changed, 14 insertions(+), 4 deletions(-)
+
+commit 156032744ee08a5d6a60e1bc1c2e0fc3702567d7
+Author: Tor Lillqvist <tml@iki.fi>
+Date: Thu Mar 17 08:57:11 2005 +0000
+
+ Add the .dll to the dll name.
+
+ ChangeLog | 4 ++++
+ src/fontconfig.def.in | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+commit 5f347d9cd50069a50174cc243acab64ee4e537a9
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Mar 10 22:06:20 2005 +0000
+
+ Update to reflect configuration changes
+ Fix Autohint vs Autohinter mistake
+ Adopt changes from Josselin Mouette for configuration descriptions
+ Update
+ debian to version 2.3.1-2
+
+ ChangeLog | 11 +++++++++++
+ debian/README.Debian | 19 ++++++++++---------
+ debian/changelog | 10 ++++++++++
+ debian/fontconfig.postinst | 2 +-
+ debian/fontconfig.templates | 39 ++++++++-------------------------------
+ 5 files changed, 40 insertions(+), 41 deletions(-)
+
+commit 8c74026071aae6ad70a96b81398498dcb28c0255
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Mar 9 04:57:42 2005 +0000
+
+ Update debian for 2.3.1
+
+ ChangeLog | 6 ++++++
+ debian/changelog | 11 +++++++++++
+ debian/rules | 1 +
+ 3 files changed, 18 insertions(+)
+
+commit 79da4fe91ff0cee974e1ec7003857fb47c0f55d5
+Author: Tor Lillqvist <tml@iki.fi>
+Date: Wed Mar 9 00:47:11 2005 +0000
+
+ Get the DLL from "bin" where modern libtools put it, not "lib".
+ Check also drive letter prefix on Win32.
+
+ ChangeLog | 8 ++++++++
+ fontconfig-zip.in | 2 +-
+ src/fccfg.c | 4 +++-
+ 3 files changed, 12 insertions(+), 2 deletions(-)
+
+commit d49dde9f900777f8482290dbafc6acb52a2b9432
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Mar 8 23:39:02 2005 +0000
+
+ Update for 2.3.1
+
+ ChangeLog | 7 +++++++
+ README | 12 ++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 4 files changed, 19 insertions(+), 4 deletions(-)
+
+commit 76a8dfa3378fc1bd0397a95f2da56d5c6fb2540c
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Mar 5 23:50:55 2005 +0000
+
+ Include space and remove numbers from valid script tags. This
+ ensures that
+ tags like 'lao ' work while rejecting those which have any digits.
+ Eliminate a spurious debugging variable (len)
+
+ ChangeLog | 8 ++++++++
+ src/fcfreetype.c | 20 ++++++++++++--------
+ 2 files changed, 20 insertions(+), 8 deletions(-)
+
+commit 219f7818dacb5417ab9e481b1fc21a79511e5fe7
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Mar 5 23:34:57 2005 +0000
+
+ Rework GSUB/GPOS script parsing to survive broken fonts. Thanks
+ for the
+ broken font go to Manish Singh
+
+ ChangeLog | 7 +++++++
+ src/fcfreetype.c | 64
+ ++++++++++++++++++++++++++++++++++++++------------------
+ 2 files changed, 51 insertions(+), 20 deletions(-)
+
+commit 97bde49a2b791de9ad66aed97ca07c22302da60d
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Mar 5 20:58:39 2005 +0000
+
+ Josselin Mouette:
+ Include 2.3 release information in changelog Add Josselin Mouette
+ as an
+ Uploader Set hinting_type to low priority configuration option
+ Manish Singh:
+ yes_bitmaps.conf -> yes-bitmaps.conf
+ Funda Wang:
+ Johap -> Johab
+
+ ChangeLog | 20 ++++++++++++++++++++
+ debian/changelog | 13 +++++++++++--
+ debian/control | 1 +
+ debian/fontconfig.config | 2 +-
+ debian/fontconfig.postinst | 2 +-
+ debian/fontconfig.templates | 4 ++--
+ debian/rules | 4 ++--
+ src/fcfreetype.c | 2 +-
+ 8 files changed, 39 insertions(+), 9 deletions(-)
+
+commit 683dc3c476f1ee514c252a05311efc7a97fbaee9
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Mar 3 06:20:57 2005 +0000
+
+ Move debian-specific conf file examples upstream.
+ Sub-pixel configuration examples must smash subpixel value as
+ Xft always
+ sets it from X.
+ Change sub-pixel rendering debconf descriptions from Enable/Disable to
+ Always/Never.
+
+ ChangeLog | 22 ++++++++++++++++++++++
+ Makefile.am | 3 ---
+ conf.d/Makefile.am | 7 +++++--
+ conf.d/autohint.conf | 9 +++++++++
+ conf.d/no-sub-pixel.conf | 9 +++++++++
+ conf.d/sub-pixel.conf | 3 ---
+ conf.d/unhinted.conf | 9 +++++++++
+ debian/autohint.conf | 9 ---------
+ debian/fontconfig.install | 1 +
+ debian/fontconfig.postinst | 4 ++--
+ debian/fontconfig.templates | 11 +++++------
+ debian/no-sub-pixel.conf | 12 ------------
+ debian/unhinted.conf | 9 ---------
+ 13 files changed, 62 insertions(+), 46 deletions(-)
+
+commit dc2e06ab0707f8e2ffd5fe5c1d2db38dd594b551
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Mar 3 01:59:28 2005 +0000
+
+ Ignore more build detritus
+ Add debian package construction stuff.
+ Update to newer versions of these tools
+ Get library manuals to build again (we love automake).
+ Update debian build system to switch maintainers and deal with 2.3
+ functionality
+
+ .cvsignore | 7 +
+ ChangeLog | 53 +++
+ Makefile.am | 50 ++-
+ conf.d/.cvsignore | 2 +
+ config/config.guess | 846
+ ++++++++++++++++++++------------------
+ config/config.sub | 449 ++++++++++++++------
+ debian/README.Debian | 44 ++
+ debian/autohint.conf | 9 +
+ debian/changelog | 661 +++++++++++++++++++++++++++++
+ debian/compat | 1 +
+ debian/control | 78 ++++
+ debian/copyright | 29 ++
+ debian/fontconfig-udeb.install | 3 +
+ debian/fontconfig.config | 10 +
+ debian/fontconfig.defoma | 162 ++++++++
+ debian/fontconfig.dirs | 1 +
+ debian/fontconfig.install | 6 +
+ debian/fontconfig.postinst | 139 +++++++
+ debian/fontconfig.postrm | 26 ++
+ debian/fontconfig.templates | 51 +++
+ debian/libfontconfig1-dev.install | 7 +
+ debian/libfontconfig1.install | 1 +
+ debian/local.conf.md5sum | 18 +
+ debian/no-sub-pixel.conf | 12 +
+ debian/po/POTFILES.in | 1 +
+ debian/po/cs.po | 154 +++++++
+ debian/po/da.po | 174 ++++++++
+ debian/po/de.po | 157 +++++++
+ debian/po/es.po | 198 +++++++++
+ debian/po/fr.po | 194 +++++++++
+ debian/po/ja.po | 180 ++++++++
+ debian/po/nl.po | 158 +++++++
+ debian/po/pt.po | 145 +++++++
+ debian/po/pt_BR.po | 183 +++++++++
+ debian/po/templates.pot | 120 ++++++
+ debian/po/tr.po | 150 +++++++
+ debian/po/zh_CN.po | 148 +++++++
+ debian/rules | 39 ++
+ debian/unhinted.conf | 9 +
+ doc/.cvsignore | 1 +
+ doc/Makefile.am | 13 +-
+ 41 files changed, 4171 insertions(+), 518 deletions(-)
+
+commit 4afc00ca02bb3f49fe214463e0f194486f438b70
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Mar 1 20:48:36 2005 +0000
+
+ Update for 2.3.0
+
+ ChangeLog | 7 +++++++
+ README | 14 ++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 4 ++--
+ 4 files changed, 22 insertions(+), 5 deletions(-)
+
+commit 0c009d2b6df523bba7a10ad148287bed2df9ebd6
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Mar 1 20:36:48 2005 +0000
+
+ Generate and install PDF versions of the manuals
+ Fix formatting
+ Add missing exported functions, fix data types
+ Add missing pattern elements.
+ Add missing pattern elements. Document conf.d usage, clarify available
+ orthography list. Fix some config file attributes. Complete
+ list of
+ constants.
+ Mark FC_SOURCE deprecated.
+ Don't set FC_SOURCE any longer.
+
+ ChangeLog | 25 ++++++++++++++++
+ doc/Makefile.am | 18 +++++++++++-
+ doc/fcpattern.fncs | 3 +-
+ doc/fcstring.fncs | 40 +++++++++++++++++++++++--
+ doc/fontconfig-devel.sgml | 10 ++++++-
+ doc/fontconfig-user.sgml | 74
+ ++++++++++++++++++++++++++++++++++++++++-------
+ fontconfig/fontconfig.h | 2 +-
+ src/fcfreetype.c | 3 --
+ 8 files changed, 156 insertions(+), 19 deletions(-)
+
+commit 414f720281b416736b92913f4bcbceac1a781cde
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 28 18:56:15 2005 +0000
+
+ Create prototype /etc/fonts/conf.d directory with a few sample
+ configuration files. Deprecate use of local.conf for local
+ customizations in favor of this directory based scheme which
+ is more
+ easily integrated into installation systems.
+ Tag FC_EMBOLDEN as a boolean variable
+
+ ChangeLog | 18 ++++++++++++++++++
+ Makefile.am | 24 ++----------------------
+ conf.d/Makefile.am | 34 ++++++++++++++++++++++++++++++++++
+ conf.d/README | 8 ++++++++
+ conf.d/no-bitmaps.conf | 13 +++++++++++++
+ conf.d/sub-pixel.conf | 12 ++++++++++++
+ conf.d/yes-bitmaps.conf | 13 +++++++++++++
+ configure.in | 1 +
+ src/fcname.c | 1 +
+ 9 files changed, 102 insertions(+), 22 deletions(-)
+
+commit 47b49bf14b5cd433366a02374dfaf1c27a57cc91
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Feb 10 23:00:51 2005 +0000
+
+ Free patterns from fonts which are rejected by configuration
+ (bug #2518)
+ reviewed by: pborelli@katamail.com
+
+ ChangeLog | 8 ++++++++
+ src/fcdir.c | 2 ++
+ 2 files changed, 10 insertions(+)
+
+commit afca783626534477f07b03d173bbe9f51e03b53b
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jan 29 00:42:37 2005 +0000
+
+ Update for version 2.2.99
+
+ ChangeLog | 11 +++++++++--
+ README | 16 ++++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 4 files changed, 25 insertions(+), 6 deletions(-)
+
+commit 845a0bf37a6f8f16fe40f3037fa727cc9c5569f3
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jan 29 00:33:47 2005 +0000
+
+ Add a few pointers
+
+ ChangeLog | 5 +++++
+ README | 3 +++
+ 2 files changed, 8 insertions(+)
+
+commit ca60d2b5c503cb58ed235cbdd82ac623cda307ff
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Jan 28 23:55:14 2005 +0000
+
+ Polite typechecking for test and edit expressions. Helps catch
+ errors in
+ the font configuration.
+
+ ChangeLog | 10 +++
+ src/fcint.h | 12 +--
+ src/fcname.c | 2 +-
+ src/fcxml.c | 252
+ ++++++++++++++++++++++++++++++++++++++++++++++-------------
+ 4 files changed, 211 insertions(+), 65 deletions(-)
+
+commit 59e149e757795a7c0ec66c35b551a66e0da42098
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Jan 16 01:41:24 2005 +0000
+
+ Have --with-expat set EXPAT_CFLAGS (bug 2278)
+ reviewed by: Keith Packard <keithp@keithp.com>
+
+ ChangeLog | 7 +++++++
+ configure.in | 11 ++++++++++-
+ 2 files changed, 17 insertions(+), 1 deletion(-)
+
+commit d8ae9c92197f1f2782b9decb276f6da756ce882d
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Jan 13 18:31:50 2005 +0000
+
+ Add SEE ALSO section (bug 2085)
+ Cross compiling fixes (bug 280)
+ reviewed by: Keith Packard <keithp@keithp.com>
+
+ ChangeLog | 18 ++++++++++++++++++
+ Makefile.am | 17 ++++++++++++++++-
+ configure.in | 44
+ ++++++++++++++++++++++++++++++++++++++++++++
+ doc/Makefile.am | 8 ++++++--
+ doc/fontconfig-user.sgml | 5 +++++
+ fc-case/Makefile.am | 8 ++++++--
+ fc-glyphname/Makefile.am | 8 ++++++--
+ fc-lang/Makefile.am | 8 ++++++--
+ src/fontconfig.def.in | 2 +-
+ 9 files changed, 108 insertions(+), 10 deletions(-)
+
+commit 8759822e8fdaebcaaea82571d6b084003ca5751e
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Jan 13 18:10:42 2005 +0000
+
+ Update blanks list (Closes bug 86)
+
+ ChangeLog | 5 +++++
+ fonts.conf.in | 52 +++++++++++++++++++++++++++++++---------------------
+ 2 files changed, 36 insertions(+), 21 deletions(-)
+
+commit fce87a189b2e89a07e271ff7f1e3dab0d4b5b919
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jan 4 21:54:50 2005 +0000
+
+ Verify that every font pattern loaded from cache has both FC_FILE and
+ FC_FAMILY entries. Attempt to fix bug #2219.
+
+ ChangeLog | 7 +++++++
+ src/fccache.c | 10 +++++++++-
+ 2 files changed, 16 insertions(+), 1 deletion(-)
+
+commit d53461812d46ffb2eaffb2c512e8740e8536e498
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Dec 29 19:44:51 2004 +0000
+
+ Update for version 2.2.98
+
+ ChangeLog | 7 +++++++
+ README | 22 ++++++++++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 4 files changed, 29 insertions(+), 4 deletions(-)
+
+commit 479f551f6df7fe78b5f3bedb40a4c0c4e10f2f50
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Dec 29 19:37:14 2004 +0000
+
+ Document ASCII limitations of Fc character conversion macros
+ Fix off-by-one error in utf-8 case walking code. Add FcStrDowncase
+ (useful
+ for testing case conversion functions)
+
+ ChangeLog | 8 ++++++++
+ fontconfig/fontconfig.h | 10 +++++++---
+ src/fcstr.c | 21 ++++++++++++++++++++-
+ 3 files changed, 35 insertions(+), 4 deletions(-)
+
+commit 02748dd3b8830a60439340a768959231e669b55c
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Dec 29 10:07:10 2004 +0000
+
+ Add territory database
+ Reviewed by: Keith Packard
+ Remove Han characters from Korean orthography
+
+ .cvsignore | 1 +
+ ChangeLog | 15 +
+ fc-case/.cvsignore | 6 +
+ fc-lang/iso-3166.txt | 242 +
+ fc-lang/ko.orth | 18729
+ +++++++------------------------------------------
+ 5 files changed, 2776 insertions(+), 16217 deletions(-)
+
+commit 2ba729ed3bde6512aaab00b50442b86cb013f94e
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Dec 29 09:57:49 2004 +0000
+
+ Reorder utility programs to make sure fc-case is run before fc-lang as
+ fc-lang uses fcstr.c which uses fccase.h
+ Fix broken XML
+
+ ChangeLog | 8 ++++++++
+ Makefile.am | 2 +-
+ fonts.conf.in | 10 +++++++---
+ 3 files changed, 16 insertions(+), 4 deletions(-)
+
+commit 192296d852011f4a2abb6e9fd1ee741fa7f81673
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Dec 29 09:15:17 2004 +0000
+
+ Adopt some RedHat suggestions for standard font configuration.
+ Add new helper program 'fc-case' to construct case folding tables from
+ standard Unicode CaseFolding.txt file
+ Re-implement case insensitive functions with Unicode aware versions
+ (including full case folding mappings)
+
+ ChangeLog | 26 ++
+ Makefile.am | 2 +-
+ configure.in | 1 +
+ fc-case/CaseFolding.txt | 924
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ fc-case/Makefile.am | 52 +++
+ fc-case/fc-case.c | 363 +++++++++++++++++++
+ fc-case/fccase.tmpl.h | 25 ++
+ fonts.conf.in | 73 ++--
+ src/fcint.h | 34 ++
+ src/fclist.c | 16 +-
+ src/fcstr.c | 263 +++++++++++---
+ 11 files changed, 1685 insertions(+), 94 deletions(-)
+
+commit 5cf8c5364f1b7a676f52b480fa55c571cadc6fda
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Dec 14 00:12:25 2004 +0000
+
+ I changed FcFontSetSort to respect the generic aliases better in
+ the face
+ of language matching.
+ What I did was to ammend the strict sort order used by FcFontSort
+ so that
+ it 'satisfies' the language specified in the pattern by
+ locating the
+ best matching font supporting each pattern language and then
+ ignores
+ language in the remaining fonts for purposes of matching.
+ So, when asking for 'sans:lang=en', you'll get an English font
+ first, and
+ then the remaining fonts sorted with respect to the 'sans'
+ alias alone
+ -- pushing Kochi fonts ahead of other English-supporting Han
+ fonts.
+ reviewed by: Owen Taylor <otaylor@redhat.com>
+
+ ChangeLog | 17 +++++++++++++
+ src/fcmatch.c | 81
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 2 files changed, 96 insertions(+), 2 deletions(-)
+
+commit 46a10637cde656967b60f1e028b24763022358bb
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Dec 10 16:48:08 2004 +0000
+
+ Configuration changes to request synthetic emboldening of fonts. The
+ actual
+ emboldening code will live in Xft.
+ reviewed by: Keith Packard <keithp@keithp.com>
+
+ ChangeLog | 10 ++++++++++
+ fontconfig/fontconfig.h | 1 +
+ fonts.conf.in | 20 ++++++++++++++++++++
+ 3 files changed, 31 insertions(+)
+
+commit 9af19286b0dcdf7636749b9efb64a50650554f2d
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Dec 9 19:36:30 2004 +0000
+
+ Currently Russian (ru) requires 0406 and 0456 (І and і), but
+ these were
+ eliminated in Russian in 1918 in favor of 0418 and 0438 (И
+ and и),
+ and don't even appear in KOI8-R. (The hypothesis that they
+ don't appear
+ in KOI8-R due to their similarity with Latin I and i is
+ eliminated by
+ their presence in KOI8-U.) I have a couple of fonts with Russian
+ support that don't have the letter.
+ Therefore, 0406 and 0456 should be removed from or commented out
+ of ru.orth
+ reviewed by: Keith Packard <keithp@keithp.com>
+
+ ChangeLog | 16 ++++++++++++++++
+ fc-lang/ru.orth | 4 ++--
+ 2 files changed, 18 insertions(+), 2 deletions(-)
+
+commit 1c52c0f0600b4c61fb3b16d2d7b5fa35c3e1b7f0
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Dec 7 01:36:26 2004 +0000
+
+ Reviewed by: Keith Packard <keithp@keithp.com>
+ memoize strings and share a single copy for all uses. Note that
+ this could
+ be improved further by using statically allocated blocks and
+ gluing
+ multiple strings together, but I'm basically lazy. In my
+ environment
+ with 800 font files, I get a savings of about 90KB.
+
+ ChangeLog | 15 +++++++++++++++
+ src/fcinit.c | 5 +++--
+ src/fcint.h | 3 ++-
+ src/fclist.c | 2 +-
+ src/fcpat.c | 42 +++++++++++++-----------------------------
+ src/fcxml.c | 6 ------
+ 6 files changed, 34 insertions(+), 39 deletions(-)
+
+commit 46b51147d10db21a4d5992074bcdc9022f45856b
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Dec 7 01:14:46 2004 +0000
+
+ Change files from ISO-Latin-1 to UTF-8
+
+ COPYING | 2 +-
+ ChangeLog | 249
+ ++++++++++++++++++++++++++++++++++++++++
+ Makefile.am | 2 +-
+ config/Makedefs.in | 2 +-
+ configure.in | 2 +-
+ doc/edit-sgml.c | 2 +-
+ doc/fcatomic.fncs | 2 +-
+ doc/fcblanks.fncs | 2 +-
+ doc/fccharset.fncs | 2 +-
+ doc/fcconfig.fncs | 2 +-
+ doc/fcconstant.fncs | 2 +-
+ doc/fcfile.fncs | 2 +-
+ doc/fcfontset.fncs | 2 +-
+ doc/fcfreetype.fncs | 2 +-
+ doc/fcinit.fncs | 2 +-
+ doc/fcmatrix.fncs | 2 +-
+ doc/fcobjectset.fncs | 2 +-
+ doc/fcobjecttype.fncs | 2 +-
+ doc/fcpattern.fncs | 2 +-
+ doc/fcstring.fncs | 2 +-
+ doc/fcstrset.fncs | 2 +-
+ doc/fcvalue.fncs | 2 +-
+ doc/fontconfig-devel.sgml | 4 +-
+ doc/fontconfig-user.sgml | 2 +-
+ doc/func.sgml | 2 +-
+ doc/version.sgml.in | 2 +-
+ fc-cache/Makefile.am | 2 +-
+ fc-cache/fc-cache.c | 2 +-
+ fc-glyphname/Makefile.am | 2 +-
+ fc-glyphname/fc-glyphname.c | 2 +-
+ fc-glyphname/fcglyphname.tmpl.h | 2 +-
+ fc-lang/Makefile.am | 2 +-
+ fc-lang/aa.orth | 2 +-
+ fc-lang/ab.orth | 2 +-
+ fc-lang/af.orth | 2 +-
+ fc-lang/am.orth | 2 +-
+ fc-lang/ar.orth | 2 +-
+ fc-lang/ast.orth | 2 +-
+ fc-lang/ava.orth | 2 +-
+ fc-lang/ay.orth | 2 +-
+ fc-lang/az.orth | 2 +-
+ fc-lang/az_ir.orth | 2 +-
+ fc-lang/ba.orth | 2 +-
+ fc-lang/bam.orth | 2 +-
+ fc-lang/be.orth | 2 +-
+ fc-lang/bg.orth | 2 +-
+ fc-lang/bh.orth | 2 +-
+ fc-lang/bho.orth | 2 +-
+ fc-lang/bi.orth | 2 +-
+ fc-lang/bin.orth | 2 +-
+ fc-lang/bn.orth | 2 +-
+ fc-lang/bo.orth | 2 +-
+ fc-lang/br.orth | 2 +-
+ fc-lang/bs.orth | 2 +-
+ fc-lang/bua.orth | 2 +-
+ fc-lang/ca.orth | 2 +-
+ fc-lang/ce.orth | 2 +-
+ fc-lang/ch.orth | 2 +-
+ fc-lang/chm.orth | 2 +-
+ fc-lang/chr.orth | 2 +-
+ fc-lang/co.orth | 2 +-
+ fc-lang/cs.orth | 2 +-
+ fc-lang/cu.orth | 2 +-
+ fc-lang/cv.orth | 2 +-
+ fc-lang/cy.orth | 2 +-
+ fc-lang/da.orth | 2 +-
+ fc-lang/de.orth | 2 +-
+ fc-lang/dz.orth | 2 +-
+ fc-lang/el.orth | 2 +-
+ fc-lang/en.orth | 2 +-
+ fc-lang/eo.orth | 2 +-
+ fc-lang/es.orth | 2 +-
+ fc-lang/et.orth | 2 +-
+ fc-lang/eu.orth | 4 +-
+ fc-lang/fa.orth | 2 +-
+ fc-lang/fc-lang.c | 2 +-
+ fc-lang/fc-lang.man | 2 +-
+ fc-lang/fclang.tmpl.h | 2 +-
+ fc-lang/fi.orth | 2 +-
+ fc-lang/fj.orth | 2 +-
+ fc-lang/fo.orth | 2 +-
+ fc-lang/fr.orth | 2 +-
+ fc-lang/ful.orth | 2 +-
+ fc-lang/fur.orth | 2 +-
+ fc-lang/fy.orth | 4 +-
+ fc-lang/ga.orth | 2 +-
+ fc-lang/gd.orth | 2 +-
+ fc-lang/gez.orth | 2 +-
+ fc-lang/gl.orth | 2 +-
+ fc-lang/gn.orth | 4 +-
+ fc-lang/gu.orth | 2 +-
+ fc-lang/gv.orth | 2 +-
+ fc-lang/ha.orth | 2 +-
+ fc-lang/haw.orth | 2 +-
+ fc-lang/he.orth | 2 +-
+ fc-lang/hi.orth | 2 +-
+ fc-lang/ho.orth | 2 +-
+ fc-lang/hr.orth | 2 +-
+ fc-lang/hu.orth | 2 +-
+ fc-lang/hy.orth | 2 +-
+ fc-lang/ia.orth | 2 +-
+ fc-lang/ibo.orth | 2 +-
+ fc-lang/id.orth | 2 +-
+ fc-lang/ie.orth | 2 +-
+ fc-lang/ik.orth | 2 +-
+ fc-lang/io.orth | 2 +-
+ fc-lang/is.orth | 2 +-
+ fc-lang/iso639-2 | 194 +++++++++++++++----------------
+ fc-lang/it.orth | 2 +-
+ fc-lang/iu.orth | 2 +-
+ fc-lang/ja.orth | 2 +-
+ fc-lang/ka.orth | 2 +-
+ fc-lang/kaa.orth | 2 +-
+ fc-lang/ki.orth | 2 +-
+ fc-lang/kk.orth | 2 +-
+ fc-lang/kl.orth | 2 +-
+ fc-lang/km.orth | 2 +-
+ fc-lang/kn.orth | 2 +-
+ fc-lang/ko.orth | 2 +-
+ fc-lang/kok.orth | 2 +-
+ fc-lang/ks.orth | 2 +-
+ fc-lang/ku.orth | 2 +-
+ fc-lang/ku_ir.orth | 2 +-
+ fc-lang/kum.orth | 2 +-
+ fc-lang/kv.orth | 2 +-
+ fc-lang/kw.orth | 2 +-
+ fc-lang/ky.orth | 2 +-
+ fc-lang/la.orth | 2 +-
+ fc-lang/lb.orth | 2 +-
+ fc-lang/lez.orth | 2 +-
+ fc-lang/lo.orth | 2 +-
+ fc-lang/lt.orth | 2 +-
+ fc-lang/lv.orth | 2 +-
+ fc-lang/mg.orth | 2 +-
+ fc-lang/mh.orth | 2 +-
+ fc-lang/mi.orth | 2 +-
+ fc-lang/mk.orth | 2 +-
+ fc-lang/ml.orth | 2 +-
+ fc-lang/mn.orth | 2 +-
+ fc-lang/mo.orth | 2 +-
+ fc-lang/mr.orth | 2 +-
+ fc-lang/mt.orth | 2 +-
+ fc-lang/my.orth | 2 +-
+ fc-lang/nb.orth | 4 +-
+ fc-lang/nds.orth | 2 +-
+ fc-lang/ne.orth | 2 +-
+ fc-lang/nl.orth | 2 +-
+ fc-lang/nn.orth | 2 +-
+ fc-lang/no.orth | 4 +-
+ fc-lang/ny.orth | 2 +-
+ fc-lang/oc.orth | 2 +-
+ fc-lang/om.orth | 2 +-
+ fc-lang/or.orth | 2 +-
+ fc-lang/os.orth | 2 +-
+ fc-lang/pl.orth | 2 +-
+ fc-lang/ps_af.orth | 2 +-
+ fc-lang/ps_pk.orth | 2 +-
+ fc-lang/pt.orth | 2 +-
+ fc-lang/rm.orth | 2 +-
+ fc-lang/ro.orth | 2 +-
+ fc-lang/ru.orth | 2 +-
+ fc-lang/sa.orth | 2 +-
+ fc-lang/sah.orth | 2 +-
+ fc-lang/sco.orth | 2 +-
+ fc-lang/se.orth | 4 +-
+ fc-lang/sel.orth | 2 +-
+ fc-lang/sh.orth | 2 +-
+ fc-lang/si.orth | 2 +-
+ fc-lang/sk.orth | 2 +-
+ fc-lang/sl.orth | 2 +-
+ fc-lang/sm.orth | 2 +-
+ fc-lang/sma.orth | 4 +-
+ fc-lang/smj.orth | 4 +-
+ fc-lang/smn.orth | 4 +-
+ fc-lang/sms.orth | 4 +-
+ fc-lang/so.orth | 2 +-
+ fc-lang/sq.orth | 2 +-
+ fc-lang/sr.orth | 2 +-
+ fc-lang/sv.orth | 2 +-
+ fc-lang/sw.orth | 2 +-
+ fc-lang/syr.orth | 2 +-
+ fc-lang/ta.orth | 2 +-
+ fc-lang/te.orth | 2 +-
+ fc-lang/tg.orth | 2 +-
+ fc-lang/th.orth | 2 +-
+ fc-lang/ti_er.orth | 2 +-
+ fc-lang/ti_et.orth | 2 +-
+ fc-lang/tig.orth | 2 +-
+ fc-lang/tk.orth | 2 +-
+ fc-lang/tl.orth | 2 +-
+ fc-lang/tn.orth | 2 +-
+ fc-lang/to.orth | 2 +-
+ fc-lang/tr.orth | 2 +-
+ fc-lang/ts.orth | 2 +-
+ fc-lang/tt.orth | 2 +-
+ fc-lang/tw.orth | 2 +-
+ fc-lang/tyv.orth | 2 +-
+ fc-lang/ug.orth | 2 +-
+ fc-lang/uk.orth | 2 +-
+ fc-lang/ur.orth | 2 +-
+ fc-lang/uz.orth | 2 +-
+ fc-lang/ven.orth | 2 +-
+ fc-lang/vi.orth | 2 +-
+ fc-lang/vo.orth | 4 +-
+ fc-lang/vot.orth | 2 +-
+ fc-lang/wa.orth | 2 +-
+ fc-lang/wen.orth | 2 +-
+ fc-lang/wo.orth | 2 +-
+ fc-lang/xh.orth | 2 +-
+ fc-lang/yap.orth | 2 +-
+ fc-lang/yi.orth | 2 +-
+ fc-lang/yo.orth | 2 +-
+ fc-lang/zh_cn.orth | 2 +-
+ fc-lang/zh_hk.orth | 2 +-
+ fc-lang/zh_mo.orth | 2 +-
+ fc-lang/zh_sg.orth | 2 +-
+ fc-lang/zh_tw.orth | 2 +-
+ fc-lang/zu.orth | 2 +-
+ fc-list/Makefile.am | 2 +-
+ fc-list/fc-list.c | 2 +-
+ fc-match/Makefile.am | 2 +-
+ fc-match/fc-match.1 | 2 +-
+ fc-match/fc-match.c | 2 +-
+ fontconfig/fcfreetype.h | 2 +-
+ fontconfig/fcprivate.h | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ src/fcatomic.c | 2 +-
+ src/fcblanks.c | 2 +-
+ src/fccache.c | 2 +-
+ src/fccfg.c | 2 +-
+ src/fccharset.c | 2 +-
+ src/fcdbg.c | 2 +-
+ src/fcdefault.c | 2 +-
+ src/fcdir.c | 2 +-
+ src/fcfreetype.c | 4 +-
+ src/fcfs.c | 2 +-
+ src/fcinit.c | 2 +-
+ src/fcint.h | 2 +-
+ src/fclang.c | 2 +-
+ src/fclist.c | 2 +-
+ src/fcmatch.c | 2 +-
+ src/fcmatrix.c | 2 +-
+ src/fcname.c | 2 +-
+ src/fcpat.c | 2 +-
+ src/fcstr.c | 2 +-
+ src/fcxml.c | 2 +-
+ 246 files changed, 603 insertions(+), 354 deletions(-)
+
+commit fc2cc873bb1a715844a1e6f885661bf433bdd7cf
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Dec 5 07:44:08 2004 +0000
+
+ Update links to new freedesktop.org locations
+ Add uninstall-local to get rid of fonts.conf and local.conf if
+ they match
+ the distributed versions. Fixes 'make distcheck'
+
+ ChangeLog | 8 ++++++++
+ INSTALL | 4 ++--
+ Makefile.am | 24 ++++++++++++++++++++++++
+ 3 files changed, 34 insertions(+), 2 deletions(-)
+
+commit 308dc9c3ea0be2e0823e547f2c612760db7539a2
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Dec 5 06:38:54 2004 +0000
+
+ Updates for version 2.2.97
+
+ ChangeLog | 7 +++++++
+ README | 30 ++++++++++++++++++++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 4 files changed, 37 insertions(+), 4 deletions(-)
+
+commit 54560b013ff89f4d47b4b94f6ea9d1b2e91e20fd
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Dec 5 06:19:46 2004 +0000
+
+ Sleep for two seconds before exiting to make sure timestamps for
+ future
+ changes have distinct mod times in the file system. Bug #1982.
+ Add Punjabi orthography. Bug #1671.
+ reviewed by: Keith Packard <keithp@keithp.com>
+
+ ChangeLog | 13 ++++++++++++-
+ fc-cache/fc-cache.c | 8 ++++++++
+ fc-lang/pa.orth | 46 ++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 66 insertions(+), 1 deletion(-)
+
+commit c5a0b541df8be0b66f4ecf531570242693aac930
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Dec 5 05:49:20 2004 +0000
+
+ Just remove the FC_FONTDATE -- it has locale issues and annoys redhat
+ multi-arch installs. Now that all X fonts are included without
+ prejudice, the chances of the date being at all interesting
+ are rather
+ limited. Bug #415.
+ Add copyright and license
+
+ ChangeLog | 10 ++++++++++
+ fonts.conf.in | 2 +-
+ src/Makefile.am | 23 +++++++++++++++++++++++
+ 3 files changed, 34 insertions(+), 1 deletion(-)
+
+commit 2d9c79c049d084c82fdda9a71c5a65502ae94cee
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Dec 5 05:03:52 2004 +0000
+
+ Change default set of fonts to include all of /usr/X11R6/lib/X11/fonts
+ (or
+ wherever the X fonts are located).
+ Document new <include>directory-name</include> semantics
+ add <include ignore_missing="yes">conf.d</include>
+ Add selectfont to ignore bitmap fonts, add comment for selectfont
+ which
+ accepts bitmap fonts.
+ Allow <include> configuration elements to reference directories. Parse
+ and
+ load all files of the form [0-9]* in sorted order.
+
+ ChangeLog | 18 ++++++++++
+ configure.in | 23 ++++++-------
+ doc/fontconfig-user.sgml | 17 +++++----
+ fonts.conf.in | 1 +
+ local.conf | 23 +++++++++++++
+ src/fcdir.c | 4 +--
+ src/fcint.h | 6 ++++
+ src/fcxml.c | 89
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 8 files changed, 158 insertions(+), 23 deletions(-)
+
+commit 38e528e77673f0395ab802cd1040947e307f0c6c
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Dec 5 04:14:17 2004 +0000
+
+ Report command line for $srcdir/configure accurately. Bug #212.
+
+ ChangeLog | 8 +++++++-
+ autogen.sh | 2 +-
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+commit e4125ef950ada3413a542dc457a4d36c5495dcd7
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Dec 5 04:11:11 2004 +0000
+
+ Check for non-empty face->family_name and face->style_name before
+ using
+ those for the font. Empty names match everything. Bug #171.
+
+ ChangeLog | 7 +++++++
+ src/fcfreetype.c | 12 +++++++-----
+ 2 files changed, 14 insertions(+), 5 deletions(-)
+
+commit 537e3d23fab449be154da8d49817364479924a61
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Dec 5 00:26:06 2004 +0000
+
+ Create FC_FONTFORMAT from FT_Get_X11_Font_Format function where
+ available.
+ This provides font file format information (BDF, Type 1, PCF,
+ TrueType)
+ for each font. Closes #109.
+
+ ChangeLog | 10 ++++++++++
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 1 +
+ src/fcfreetype.c | 14 ++++++++++++++
+ src/fcname.c | 1 +
+ 5 files changed, 27 insertions(+), 1 deletion(-)
+
+commit dbf68dd5fe2f936af53891a240601c727bdcf09d
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Dec 4 22:06:52 2004 +0000
+
+ Fix typo.
+ Add detection for font capabilities (bug #105)
+ reviewed by: Keith Packard <keithp@keithp.com>
+
+ ChangeLog | 13 ++++
+ doc/fontconfig-user.sgml | 1 +
+ fontconfig/fontconfig.h | 1 +
+ src/fcfreetype.c | 188
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcname.c | 1 +
+ 5 files changed, 204 insertions(+)
+
+commit 4f27c1c0a383e891890ab27c74226957ed7067aa
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Dec 4 19:41:10 2004 +0000
+
+ Move existing fonts.conf to fonts.conf.bak
+ Add detection of iconv
+ Document new selectfont elements
+ Switch to UTF-8 in comment
+ Add fullname, and family/style/fullname language entries
+ Respect selectfont/*/glob
+ Add support for selectfont
+ Add multi-lingual family/style/fullname support
+ Expose FcListPatternMatchAny (which selectfont/*/pattern uses)
+ Add new FcPatternRemove/FcPatternAppend. FcObjectStaticName stores
+ computed
+ pattern element names which are required to be static.
+
+ ChangeLog | 47 ++
+ Makefile.am | 13 +-
+ configure.in | 6 +-
+ doc/fcpattern.fncs | 11 +
+ doc/fontconfig-devel.sgml | 13 +-
+ doc/fontconfig-user.sgml | 43 +-
+ fc-lang/nb.orth | 2 +-
+ fontconfig/fontconfig.h | 7 +
+ fonts.dtd | 19 +
+ src/fccache.c | 2 +-
+ src/fccfg.c | 55 ++-
+ src/fcdir.c | 2 +-
+ src/fcfreetype.c | 1085
+ +++++++++++++++++++++++++++++++++------------
+ src/fcint.h | 21 +
+ src/fclist.c | 6 +-
+ src/fcname.c | 4 +
+ src/fcpat.c | 73 +++
+ src/fcxml.c | 162 +++++++
+ 18 files changed, 1282 insertions(+), 289 deletions(-)
+
+commit c641c77d6f1a0b378e800c9e3502ae446839a8af
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Sep 9 14:31:18 2004 +0000
+
+ Remove spurious / after $(DESTDIR)
+ reviewed by: keithp
+
+ ChangeLog | 7 +++++++
+ Makefile.am | 2 +-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+commit b5f36ca0b54d30d790f84ce68ea43a1bd0e606e9
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 30 20:06:41 2004 +0000
+
+ Update for 2.2.96
+
+ ChangeLog | 7 +++++++
+ README | 12 ++++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 4 files changed, 19 insertions(+), 4 deletions(-)
+
+commit 28f93bc4122337f59afad31e610ce17c3d2b00a2
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 30 18:41:52 2004 +0000
+
+ Provided by: Lubos Lunak <l.lunak@suse.cz>
+ However FcConfigUptoDate() doesn't seem to work. See the attached
+ patch.
+ First there's an obvious misplaced parenthesis making it return
+ always
+ false, and second, even this call fails to detect font changes
+ (e.g.
+ adding a new font to /usr/X11R6/lib/X11/fonts/truetype). The patch
+ should fix that as well. The problem seems to be triggered by my
+ fonts.conf specifying only /usr/X11R6/lib/X11/fonts , and
+ therefore
+ config->configDirs doesn't include subdirs, unlike
+ config->fontDirs.
+
+ ChangeLog | 14 ++++++++++++++
+ src/fccfg.c | 4 ++--
+ 2 files changed, 16 insertions(+), 2 deletions(-)
+
+commit 3d1ea0e5d48e0dfa72080a3318e3c2157500da3d
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Jun 3 14:16:38 2004 +0000
+
+ Remove comma at end of FcResult enum definition.
+
+ ChangeLog | 5 +++++
+ fontconfig/fontconfig.h | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+commit 087d899ccfab846c15ccd9197f3b79d7dd8dc5bb
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 29 20:07:46 2004 +0000
+
+ Add steps to md5sum release
+
+ ChangeLog | 5 +++++
+ INSTALL | 5 ++++-
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+commit e867aa336c4b0d80702f01b1ff390ca8c81dd73a
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 29 19:49:52 2004 +0000
+
+ Add sh autogen.sh to INSTALL
+
+ INSTALL | 14 ++++++++------
+ 1 file changed, 8 insertions(+), 6 deletions(-)
+
+commit d81271eb21db058d0e816044874b3a8b88439e82
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 29 19:36:32 2004 +0000
+
+ Update for 2.2.95
+
+ ChangeLog | 7 +++++++
+ README | 11 +++++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 4 files changed, 18 insertions(+), 4 deletions(-)
+
+commit ec0c740e392e6e05ae0fa204ebe191cbe27073cf
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 29 19:32:41 2004 +0000
+
+ Add FcResultOutOfMemory to provide an accurate error when
+ FcFontSetMatch
+ fails in this way
+ Make #warning about lacking various FreeType features indicate which
+ version those features appeared so users know how to fix the
+ problem
+ (Thanks to Anton Tropashko)
+
+ ChangeLog | 12 ++++++++++++
+ fontconfig/fontconfig.h | 3 ++-
+ src/fcfreetype.c | 6 +++---
+ src/fcmatch.c | 3 +++
+ 4 files changed, 20 insertions(+), 4 deletions(-)
+
+commit 55a69bd0aeb4cde4e87c1c7cd04a9f10a1f4cb1a
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu May 6 02:28:37 2004 +0000
+
+ Replace MIN/MAX/ABS macros which happen to have come from FreeType
+ with
+ fontconfig-specific ones (FC_*)
+
+ ChangeLog | 6 ++++++
+ src/fcfreetype.c | 7 +++++--
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+commit bd0ddac8f34dd6ef0a9385aacf3edc4c81023452
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Apr 24 02:54:40 2004 +0000
+
+ Extend release preparation instructions to include notification and
+ distribution steps
+
+ ChangeLog | 6 ++++++
+ INSTALL | 11 +++++++++--
+ 2 files changed, 15 insertions(+), 2 deletions(-)
+
+commit 626a70167d7805c20a157e945a1f380ae580661a
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Apr 24 01:09:36 2004 +0000
+
+ Update to 2.2.94 (2.2.93 shipped with broken libtool bits)
+
+ ChangeLog | 7 +++++++
+ README | 9 +++++++--
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 4 files changed, 16 insertions(+), 4 deletions(-)
+
+commit 7969113f086176112fdc13347ea56ea52838117a
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Apr 24 01:06:32 2004 +0000
+
+ Ignore a few more autotool files
+
+ .cvsignore | 4 ++++
+ ChangeLog | 5 +++++
+ 2 files changed, 9 insertions(+)
+
+commit 6ae6acf3178d7dd10e2326f6833d25970e530f61
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 14 18:08:41 2004 +0000
+
+ Add instructions for doing a release
+ clean up .spec file; perhaps this will be useful to somebody...
+ Update to 2.2.93
+ Make 'scanopen' static so GCC doesn't whine about lacking prototype
+ Add WARN_CFLAGS to pass -W flags for GCC systems
+ Change various char types around to match across function calls. Fixed
+ bug
+ in using available_sizes[i].height which is in pixels, not 64ths
+ of a
+ pixel.
+
+ ChangeLog | 30 +++++++++++++
+ INSTALL | 13 ++++++
+ README | 27 +++++++++++-
+ configure.in | 14 +++++-
+ fc-glyphname/Makefile.am | 2 +-
+ fc-lang/Makefile.am | 2 +-
+ fc-lang/fc-lang.c | 2 +-
+ fc-list/Makefile.am | 2 +-
+ fc-match/Makefile.am | 2 +-
+ fontconfig.spec.in | 42 +++++++++++++-----
+ fontconfig/fontconfig.h | 2 +-
+ src/Makefile.am | 1 +
+ src/fcfreetype.c | 109
+ ++++++++++++++++++++++++-----------------------
+ 13 files changed, 176 insertions(+), 72 deletions(-)
+
+commit 89e28590f3c85f302dcc5c611e7b9fa906e0ec07
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Mar 6 23:44:11 2004 +0000
+
+ Force FC_FOUNDRY and FC_WIDTH to always be set so that matches
+ looking for
+ explicit values prefer exact matches
+
+ ChangeLog | 6 ++++++
+ src/fcfreetype.c | 18 ++++++++++--------
+ 2 files changed, 16 insertions(+), 8 deletions(-)
+
+commit 02638f1ace0ad7e898317128c244dfd9c842d122
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Mar 2 16:48:51 2004 +0000
+
+ Supplied by: mfabian@suse.de (Mike FABIAN)
+ Bug #260 fc-cache generates wrong spacing values for bitmap fonts
+ Was using
+ (strcmp (a,b)) instead of (!strcmp(a,b)).
+
+ ChangeLog | 8 ++++++++
+ src/fcfreetype.c | 6 +++---
+ 2 files changed, 11 insertions(+), 3 deletions(-)
+
+commit de66e750a5c5798dab5347675d6581183efa8105
+Author: Manish Singh <yosh@gimp.org>
+Date: Sun Feb 22 02:21:37 2004 +0000
+
+ Cast strlen to int for printf, so we're 64-bit clean.
+
+ ChangeLog | 5 +++++
+ fc-glyphname/fc-glyphname.c | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+commit 208a720f009357449647a56d6fe95a5a346a6578
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Feb 11 18:53:05 2004 +0000
+
+ Ok, so I messed up the test for y_ppem. Let's see if I got it
+ right this
+ time.
+
+ ChangeLog | 7 +++++++
+ configure.in | 15 +++------------
+ src/fcfreetype.c | 4 ++--
+ 3 files changed, 12 insertions(+), 14 deletions(-)
+
+commit 4f38fa81062e5e2e151715a162c295b9a216568a
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Feb 10 18:38:58 2004 +0000
+
+ Pre-2.1.5 versions of FreeType didn't include y_ppem in the
+ FT_Bitmap_Size
+ record. Add a configure.in test for this and change the code
+ accordingly (using height instead).
+
+ ChangeLog | 8 ++++++++
+ configure.in | 21 +++++++++++++++++++--
+ src/fcfreetype.c | 4 ++++
+ 3 files changed, 31 insertions(+), 2 deletions(-)
+
+commit b68b96464f6488dbc62c4dcd62ca7e2eed3141d2
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Feb 7 07:13:48 2004 +0000
+
+ Add Low Saxon orthography (Kenneth Rohde Christiansen
+ <kenneth@gnu.org>)
+ Oops. Left 'newest.set' unset, which would miscompute the newest file
+ Add FcGetPixelSize to extract correct pixel size from bdf/pcf font
+ properties (which report the wrong value in current FreeType)
+ Don't attempt to check for empty glyphs in non-scalable fonts;
+ they have no
+ outlines...
+
+ ChangeLog | 18 ++++++++++++++++++
+ fc-lang/nds.orth | 40 ++++++++++++++++++++++++++++++++++++++++
+ src/fccfg.c | 3 +++
+ src/fcfreetype.c | 36 ++++++++++++++++++++++++------------
+ 4 files changed, 85 insertions(+), 12 deletions(-)
+
+commit f4c52909ab5321df608fe7af2da3edcab48818d9
+Author: Tor Lillqvist <tml@iki.fi>
+Date: Sun Feb 1 19:32:36 2004 +0000
+
+ fontconfig, at least as used by GIMP and/or PangoFT2 on Windows,
+ crashes
+ when trying to save the cache if config->cache is NULL, which
+ happens
+ if FcConfigHome() is NULL. Guard against that by using the
+ temp folder
+ in that case.
+
+ ChangeLog | 7 +++++++
+ src/fccfg.c | 25 +++++++++++++++++++++++++
+ 2 files changed, 32 insertions(+)
+
+commit d3481737be37255408025f4b3cf2c8b14a6b2ff7
+Author: Roozbeh Pournader <roozbeh@farsiweb.info>
+Date: Sat Jan 3 18:27:29 2004 +0000
+
+ Added orthographies for Iranian Azerbaijani and Kurdish, and Pashto
+ (Afghan
+ and Pakistani).
+ Updated Urdu orthography with real data.
+
+ ChangeLog | 11 +++++++++++
+ fc-lang/az_ir.orth | 32 ++++++++++++++++++++++++++++++++
+ fc-lang/ku_ir.orth | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
+ fc-lang/ps_af.orth | 52
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ fc-lang/ps_pk.orth | 52
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ fc-lang/ur.orth | 41 +++++++++++++++++++++++++++++++++++++----
+ 6 files changed, 233 insertions(+), 4 deletions(-)
+
+commit f6d784313fa87d405b4b4165ee7b9248dd378df2
+Author: Carl Worth <cworth@cworth.org>
+Date: Fri Dec 12 17:07:55 2003 +0000
+
+ Remove excessive whitespace (missed on previous commit)
+
+ fc-cache/Makefile.am | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit d098e4ebe7e3b87a66ddbe09bafe3582373a022c
+Author: Carl Worth <cworth@cworth.org>
+Date: Thu Dec 11 19:30:07 2003 +0000
+
+ Move man_MANS into the 'if USEDOCBOOK' block.
+ Move man_MANS into the 'if USEDOCBOOK' block. (all-local): Remove
+ excessive
+ whitespace.
+ Add 'set -e' to abort when any program fails, (avoids printing of
+ 'now type
+ make' after configure aborts).
+
+ ChangeLog | 12 ++++++++++++
+ autogen.sh | 2 ++
+ fc-cache/Makefile.am | 6 +++---
+ fc-list/Makefile.am | 4 ++--
+ 4 files changed, 19 insertions(+), 5 deletions(-)
+
+commit 408dd9c07a9b0b755f9338b4cbff9e4292fa391d
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Nov 18 07:53:04 2003 +0000
+
+ Switch to FreeType 2.1.7 style includes. Bug #150.
+ reviewed by: Keith Packard <keithp@keithp.com>
+
+ ChangeLog | 9 +++++++++
+ doc/Makefile.am | 1 +
+ fontconfig/fcfreetype.h | 3 ++-
+ src/fcfreetype.c | 17 +++++++++--------
+ 4 files changed, 21 insertions(+), 9 deletions(-)
+
+commit 8e8fcda45c07bb0934f30887282238a57cc619da
+Author: Noah Levitt <nlevitt@gmail.com>
+Date: Sun Nov 16 19:08:04 2003 +0000
+
+ Add some example usages.
+
+ ChangeLog | 4 ++++
+ fc-list/fc-list.sgml | 23 +++++++++++++++++++++++
+ 2 files changed, 27 insertions(+)
+
+commit 344a0e33618cd0e9f620b5fa55969602d775934c
+Author: Roozbeh Pournader <roozbeh@farsiweb.info>
+Date: Mon Nov 10 17:34:36 2003 +0000
+
+ Fixed a bug "FcStrtod" in handling some cases with two-byte decimal
+ separators.
+
+ ChangeLog | 8 +++++++-
+ src/fcxml.c | 7 +++++--
+ 2 files changed, 12 insertions(+), 3 deletions(-)
+
+commit 27143fc9a2ac9b7dc87ab874251df356611b25e5
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Oct 27 10:47:53 2003 +0000
+
+ Update to version 2.2.92
+
+ ChangeLog | 6 ++++++
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 8 insertions(+), 2 deletions(-)
+
+commit 4cbc3ee8fe4a6266b2d107c7475a65de6bdd1068
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Oct 27 10:44:13 2003 +0000
+
+ Yet more cleanups to finish getting 'make distcheck' working This
+ has been
+ tested to ensure that it even works from a _build directory.
+
+ ChangeLog | 16 ++++++
+ Makefile.am | 1 +
+ configure.in | 10 ++++
+ doc/Makefile.am | 133
+ +++++++++++++++--------------------------------
+ fc-cache/Makefile.am | 2 +-
+ fc-glyphname/Makefile.am | 6 +--
+ fc-lang/Makefile.am | 5 +-
+ fc-list/Makefile.am | 2 +-
+ fc-match/Makefile.am | 2 +-
+ test/Makefile.am | 4 +-
+ test/run-test.sh | 28 ++++++----
+ 11 files changed, 98 insertions(+), 111 deletions(-)
+
+commit 394b2bf04651d62194c7faa836899d33ca3ed017
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Oct 27 06:30:29 2003 +0000
+
+ Attempts to fix 'make distcheck' work. Things are progressing
+ pretty well,
+ but there are still failures long into the process dealing
+ with docs
+ (as always).
+ The big changes here are mostly to make $(srcdir) != "." work
+ correctly,
+ fixing the docbook related sections and fc-lang were particularily
+ tricky. Docbook refuses to load system entities from anywhere
+ other
+ than where the original .sgml file was located, so no luck
+ looking in
+ "." for the configure-generated version.sgml and confdir.sgml
+ files.
+ fc-lang needed help finding .orth files; added a -d option to set the
+ directory as the least evil of many options.
+ Now to go use a faster machine and try and wring out the last issues.
+
+ ChangeLog | 27 +++++++++++++++++++
+ configure.in | 2 +-
+ doc/Makefile.am | 68
+ +++++++++++++++++++++++++++++++++++++++++-------
+ fc-cache/Makefile.am | 13 ++++-----
+ fc-glyphname/Makefile.am | 11 +++++---
+ fc-lang/Makefile.am | 10 ++++---
+ fc-lang/fc-lang.c | 29 +++++++++++++++++++--
+ fc-list/Makefile.am | 10 ++++---
+ fc-match/Makefile.am | 2 +-
+ 9 files changed, 142 insertions(+), 30 deletions(-)
+
+commit 3541556bd38d6b1a3fffe1a661edce2f8d60e06a
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Oct 26 16:52:28 2003 +0000
+
+ Tag version 2.2.91
+
+ ChangeLog | 4 ++++
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+commit e99043ac778280ed16ab69ca0844b634f7d20f30
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Oct 26 16:45:23 2003 +0000
+
+ Include confdir.sgml.in in EXTRA_DIST
+
+ ChangeLog | 5 +++++
+ doc/Makefile.am | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+commit 75839218d18a7fad2f7e84cb995724763f7cae11
+Author: Josselin Mouette <joss@debian.org>
+Date: Thu Oct 9 18:21:49 2003 +0000
+
+ Replace fc-cache and fc-list manpages with more detailed, SGML
+ versions.
+
+ ChangeLog | 7 ++
+ fc-cache/.cvsignore | 1 +
+ fc-cache/Makefile.am | 24 +++++-
+ fc-cache/fc-cache.1 | 51 -------------
+ fc-cache/fc-cache.sgml | 200
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ fc-list/.cvsignore | 1 +
+ fc-list/Makefile.am | 24 +++++-
+ fc-list/fc-list.1 | 37 ---------
+ fc-list/fc-list.sgml | 165 ++++++++++++++++++++++++++++++++++++++++
+ 9 files changed, 420 insertions(+), 90 deletions(-)
+
+commit f077d662c001468eb2aa1261549accd9ff3de401
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Tue Sep 23 20:12:20 2003 +0000
+
+ Add a FC_HINT_STYLE key for patterns, with possible values
+ HINT_NONE/HINT_SLIGHT/HINT_MEDIUM/HINT_FULL. (Bug #117)
+
+ ChangeLog | 7 +++++++
+ fontconfig/fontconfig.h | 7 +++++++
+ src/fcdefault.c | 5 +++++
+ src/fcname.c | 6 ++++++
+ 4 files changed, 25 insertions(+)
+
+commit 44f59f71688d557b75a94e2a8786ec5ae80308ae
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Tue Sep 23 20:06:40 2003 +0000
+
+ Remove Georgian capitals, they aren't used for normal writing. (Bug
+ #116)
+
+ ChangeLog | 5 +++++
+ fc-lang/ka.orth | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+commit a05d257fb3b2cf37c6c633029b308a76fe61b9c2
+Author: Noah Levitt <nlevitt@gmail.com>
+Date: Sat Sep 6 19:40:41 2003 +0000
+
+ Add new spacing value FC_DUAL (dual-width, as some CJK fonts). (bug
+ #111)
+ When checking for monospace and dual-width fonts, allow roughly a 3%
+ variance in the advances.
+
+ ChangeLog | 13 +++++++++++
+ doc/fontconfig-devel.sgml | 4 ++--
+ doc/fontconfig-user.sgml | 3 ++-
+ fontconfig/fontconfig.h | 1 +
+ src/fcfreetype.c | 55
+ +++++++++++++++++++++++++++++++++++++----------
+ src/fcname.c | 1 +
+ 6 files changed, 63 insertions(+), 14 deletions(-)
+
+commit 3ef32bcdc4662fbc10bc5217ea7849cd31480d73
+Author: Manish Singh <yosh@gimp.org>
+Date: Mon Sep 1 05:11:17 2003 +0000
+
+ FcConfigAppFontClear: Support passing NULL to use default config.
+
+ ChangeLog | 5 +++++
+ src/fccfg.c | 7 +++++++
+ 2 files changed, 12 insertions(+)
+
+commit 34cd0514a215d65af6822eba2c2f0cd04eb0065f
+Author: Carl Worth <cworth@cworth.org>
+Date: Fri Aug 15 19:45:20 2003 +0000
+
+ Added new FcFini function for cleaning up all memory. Fixed a
+ few memory
+ leaks. fc-list now calls FcFini, (and is now leak-free according
+ to
+ valgrind)
+
+ ChangeLog | 44 +++++++++++
+ doc/Makefile.am | 8 +-
+ doc/edit-sgml.c | 187
+ +++++++++++++++++++++++++++++++-------------
+ doc/fcinit.fncs | 11 +++
+ fc-glyphname/fc-glyphname.c | 35 +++++++--
+ fc-list/fc-list.c | 4 +
+ fc-match/fc-match.c | 2 +-
+ fontconfig/fontconfig.h | 3 +
+ src/fccfg.c | 6 ++
+ src/fccharset.c | 64 +++++++++++++--
+ src/fcinit.c | 13 +++
+ src/fcint.h | 6 ++
+ src/fcpat.c | 84 +++++++++++++++++++-
+ src/fcxml.c | 4 +
+ src/fontconfig.def.in | 1 +
+ 15 files changed, 398 insertions(+), 74 deletions(-)
+
+commit 18906a876aa13550b1a10550ceeef6df0c4473ec
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Aug 12 02:06:20 2003 +0000
+
+ Bug 103 -- FcObjectSetBuild must be terminated by (char *) 0 as
+ varargs are
+ untyped
+
+ fc-list/fc-list.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 116e13b4431b051b8196db201c22cd67b30922e9
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Jul 20 17:14:47 2003 +0000
+
+ Wrap fcfreetype.h with _FCFUNCPROTOBEGIN/_FCFUNCPROTOEND
+
+ fontconfig/fcfreetype.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 74a623e02efc23a39fb35e8d338858877b8f89e7
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Jul 20 16:06:18 2003 +0000
+
+ Implement new semantics for Contains and LISTING:
+ LISTING requires that the font Contain all of the pattern values,
+ where
+ Contain is redefined for strings to mean precise matching (so that
+ Courier 10 Pitch doesn't list Courier fonts)
+ "Contains" for lang means both langs have the same language and
+ either the
+ same country or one is missing the country
+
+ src/fccfg.c | 79
+ +++++++++++++++++++++++++++++++++---------------------------
+ src/fcdbg.c | 3 +++
+ src/fcint.h | 3 ++-
+ src/fclang.c | 18 ++++++++------
+ src/fclist.c | 38 +++++++++++++++++++++--------
+ src/fcxml.c | 1 +
+ 6 files changed, 89 insertions(+), 53 deletions(-)
+
+commit 26da2bb42f91360ecdee9006ff0f8a7ef0609a59
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jul 9 17:04:17 2003 +0000
+
+ Was miscomputing end of string position for FcStrtod in locales with
+ multibyte separators
+
+ src/fcxml.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 656c69d6a8a1e6a82cfdd599c657f8fc2717af8d
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Jun 26 08:19:11 2003 +0000
+
+ Add autoconf checks for FT_Has_PS_Glyph_Names
+
+ configure.in | 3 ++-
+ src/fcfreetype.c | 6 ++++++
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+commit ee1debfdd9bae347e8bec29c0cbd668640a2aadf
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Jun 26 00:39:04 2003 +0000
+
+ Allow config->cache to be null (as it is when $HOME is not set)
+
+ src/fccfg.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+commit 79621aa5c786cdd4d14b43b58888979ef0d2a4c6
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 25 23:21:03 2003 +0000
+
+ Lean on autoconf to find useful FreeType functions (bug 95)
+
+ configure.in | 7 +++++--
+ src/fcfreetype.c | 46 +++++++++++++++++-----------------------------
+ 2 files changed, 22 insertions(+), 31 deletions(-)
+
+commit 2b45ef3a8a164648647eba1265db6a3d10ea7bad
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jun 17 18:28:20 2003 +0000
+
+ Bug 75: dont build docs unless docbook is available. Dont install docs
+ unless they are pre-built or buildable
+
+ Makefile.am | 3 ++-
+ configure.in | 26 +++++++++++++++++++++-----
+ doc/Makefile.am | 2 +-
+ 3 files changed, 24 insertions(+), 7 deletions(-)
+
+commit e5871b5c5bdb09b2e5bb0d79ed03f22a27956a90
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jun 17 17:31:16 2003 +0000
+
+ Add FreeFont entries, fix whitespace in fonts.conf.in (bug 93, from
+ vvas@hal.csd.auth.gr (Vasilis Vasaitis))
+
+ fonts.conf.in | 22 ++++++++++++++--------
+ 1 file changed, 14 insertions(+), 8 deletions(-)
+
+commit 231051f41669095db4a2c5680a0945fb1ff45a2d
+Author: Tor Lillqvist <tml@iki.fi>
+Date: Sun Jun 15 22:57:21 2003 +0000
+
+ Remove CRs from the out file before comparing (needed on Windows).
+
+ ChangeLog | 3 +++
+ test/run-test.sh | 1 +
+ 2 files changed, 4 insertions(+)
+
+commit 92af858f2a7dcc972bf482397ac75d7e0ca38dd9
+Author: Tor Lillqvist <tml@iki.fi>
+Date: Sun Jun 15 22:45:12 2003 +0000
+
+ Trivial braino.
+
+ src/fccfg.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c3941ba9c064d41f248c6a00f06423f3c50c685d
+Author: Tor Lillqvist <tml@iki.fi>
+Date: Sun Jun 15 22:35:52 2003 +0000
+
+ Fix cut&paste error.
+
+ ChangeLog | 4 ++++
+ fontconfig-zip.in | 3 ++-
+ src/Makefile.am | 2 +-
+ 3 files changed, 7 insertions(+), 2 deletions(-)
+
+commit e5206dbcb34457ef69a993ad6b4cc8c3da53e1aa
+Author: Tor Lillqvist <tml@iki.fi>
+Date: Fri Jun 13 23:04:35 2003 +0000
+
+ Check also for DLL_EXPORT as indication of being built as a DLL
+ on Win32.
+
+ ChangeLog | 3 +++
+ src/fccfg.c | 6 +++++-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+commit ee1d81259ec5b0b91cf19ea72abec29f5561217b
+Author: Tor Lillqvist <tml@iki.fi>
+Date: Fri Jun 13 22:43:28 2003 +0000
+
+ Add share/doc directory. Add Fc*.3 man pages.
+ Set FC_DEFAULT_FONTS on Win32 to the WINDOWSFONTDIR token.
+ Move the LIBRARY and VERSION lines to the end, not to confuse libtool,
+ which expects the EXPORTS line to be the first. Add
+ FcConfigEnableHome.
+
+ ChangeLog | 12 ++++++++++++
+ configure.in | 12 +++++++++---
+ fontconfig-zip.in | 4 +++-
+ src/fontconfig.def.in | 5 +++--
+ 4 files changed, 27 insertions(+), 6 deletions(-)
+
+commit 4ae7f71c89cd69d5273f82f03aadcb0c78b16c8d
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Jun 9 19:21:06 2003 +0000
+
+ Update to version 2.2.90
+
+ ChangeLog | 4 ++++
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+commit 8edb970e93f2dafc4fcd821df6240e807aa2ef8a
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Jun 9 19:15:00 2003 +0000
+
+ Add a bunch of ChangeLog entries
+
+ ChangeLog | 79
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 78 insertions(+), 1 deletion(-)
+
+commit 440e7054857a9a6382243f33498b2384f246379d
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Jun 9 18:49:19 2003 +0000
+
+ Add fc-match program to demonstrate font matching from the command
+ line
+
+ Makefile.am | 2 +-
+ configure.in | 1 +
+ fc-match/.cvsignore | 5 +++++
+ 3 files changed, 7 insertions(+), 1 deletion(-)
+
+commit 947afeb566e738de3980c8c8751358ecfebdba25
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Jun 9 17:31:03 2003 +0000
+
+ Optimization in FcLangSetIndex was broken, occasionally returning
+ a pointer
+ to the wrong location on miss
+
+ src/fclang.c | 21 +++++++--------------
+ 1 file changed, 7 insertions(+), 14 deletions(-)
+
+commit 8bc4bc134aac8889125afd292e66c0bb9864d8d4
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Jun 9 16:53:31 2003 +0000
+
+ Add fc-match program
+
+ fc-match/Makefile.am | 32 +++++++++
+ fc-match/fc-match.1 | 39 +++++++++++
+ fc-match/fc-match.c | 188
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 259 insertions(+)
+
+commit 6d3a90a41c63d479e3a109790a4ac466ee992478
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 31 21:07:01 2003 +0000
+
+ (Bug 85) add support for culmus fonts
+
+ fonts.conf.in | 39 +++++----------------------------------
+ 1 file changed, 5 insertions(+), 34 deletions(-)
+
+commit 86b1243193a1cbab3286ee97d2543bfc841a575a
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 31 14:58:41 2003 +0000
+
+ (Bug 87) Automake 1.4 doesn't do man_MAN1 correctly (Bug 88) Fix
+ usage info
+ on non-long option systems (Tim Mooney)
+
+ ChangeLog | 4 ++++
+ fc-cache/Makefile.am | 4 ++--
+ fc-cache/fc-cache.1 | 51
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ fc-cache/fc-cache.c | 19 ++++++++++++++++---
+ fc-cache/fc-cache.man | 45 ---------------------------------------------
+ fc-list/Makefile.am | 4 ++--
+ fc-list/fc-list.1 | 37 +++++++++++++++++++++++++++++++++++++
+ fc-list/fc-list.c | 11 +++++++++++
+ fc-list/fc-list.man | 36 ------------------------------------
+ 9 files changed, 123 insertions(+), 88 deletions(-)
+
+commit d4d1e8bc604c98d647d70f9188744b95deba8723
+Author: James Su <suzhe@turbolinux.com.cn>
+Date: Wed May 28 01:34:38 2003 +0000
+
+ Fix "contains" op for strings and langsets.
+
+ fontconfig/fontconfig.h | 6 +++
+ src/fccfg.c | 16 +++++---
+ src/fcstr.c | 103
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 119 insertions(+), 6 deletions(-)
+
+commit 53183e66e564c03401237f6fea873733ef326890
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 17 02:17:19 2003 +0000
+
+ Fix build error with BDF prop local. Free langset after query
+
+ src/fcfreetype.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+commit f777f1b35dc13da485ce488ad1d3b84f0c173cd1
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri May 16 16:37:16 2003 +0000
+
+ oops. Left the psfontinfo.weight matching code commented out while
+ testing
+ other stuff...
+
+ src/fcfreetype.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit ecb7c180d068f718c02e80f4282b00c4505a5eb5
+Author: Juliusz Chroboczek <Juliusz.Chroboczek@pps.jussieu.fr>
+Date: Wed May 14 20:23:24 2003 +0000
+
+ Extract spacing from XLFD atom
+
+ src/fcfreetype.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit 0b7a0da20b24321ef60aee99cd9071a50d78015b
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon May 12 20:48:59 2003 +0000
+
+ Use FcIsWidth to share code
+ Set FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH when scanning fonts to avoid
+ misclassifying some Han fonts as monospaced.
+
+ src/fcfreetype.c | 27 ++++++---------------------
+ 1 file changed, 6 insertions(+), 21 deletions(-)
+
+commit 65d1441df89b898dd74ac1f0fba69c83441dba92
+Author: Juliusz Chroboczek <Juliusz.Chroboczek@pps.jussieu.fr>
+Date: Mon May 12 09:11:10 2003 +0000
+
+ Reinstate SETWIDTH_NAME parsing for legacy fonts, disappeared in 1.30.
+
+ src/fcfreetype.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 0f362ad520e61e096c887f9374a485c3df32655a
+Author: Juliusz Chroboczek <Juliusz.Chroboczek@pps.jussieu.fr>
+Date: Mon May 12 09:04:24 2003 +0000
+
+ Generate FC_SIZE and FC_DPI for legacy bitmap fonts
+
+ src/fcfreetype.c | 41 +++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 41 insertions(+)
+
+commit d47c9d6efec6c3c086efc187c68d79ca0c077dfa
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed May 7 16:13:24 2003 +0000
+
+ Add filename-based accept/reject to ammend available fonts.
+ change FT_ENCODING_ADOBE_CUSTOM to ft_encoding_adobe_custom for older
+ FreeType releases.
+
+ src/fccache.c | 18 ++++++-----
+ src/fccfg.c | 96
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++---
+ src/fcdir.c | 60 ++++++++++++++++++++++++++---------
+ src/fcfreetype.c | 2 +-
+ src/fcint.h | 40 +++++++++++++++++++++--
+ src/fcxml.c | 46 ++++++++++++++++++++++++++-
+ 6 files changed, 232 insertions(+), 30 deletions(-)
+
+commit f98ecf63395fc62a6ee2a24741e09fb5940be3aa
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue May 6 14:26:34 2003 +0000
+
+ Remove 0b82 and Tamil numbers from tamil orthography (Jungshik Shin
+ <jshin@mailaps.org>)
+
+ fc-lang/ta.orth | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit 8ef6a58cb071396630cf05ec857f8c90524752f9
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun May 4 22:58:29 2003 +0000
+
+ Add more .cvsignore entries
+
+ .cvsignore | 1 +
+ src/.cvsignore | 1 +
+ 2 files changed, 2 insertions(+)
+
+commit 3018151753821434135c0c17873764f3283fcc50
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun May 4 22:57:00 2003 +0000
+
+ Add more .cvsignore entries
+
+ .cvsignore | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 7769c3213dc832f7643660d6aab5fade96cd57c3
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun May 4 22:53:49 2003 +0000
+
+ Handle Adobe glyph names for fonts which include ADOBE_CUSTOM
+ encodings
+
+ Makefile.am | 2 +-
+ configure.in | 1 +
+ src/fcfreetype.c | 160
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/fcint.h | 10 ++++
+ 4 files changed, 170 insertions(+), 3 deletions(-)
+
+commit 83321a017a9586aa4f3ace022a91f69122c08ed8
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun May 4 22:51:36 2003 +0000
+
+ Add .cvsignore in new fc-glyphname dir
+
+ fc-glyphname/.cvsignore | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 721d496d7864ff587f51637f578f4b35d501d091
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun May 4 22:50:17 2003 +0000
+
+ Add fc-glyphname to compute hash tables for Adobe glyph name to UCS4
+ conversion functions
+
+ fc-glyphname/Makefile.am | 42 +
+ fc-glyphname/fc-glyphname.c | 287 +++
+ fc-glyphname/fcglyphname.tmpl.h | 25 +
+ fc-glyphname/glyphlist.txt | 4291
+ +++++++++++++++++++++++++++++++++++++++
+ fc-glyphname/zapfdingbats.txt | 212 ++
+ 5 files changed, 4857 insertions(+)
+
+commit 11fec41c0e4211ca4cdcd0b63fb8ef8257e2bd0c
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri May 2 01:11:53 2003 +0000
+
+ Grub through style to find weight/slant/width values when other
+ techniques
+ fail
+
+ src/fcfreetype.c | 228
+ +++++++++++++++++++++++++++++++++++++------------------
+ src/fcint.h | 6 ++
+ src/fcstr.c | 74 ++++++++++++++++++
+ 3 files changed, 233 insertions(+), 75 deletions(-)
+
+commit 1f71c4d878a74a42b6bf2e6137b32487fcb18b8d
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri May 2 01:11:09 2003 +0000
+
+ Add book constant for book weight
+
+ src/fcname.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit ad293de0041230d530c5b3d2be56690db49e4510
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri May 2 01:09:57 2003 +0000
+
+ Add FC_WEIGHT_BOOK as weight 75
+
+ fontconfig/fontconfig.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit a6a66da0adfc6c7899b61eb6531d14f794d25d94
+Author: Noah Levitt <nlevitt@gmail.com>
+Date: Thu May 1 16:20:27 2003 +0000
+
+ Fix expat function check.
+
+ configure.in | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 700a41281a1712db29cc3b34aa293e9a4680c5c3
+Author: Noah Levitt <nlevitt@gmail.com>
+Date: Thu May 1 16:15:28 2003 +0000
+
+ Check for an expat function that won't be there if expat is too old.
+
+ configure.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 3760a63825f931b7d5ef44b991c83f597b50f1a4
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu May 1 14:31:04 2003 +0000
+
+ Add demi and book postscript weight names. Allow spaces in postscript
+ and X
+ matching
+
+ src/fcfreetype.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 1af9b7b4d945b1f15ea5c2d9a20cfecef4f3e199
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 30 15:17:42 2003 +0000
+
+ Typo in bitstream foundry name
+
+ src/fcfreetype.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 70ee88099eac5cb5f75b392dc38ce16852f3b0bd
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Apr 24 17:31:03 2003 +0000
+
+ Debug output for unknown ps weight names. ignore italic_angle for
+ PS fonts
+ as FreeType already checks that
+
+ src/fcfreetype.c | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+commit f45d39b1fda93c949f4625a9fcee0c482b5cacd7
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Apr 24 15:29:33 2003 +0000
+
+ FcFontList broken when presented a charset - was comparing inclusion
+ in the
+ wrong direction
+
+ src/fccfg.c | 8 ++++----
+ src/fccharset.c | 15 +++++++++++++++
+ 2 files changed, 19 insertions(+), 4 deletions(-)
+
+commit 7d5c134a0a74b97438f3cdcc18ba44661d7253bf
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 23 04:45:39 2003 +0000
+
+ Oops. Missing newline in .cvsignore
+
+ doc/.cvsignore | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8c87b4293fe27398d9c6500189a1f72741afdff3
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 23 04:09:28 2003 +0000
+
+ Fix docs to close sgml tags
+
+ ChangeLog | 8 ++++++++
+ doc/fcpattern.fncs | 1 +
+ doc/fontconfig-devel.sgml | 1 +
+ doc/func.sgml | 1 +
+ 4 files changed, 11 insertions(+)
+
+commit c92926bf653425fff0291f1070cc7205e91810a0
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 23 04:06:18 2003 +0000
+
+ Add confdir.sgml to .cvsignore
+
+ doc/.cvsignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit f946755cdb0b0db08debc9f0ee1c2d4f62b484a1
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 23 04:05:58 2003 +0000
+
+ Use CONFDIR instead of SYSCONFDIR/fonts in manual. Use awk to strip
+ trailing newline instead of leaving CVS file without a newline
+ (which
+ will break at some point)
+
+ doc/Makefile.am | 3 ++-
+ doc/confdir.sgml.in | 2 +-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+commit 8b290c54761ee020b0bc197c7ea06366e73be66c
+Author: Noah Levitt <nlevitt@gmail.com>
+Date: Wed Apr 23 00:40:24 2003 +0000
+
+ Got rid of the newline at the end of the file. It's yucky but,
+ I'm not sure
+ how else to get rid of the newline in the output.
+
+ doc/confdir.sgml.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4b4f42ab58714fda3214fcb4f3c9e566ebd25100
+Author: Noah Levitt <nlevitt@gmail.com>
+Date: Wed Apr 23 00:08:03 2003 +0000
+
+ Getting closer to fixing /etc/fonts hard-coding.
+
+ configure.in | 1 -
+ doc/Makefile.am | 4 ++++
+ doc/confdir.sgml.in | 25 +++++++++++++++++++++++++
+ 3 files changed, 29 insertions(+), 1 deletion(-)
+
+commit 27de1f430a3d95c64bc989ae1c7bf1198d059b4c
+Author: Noah Levitt <nlevitt@gmail.com>
+Date: Tue Apr 22 23:34:50 2003 +0000
+
+ Testing syncmail yet again.
+
+ .cvsignore | 2 +-
+ configure.in | 1 +
+ doc/Makefile.am | 12 ++++++------
+ doc/fontconfig-user.sgml | 9 +++++----
+ 4 files changed, 13 insertions(+), 11 deletions(-)
+
+commit 993ffcdd0cb1ab956a456243241ae96eb2b398d1
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Apr 22 16:53:18 2003 +0000
+
+ Fix autogen.sh to work with newer automakes
+
+ autogen.sh | 45 +++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 35 insertions(+), 10 deletions(-)
+
+commit 5f84b65a26073141e02152d3e5889fb7cfe459a2
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Apr 22 06:27:27 2003 +0000
+
+ Handle pattern elements moving during multiple edits
+
+ src/fccfg.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 781f10486df22a422b92114ad438d4d8e74c9b93
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Apr 21 16:12:22 2003 +0000
+
+ Update to version 2.2.0
+
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 8eb4a52ed8ec96efb784a9cab5a21ba20b27733a
+Author: Noah Levitt <nlevitt@gmail.com>
+Date: Mon Apr 21 06:17:23 2003 +0000
+
+ Fixed variable name mistake.
+
+ configure.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 965f77940cbe9743f0f57f8333c49708d3f3dd8c
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 20 04:44:09 2003 +0000
+
+ From James Su -- only part of page 0xff is Latin
+
+ src/fcfreetype.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 29d961a28e231302683577328ed4724319805a7f
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 18 15:56:05 2003 +0000
+
+ Guard calls to FT_Get_BDF_Property to avoid freetype jumping
+ through null
+ pointer
+
+ src/fcfreetype.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+commit 3a30abdb84ff973be86d4f75ee2fd54099f32ef1
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Apr 17 21:50:24 2003 +0000
+
+ Pass FONTCONFIG_PATH in arguments to get expanded
+
+ src/Makefile.am | 1 +
+ src/fccfg.c | 4 ----
+ 2 files changed, 1 insertion(+), 4 deletions(-)
+
+commit 2b2f2a714a6aa5a3fe451f44f85afc67ac921e36
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Apr 17 21:29:12 2003 +0000
+
+ BDF properties not available until FreeType 2.1.4
+
+ src/fcfreetype.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 12d49d3cf48a145189af5e27d88bdf4858d5c2b6
+Author: Colin Walters <walters@verbum.org>
+Date: Thu Apr 17 17:43:04 2003 +0000
+
+ Remove some unused variables, and initialize some other ones so
+ gcc doesn't
+ warn us.
+
+ ChangeLog | 5 +++++
+ doc/edit-sgml.c | 1 +
+ src/fclang.c | 6 ++----
+ 3 files changed, 8 insertions(+), 4 deletions(-)
+
+commit 996580dce5cd74dfdfe18c9f20e0a27817e5ed1b
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Apr 17 15:47:34 2003 +0000
+
+ Solaris porting fixes
+
+ configure.in | 4 ++--
+ fc-lang/fc-lang.c | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit b1e98ed99ead0a4c34ebf2554ea6076bebf621a4
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 16 22:04:42 2003 +0000
+
+ Add Vera support to default configuration
+
+ fonts.conf.in | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 50 insertions(+)
+
+commit e2925d7dc2877fba2112eb3de9853f3e889362c3
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 16 21:50:51 2003 +0000
+
+ bump version to 2.1.94
+
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit ab06f005f66e12b46a5f1274eafa992be20a1f72
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 16 18:49:28 2003 +0000
+
+ add some changelog entries
+
+ ChangeLog | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+commit 0e7a434783b28e9e954d3136195af7ba622c459d
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 16 18:08:47 2003 +0000
+
+ Search through the BDF properties for width and foundry information
+
+ src/fcfreetype.c | 76
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 75 insertions(+), 1 deletion(-)
+
+commit 2e2121f910dd84b0731985570d93cd31ae2edb61
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 16 16:19:38 2003 +0000
+
+ Move foundry detection data into fcfreetype.c (which is getting rather
+ large at this point)
+
+ src/Makefile.am | 2 +-
+ src/data.h | 77 ------------------------
+ src/fcfreetype.c | 177
+ ++++++++++++++++++++++++++++++++++++++++++-------------
+ 3 files changed, 137 insertions(+), 119 deletions(-)
+
+commit 4515cf329ea6f5f4ddbfdee3bc275ba7b768330c
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 16 16:18:27 2003 +0000
+
+ bool was misdeclared in DTD
+
+ fonts.dtd | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3f7653c2badeb426f938bafe1a82c2917b7ea125
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Apr 15 23:38:06 2003 +0000
+
+ Fix unary operator parsing. Add floor, ceil, trunc and round unary
+ operators
+
+ fontconfig/fontconfig.h | 2 +
+ fonts.dtd | 6 ++-
+ src/Makefile.am | 2 +-
+ src/fccfg.c | 71 ++++++++++++++++++++++++++++++++
+ src/fcdbg.c | 20 +++++++++
+ src/fcint.h | 3 +-
+ src/fcxml.c | 107
+ ++++++++++++++++++++++++++++++++++++++----------
+ 7 files changed, 187 insertions(+), 24 deletions(-)
+
+commit 52253696cd2779bd9040457fbd157bbe75895ed6
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Apr 15 17:01:39 2003 +0000
+
+ Clean up ps font weight matching and check for NULL
+
+ src/fcfreetype.c | 59
+ +++++++++++++++++++++++++++++---------------------------
+ 1 file changed, 31 insertions(+), 28 deletions(-)
+
+commit 2ae95e77f7d50d65ca414a5d5a1065aa9f2581ed
+Author: Juliusz Chroboczek <Juliusz.Chroboczek@pps.jussieu.fr>
+Date: Fri Apr 11 23:45:59 2003 +0000
+
+ Implemented foundry generation for Type 1 and TrueType
+
+ src/data.h | 77
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcfreetype.c | 73
+ +++++++++++++++++++++++++++++++++++++++++++++++++----
+ 2 files changed, 145 insertions(+), 5 deletions(-)
+
+commit 0a557ec372a7dddede4edec3ac77caf328fd12f5
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 11 23:00:51 2003 +0000
+
+ update version number to 2.1.93
+
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 7f31f3781597e035b8432e0ce1c2894835b4988a
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 11 22:53:53 2003 +0000
+
+ Run fc-cache from local dir instead of install dir to help LFS
+ installs (I
+ hope)
+
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9f2bcb3e41f30dde64a288a4741ff169f8848dad
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 11 22:24:23 2003 +0000
+
+ Switch to locale-independent string compare function
+
+ src/fcfreetype.c | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+commit d6ea834746a7b2758ea5b89467c0e64446840ca4
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 11 22:17:11 2003 +0000
+
+ Bug #46, #47 fontconfig should retrieve type 1 font information from
+ FontInfo dictionary Patch provided by g2@magestudios.net (Gerard
+ Escalante)
+
+ src/fcfreetype.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 44 insertions(+)
+
+commit cc30f9ca548661d0d9eb07216d261457db58ca02
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Apr 8 05:00:25 2003 +0000
+
+ remove -u option to docbook2man which was trashing the .html file
+
+ doc/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8c8caabdf008f4673bb1d5543ef1e49b02a5c2e9
+Author: Colin Walters <walters@verbum.org>
+Date: Tue Apr 8 03:58:57 2003 +0000
+
+ *** empty log message ***
+
+ ChangeLog | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 15b49a7fbeafa69e0cc02d691a5794f9d3da4b69
+Author: Colin Walters <walters@verbum.org>
+Date: Tue Apr 8 03:58:08 2003 +0000
+
+ Fix dummy makefile target names when MS_LIB_AVAILABLE isn't set.
+
+ src/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit ef82cce1d5d6c6a700db4bb2218f47db85bf548d
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 4 20:17:40 2003 +0000
+
+ update copyright years
+
+ COPYING | 2 +-
+ fonts.conf.in | 15 ++-------------
+ local.conf | 9 +++++++++
+ 3 files changed, 12 insertions(+), 14 deletions(-)
+
+commit 08b5b70dcf04ce61fb505487b774a3731b04e5c1
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 4 20:16:33 2003 +0000
+
+ Move sample subpixel configuration to local.conf
+
+ config/Makedefs.in | 4 ++--
+ config/install.sh | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 848d32bd3f141f0c14abfec38d4cf27eedd1f0a5
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 28 17:08:35 2003 +0000
+
+ Set spacing to mono if every encoded glyph is the same width
+
+ fontconfig/fcfreetype.h | 3 +++
+ src/fcfreetype.c | 46
+ +++++++++++++++++++++++++++++++++++++++++-----
+ 2 files changed, 44 insertions(+), 5 deletions(-)
+
+commit 7dbeec17388af7d41312cd201bb25306ba1e4bc6
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Mar 24 05:03:20 2003 +0000
+
+ Wrong pattern for matching font file names. Fix submitted by
+ hjchoe@hancom.com (Choe Hwanjin)
+
+ configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c8582ff72ade8522d545d117641e4afac61382a0
+Author: Tor Lillqvist <tml@iki.fi>
+Date: Sat Mar 22 21:28:13 2003 +0000
+
+ Changes for Windows:
+ Add a fontconfig-zip(.in) script, used to build a binary distribution.
+
+ fontconfig-zip.in | 30 ++++++++++++++++++++++++++++++
+ 1 file changed, 30 insertions(+)
+
+commit daeed6e048a413a94754fd79f62307ca9be80a43
+Author: Tor Lillqvist <tml@iki.fi>
+Date: Sat Mar 22 21:25:34 2003 +0000
+
+ Changes for Windows:
+ On Windows with gcc (a.k.a. mingw) build as a DLL.
+ We don't want to hardcode the fonts.conf file location in the DLL,
+ so we
+ look up the DLL location at run-time in a DllMain() function. The
+ fonts.conf location is deduced from that.
+ The colon can't be used as path separator on Windows, semicolon
+ is used
+ instead. File path components can be separated with either
+ slash or
+ backslash. Absolute paths can also begin with a drive letter.
+ Add internal function FcStrLastSlash that strrchr's the last slash, or
+ backslash on Windows.
+ There is no link() on Windows. For atomicity checks, mkdir a lock
+ directory
+ instead.
+ In addition to HOME, also look for USERPROFILE.
+ Recognize the special font directory token WINDOWSFONTDIR, to use the
+ system's font directory.
+ Remove the fontconfig-def.cpp that was obsolete. Add
+ fontconfig.def(.in),
+ without internal functions.
+ Add a fontconfig-zip(.in) script, used to build a binary distribution.
+
+ ChangeLog | 32 ++++++++++
+ Makefile.am | 3 +-
+ configure.in | 28 +++++++-
+ fc-lang/fc-lang.man | 6 +-
+ src/Makefile.am | 55 +++++++++++++++-
+ src/fcatomic.c | 23 ++++++-
+ src/fccache.c | 21 +++++-
+ src/fccfg.c | 90 ++++++++++++++++++++++++--
+ src/fcint.h | 9 +++
+ src/fcstr.c | 23 ++++++-
+ src/fcxml.c | 30 +++++++++
+ src/fontconfig-def.cpp | 170
+ -------------------------------------------------
+ src/fontconfig.def.in | 161
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ 13 files changed, 464 insertions(+), 187 deletions(-)
+
+commit cc9dd09816f717fc678d097a69f793dca1b1eef0
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Mar 22 01:55:00 2003 +0000
+
+ switch // comment
+
+ src/fclang.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ddde1797a900b818b96fc0818d9df0efacb5ac69
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Mar 20 02:01:01 2003 +0000
+
+ strtod under some locales requires digits before the decimal
+
+ doc/fontconfig-user.sgml | 8 ++++++--
+ fonts.conf.in | 2 +-
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+commit f4007a672834df25f0f9b6a918c135d2b79a3784
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Mar 20 02:00:15 2003 +0000
+
+ Avoid crashing on empty test/edit lists
+
+ src/fccfg.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 3fbd50e48679c15c24400aaa78c6cd266317a784
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Mar 20 01:59:28 2003 +0000
+
+ bogus libtoolize --version | libtoolize --version
+
+ autogen.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1b16ef20c9c7dd5c3e861a392e886cbe6c046306
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Mar 18 08:03:42 2003 +0000
+
+ FcCharSetIsSubset errored on fonts with subsets in early blocks
+ and extra
+ blocks not present in the second argument
+
+ src/fccharset.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3910f3221b5276523ff1e6fea10aecabfa427f0a
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 14 00:16:56 2003 +0000
+
+ Fix configure arguments (bug 45)
+
+ configure.in | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 81fa16c3366a701255f4e52cdfd716dd06253748
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Mar 12 22:16:43 2003 +0000
+
+ add font widths and extend weight from OS/2 table
+
+ fontconfig/fontconfig.h | 44 ++++++++++++++++++++++++++++------------
+ src/fcdefault.c | 3 +++
+ src/fcfreetype.c | 54
+ ++++++++++++++++++++++++++++++++++++++++++++-----
+ src/fcmatch.c | 29 +++++++++++++++++---------
+ src/fcname.c | 18 +++++++++++++++++
+ 5 files changed, 120 insertions(+), 28 deletions(-)
+
+commit a8386abc916c6ce4b0fa0ca3f9f68aa0232d4824
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Mar 12 22:15:39 2003 +0000
+
+ Global cache time checking was using wrong file name and computing
+ wrong
+ count of fonts per file
+
+ src/fccache.c | 10 +++++-----
+ src/fcdir.c | 8 ++++++--
+ src/fcint.h | 2 +-
+ 3 files changed, 12 insertions(+), 8 deletions(-)
+
+commit 89b61da31f88713074fdb396604cd3d8fe7e5ded
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Mar 10 06:56:32 2003 +0000
+
+ Ship manual
+
+ fc-list/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit dbe9a11ea4a1ff2b044f3e24a3ef9de27370a033
+Author: Mike A. Harris <mharris@redhat.com>
+Date: Sat Mar 8 01:03:32 2003 +0000
+
+ Updated RPM specfile for 2.1.92 and fixed remaining known spec
+ file issues
+
+ ChangeLog | 8 ++++++++
+ fontconfig.spec.in | 19 +++++++++++++++++--
+ 2 files changed, 25 insertions(+), 2 deletions(-)
+
+commit 6348213702153f1097c648ae575bcc89dbb259dc
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 7 21:04:52 2003 +0000
+
+ Bump version to 2.1.92
+
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit dcd1f27185958b000f12e0390970c925f4386598
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 7 20:51:17 2003 +0000
+
+ add version.sgml to .cvsignore
+
+ doc/.cvsignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit ae2c2943648313b41f2d032b72618d11ffdd1772
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 7 20:50:44 2003 +0000
+
+ Add version number to user doc
+
+ doc/fontconfig-user.sgml | 27 +++++++++++++++++----------
+ doc/func.sgml | 1 +
+ 2 files changed, 18 insertions(+), 10 deletions(-)
+
+commit fddb839bba56f5d0ac9e2bd71323d2cc488155b8
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 7 20:45:43 2003 +0000
+
+ Add version number to documentation
+
+ configure.in | 1 +
+ doc/fontconfig-devel.sgml | 13 +++----------
+ doc/func.sgml | 4 ++++
+ doc/version.sgml.in | 24 ++++++++++++++++++++++++
+ 4 files changed, 32 insertions(+), 10 deletions(-)
+
+commit 4484582ebaaaea4982248a6141d87d488ef322bd
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 7 20:45:20 2003 +0000
+
+ wasnt rebuilding most of the docs
+
+ doc/Makefile.am | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+commit 8cfb37394cb80cc7b11133090c99dc1ce31f2695
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 7 20:04:13 2003 +0000
+
+ distribute man page
+
+ fc-cache/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit ea3ebacfb8c729fd6fbfb55d27bd3ef43cd4afec
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 7 20:03:53 2003 +0000
+
+ note that default mandir is usually wrong
+
+ INSTALL | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit bdc0fd54344cd161f1507aa53f3d676569d63f08
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 7 20:03:23 2003 +0000
+
+ get manuals to install with automake-1.4
+
+ doc/Makefile.am | 44 +++++++++++++++++++++-----------------------
+ 1 file changed, 21 insertions(+), 23 deletions(-)
+
+commit 164301051d714b39e2a5b5d72cab2ca7ecb9e57a
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 7 19:41:34 2003 +0000
+
+ Create fontconfig-user.html
+
+ doc/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 251c36c1b311515aae0fff1ab9d80e2843e3f426
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 7 19:39:57 2003 +0000
+
+ Add more to .cvsignore
+
+ doc/.cvsignore | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit b219ac6b99672506965f3c2168e2af1cd58d28e7
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 7 19:37:16 2003 +0000
+
+ Make documentation build
+
+ doc/Makefile.am | 172
+ +++++++++++++++++++++++++++--------------------
+ doc/edit-sgml.c | 2 +-
+ doc/fontconfig-user.sgml | 2 +-
+ 3 files changed, 102 insertions(+), 74 deletions(-)
+
+commit 39381776a4c0cf4077a31f3a493cbd37420cec71
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 7 19:01:41 2003 +0000
+
+ Finish reformatting developer documentation
+
+ doc/Makefile.am | 16 +-
+ doc/edit-sgml.c | 17 +-
+ doc/fcatomic.fncs | 93 +++++++++
+ doc/fcconfig.fncs | 153 ++++++++-------
+ doc/fcfile.fncs | 78 ++++++++
+ doc/fcfreetype.fncs | 69 +++++++
+ doc/fcinit.fncs | 78 ++++++++
+ doc/fcstring.fncs | 150 +++++++++++++++
+ doc/fcstrset.fncs | 104 ++++++++++
+ doc/fontconfig-devel.sgml | 475
+ +++++++++++-----------------------------------
+ 10 files changed, 795 insertions(+), 438 deletions(-)
+
+commit 90bdcf6051472443690294e04df1ea1f5d0d1d19
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 7 08:52:27 2003 +0000
+
+ Add copyright
+
+ doc/func.sgml | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+
+commit 2df0c66230fb86a784414b5db803d32d1a083b3a
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 7 08:51:14 2003 +0000
+
+ Use <parameter> tags. Add copyrights
+
+ doc/fcconfig.fncs | 46 +++++++++++++++++++++++-----------------------
+ doc/fcconstant.fncs | 10 +++++-----
+ doc/fcobjecttype.fncs | 6 +++---
+ doc/fcpattern.fncs | 14 +++++++-------
+ doc/fcvalue.fncs | 4 ++--
+ 5 files changed, 40 insertions(+), 40 deletions(-)
+
+commit bfc2dc3ac4b1eb5f0f9f0dfae7abac7e77e28061
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 7 08:44:32 2003 +0000
+
+ Add lots more function documentation
+
+ doc/Makefile.am | 16 ++-
+ doc/fcblanks.fncs | 58 +++++++++
+ doc/fccharset.fncs | 23 ++++
+ doc/fcconfig.fncs | 279
+ +++++++++++++++++++++++++++++++++++++++++++
+ doc/fcconstant.fncs | 58 +++++++++
+ doc/fcfontset.fncs | 49 ++++++++
+ doc/fcmatrix.fncs | 23 ++++
+ doc/fcobjectset.fncs | 61 ++++++++++
+ doc/fcobjecttype.fncs | 48 ++++++++
+ doc/fcpattern.fncs | 23 ++++
+ doc/fcvalue.fncs | 23 ++++
+ doc/fontconfig-devel.sgml | 292
+ +++-------------------------------------------
+ 12 files changed, 677 insertions(+), 276 deletions(-)
+
+commit 22671e25510e77af1a8f2b569314ba2de1c93353
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 7 07:12:51 2003 +0000
+
+ Rework documentation to build man pages for each function
+
+ doc/Makefile.am | 84 ++-
+ doc/fccharset.fncs | 144 +++++
+ doc/fcmatrix.fncs | 100 ++++
+ doc/fcpattern.fncs | 287 ++++++++++
+ doc/fcvalue.fncs | 17 +
+ doc/fontconfig-devel.sgml | 1355
+ ++++++++++++++++++---------------------------
+ doc/fontconfig-user.sgml | 396 ++++++-------
+ doc/func.sgml | 61 ++
+ 8 files changed, 1411 insertions(+), 1033 deletions(-)
+
+commit 5e1f56b567c0226da9ab650ee4809e16be2ae8eb
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 7 06:17:36 2003 +0000
+
+ Add func doc creation program edit-sgml
+
+ doc/edit-sgml.c | 426
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 426 insertions(+)
+
+commit c92abf78e12502e1d93281e2d4b1404226a6c6b9
+Author: Mike A. Harris <mharris@redhat.com>
+Date: Wed Mar 5 10:09:57 2003 +0000
+
+ Update Changelog
+
+ ChangeLog | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit a5ae222c2a5f578dff011f11dadb78ecf0734cbb
+Author: Mike A. Harris <mharris@redhat.com>
+Date: Wed Mar 5 10:08:08 2003 +0000
+
+ Added back the configure macro options --disable-docs because
+ otherwise
+ fontconfig installs docs into /usr/share/doc/fontconfig (with no
+ version number) unconditionally, causing RPM to fail the build
+ due to
+ _unpackaged_files_terminate_build. We pick up the pregenerated
+ docs
+ with %doc already.
+
+ fontconfig.spec.in | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit b06766e439ce49f2d50aba7ab812fa0ebb6549e1
+Author: Mike A. Harris <mharris@redhat.com>
+Date: Wed Mar 5 09:28:08 2003 +0000
+
+ Updated rpm specfile changelog and Changelog to reflect today's
+ changes
+
+ ChangeLog | 13 ++++++++++++-
+ fontconfig.spec.in | 9 ++++++++-
+ 2 files changed, 20 insertions(+), 2 deletions(-)
+
+commit fc87206f77a4c1b11c990a6ea4b0d3d4cd5208df
+Author: Mike A. Harris <mharris@redhat.com>
+Date: Wed Mar 5 09:16:37 2003 +0000
+
+ Reordered %files lists to be a bit tidier. Made -devel package own the
+ %{_includedir}/fontconfig directory
+
+ fontconfig.spec.in | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+commit c674c89bf919fa7f357319a7ce825ba5369ff737
+Author: Mike A. Harris <mharris@redhat.com>
+Date: Wed Mar 5 09:14:06 2003 +0000
+
+ Put %post script in {}'s for tidyness, and change the call to
+ fc-cache to
+ use %{_bindir}/fc-cache
+
+ fontconfig.spec.in | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+commit 5283328a6006420cb3382c0dbef55f715996b91c
+Author: Mike A. Harris <mharris@redhat.com>
+Date: Wed Mar 5 09:10:14 2003 +0000
+
+ Changed BuildRequires: lines to use %{_bindir} macro instead of
+ hard coded
+ /usr/bin
+
+ fontconfig.spec.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 674c09dfbfc3d6d3a014ac018995530159fc157f
+Author: Mike A. Harris <mharris@redhat.com>
+Date: Wed Mar 5 09:08:41 2003 +0000
+
+ Replace commented out %define at top of specfile with a comment
+ preceding
+ the freetype2 define, since rpm expands macros in comments. Also
+ remove
+ -j flag from make, as _smp_mflags expands to -jN already.
+
+ fontconfig.spec.in | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit d30f481c4d182db3873fc9caf0e191da3c4955ef
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Mar 5 07:45:37 2003 +0000
+
+ switch vesion to version
+
+ fontconfig.spec.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d93fb00e8dd757fbdaafd4dd36509c33b7827eb5
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Mar 5 06:09:36 2003 +0000
+
+ optimize string compares even more
+
+ src/fcstr.c | 19 +++----------------
+ 1 file changed, 3 insertions(+), 16 deletions(-)
+
+commit dc1de232a694c9c431604e701e8f617978a00e0a
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Mar 5 06:09:14 2003 +0000
+
+ Use VERSION in fontconfig.pc.in
+
+ fontconfig.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 83e42969fcd183d99b279cf1e15b6126ce2428eb
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Mar 5 05:57:11 2003 +0000
+
+ No longer using config directory
+
+ configure.in | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 94421e4097d84b50fc2da285b57fb00da3592796
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Mar 5 05:53:10 2003 +0000
+
+ use FcToLower instead of tolower
+
+ src/fcname.c | 12 +++++-------
+ 1 file changed, 5 insertions(+), 7 deletions(-)
+
+commit 55ef7dac64d9202217c6f42e53ddf1549c2da385
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Mar 5 05:52:51 2003 +0000
+
+ Add FcLangSetPrint
+
+ src/fcdbg.c | 29 ++++++++++++++++++-----------
+ 1 file changed, 18 insertions(+), 11 deletions(-)
+
+commit 793e946c2f90b5617ec39c64679630b4e2f2d3ad
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Mar 5 05:52:31 2003 +0000
+
+ AddFcLangSetContains for font listing, add first-letter table for
+ language
+ lookups, change RCS tag
+
+ src/fccfg.c | 8 +--
+ src/fcint.h | 7 +-
+ src/fclang.c | 231
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
+ src/fclist.c | 6 +-
+ 4 files changed, 219 insertions(+), 33 deletions(-)
+
+commit 4bd4418ab5e7450e1c1fd3cd136098f1bf37a80c
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Mar 5 05:51:27 2003 +0000
+
+ Change RCS tag
+
+ fc-cache/fc-cache.c | 4 ++--
+ fc-cache/fc-cache.man | 4 ++--
+ fc-list/fc-list.c | 4 ++--
+ fc-list/fc-list.man | 4 ++--
+ src/fcatomic.c | 4 ++--
+ src/fcblanks.c | 4 ++--
+ src/fccache.c | 4 ++--
+ src/fccharset.c | 4 ++--
+ src/fcdefault.c | 4 ++--
+ src/fcdir.c | 4 ++--
+ src/fcfreetype.c | 4 ++--
+ src/fcfs.c | 4 ++--
+ src/fcinit.c | 4 ++--
+ src/fcmatch.c | 4 ++--
+ src/fcmatrix.c | 2 +-
+ src/fcpat.c | 4 ++--
+ src/fcstr.c | 4 ++--
+ src/fcxml.c | 4 ++--
+ src/fontconfig-def.cpp | 2 +-
+ 19 files changed, 36 insertions(+), 36 deletions(-)
+
+commit 0eadb052fb31ad99d77d1997108d316c64d939b8
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Mar 5 05:48:53 2003 +0000
+
+ Add letter ranges to speed lang lookups, change CVS tag
+
+ fc-lang/fc-lang.c | 38 ++++++++++++++++++++++++++++++++++++--
+ fc-lang/fc-lang.man | 4 ++--
+ fc-lang/fclang.tmpl.h | 4 ++--
+ 3 files changed, 40 insertions(+), 6 deletions(-)
+
+commit 4c2967f6267b01022c4f3651dcc0072a225f4b01
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Mar 5 05:48:15 2003 +0000
+
+ Change RCS tag, add FcLangSetContains
+
+ fontconfig/fcfreetype.h | 4 ++--
+ fontconfig/fcprivate.h | 4 ++--
+ fontconfig/fontconfig.h | 11 ++++++++---
+ 3 files changed, 12 insertions(+), 7 deletions(-)
+
+commit 0b5c5dd1bed55e32c551c85bce87b511236111b6
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Mar 5 04:26:06 2003 +0000
+
+ Switch RCS tag label
+
+ fc-lang/aa.orth | 4 ++--
+ fc-lang/ab.orth | 4 ++--
+ fc-lang/af.orth | 4 ++--
+ fc-lang/am.orth | 4 ++--
+ fc-lang/ar.orth | 4 ++--
+ fc-lang/ast.orth | 4 ++--
+ fc-lang/ava.orth | 4 ++--
+ fc-lang/ay.orth | 4 ++--
+ fc-lang/az.orth | 4 ++--
+ fc-lang/ba.orth | 4 ++--
+ fc-lang/bam.orth | 4 ++--
+ fc-lang/be.orth | 4 ++--
+ fc-lang/bg.orth | 4 ++--
+ fc-lang/bh.orth | 4 ++--
+ fc-lang/bho.orth | 4 ++--
+ fc-lang/bi.orth | 4 ++--
+ fc-lang/bin.orth | 4 ++--
+ fc-lang/bn.orth | 4 ++--
+ fc-lang/bo.orth | 4 ++--
+ fc-lang/br.orth | 4 ++--
+ fc-lang/bs.orth | 4 ++--
+ fc-lang/bua.orth | 4 ++--
+ fc-lang/ca.orth | 4 ++--
+ fc-lang/ce.orth | 4 ++--
+ fc-lang/ch.orth | 4 ++--
+ fc-lang/chm.orth | 4 ++--
+ fc-lang/chr.orth | 4 ++--
+ fc-lang/co.orth | 4 ++--
+ fc-lang/cs.orth | 4 ++--
+ fc-lang/cu.orth | 4 ++--
+ fc-lang/cv.orth | 4 ++--
+ fc-lang/cy.orth | 4 ++--
+ fc-lang/da.orth | 4 ++--
+ fc-lang/de.orth | 4 ++--
+ fc-lang/dz.orth | 4 ++--
+ fc-lang/el.orth | 4 ++--
+ fc-lang/en.orth | 4 ++--
+ fc-lang/eo.orth | 4 ++--
+ fc-lang/es.orth | 4 ++--
+ fc-lang/et.orth | 4 ++--
+ fc-lang/eu.orth | 4 ++--
+ fc-lang/fa.orth | 4 ++--
+ fc-lang/fi.orth | 4 ++--
+ fc-lang/fj.orth | 4 ++--
+ fc-lang/fo.orth | 4 ++--
+ fc-lang/fr.orth | 4 ++--
+ fc-lang/ful.orth | 4 ++--
+ fc-lang/fur.orth | 4 ++--
+ fc-lang/fy.orth | 4 ++--
+ fc-lang/ga.orth | 4 ++--
+ fc-lang/gd.orth | 4 ++--
+ fc-lang/gez.orth | 4 ++--
+ fc-lang/gl.orth | 4 ++--
+ fc-lang/gn.orth | 4 ++--
+ fc-lang/gu.orth | 4 ++--
+ fc-lang/gv.orth | 4 ++--
+ fc-lang/ha.orth | 4 ++--
+ fc-lang/haw.orth | 4 ++--
+ fc-lang/he.orth | 4 ++--
+ fc-lang/hi.orth | 4 ++--
+ fc-lang/ho.orth | 4 ++--
+ fc-lang/hr.orth | 4 ++--
+ fc-lang/hu.orth | 4 ++--
+ fc-lang/hy.orth | 4 ++--
+ fc-lang/ia.orth | 4 ++--
+ fc-lang/ibo.orth | 4 ++--
+ fc-lang/id.orth | 4 ++--
+ fc-lang/ie.orth | 4 ++--
+ fc-lang/ik.orth | 4 ++--
+ fc-lang/io.orth | 4 ++--
+ fc-lang/is.orth | 4 ++--
+ fc-lang/it.orth | 4 ++--
+ fc-lang/iu.orth | 4 ++--
+ fc-lang/ja.orth | 4 ++--
+ fc-lang/ka.orth | 4 ++--
+ fc-lang/kaa.orth | 4 ++--
+ fc-lang/ki.orth | 4 ++--
+ fc-lang/kk.orth | 4 ++--
+ fc-lang/kl.orth | 4 ++--
+ fc-lang/km.orth | 4 ++--
+ fc-lang/kn.orth | 4 ++--
+ fc-lang/ko.orth | 4 ++--
+ fc-lang/kok.orth | 4 ++--
+ fc-lang/ks.orth | 4 ++--
+ fc-lang/ku.orth | 4 ++--
+ fc-lang/kum.orth | 4 ++--
+ fc-lang/kv.orth | 4 ++--
+ fc-lang/kw.orth | 4 ++--
+ fc-lang/ky.orth | 4 ++--
+ fc-lang/la.orth | 4 ++--
+ fc-lang/lb.orth | 4 ++--
+ fc-lang/lez.orth | 4 ++--
+ fc-lang/lo.orth | 4 ++--
+ fc-lang/lt.orth | 4 ++--
+ fc-lang/lv.orth | 4 ++--
+ fc-lang/mg.orth | 4 ++--
+ fc-lang/mh.orth | 4 ++--
+ fc-lang/mi.orth | 4 ++--
+ fc-lang/mk.orth | 4 ++--
+ fc-lang/ml.orth | 4 ++--
+ fc-lang/mn.orth | 4 ++--
+ fc-lang/mo.orth | 4 ++--
+ fc-lang/mr.orth | 4 ++--
+ fc-lang/mt.orth | 4 ++--
+ fc-lang/my.orth | 4 ++--
+ fc-lang/nb.orth | 4 ++--
+ fc-lang/ne.orth | 4 ++--
+ fc-lang/nl.orth | 4 ++--
+ fc-lang/nn.orth | 4 ++--
+ fc-lang/no.orth | 4 ++--
+ fc-lang/ny.orth | 4 ++--
+ fc-lang/oc.orth | 4 ++--
+ fc-lang/om.orth | 4 ++--
+ fc-lang/or.orth | 4 ++--
+ fc-lang/os.orth | 4 ++--
+ fc-lang/pl.orth | 4 ++--
+ fc-lang/pt.orth | 4 ++--
+ fc-lang/rm.orth | 4 ++--
+ fc-lang/ro.orth | 4 ++--
+ fc-lang/ru.orth | 4 ++--
+ fc-lang/sa.orth | 4 ++--
+ fc-lang/sah.orth | 4 ++--
+ fc-lang/sco.orth | 4 ++--
+ fc-lang/se.orth | 4 ++--
+ fc-lang/sel.orth | 4 ++--
+ fc-lang/sh.orth | 4 ++--
+ fc-lang/si.orth | 4 ++--
+ fc-lang/sk.orth | 4 ++--
+ fc-lang/sl.orth | 4 ++--
+ fc-lang/sm.orth | 4 ++--
+ fc-lang/sma.orth | 4 ++--
+ fc-lang/smj.orth | 4 ++--
+ fc-lang/smn.orth | 4 ++--
+ fc-lang/sms.orth | 4 ++--
+ fc-lang/so.orth | 4 ++--
+ fc-lang/sq.orth | 4 ++--
+ fc-lang/sr.orth | 4 ++--
+ fc-lang/sv.orth | 4 ++--
+ fc-lang/sw.orth | 4 ++--
+ fc-lang/syr.orth | 4 ++--
+ fc-lang/ta.orth | 4 ++--
+ fc-lang/te.orth | 4 ++--
+ fc-lang/tg.orth | 4 ++--
+ fc-lang/th.orth | 4 ++--
+ fc-lang/ti_er.orth | 4 ++--
+ fc-lang/ti_et.orth | 4 ++--
+ fc-lang/tig.orth | 4 ++--
+ fc-lang/tk.orth | 4 ++--
+ fc-lang/tl.orth | 4 ++--
+ fc-lang/tn.orth | 4 ++--
+ fc-lang/to.orth | 4 ++--
+ fc-lang/tr.orth | 4 ++--
+ fc-lang/ts.orth | 4 ++--
+ fc-lang/tt.orth | 4 ++--
+ fc-lang/tw.orth | 4 ++--
+ fc-lang/tyv.orth | 4 ++--
+ fc-lang/ug.orth | 4 ++--
+ fc-lang/uk.orth | 4 ++--
+ fc-lang/ur.orth | 4 ++--
+ fc-lang/uz.orth | 4 ++--
+ fc-lang/ven.orth | 4 ++--
+ fc-lang/vi.orth | 4 ++--
+ fc-lang/vo.orth | 4 ++--
+ fc-lang/vot.orth | 4 ++--
+ fc-lang/wa.orth | 4 ++--
+ fc-lang/wen.orth | 4 ++--
+ fc-lang/wo.orth | 4 ++--
+ fc-lang/xh.orth | 4 ++--
+ fc-lang/yap.orth | 4 ++--
+ fc-lang/yi.orth | 4 ++--
+ fc-lang/yo.orth | 4 ++--
+ fc-lang/zh_cn.orth | 4 ++--
+ fc-lang/zh_hk.orth | 4 ++--
+ fc-lang/zh_mo.orth | 4 ++--
+ fc-lang/zh_sg.orth | 4 ++--
+ fc-lang/zh_tw.orth | 4 ++--
+ fc-lang/zu.orth | 4 ++--
+ 177 files changed, 354 insertions(+), 354 deletions(-)
+
+commit 7b94ae21fc4c2514b5f14942e432252a2acc33ab
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Mar 4 00:19:09 2003 +0000
+
+ Add .cvsignore
+
+ doc/.cvsignore | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit af82b48c2b8c2037020d928aced582dedd06d8d9
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Mar 4 00:14:58 2003 +0000
+
+ Allow multiple directories in --with-add-fonts, by default add only
+ scalable fonts from X directory
+
+ configure.in | 48 ++++++++++++++++++++++++++++++++----------------
+ 1 file changed, 32 insertions(+), 16 deletions(-)
+
+commit bb7743ae7e218ecef31f3023b281939b02967552
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Mar 3 05:47:14 2003 +0000
+
+ Update version to 2.1.91
+
+ configure.in | 2 +-
+ fontconfig/fontconfig.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 22dc6fc6dbae50d6ee2db17a88b5c6e4b3ac30be
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Mon Mar 3 01:13:11 2003 +0000
+
+ Sun Mar 2 14:16:17 2003 Owen Taylor <otaylor@redhat.com>
+ fontconfig.spec.in: Improvements from Red Hat spec file.
+ {fc-lang,fc-cache,fc-list}/Makefile.am: Add man pages.
+ docs/*.sgml: SGML fixes.
+
+ ChangeLog | 8 ++
+ doc/fontconfig-devel.sgml | 237
+ +++++++++++++++++++++++-----------------------
+ doc/fontconfig-user.sgml | 8 +-
+ fc-cache/Makefile.am | 2 +
+ fc-lang/Makefile.am | 2 +
+ fc-list/Makefile.am | 2 +
+ fontconfig.spec.in | 86 +++++++++--------
+ 7 files changed, 191 insertions(+), 154 deletions(-)
+
+commit ee170116da7cbd6e03a4de61c455d717183f46d7
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Mar 2 19:13:00 2003 +0000
+
+ Ignore dist files
+
+ .cvsignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit ff3f1f98ed240a4cde511cace7acd09d40548656
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Mar 2 19:12:23 2003 +0000
+
+ Switch back to -version-info for fontconfig as its at minor 0. Add
+ --system-only to fc-cache. Fix FC_VERSION to match product version
+ rather than .so version
+
+ Makefile.am | 1 -
+ configure.in | 23 +-
+ fc-cache/fc-cache.c | 8 +
+ fc-lang/fc-lang.c | 6 +
+ fontconfig/fontconfig.h | 16 +-
+ ltmain.sh | 6192
+ -----------------------------------------------
+ src/Makefile.am | 2 +-
+ src/fccfg.c | 25 +-
+ src/fcint.h | 3 +
+ src/fcstr.c | 8 +-
+ src/fcxml.c | 14 +-
+ 11 files changed, 79 insertions(+), 6219 deletions(-)
+
+commit bf0093b72487bd463b9c7700902cd8765534c9c1
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Mar 2 08:46:04 2003 +0000
+
+ oops -- X fonts referenced from the wrong place
+
+ configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ad9b233c98d4da08178503f6db9a43708e2a7df0
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Mar 2 08:00:24 2003 +0000
+
+ Make default confdir point to sysconfdir
+
+ configure.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 181f614a96ec1e06c2b9cd9fcbfc304622d6fd18
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Mar 2 07:36:08 2003 +0000
+
+ Add ltmain.sh to the package
+
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 8fc10a72ad856216b87daa91a1d52fde70af35dc
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Mar 2 07:28:24 2003 +0000
+
+ make dist works now. Update to 2.1.90 in preparation for eventual 2.2
+ release
+
+ COPYING | 4 +-
+ ChangeLog | 20 +
+ INSTALL | 11 +-
+ Makefile.am | 3 +-
+ README | 6 +-
+ configure.in | 11 +-
+ fc-lang/Makefile.am | 2 +
+ src/Makefile.am | 2 +
+ src/fcknownsets.h | 1895
+ ---------------------------------------------------
+ test/Makefile.am | 3 +
+ 10 files changed, 42 insertions(+), 1915 deletions(-)
+
+commit 4b06670ac92b8b9d2f1ba7036fdfaed5e55ff533
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Mar 1 05:55:48 2003 +0000
+
+ Add .cvsignore
+
+ test/.cvsignore | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 44d903783dd0b9b671be9e829c5b9e4e78c681c0
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Mar 1 05:55:17 2003 +0000
+
+ Add simple tests
+
+ Makefile.am | 2 +-
+ configure.in | 1 +
+ test/4x6.pcf | Bin 0 -> 70952 bytes
+ test/8x16.pcf | Bin 0 -> 21320 bytes
+ test/Makefile.am | 4 +++
+ test/fonts.conf.in | 4 +++
+ test/out.expected | 8 +++++
+ test/run-test.sh | 85
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 8 files changed, 103 insertions(+), 1 deletion(-)
+
+commit 9238fc061d2f89590d578bff69fd3e8fc4b72e2c
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Mar 1 05:21:02 2003 +0000
+
+ Add --disable-docs flag
+
+ configure.in | 16 ++++++++++++++++
+ doc/Makefile.am | 21 ++++++++++++++++-----
+ src/Makefile.am | 4 ----
+ 3 files changed, 32 insertions(+), 9 deletions(-)
+
+commit 0da305f7f85ae0dddc411df53ef077709558d369
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Mar 1 03:06:37 2003 +0000
+
+ Switch to docbook and split documentation into pieces
+
+ Makefile.am | 2 +-
+ configure.in | 15 +
+ doc/Makefile.am | 35 ++
+ src/fontconfig.3 | 1466
+ ------------------------------------------------------
+ 4 files changed, 51 insertions(+), 1467 deletions(-)
+
+commit 584ac89a017d30fb337de3d4c038ae2a5b51b3d1
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Mar 1 02:23:52 2003 +0000
+
+ Reformat documentation into sgml for docbook, split into user/devel
+ guides
+
+ doc/fontconfig-devel.sgml | 1257
+ +++++++++++++++++++++++++++++++++++++++++++++
+ doc/fontconfig-user.sgml | 559 ++++++++++++++++++++
+ doc/fontconfig.tex | 55 --
+ 3 files changed, 1816 insertions(+), 55 deletions(-)
+
+commit df43986cdcb38f6462d63618a115618cd9a964bb
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Feb 27 08:12:13 2003 +0000
+
+ Disable globaladvance for batang fonts
+
+ fonts.conf.in | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit cc168fa6688066baad43d1de577a39c11102947a
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Feb 27 08:08:09 2003 +0000
+
+ Disable globaladvance for gulim fonts
+
+ fonts.conf.in | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+commit 148656ed8b3755f0634be14ae60996a1ad493836
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Feb 27 07:04:59 2003 +0000
+
+ Stop setting FC_SPACING from font hints. Theyre always wrong
+
+ src/fcfreetype.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit 662b879681f2961b446341638c7bec048edd612a
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Feb 27 07:04:31 2003 +0000
+
+ Avoid crashing with null expressions in debug code
+
+ src/fcdbg.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 2d39321f1e70a8a1a2a68244b25ca0c7e8c0df3c
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Feb 26 19:13:17 2003 +0000
+
+ Allow double or integer for numeric values in matching
+
+ src/fcdbg.c | 4 ++--
+ src/fcmatch.c | 34 ++++++++++++++++++++++++++--------
+ 2 files changed, 28 insertions(+), 10 deletions(-)
+
+commit f2aacf1ed9cd34f3d29e0de3ee322ea51a82e40c
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 24 17:52:44 2003 +0000
+
+ Add remaining .cvsignore files
+
+ fc-cache/.cvsignore | 5 +++++
+ fc-lang/.cvsignore | 6 ++++++
+ fc-list/.cvsignore | 5 +++++
+ fontconfig/.cvsignore | 2 ++
+ src/.cvsignore | 6 ++++++
+ 5 files changed, 24 insertions(+)
+
+commit 8530b30b0bbb1831ab80cda61c104714b66a9da4
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 24 17:50:29 2003 +0000
+
+ Add .cvsignore file
+
+ .cvsignore | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+commit 20fa60c9ae5923487c80ef0449e869a30a8ddc19
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 24 17:18:50 2003 +0000
+
+ Switch to automake
+
+ Makefile.am | 49 +
+ Makefile.in | 91 -
+ autogen.sh | 89 +
+ config.h.in | 138 --
+ configure.in | 425 ++--
+ cvscompile.sh | 11 -
+ fc-cache/Makefile.am | 28 +
+ fc-cache/Makefile.in | 53 -
+ fc-lang/Makefile.am | 38 +
+ fc-list/Makefile.am | 28 +
+ fc-list/Makefile.in | 54 -
+ findfonts | 4 -
+ fontconfig.spec.in | 74 +
+ fontconfig/Makefile.am | 8 +
+ fontconfig/Makefile.in | 39 -
+ fontconfig/fontconfig.h | 3 +-
+ fonts.conf.in | 12 +-
+ local.conf | 5 +
+ local.def | 70 -
+ ltmain.sh | 6192
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ setfontdirs | 36 -
+ src/Makefile.am | 38 +
+ src/Makefile.in | 120 -
+ src/fontconfig.3 | 1466 +++++++++++
+ src/fontconfig.man | 1466 -----------
+ 25 files changed, 8214 insertions(+), 2323 deletions(-)
+
+commit 46d003c34ef95db33ecb794d23f711161d4d4ae3
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 24 16:51:29 2003 +0000
+
+ Dont attempt to use cache if NULL
+
+ src/fcdir.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit e54692ac1e3b1e498154cae9e4db68f1d1b06ecf
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 17 17:35:28 2003 +0000
+
+ Remove broken fontconfig-config script
+
+ Makefile.in | 9 -----
+ configure.in | 3 +-
+ fontconfig-config.in | 94
+ ----------------------------------------------------
+ 3 files changed, 1 insertion(+), 105 deletions(-)
+
+commit c4ab52dcb5d016d18fc73a8577daeb6938fb9e84
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Feb 13 16:42:38 2003 +0000
+
+ Track dirs containing fonts.cache files referenced from ~/.fonts.cache
+ file
+
+ src/fccache.c | 45 ++++++++++++++++++++++++++++++++++++++-------
+ src/fcdir.c | 3 +++
+ src/fcint.h | 4 ++++
+ 3 files changed, 45 insertions(+), 7 deletions(-)
+
+commit 565a919e80bf2d801078cbd83eee8caf9c057519
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Feb 12 20:35:32 2003 +0000
+
+ Have fc-cache skip directories without write access
+
+ fc-cache/fc-cache.c | 26 +++++++++++++++++++-------
+ 1 file changed, 19 insertions(+), 7 deletions(-)
+
+commit b7a2e1e27b35154ea3b782f1f61bd2ef83cb27b2
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Feb 12 18:23:03 2003 +0000
+
+ Add prefer_outline hacks to replace bitmap fonts with equivalent
+ outlines
+
+ fonts.conf.in | 28 ++++++++++++++++++++++++++++
+ 1 file changed, 28 insertions(+)
+
+commit dda7794f1be86fa270410e63ce96104843ded66f
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Feb 12 18:22:12 2003 +0000
+
+ Add "same" binding for edits to inherit binding from matched element
+
+ fonts.dtd | 2 +-
+ src/fccfg.c | 10 +++++++++-
+ src/fcint.h | 2 +-
+ src/fcxml.c | 2 ++
+ 4 files changed, 13 insertions(+), 3 deletions(-)
+
+commit 602e6b1f265b17cc1059a01ac98f0877fb7d1db8
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Feb 12 18:21:21 2003 +0000
+
+ Output langsets and all bindings in debug messages
+
+ src/fcdbg.c | 21 +++++++++++++++++++--
+ 1 file changed, 19 insertions(+), 2 deletions(-)
+
+commit b2b6903259c742c75738d49fa37ea0b167ef87cb
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Feb 12 18:20:04 2003 +0000
+
+ Make FcStrCmpIgnoreCase a bit faster
+
+ src/fcstr.c | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+commit c8d5753c0fca4e4b2ab01d49b9a0b464b9b54cb4
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Feb 12 18:19:33 2003 +0000
+
+ Dont cache directorys until theyve been scanned. Avoids losing subdir
+ contents. Also fixed cache hashing function (was returning
+ constant).
+ Lots of comments
+
+ src/fccache.c | 38 ++++++++++++++++++++++++++++++++------
+ src/fcdir.c | 11 +++++++++--
+ 2 files changed, 41 insertions(+), 8 deletions(-)
+
+commit d2b5cc7e12cb3941080c8db07ba53ce975a914b2
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Feb 7 00:15:09 2003 +0000
+
+ fontconfig is no longer affiliated with xfree86
+
+ src/fontconfig.man | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 302e07f11ee7fa1bc95c89357c956359c04dc63e
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Feb 7 00:14:31 2003 +0000
+
+ Emphasize that fonts.conf isnt the right place for local configuration
+
+ fonts.conf.in | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 1b6b3b658c9ff6b8e45e54fdaea1812eb0b930d9
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Feb 7 00:13:55 2003 +0000
+
+ Remove Imakefile
+
+ Imakefile | 90
+ ---------------------------------------------------------------
+ 1 file changed, 90 deletions(-)
+
+commit 9e1af99b17be1d9cde3b4517e0e6071e64fb4b64
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Feb 7 00:13:37 2003 +0000
+
+ Build fc-lang, install local.conf
+
+ Makefile.in | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+commit dda27aa9ee057d213956f18041bedb4648c6c302
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Feb 6 19:30:32 2003 +0000
+
+ Avoid crash when $HOME is not set
+
+ src/fcstr.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 48092073dd7b633441daba6297cff8c4588fe58d
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Feb 6 19:28:23 2003 +0000
+
+ Update greek orthography from vvas@hal.csd.auth.gr (Vasilis Vasaitis)
+
+ fc-lang/el.orth | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+commit 9db8fbeccf14e1be2e305c3dd8d83991ce8a1055
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Feb 6 19:25:53 2003 +0000
+
+ add shared library support for Tru64 UNIX and IRIX (bug #14)
+
+ configure.in | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+commit ca4339b8bbd4138bb3cf54a7ad7c3b33db7035de
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Feb 6 19:22:43 2003 +0000
+
+ Fix inconsistent const usage in FcConfigCompareValue
+
+ src/fccfg.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+commit c647f6f1e42f70077e1e0c957ff5cd7905d88b86
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Feb 6 17:46:06 2003 +0000
+
+ Build fclang.h before building library This required compiling
+ the charset
+ funcs into fc-lang, which was done by refactoring code in
+ fccharset.c
+ and fcfreetype.c a bit
+ Updated ethiopic orthographies
+ Remove imake support
+ Install empty local.conf file if none is present
+
+ fc-cache/Imakefile | 22 -
+ fc-lang/Imakefile | 56 -
+ fc-lang/am.orth | 10 +-
+ fc-lang/fc-lang.c | 21 +-
+ fc-lang/fclang.h | 4006
+ --------------------------------------------------
+ fc-lang/gez.orth | 55 +-
+ fc-lang/ti.orth | 28 -
+ fc-lang/ti_er.orth | 56 +
+ fc-lang/ti_et.orth | 33 +
+ fc-lang/tig.orth | 52 +
+ fc-list/Imakefile | 17 -
+ fontconfig/Imakefile | 8 -
+ src/Imakefile | 48 -
+ src/fccharset.c | 769 +---------
+ src/fcfreetype.c | 768 ++++++++++
+ src/fcint.h | 19 +-
+ 16 files changed, 975 insertions(+), 4993 deletions(-)
+
+commit 3d72cadda1f3398238ad9a5c52e31a9c710ccb5f
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jan 28 21:28:20 2003 +0000
+
+ Bug #4 The last entry for the terminator should not be 0xfffa,
+ but 0xfffb.
+
+ fonts.conf.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4d3520610ec82a80601a1590861dc9505e2813b4
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jan 28 20:56:18 2003 +0000
+
+ Bug #2 If a sub-make fails, then the build will still happily
+ continue. I
+ will attach a patch I have been using in the Debian package for a
+ while.
+
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3c0b3aa22cf1338f96bc0c0b55956136a6102a61
+Author: David Dawes <dawes@xfree86.org>
+Date: Tue Jan 7 02:07:47 2003 +0000
+
+ 703. Eliminate locale-dependent behaviour in fontconfig's setfontdirs
+ script (#A.1483, Markus Kuhn).
+
+ setfontdirs | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 72a762196f356837ef615ee2a079e8b801a6f592
+Author: Torrey Lyons <torrey@mrcla.com>
+Date: Fri Jan 3 18:54:11 2003 +0000
+
+ On Darwin add Mac font directories to fonts.conf.
+
+ Imakefile | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+commit 432913ead584d164ed2830958ca5a3846394f5e6
+Author: David Dawes <dawes@xfree86.org>
+Date: Sat Dec 21 02:31:53 2002 +0000
+
+ 677. Fix a segfault in fontconfig (#A.1450, Keith Packard).
+
+ src/fccfg.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 1e341fdfc38527d8614e2fe744237f473f3febee
+Author: David Dawes <dawes@xfree86.org>
+Date: Tue Dec 17 03:26:36 2002 +0000
+
+ Test for "ed" and "ex" -- part of update for LynxOS/PowerPC build
+ fixes
+ (Stuart Lissaman).
+
+ setfontdirs | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+commit 234397b42976f027df7acc41aae80ec43692d557
+Author: David Dawes <dawes@xfree86.org>
+Date: Sat Dec 14 02:03:59 2002 +0000
+
+ 633. Perform country-independent matching for Chinese languages in
+ fontconfig (#A.1406, Keith Packard).
+
+ fc-lang/fc-lang.c | 76
+ ++++++++++++++++++++++++++++++++++++++++++++++++++-----
+ fc-lang/fclang.h | 10 +++++++-
+ src/fclang.c | 15 +++++++----
+ 3 files changed, 89 insertions(+), 12 deletions(-)
+
+commit 45fb31aa9113b597878fc19d1463c078663540d9
+Author: David Dawes <dawes@xfree86.org>
+Date: Sat Dec 14 01:59:38 2002 +0000
+
+ 632. Finish off the UTF-16 APIs in Xft, and fix the UTF-16 conversion
+ code
+ in fontconfig (#A.1411, Keith Packard, Jungshik Shin).
+
+ src/fcstr.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit dbc56f0b3f3383a61b0f5d282ed7ae732ae3856e
+Author: Egbert Eich <eich@suse.de>
+Date: Wed Dec 4 10:28:03 2002 +0000
+
+ 574. Make RENDER optional for Xvfb. When RENDER is enabled add
+ depth 32
+ pixmap format to list of supported pixmaps (Egbert Eich).
+ 573. Fix va_args glitches for xterm/libfontconfig: 0 == (void*)0
+ isn't true
+ for all platforms (Egbert Eich).
+ 572. Fix lbxproxy to also build on platforms that don't have
+ snprintf()
+ (Egbert Eich).
+ 571. Fix va_args glitches in mkfontscale: arg stack isn't preserved
+ after
+ calling va_arg on all platforms (Egbert Eich).
+ 570. Fixed x11perf aa benchmarks to support non-default
+ visuals/colormaps
+ (Egbert Eich).
+
+ fontconfig/fcprivate.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7657345c1031eacedd734ddbc62a29de776672f4
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 22 02:12:16 2002 +0000
+
+ In debugging output, mark weakly bound values with (w)
+
+ src/fcdbg.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 02c3d2e9eabcecdcc46bc166afc511b22f3ddbae
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 21 16:53:00 2002 +0000
+
+ Use unique local Imake define for fonts.conf dir (#5482, Mike
+ A. Harris)
+
+ Imakefile | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit 61afb67cd23d021b5b3806f6974e19a77a2ac4ef
+Author: Alan Hourihane <alanh@fairlite.demon.co.uk>
+Date: Fri Nov 15 09:29:35 2002 +0000
+
+ 483. Fix fontconfig to obey NothingOutsideProjectRoot, so that the
+ directory /usr/share/fonts is ignored in this case (#A.1325,
+ Joe Moss).
+
+ Imakefile | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+commit 65fb1c65837edd07fb89d303155b10a38e00ecd7
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Oct 21 17:03:47 2002 +0000
+
+ Elide historic cyrillic letters from several orthographies as they are
+ unnecessary for modern documents and ill supported by fonts
+
+ fc-lang/bua.orth | 6 +++---
+ fc-lang/fclang.h | 14 +++++++-------
+ fc-lang/kaa.orth | 6 +++---
+ fc-lang/ky.orth | 6 +++---
+ fc-lang/ru.orth | 10 +++++++---
+ fc-lang/sah.orth | 6 +++---
+ fc-lang/tk.orth | 6 +++---
+ fc-lang/tt.orth | 6 +++---
+ fc-lang/tyv.orth | 6 +++---
+ 9 files changed, 35 insertions(+), 31 deletions(-)
+
+commit bff801144b226f5f3ddf4188f181ed3f629fdcab
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Oct 11 17:53:03 2002 +0000
+
+ Add a bunch more consts to Xft and fontconfig apis
+
+ fontconfig/fcfreetype.h | 2 +-
+ fontconfig/fontconfig.h | 20 ++++++++++----------
+ src/fcpat.c | 20 ++++++++++----------
+ 3 files changed, 21 insertions(+), 21 deletions(-)
+
+commit 0ce819b6096ae852a1979fa6ebb3e29260848007
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Oct 3 22:06:27 2002 +0000
+
+ Change comments a bit in fonts.conf.in
+
+ fonts.conf.in | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 0d5af2ef2d9785efc29c909bc11f483069192c95
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Oct 2 16:15:54 2002 +0000
+
+ English orthography included 0xd. instead of 0xe. for several
+ codepoints.
+ Oops
+
+ fc-lang/en.orth | 8 ++++----
+ fc-lang/fclang.h | 2 +-
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 1852d490352fdc05891b778a8769000816b907b0
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Oct 2 07:11:30 2002 +0000
+
+ Add FC_RGBA_UNKNOWN
+
+ fontconfig/fontconfig.h | 5 +++--
+ src/fcname.c | 5 +++--
+ src/fontconfig.man | 4 +++-
+ 3 files changed, 9 insertions(+), 5 deletions(-)
+
+commit 2d79b58621845f7d8efd6f052dcd8f4f1a4e03c3
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Sep 26 00:30:30 2002 +0000
+
+ Fix alignment issue on sparc
+
+ src/fcpat.c | 17 ++++++++++++-----
+ 1 file changed, 12 insertions(+), 5 deletions(-)
+
+commit a342e87dc3d4211a29525654ff6b41d088bdce71
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Sep 26 00:17:28 2002 +0000
+
+ Add fontversion field
+
+ fontconfig/fontconfig.h | 3 ++-
+ src/fcdefault.c | 6 +++++-
+ src/fcfreetype.c | 18 +++++++++++++++++-
+ src/fcmatch.c | 15 ++++++++++++---
+ src/fcname.c | 3 ++-
+ 5 files changed, 38 insertions(+), 7 deletions(-)
+
+commit e712133ca7b6d9f055e7db2a7a3abf3034927e16
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Sep 26 00:16:23 2002 +0000
+
+ Was losing local cached dirs in global cache list
+
+ src/fccache.c | 17 ++++++++---------
+ src/fcdir.c | 4 +++-
+ src/fcint.h | 10 ++++++----
+ 3 files changed, 17 insertions(+), 14 deletions(-)
+
+commit ce50587c2b71390c6de35c7e13a8fc23a062eda0
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Sep 26 00:13:39 2002 +0000
+
+ Add a few more permissable blank glyphs
+
+ fonts.conf.in | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit d1bec8c66d729fe67992a0212b3dffa18879e88f
+Author: Marc Aurele La France <tsi@ualberta.edu>
+Date: Wed Sep 18 17:11:46 2002 +0000
+
+ Pacify gcc 3.2
+
+ fc-cache/fc-cache.c | 3 ++-
+ src/fclist.c | 4 ++--
+ src/fcpat.c | 4 ++--
+ 3 files changed, 6 insertions(+), 5 deletions(-)
+
+commit 05336fd8bed5a5f3a6e1cbddb18a9bd9a4d2ebc7
+Author: Marc Aurele La France <tsi@ualberta.edu>
+Date: Thu Sep 12 20:56:03 2002 +0000
+
+ Fix structure alignment and array wlk bugs
+
+ src/fcpat.c | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+commit 9cc935765e6f74a1712b04b6cbcfc5e77d1d38e1
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Sep 7 19:43:41 2002 +0000
+
+ Add a bunch more blank glyphs, plus label existing blanks with
+ official
+ unicode names
+
+ fonts.conf.in | 66
+ +++++++++++++++++++++++++++++++++--------------------------
+ 1 file changed, 37 insertions(+), 29 deletions(-)
+
+commit 10bac9b53f6b2494f05ff1c7c9ee0e3b0bd05c73
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Sep 7 17:30:18 2002 +0000
+
+ Found a few more blank glyphs to add
+
+ fonts.conf.in | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit f9ad97b0d4be53164970ca0a8ff605670a60587c
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Sep 7 16:50:16 2002 +0000
+
+ Add more blank glyphs to default config
+
+ fonts.conf.in | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit c2022f999e0492d530925b0112ffd34ce146a8e3
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Aug 31 22:27:08 2002 +0000
+
+ Update ChangeLog with a few notes
+
+ ChangeLog | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+commit 9dac3c594574f67f80d70ad3cdad42c551285ee8
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Aug 31 22:17:32 2002 +0000
+
+ More complete memory tracking. Install always overwrites header files
+
+ fontconfig/Makefile.in | 17 ++++-------------
+ src/fcatomic.c | 8 +++++++-
+ src/fcblanks.c | 8 ++++++++
+ src/fccache.c | 37 +++++++++++++++++++++++++++----------
+ src/fccfg.c | 6 ++++--
+ src/fccharset.c | 10 +++++++---
+ src/fcdir.c | 3 ++-
+ src/fcfreetype.c | 8 +++++---
+ src/fcinit.c | 48
+ ++++++++++++++++++++++++++++++------------------
+ src/fcint.h | 16 ++++++++++++++--
+ src/fcmatch.c | 3 ++-
+ src/fcname.c | 7 ++++++-
+ src/fcpat.c | 3 ++-
+ src/fcstr.c | 5 +++++
+ src/fcxml.c | 33 ++++++++++++++++++++++++++++-----
+ 15 files changed, 151 insertions(+), 61 deletions(-)
+
+commit cb30af720468a7e89abdf65bbf62b8942d3d8c13
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Aug 30 01:28:17 2002 +0000
+
+ Update latin and cyrillic orthographies by comparing those found at
+ evertype.com with those from eki.ee
+
+ fc-lang/ab.orth | 7 +-
+ fc-lang/az.orth | 65 ++-
+ fc-lang/ba.orth | 43 +-
+ fc-lang/be.orth | 20 +-
+ fc-lang/bg.orth | 21 +-
+ fc-lang/br.orth | 33 +-
+ fc-lang/ca.orth | 50 +-
+ fc-lang/cs.orth | 67 ++-
+ fc-lang/da.orth | 83 ++-
+ fc-lang/de.orth | 33 +-
+ fc-lang/es.orth | 42 +-
+ fc-lang/et.orth | 35 +-
+ fc-lang/eu.orth | 26 +-
+ fc-lang/fclang.h | 1602
+ ++++++++++++++++++++++++++----------------------------
+ fc-lang/fi.orth | 40 +-
+ fc-lang/fo.orth | 57 +-
+ fc-lang/fy.orth | 24 +-
+ fc-lang/ga.orth | 78 ++-
+ fc-lang/gd.orth | 23 +-
+ fc-lang/gl.orth | 7 +-
+ fc-lang/hr.orth | 33 +-
+ fc-lang/hu.orth | 13 +-
+ fc-lang/is.orth | 31 +-
+ fc-lang/it.orth | 24 +-
+ fc-lang/kk.orth | 15 +-
+ fc-lang/kl.orth | 35 +-
+ fc-lang/lt.orth | 11 +-
+ fc-lang/lv.orth | 7 +-
+ fc-lang/mt.orth | 50 +-
+ fc-lang/nl.orth | 27 +-
+ fc-lang/no.orth | 49 +-
+ fc-lang/oc.orth | 37 +-
+ fc-lang/pl.orth | 16 +-
+ fc-lang/pt.orth | 40 +-
+ fc-lang/rm.orth | 13 +-
+ fc-lang/ro.orth | 6 +-
+ fc-lang/sk.orth | 31 +-
+ fc-lang/sl.orth | 82 ++-
+ fc-lang/sq.orth | 7 +-
+ fc-lang/sr.orth | 25 +-
+ fc-lang/sv.orth | 76 ++-
+ fc-lang/tr.orth | 34 +-
+ fc-lang/uk.orth | 20 +-
+ fc-lang/vot.orth | 5 +-
+ 44 files changed, 1799 insertions(+), 1244 deletions(-)
+
+commit 2458a6d8d8bbd9b0b6b999c2aa035816c0d825fa
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Aug 26 23:34:31 2002 +0000
+
+ FcLangSetHasLang was not actually checking the language set itself
+
+ ChangeLog | 4 ++++
+ src/fclang.c | 7 ++++---
+ 2 files changed, 8 insertions(+), 3 deletions(-)
+
+commit 5d6788ac7e35b9afb24de4f1e90d43715e50f64f
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Aug 26 20:52:59 2002 +0000
+
+ Update ChangeLog, fix some bugs in the man page
+
+ ChangeLog | 3 +++
+ src/fontconfig.man | 68
+ +++++++++++++++++++++++++++++-------------------------
+ 2 files changed, 39 insertions(+), 32 deletions(-)
+
+commit f21f40f347afa81d1fcd4ae604bd3f164a3b2e90
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Aug 26 19:57:40 2002 +0000
+
+ Append version number to cache file names
+
+ fontconfig/fontconfig.h | 18 +++++++++++++++---
+ src/fcdir.c | 6 +++---
+ src/fcint.h | 2 +-
+ src/fontconfig.man | 5 +++--
+ 4 files changed, 22 insertions(+), 9 deletions(-)
+
+commit 0f9a306e710b3c03cd82b8234ae840558d4b886f
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Aug 24 20:08:53 2002 +0000
+
+ Add const to a bunch of string APIs
+
+ fontconfig/fontconfig.h | 32 ++++++++++++++++----------------
+ src/fcstr.c | 46
+ +++++++++++++++++++++++-----------------------
+ 2 files changed, 39 insertions(+), 39 deletions(-)
+
+commit 47d4f9501fe21603feb5f3f233ea3bc6ec15f494
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Aug 22 18:53:22 2002 +0000
+
+ Add contains/not_contains, fix LangSet equal operator to use
+ FcLangEqual
+
+ ChangeLog | 13 +++++++++++++
+ fonts.dtd | 6 ++++--
+ src/fccfg.c | 28 +++++++++++++++++++++-------
+ src/fcdbg.c | 9 ++++++---
+ src/fcint.h | 4 ++--
+ src/fclang.c | 1 +
+ src/fclist.c | 8 ++++----
+ src/fcxml.c | 19 ++++++++++++++++---
+ 8 files changed, 67 insertions(+), 21 deletions(-)
+
+commit d8d7395877238acbc9cd4709e3b4e76f8ca978cb
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Aug 22 07:36:45 2002 +0000
+
+ Reimplement FC_LANG as FcTypeLang, freeze patterns, other cleanup
+
+ ChangeLog | 22 +-
+ fc-lang/fc-lang.c | 24 ++-
+ fc-lang/fclang.h | 556
+ ++++++++++++++++++++++++------------------------
+ fontconfig/fcprivate.h | 5 +-
+ fontconfig/fontconfig.h | 46 +++-
+ src/fccache.c | 16 +-
+ src/fccfg.c | 22 +-
+ src/fccharset.c | 80 ++++---
+ src/fcdbg.c | 5 +-
+ src/fcfreetype.c | 11 +-
+ src/fcinit.c | 14 +-
+ src/fcint.h | 35 +--
+ src/fclang.c | 431 ++++++++++++++++++++++++++++++++-----
+ src/fclist.c | 4 +-
+ src/fcmatch.c | 31 ++-
+ src/fcname.c | 29 ++-
+ src/fcpat.c | 301 +++++++++++++++++++++++++-
+ src/fcstr.c | 14 +-
+ 18 files changed, 1235 insertions(+), 411 deletions(-)
+
+commit f4fe447f49171d4b0ad69c8efcbadc555f211efa
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Aug 20 23:17:03 2002 +0000
+
+ Memory leak in XML parsing of matrices (thanks Owen)
+
+ src/fcxml.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit fa244f3d8807415247c8aeb77145502b1cb9ace8
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Aug 19 19:32:05 2002 +0000
+
+ Various config changes plus a couple of optimizations from Owen
+
+ ChangeLog | 19 ++++++++
+ config.h.in | 9 ----
+ config/Makedefs.in | 25 +++++------
+ configure.in | 117
+ ++++++++----------------------------------------
+ fc-cache/Imakefile | 2 +-
+ fc-lang/Imakefile | 4 +-
+ fc-lang/ja.orth | 4 +-
+ fc-lang/ko.orth | 5 ++-
+ fc-lang/zh_cn.orth | 5 ++-
+ fc-lang/zh_sg.orth | 4 +-
+ fc-list/Imakefile | 2 +-
+ fontconfig/fcprivate.h | 4 +-
+ fontconfig/fontconfig.h | 18 ++++----
+ fonts.conf.in | 12 +++++
+ src/Imakefile | 2 +-
+ src/fccache.c | 69 +++++++++++++++++-----------
+ src/fccfg.c | 33 ++++++--------
+ src/fcdbg.c | 7 +--
+ src/fclist.c | 4 +-
+ src/fcmatch.c | 5 +--
+ src/fcname.c | 4 +-
+ src/fcpat.c | 43 +-----------------
+ src/fcxml.c | 17 +------
+ src/fontconfig.man | 22 ++++-----
+ 24 files changed, 159 insertions(+), 277 deletions(-)
+
+commit 5d43e799197d2758102b699f9bc12b3c116a9b80
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Aug 13 02:06:22 2002 +0000
+
+ Make missing font directory messages only displayed when verbose
+
+ fc-cache/fc-cache.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit eafc0e51af7ecb6ea7d33b59932212bdfd1d67ab
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Aug 12 22:20:11 2002 +0000
+
+ Clean up French orthography, update 639-1 list of supported languages
+
+ fc-lang/fclang.h | 2 +-
+ fc-lang/fr.orth | 59 +++++++++++++++------------
+ fc-lang/iso639-1 | 122
+ +++++++++++++++++++++++++++----------------------------
+ 3 files changed, 95 insertions(+), 88 deletions(-)
+
+commit 938bc63358c09b9fd3709e8f914870f906361594
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Aug 11 18:11:04 2002 +0000
+
+ Fix weird first/not-first lameness in font matches, replacing
+ with target
+ qualifiers on test elements. Update library manual page.
+
+ fontconfig/fcprivate.h | 5 +-
+ fontconfig/fontconfig.h | 23 +++-
+ fonts.conf.in | 9 +-
+ fonts.dtd | 4 +
+ src/fccfg.c | 142 ++++++++-------------
+ src/fcdbg.c | 29 +++--
+ src/fcint.h | 19 ++-
+ src/fclist.c | 4 +-
+ src/fcmatch.c | 19 +--
+ src/fcname.c | 4 +-
+ src/fcpat.c | 43 ++++++-
+ src/fcxml.c | 33 ++++-
+ src/fontconfig.man | 332
+ ++++++++++++++++++++++++++++++++++++++++++++----
+ 13 files changed, 510 insertions(+), 156 deletions(-)
+
+commit 80a7d664395d62cc335ac93b9918efebca00c117
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Aug 11 15:09:33 2002 +0000
+
+ Help message said -v was for --force
+
+ fc-cache/fc-cache.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 8c8f72665a4d2eb7d56499dd8a876a9a2af8b153
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Aug 8 00:10:51 2002 +0000
+
+ Add Afar, Amharic, Aymara, Bini, Dzongkha, Fijian, Hiri Motu,
+ Interlingua,
+ Interlingue, Ido, Kikuyu, Burmese, Oromo, Somali, Swahili,
+ Tigrinya,
+ Tsonga, Twi, Uighur, Urdu, Xhosa and Zulu orthographies
+
+ fc-lang/Imakefile | 42 +-
+ fc-lang/aa.orth | 40 ++
+ fc-lang/am.orth | 28 +
+ fc-lang/ay.orth | 37 ++
+ fc-lang/bin.orth | 55 ++
+ fc-lang/dz.orth | 28 +
+ fc-lang/fclang.h | 1752
+ +++++++++++++++++++++++++++++------------------------
+ fc-lang/fj.orth | 34 ++
+ fc-lang/ho.orth | 33 +
+ fc-lang/ia.orth | 29 +
+ fc-lang/ie.orth | 29 +
+ fc-lang/io.orth | 29 +
+ fc-lang/iso639-2 | 48 +-
+ fc-lang/ki.orth | 33 +
+ fc-lang/my.orth | 37 ++
+ fc-lang/om.orth | 29 +
+ fc-lang/so.orth | 29 +
+ fc-lang/sw.orth | 29 +
+ fc-lang/ti.orth | 28 +
+ fc-lang/ts.orth | 29 +
+ fc-lang/tw.orth | 50 ++
+ fc-lang/ug.orth | 29 +
+ fc-lang/ur.orth | 29 +
+ fc-lang/xh.orth | 29 +
+ fc-lang/zu.orth | 29 +
+ 25 files changed, 1718 insertions(+), 846 deletions(-)
+
+commit 0d91b3c5ee667c4ea997b99f69d73076a3d84d42
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Aug 7 17:34:15 2002 +0000
+
+ Add Asturian, Old Church Slavonic, Friulian, Manx Gaelic, Cornish,
+ Scots,
+ Syriac and Votic orthographies
+
+ fc-lang/Imakefile | 39 +-
+ fc-lang/ast.orth | 47 ++
+ fc-lang/cu.orth | 42 ++
+ fc-lang/fclang.h | 1776
+ ++++++++++++++++++++++++++++-------------------------
+ fc-lang/fur.orth | 39 ++
+ fc-lang/fy.orth | 26 +-
+ fc-lang/gv.orth | 31 +
+ fc-lang/iso639-2 | 20 +-
+ fc-lang/kw.orth | 35 ++
+ fc-lang/sco.orth | 32 +
+ fc-lang/syr.orth | 29 +
+ fc-lang/to.orth | 4 +-
+ fc-lang/vot.orth | 37 ++
+ 13 files changed, 1300 insertions(+), 857 deletions(-)
+
+commit bd724c85969f7c24cf17b8780217c5a428555ea4
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Aug 7 01:45:59 2002 +0000
+
+ Short circuit FcPatternEqual when both args point at the same pattern
+
+ src/fcpat.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 0e344dec0b124c38e6193cc4208e06662acd32f1
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Aug 6 19:54:10 2002 +0000
+
+ Update fontconfig manual to match current bits
+
+ src/fontconfig.man | 100
+ ++++++++++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 83 insertions(+), 17 deletions(-)
+
+commit bb356b68ab0981dd9ec21ed8176dc80ad0580805
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Aug 6 19:00:43 2002 +0000
+
+ Uninitialized member of cache structure could lead to non-updated
+ cache
+ files
+
+ src/fccache.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 4534f30d2175966409af158c0a9efee678937bfd
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Aug 6 18:59:59 2002 +0000
+
+ Fix Imakefile to make fclang.h writable
+
+ fc-lang/Imakefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit eb2a2f838fa358bfbac69ebca4d716b70f4d294c
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Aug 6 18:59:43 2002 +0000
+
+ Add Latin-1 characters needed by Welsh
+
+ fc-lang/cy.orth | 17 +-
+ fc-lang/fclang.h | 1430
+ +++++++++++++++++++++++++++---------------------------
+ 2 files changed, 733 insertions(+), 714 deletions(-)
+
+commit a6531d8cbafd79f26d06b086cceccb461e661f4a
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Aug 1 16:17:33 2002 +0000
+
+ Always install fonts.conf and fonts.dtd, moving any existing
+ fonts.conf to
+ fonts.conf.bak. Add ~/.fonts to default font directories and
+ add some
+ useful comments to fonts.conf
+
+ Imakefile | 17 +++++++++++++++--
+ fonts.conf.in | 12 ++++++++++++
+ setfontdirs | 2 ++
+ 3 files changed, 29 insertions(+), 2 deletions(-)
+
+commit aefb2c41c85f1b615e922c636bc7ac1eeb9e535c
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Aug 1 15:57:26 2002 +0000
+
+ Fix autoconf build BSD install and sysconfdir problems
+
+ ChangeLog | 17 +++++++++++++++++
+ Makefile.in | 10 +++++-----
+ config.h.in | 3 +++
+ config/Makedefs.in | 5 +++--
+ configure.in | 14 +++++++++++++-
+ fc-cache/Makefile.in | 4 ++--
+ fc-list/Makefile.in | 4 ++--
+ fontconfig/Makefile.in | 8 ++++----
+ src/Makefile.in | 2 +-
+ 9 files changed, 50 insertions(+), 17 deletions(-)
+
+commit c2e9d0240b52adf9f0efd42a8be600f652086c32
+Author: Marc Aurele La France <tsi@ualberta.edu>
+Date: Thu Aug 1 01:35:02 2002 +0000
+
+ Warning fix
+
+ fontconfig/fontconfig.h | 5 ++++-
+ src/fcint.h | 5 +----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 6fff2cda0ad09dfc84df2a70e95258b9dd28160b
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jul 31 01:36:37 2002 +0000
+
+ Add binding property to edit element
+
+ fonts.conf.in | 12 +++++++++---
+ fonts.dtd | 3 ++-
+ src/fccfg.c | 8 ++++----
+ src/fcint.h | 3 ++-
+ src/fcxml.c | 35 ++++++++++++++++++++++++++++-------
+ 5 files changed, 45 insertions(+), 16 deletions(-)
+
+commit 327a7fd491f17f23e37e260f8d74397e2ef933aa
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Jul 28 10:50:59 2002 +0000
+
+ Rewrite global cache handling code in fontconfig to eliminate per-file
+ syscalls
+
+ fontconfig/fontconfig.h | 5 +-
+ src/fccache.c | 968
+ +++++++++++++++++++++++++++++++-----------------
+ src/fccfg.c | 23 +-
+ src/fcdir.c | 183 +++++----
+ src/fcint.h | 126 +++++--
+ src/fcmatrix.c | 9 +-
+ 6 files changed, 830 insertions(+), 484 deletions(-)
+
+commit 23cd70c4ef2b5c959959275d9d7f282029ae69f5
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jul 27 23:13:28 2002 +0000
+
+ Add ngai tahu specific chars to maori orthography
+
+ fc-lang/Imakefile | 1 +
+ fc-lang/fclang.h | 802
+ +++++++++++++++++++++++++++---------------------------
+ fc-lang/mi.orth | 1 +
+ 3 files changed, 405 insertions(+), 399 deletions(-)
+
+commit 1a9ae91a1693df1bfe93f34747584b0ff5dce014
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jul 17 17:51:52 2002 +0000
+
+ Add fclang.c to Makefile.in
+
+ src/Makefile.in | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 6864f6279297a59ff509e5454fdebb77ac64e530
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jul 13 20:33:05 2002 +0000
+
+ Trim ja orthography of a couple codepoints not found in kochi fonts
+
+ fc-lang/fclang.h | 4 ++--
+ fc-lang/ja.orth | 6 +++---
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 1a0ee1e7c1b5872b1f46c7cdd8d8504150022189
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jul 13 19:10:03 2002 +0000
+
+ Fix typo in geez (ethiopic) orthography
+
+ fc-lang/fclang.h | 2 +-
+ fc-lang/gez.orth | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 69937bd9416eb3fbefd55b9fa6445d0fe4b4f7f3
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jul 13 05:43:25 2002 +0000
+
+ Add some Utf16 support, extract font family and style names from
+ name table
+ for sfnt fonts
+
+ fontconfig/fontconfig.h | 23 +++-
+ src/fccharset.c | 40 ++++--
+ src/fcfreetype.c | 342
+ ++++++++++++++++++++++++++++++++++++++++++++++--
+ src/fcint.h | 11 ++
+ src/fcstr.c | 99 +++++++++++++-
+ 5 files changed, 495 insertions(+), 20 deletions(-)
+
+commit c80d2ac4866d4c534a8693d611ed85b84c11d009
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Jul 12 21:06:03 2002 +0000
+
+ Clean up some coverage files; a few accidentally included PUA
+ values and
+ punctuation. Add debugging stuff to dump out missing codepoints
+ during
+ cache building when missing only a few
+
+ fc-lang/bg.orth | 13 +-
+ fc-lang/bi.orth | 10 +-
+ fc-lang/bo.orth | 17 +-
+ fc-lang/el.orth | 20 +-
+ fc-lang/fclang.h | 1630
+ ++++++++++++++++++++++++++----------------------------
+ fc-lang/ga.orth | 4 +-
+ fc-lang/gn.orth | 4 +-
+ fc-lang/hy.orth | 6 +-
+ fc-lang/km.orth | 6 +-
+ fc-lang/ko.orth | 128 ++---
+ fc-lang/lb.orth | 10 +-
+ fc-lang/mg.orth | 6 +-
+ fc-lang/mh.orth | 14 +-
+ fc-lang/mk.orth | 12 +-
+ fc-lang/mn.orth | 14 +-
+ fc-lang/mo.orth | 4 +-
+ fc-lang/ro.orth | 4 +-
+ fc-lang/si.orth | 8 +-
+ fc-lang/tl.orth | 11 +-
+ fc-lang/yo.orth | 80 +--
+ src/fclang.c | 33 +-
+ 21 files changed, 1017 insertions(+), 1017 deletions(-)
+
+commit b4a2c1f012c9c05cd14e43544570371ba2ca1134
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Jul 12 19:19:16 2002 +0000
+
+ Add a bunch more languages that use the Latin alphabet
+
+ fc-lang/Imakefile | 35 +-
+ fc-lang/af.orth | 46 ++
+ fc-lang/bam.orth | 37 ++
+ fc-lang/bi.orth | 39 ++
+ fc-lang/bs.orth | 39 ++
+ fc-lang/ch.orth | 35 +
+ fc-lang/cy.orth | 48 ++
+ fc-lang/fclang.h | 1900
+ +++++++++++++++++++++++++++++++++--------------------
+ fc-lang/ful.orth | 38 ++
+ fc-lang/gn.orth | 48 ++
+ fc-lang/ha.orth | 36 +
+ fc-lang/haw.orth | 35 +
+ fc-lang/ibo.orth | 35 +
+ fc-lang/id.orth | 31 +
+ fc-lang/iso639-2 | 64 +-
+ fc-lang/lb.orth | 60 ++
+ fc-lang/mg.orth | 35 +
+ fc-lang/mh.orth | 45 ++
+ fc-lang/mi.orth | 34 +
+ fc-lang/ny.orth | 30 +
+ fc-lang/se.orth | 37 ++
+ fc-lang/sm.orth | 30 +
+ fc-lang/sma.orth | 37 ++
+ fc-lang/smj.orth | 37 ++
+ fc-lang/smn.orth | 40 ++
+ fc-lang/sms.orth | 48 ++
+ fc-lang/tn.orth | 33 +
+ fc-lang/to.orth | 30 +
+ fc-lang/ven.orth | 34 +
+ fc-lang/vi.orth | 58 ++
+ fc-lang/wen.orth | 42 ++
+ fc-lang/wo.orth | 42 ++
+ fc-lang/yap.orth | 35 +
+ fc-lang/yo.orth | 86 +++
+ src/fcxml.c | 12 +-
+ 35 files changed, 2522 insertions(+), 749 deletions(-)
+
+commit 3f03d0c2ac9ec2050abf56b4ce48fff987b55ac0
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Jul 12 09:13:32 2002 +0000
+
+ Add nynorsk and bokml, remove double angle quotes from other languages
+
+ fc-lang/Imakefile | 31 +-
+ fc-lang/ab.orth | 6 +-
+ fc-lang/ba.orth | 6 +-
+ fc-lang/be.orth | 6 +-
+ fc-lang/br.orth | 8 +-
+ fc-lang/da.orth | 6 +-
+ fc-lang/de.orth | 6 +-
+ fc-lang/fclang.h | 854
+ +++++++++++++++++++++++++++---------------------------
+ fc-lang/fr.orth | 10 +-
+ fc-lang/gl.orth | 10 +-
+ fc-lang/iso639-2 | 4 +-
+ fc-lang/kk.orth | 6 +-
+ fc-lang/kl.orth | 6 +-
+ fc-lang/nb.orth | 25 ++
+ fc-lang/nn.orth | 43 +++
+ fc-lang/no.orth | 6 +-
+ fc-lang/ru.orth | 6 +-
+ fc-lang/uk.orth | 6 +-
+ 18 files changed, 565 insertions(+), 480 deletions(-)
+
+commit c2b971c89819281be41584720d20648fe5d1627f
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Jul 12 07:58:16 2002 +0000
+
+ Missed adding kumyk
+
+ fc-lang/Imakefile | 19 +++++------
+ fc-lang/fclang.h | 74 +++++++++++++++++++++---------------------
+ fc-lang/iso639-2 | 2 +-
+ fc-lang/kum.orth | 96
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 145 insertions(+), 46 deletions(-)
+
+commit f749c49cb4ebe181de145440246d3110f7052f24
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Jul 12 07:52:16 2002 +0000
+
+ Add devanagari and cyrillic languages. Add Geez
+
+ fc-lang/Imakefile | 36 +-
+ fc-lang/ava.orth | 97 ++++
+ fc-lang/bh.orth | 25 +
+ fc-lang/bho.orth | 25 +
+ fc-lang/bua.orth | 102 ++++
+ fc-lang/ce.orth | 97 ++++
+ fc-lang/chm.orth | 109 ++++
+ fc-lang/cv.orth | 109 ++++
+ fc-lang/fclang.h | 1612
+ +++++++++++++++++++++++++++++++----------------------
+ fc-lang/gez.orth | 57 ++
+ fc-lang/hi.orth | 35 ++
+ fc-lang/ik.orth | 100 ++++
+ fc-lang/iso639-2 | 54 +-
+ fc-lang/iu.orth | 77 +++
+ fc-lang/kaa.orth | 110 ++++
+ fc-lang/kok.orth | 25 +
+ fc-lang/ks.orth | 25 +
+ fc-lang/ku.orth | 94 ++++
+ fc-lang/kv.orth | 101 ++++
+ fc-lang/ky.orth | 102 ++++
+ fc-lang/lez.orth | 97 ++++
+ fc-lang/mr.orth | 25 +
+ fc-lang/ne.orth | 25 +
+ fc-lang/os.orth | 96 ++++
+ fc-lang/sa.orth | 25 +
+ fc-lang/sah.orth | 108 ++++
+ fc-lang/sel.orth | 96 ++++
+ fc-lang/tg.orth | 108 ++++
+ fc-lang/tk.orth | 106 ++++
+ fc-lang/tt.orth | 108 ++++
+ fc-lang/tyv.orth | 102 ++++
+ fc-lang/uz.orth | 98 ++++
+ 32 files changed, 3278 insertions(+), 708 deletions(-)
+
+commit 2ce525423688d32b80587741d97a82209e52378c
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Jul 11 02:47:50 2002 +0000
+
+ Remove old FC_LANG constants now that fontconfig uses RFC 3066
+ based names
+
+ fontconfig/fontconfig.h | 42 +-----------------------------------------
+ 1 file changed, 1 insertion(+), 41 deletions(-)
+
+commit 1bae57ddc82cc151bb7f0b6f2e75cc860a2b0608
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jul 10 21:57:23 2002 +0000
+
+ Use presentation forms for arabic matching, fix comment labeling
+ persian
+ general forms
+
+ fc-lang/ar.orth | 114
+ +++++++++++++++++++++++++++++++------------------------
+ fc-lang/fa.orth | 4 +-
+ fc-lang/fclang.h | 4 +-
+ 3 files changed, 69 insertions(+), 53 deletions(-)
+
+commit e709ddfa10410f6e042a36fcf7d0cd1a40f84fad
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jul 9 22:08:14 2002 +0000
+
+ Use locale data set FC_LANG by default. Reorder FcPattern and
+ FcValueList
+ to match Xft1.
+
+ src/fcdefault.c | 53
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcint.h | 4 ++--
+ 2 files changed, 55 insertions(+), 2 deletions(-)
+
+commit 2fcac34973eb9d62280ab7392566a35cb9ceac3d
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jul 9 02:28:29 2002 +0000
+
+ Trim ideographic punctuation and Suzhou numerals from zh-tw
+ orthography.
+ Had accidentally swapped codePageRange bits for traditional and
+ simplified chinese. Add persian (fa) and HKSCS (zh-hk). Fix
+ possible
+ bug in charset walking
+
+ fc-lang/Imakefile | 18 +-
+ fc-lang/fa.orth | 53 ++
+ fc-lang/fclang.h | 1554 ++++++++++++++++++++++--------------
+ fc-lang/iso639-2 | 4 +-
+ fc-lang/zh_hk.orth | 2240
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ fc-lang/zh_tw.orth | 33 +-
+ src/fccharset.c | 4 +-
+ src/fcfreetype.c | 6 +-
+ 8 files changed, 3292 insertions(+), 620 deletions(-)
+
+commit e50b9ae71134a23820e8f50589649e629a6143ba
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Jul 8 07:31:53 2002 +0000
+
+ Update iso639-2 language coverage info, fix Georgian orthography to
+ eliminate Mingrelian and Svan glyphs, use coverage for inclusion
+ and
+ OS/2 for Han exclusion, restructure fclang.c to use fclang.h from
+ fc-lang dir
+
+ fc-lang/Imakefile | 8 +-
+ fc-lang/fclang.h | 2624
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ fc-lang/fclang.tmpl.c | 130 ---
+ fc-lang/fclang.tmpl.h | 25 +
+ fc-lang/iso639-2 | 30 +-
+ fc-lang/ka.orth | 5 +-
+ fc-lang/zh_mo.orth | 27 +
+ fc-lang/zh_sg.orth | 27 +
+ src/fcfreetype.c | 238 +----
+ src/fcint.h | 9 +-
+ src/fclang.c | 2632
+ +------------------------------------------------
+ 11 files changed, 2794 insertions(+), 2961 deletions(-)
+
+commit d6dabf368677babec02d8f64ba0598270e28b501
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Jul 7 19:30:53 2002 +0000
+
+ Add walloon, update fclang.c to include recent language additions
+
+ fc-lang/Imakefile | 4 +-
+ fc-lang/wa.orth | 47 ++
+ src/fclang.c | 1252
+ ++++++++++++++++++++++++++++++-----------------------
+ 3 files changed, 757 insertions(+), 546 deletions(-)
+
+commit 2903c146aa990cddd56926cef4a2e2f2bcb70e06
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Jul 7 19:18:51 2002 +0000
+
+ Share more duplicate charset data
+
+ fc-lang/Imakefile | 19 ++++++++++---------
+ fc-lang/bn.orth | 41 +++++++++++++++++++++++++++++++++++++++++
+ fc-lang/bo.orth | 30 ++++++++++++++++++++++++++++++
+ fc-lang/fc-lang.c | 28 ++++++++++++++++++++++++++--
+ fc-lang/gu.orth | 41 +++++++++++++++++++++++++++++++++++++++++
+ fc-lang/iso639-2 | 26 +++++++++++++-------------
+ fc-lang/km.orth | 29 +++++++++++++++++++++++++++++
+ fc-lang/kn.orth | 40 ++++++++++++++++++++++++++++++++++++++++
+ fc-lang/lo.orth | 45 +++++++++++++++++++++++++++++++++++++++++++++
+ fc-lang/ml.orth | 38 ++++++++++++++++++++++++++++++++++++++
+ fc-lang/mn.orth | 31 +++++++++++++++++++++++++++++++
+ fc-lang/or.orth | 41 +++++++++++++++++++++++++++++++++++++++++
+ fc-lang/si.orth | 38 ++++++++++++++++++++++++++++++++++++++
+ fc-lang/ta.orth | 43 +++++++++++++++++++++++++++++++++++++++++++
+ fc-lang/te.orth | 39 +++++++++++++++++++++++++++++++++++++++
+ fc-lang/tl.orth | 29 +++++++++++++++++++++++++++++
+ 16 files changed, 534 insertions(+), 24 deletions(-)
+
+commit 3de8881ec96e2ce5f9d871ad46371e301b107dab
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Jul 7 00:00:43 2002 +0000
+
+ Add fclang.c to CVS; easier than attempting to build it on the fly
+
+ src/fclang.c | 2561
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 2561 insertions(+)
+
+commit 6446b1511df528082d2ac9ff31617013b311aa09
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jul 6 23:59:19 2002 +0000
+
+ Remove at and grave from latin languages, add copyright, license
+ and RCS
+ header
+
+ fc-lang/Imakefile | 2 ++
+ fc-lang/ab.orth | 23 +++++++++++++++++++++++
+ fc-lang/ar.orth | 23 +++++++++++++++++++++++
+ fc-lang/az.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/ba.orth | 23 +++++++++++++++++++++++
+ fc-lang/be.orth | 23 +++++++++++++++++++++++
+ fc-lang/bg.orth | 23 +++++++++++++++++++++++
+ fc-lang/br.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/ca.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/chr.orth | 23 +++++++++++++++++++++++
+ fc-lang/co.orth | 23 +++++++++++++++++++++++
+ fc-lang/cs.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/da.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/de.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/el.orth | 23 +++++++++++++++++++++++
+ fc-lang/en.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/eo.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/es.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/et.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/eu.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/fi.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/fo.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/fr.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/fy.orth | 23 +++++++++++++++++++++++
+ fc-lang/ga.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/gd.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/gl.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/he.orth | 23 +++++++++++++++++++++++
+ fc-lang/hr.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/hu.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/hy.orth | 23 +++++++++++++++++++++++
+ fc-lang/is.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/it.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/ja.orth | 23 +++++++++++++++++++++++
+ fc-lang/ka.orth | 23 +++++++++++++++++++++++
+ fc-lang/kk.orth | 23 +++++++++++++++++++++++
+ fc-lang/kl.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/ko.orth | 23 +++++++++++++++++++++++
+ fc-lang/la.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/lt.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/lv.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/mk.orth | 23 +++++++++++++++++++++++
+ fc-lang/mo.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/mt.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/nl.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/no.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/oc.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/pl.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/pt.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/rm.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/ro.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/ru.orth | 23 +++++++++++++++++++++++
+ fc-lang/sh.orth | 23 +++++++++++++++++++++++
+ fc-lang/sk.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/sl.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/sq.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/sr.orth | 23 +++++++++++++++++++++++
+ fc-lang/sv.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/th.orth | 23 +++++++++++++++++++++++
+ fc-lang/tr.orth | 27 +++++++++++++++++++++++++--
+ fc-lang/uk.orth | 23 +++++++++++++++++++++++
+ fc-lang/vo.orth | 23 +++++++++++++++++++++++
+ fc-lang/yi.orth | 23 +++++++++++++++++++++++
+ fc-lang/zh_cn.orth | 23 +++++++++++++++++++++++
+ fc-lang/zh_tw.orth | 23 +++++++++++++++++++++++
+ 65 files changed, 1552 insertions(+), 78 deletions(-)
+
+commit 82f4243f220dda5f6d4759e3b9c182b537cf0219
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jul 6 23:47:44 2002 +0000
+
+ Switch to RFC 3066 based lang names
+
+ fontconfig/fontconfig.h | 5 +-
+ src/Imakefile | 8 +-
+ src/fccharset.c | 8 +-
+ src/fcfreetype.c | 406
+ ++++++++++++++++++++++++------------------------
+ src/fcint.h | 28 ++++
+ src/fcmatch.c | 43 ++++-
+ src/fcpat.c | 22 ++-
+ src/fcstr.c | 25 ++-
+ 8 files changed, 330 insertions(+), 215 deletions(-)
+
+commit 899e352656f04323b9467555faf9152c69a741ab
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jul 6 23:46:58 2002 +0000
+
+ Add a few more common font families to the default configuration
+
+ fonts.conf.in | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 364a581d91eac73a5b1810d9c5100b6eb690219f
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jul 6 23:22:03 2002 +0000
+
+ Add coverage documentation files
+
+ fc-lang/iso639-1 | 139 ++++++++++++++++
+ fc-lang/iso639-2 | 473
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 612 insertions(+)
+
+commit c1382a3d998d098d3b86c922820558849c777c45
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jul 6 23:21:37 2002 +0000
+
+ Add fc-lang program to generate language coverage tables
+
+ fc-lang/Imakefile | 44 +
+ fc-lang/ab.orth | 17 +
+ fc-lang/ar.orth | 49 +
+ fc-lang/az.orth | 26 +
+ fc-lang/ba.orth | 16 +
+ fc-lang/be.orth | 11 +
+ fc-lang/bg.orth | 12 +
+ fc-lang/br.orth | 17 +
+ fc-lang/ca.orth | 23 +
+ fc-lang/chr.orth | 2 +
+ fc-lang/co.orth | 2 +
+ fc-lang/cs.orth | 27 +
+ fc-lang/da.orth | 27 +
+ fc-lang/de.orth | 17 +
+ fc-lang/el.orth | 26 +
+ fc-lang/en.orth | 17 +
+ fc-lang/eo.orth | 9 +
+ fc-lang/es.orth | 19 +
+ fc-lang/et.orth | 15 +
+ fc-lang/eu.orth | 8 +
+ fc-lang/fc-lang.c | 295 +
+ fc-lang/fc-lang.man | 41 +
+ fc-lang/fclang.tmpl.c | 130 +
+ fc-lang/fi.orth | 15 +
+ fc-lang/fo.orth | 25 +
+ fc-lang/fr.orth | 28 +
+ fc-lang/fy.orth | 2 +
+ fc-lang/ga.orth | 29 +
+ fc-lang/gd.orth | 15 +
+ fc-lang/gl.orth | 22 +
+ fc-lang/he.orth | 2 +
+ fc-lang/hr.orth | 21 +
+ fc-lang/hu.orth | 19 +
+ fc-lang/hy.orth | 5 +
+ fc-lang/is.orth | 26 +
+ fc-lang/it.orth | 14 +
+ fc-lang/ja.orth | 6540 +++++++++++++++++++
+ fc-lang/ka.orth | 9 +
+ fc-lang/kk.orth | 15 +
+ fc-lang/kl.orth | 23 +
+ fc-lang/ko.orth | 16217
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ fc-lang/la.orth | 8 +
+ fc-lang/lt.orth | 13 +
+ fc-lang/lv.orth | 16 +
+ fc-lang/mk.orth | 15 +
+ fc-lang/mo.orth | 14 +
+ fc-lang/mt.orth | 18 +
+ fc-lang/nl.orth | 15 +
+ fc-lang/no.orth | 18 +
+ fc-lang/oc.orth | 15 +
+ fc-lang/pl.orth | 10 +
+ fc-lang/pt.orth | 19 +
+ fc-lang/rm.orth | 15 +
+ fc-lang/ro.orth | 11 +
+ fc-lang/ru.orth | 11 +
+ fc-lang/sh.orth | 2 +
+ fc-lang/sk.orth | 29 +
+ fc-lang/sl.orth | 21 +
+ fc-lang/sq.orth | 7 +
+ fc-lang/sr.orth | 11 +
+ fc-lang/sv.orth | 21 +
+ fc-lang/th.orth | 3 +
+ fc-lang/tr.orth | 12 +
+ fc-lang/uk.orth | 12 +
+ fc-lang/vo.orth | 13 +
+ fc-lang/yi.orth | 2 +
+ fc-lang/zh_cn.orth | 6766 ++++++++++++++++++++
+ fc-lang/zh_tw.orth | 13079 ++++++++++++++++++++++++++++++++++++++
+ 68 files changed, 44053 insertions(+)
+
+commit 084407063d0069b16b24e1fd8be818af12e36741
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jul 3 23:15:32 2002 +0000
+
+ Object list to FcObjectSetBuild wasnt terminated with 0
+
+ fc-list/fc-list.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit f9dc31e81cd27be1bcb72706ac667889840f60bb
+Author: Marc Aurele La France <tsi@ualberta.edu>
+Date: Mon Jul 1 12:39:23 2002 +0000
+
+ Indent line
+
+ fc-list/Imakefile | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 8ea04b7956bd148607ae4179584dd0c8aa60b41d
+Author: Marc Aurele La France <tsi@ualberta.edu>
+Date: Mon Jul 1 12:38:27 2002 +0000
+
+ Ident line
+
+ fc-cache/Imakefile | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit ad07dcf486fe476ffccaa0d91df3836bfa4f4bd8
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Jul 1 05:11:20 2002 +0000
+
+ Make fc-cache avoid reading the whole world full of fonts
+
+ fc-cache/fc-cache.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit e6099fe9799e79a467698f7e0ddb693fae5d7d2f
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Jun 30 23:45:40 2002 +0000
+
+ Make fc-list more useful
+
+ fc-list/fc-list.c | 20 ++++++++++++++++----
+ 1 file changed, 16 insertions(+), 4 deletions(-)
+
+commit bdcdaceda4154ea6aaed224d3bf62a578a1f6986
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Jun 30 23:45:17 2002 +0000
+
+ Add FC_LANG_UNKNOWN (needed by auto lang-detecting fcfreetype.c)
+
+ fontconfig/fontconfig.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 4c0036053a36678747adfd06777cef39752ca9a4
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jun 29 20:31:02 2002 +0000
+
+ Add strong/weak pattern value binding, add known charsets for
+ automatic
+ lang computation
+
+ src/fccfg.c | 3 +-
+ src/fccharset.c | 40 +-
+ src/fcfreetype.c | 235 ++++++-
+ src/fcint.h | 15 +-
+ src/fcknownsets.h | 1895
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcmatch.c | 112 ++--
+ src/fcname.c | 7 +-
+ src/fcpat.c | 3 +-
+ 8 files changed, 2222 insertions(+), 88 deletions(-)
+
+commit 5c7fb8274ce9c2c561cbcf73b9ee98003f516a9b
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 26 22:56:51 2002 +0000
+
+ Construct empty constant charsets correctly (using null pointers)
+
+ src/fccharset.c | 18 +++++++++++++-----
+ 1 file changed, 13 insertions(+), 5 deletions(-)
+
+commit c552f59ba27ab1a526238f6ff4d15a2b9a975a7f
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 26 22:14:08 2002 +0000
+
+ Permit empty charsets in fonts.cache files
+
+ src/fcname.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 223c028949c1ef316c93bea17278f58150c777ee
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 26 16:11:29 2002 +0000
+
+ Steal idea for locale-insensitive strtod from glib
+
+ src/fcxml.c | 59
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 57 insertions(+), 2 deletions(-)
+
+commit 4aded3e0ddca84b1fb0ce11541eb19b155472e83
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Jun 21 07:01:11 2002 +0000
+
+ Oops. Made a mistake when adding config file names to monitor list
+
+ src/fcxml.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+commit 4645eedfcc7e36751503bf023a0d1db2a993ad52
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Jun 21 06:14:45 2002 +0000
+
+ Fix automatic file time checking, transcoding table searches. Actually
+ add
+ config files used to config structure so they can be time
+ checked as
+ well
+
+ src/fccfg.c | 31 ++++++++++++++-----------------
+ src/fccharset.c | 11 +++--------
+ src/fcxml.c | 5 ++++-
+ 3 files changed, 21 insertions(+), 26 deletions(-)
+
+commit 8c96d1fc1005fda794ab30349eb91132fb8f341e
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Jun 20 03:43:09 2002 +0000
+
+ Accidentally falling through several case blocks
+
+ src/fccfg.c | 3 ++-
+ src/fcdbg.c | 6 +++---
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+commit c689ec2291d52a3c9ab998c9a25c0c9c78991921
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 19 21:32:51 2002 +0000
+
+ Add slanting for fonts without oblique/italic varient. Fix matching
+ code to
+ make this work
+
+ fonts.conf.in | 28 ++++++++++++++++++++++++++++
+ src/fcmatch.c | 4 ++--
+ 2 files changed, 30 insertions(+), 2 deletions(-)
+
+commit 0c35c0facb1f05a21f702636a291eb6ee3dea3a2
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 19 20:55:19 2002 +0000
+
+ Make fc-cache more tolerant of missing font directories
+
+ fc-cache/fc-cache.c | 28 ++++++++++++++++++++++++++--
+ 1 file changed, 26 insertions(+), 2 deletions(-)
+
+commit 6f6563edb5eb0fc22b338101b82bd8b7db438e3a
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 19 20:08:22 2002 +0000
+
+ Add ref counting to font config patterns so that FcFontSort return
+ values
+ are persistant
+
+ fontconfig/fontconfig.h | 5 ++++-
+ fonts.dtd | 5 ++++-
+ src/fccache.c | 11 +++++++++--
+ src/fccfg.c | 4 ++++
+ src/fcdbg.c | 8 +++++++-
+ src/fcdir.c | 5 +++--
+ src/fcint.h | 9 +++++----
+ src/fclist.c | 2 +-
+ src/fcmatch.c | 21 +++++++++++++++++++--
+ src/fcname.c | 3 ++-
+ src/fcpat.c | 12 +++++++++++-
+ src/fcxml.c | 4 ++++
+ 12 files changed, 73 insertions(+), 16 deletions(-)
+
+commit 06a48f20739580338e69547c9896c539abf000dd
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 19 06:31:46 2002 +0000
+
+ Add a few aliases suggested by Owen and Mike
+
+ fonts.conf.in | 19 +++++++++++++++++--
+ 1 file changed, 17 insertions(+), 2 deletions(-)
+
+commit f534109f5aa44ffeb43acbe06b409e6a15239ac9
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jun 18 22:23:05 2002 +0000
+
+ Add a few more families to fonts.conf, make FC_ANTIALIAS less
+ important for
+ matching, fix family->generic mapping
+
+ src/fccfg.c | 7 ++++---
+ src/fcmatch.c | 22 +++++++++++-----------
+ 2 files changed, 15 insertions(+), 14 deletions(-)
+
+commit 2623c1ebeec46c56cc8e1d1e3e8ddf4a44931f8d
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jun 18 16:47:33 2002 +0000
+
+ Fix compiler warning
+
+ src/fcxml.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 5b1bfa5d82aeb67056a38e93e22f69c4bfe4ce5b
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jun 18 16:47:12 2002 +0000
+
+ Fix incorrect size in memmove call in FcObjectSetAdd that crashed
+ FcFontSetList calls
+
+ src/fclist.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit c0d42979ad06db34b5b4aad7052716797dc2f6a6
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jun 8 18:46:35 2002 +0000
+
+ Fix fontconfig.pc generation in Imakefile
+
+ Imakefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit d0f07b8d582499fdc6fa0ca6c5e2ef3727baddae
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jun 8 17:32:05 2002 +0000
+
+ Add FcPatternHash, clean up a few valgrind issues
+
+ fontconfig/fontconfig.h | 3 ++
+ src/fccfg.c | 2 +-
+ src/fcmatch.c | 11 ++++---
+ src/fcpat.c | 78
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcxml.c | 13 ++++++++-
+ 5 files changed, 101 insertions(+), 6 deletions(-)
+
+commit 8a39040e2a1308602aabe1aa4a8608f94830534e
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Jun 7 17:55:41 2002 +0000
+
+ Make autoconf use correct options to build solaris shared libraries
+
+ configure.in | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+commit b5b6d7f85dba271e69b8008b3c56f13c74ec9dac
+Author: David Dawes <dawes@xfree86.org>
+Date: Tue Jun 4 21:55:42 2002 +0000
+
+ 171. Fix LIBXML2LIBDIR name clash in lib/Imakefile (#5180, ISHIKAWA
+ Mutsumi).
+ 170. Avoid a problem with setfontdirs when run in some locales (#5179,
+ ISHIKAWA Mutsumi).
+ 169. A little tuning for XtAppPeekEvent() (#5178, Dan McNichol).
+
+ setfontdirs | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit e9be9cd10a24b75480a26be834041d312d8217b4
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Jun 3 08:31:15 2002 +0000
+
+ Add FcPatternEqualSubset for Pango, clean up some internal FcPattern
+ interfaces
+
+ fontconfig/fontconfig.h | 7 ++-
+ src/fccfg.c | 12 ++--
+ src/fcint.h | 7 ++-
+ src/fclist.c | 72 ++++++++++++++--------
+ src/fcmatch.c | 6 +-
+ src/fcname.c | 8 +--
+ src/fcpat.c | 161
+ +++++++++++++++++++++++++++++-------------------
+ 7 files changed, 166 insertions(+), 107 deletions(-)
+
+commit 88c747e20612ffcae326313f8d624b36c1235993
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Jun 2 21:07:57 2002 +0000
+
+ Eliminate some compiler warnings, avoid seg fault when matching
+ missing
+ values
+
+ src/fccfg.c | 4 ++--
+ src/fcdbg.c | 5 ++++-
+ src/fclist.c | 4 +++-
+ src/fcmatch.c | 4 ++--
+ src/fcname.c | 4 +++-
+ 5 files changed, 14 insertions(+), 7 deletions(-)
+
+commit 2a41214a25ec902ac79d0b16cc0bab4461b91e6b
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Jun 2 20:52:06 2002 +0000
+
+ Add aspect ratio support to Xft and fontconfig
+
+ fontconfig/fontconfig.h | 3 ++-
+ src/fcname.c | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 8ec077f22b2f9fd693abfda7d405ac572594be99
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Jun 2 19:51:36 2002 +0000
+
+ Expression parsing in fonts.conf file mis-freed elements. Constant
+ identity
+ matrix was accidentally freed. Add ability to comare FTFace
+ pattern
+ elements (not that its all that useful)
+
+ src/fccfg.c | 18 +++++++++++++++---
+ src/fcxml.c | 5 +++--
+ 2 files changed, 18 insertions(+), 5 deletions(-)
+
+commit be0948508ce4ebbb6e576b9dd31531efef6834e1
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri May 31 23:21:25 2002 +0000
+
+ Add support for user-provided freetype faces to Xft
+
+ fontconfig/fcfreetype.h | 8 +++++++-
+ fontconfig/fcprivate.h | 4 +++-
+ fontconfig/fontconfig.h | 7 +++++--
+ src/fccharset.c | 5 +----
+ src/fcfreetype.c | 1 -
+ src/fcint.h | 3 ++-
+ src/fcpat.c | 29 ++++++++++++++++++++++++++++-
+ 7 files changed, 46 insertions(+), 11 deletions(-)
+
+commit bff617fa560e9f0a1f79ffb4fff8e9ed6a81013e
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri May 31 06:52:47 2002 +0000
+
+ Fix Xft2 to build right library version on old systems with xmkmf. Fix
+ fc-cache location for xmkmf out-of-tree build on old systems
+
+ local.def | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit fbb405f3b5f25353babee1e813eb86d53912503f
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri May 31 06:38:43 2002 +0000
+
+ Fix up support for building Xft1, Xrender and fontconfig out of
+ the tree
+
+ fc-list/Imakefile | 5 +++++
+ local.def | 14 ++++++++++++++
+ 2 files changed, 19 insertions(+)
+
+commit 20ac65ab003c9b280e3fbd06215c5e3af16bea1f
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri May 31 04:42:42 2002 +0000
+
+ Change FcCharSet datastructure, add FcFontSort API
+
+ fontconfig/fontconfig.h | 9 +-
+ src/fccharset.c | 772
+ ++++++++++++++++++++++++++----------------------
+ src/fcint.h | 27 +-
+ src/fcmatch.c | 26 +-
+ 4 files changed, 451 insertions(+), 383 deletions(-)
+
+commit bc9469baadc6b5f9a920a476e460113bab518208
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed May 29 22:07:33 2002 +0000
+
+ Optimize after profiling. Fix FcStrCmp to return correct sign
+
+ src/fccharset.c | 103 ++++++++++++++++++++++++++++++----------
+ src/fcint.h | 1 +
+ src/fcmatch.c | 143
+ +++++++++++++++++++++++++++++++++++++++++---------------
+ src/fcname.c | 4 +-
+ src/fcpat.c | 13 +++---
+ src/fcstr.c | 6 +--
+ 6 files changed, 197 insertions(+), 73 deletions(-)
+
+commit 1412a69926307b2736745737c7c66172ebc56724
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed May 29 08:21:33 2002 +0000
+
+ Apply some obvious fixes to FcFontSetSort from Owen. Speed up
+ FcCharSet
+ primitives and FcFontSetSort
+
+ fontconfig/fontconfig.h | 8 +-
+ src/fccfg.c | 10 +--
+ src/fccharset.c | 197
+ +++++++++++++++++++++++++++++++++++++++++++++---
+ src/fcint.h | 3 +-
+ src/fcmatch.c | 23 ++++--
+ 5 files changed, 219 insertions(+), 22 deletions(-)
+
+commit 78417a2c74f95a66e3738cf525f9d699e13c654a
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue May 28 03:50:23 2002 +0000
+
+ Use explicit cd for non-gmake systems
+
+ Makefile.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit fcd247431f6251d430d20ceaaff6a39f6d87ec4c
+Author: Matthieu Herrb <matthieu.herrb@laas.fr>
+Date: Sat May 25 13:52:37 2002 +0000
+
+ $< in a non-implicit rule is a GNU-makeism. It's not supported by
+ BSD make.
+
+ Imakefile | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit ed2547b8585652a4a6f71e2bc24148e26ef6d0c8
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri May 24 06:25:52 2002 +0000
+
+ Clean up autoconf install to obey DESTDIR
+
+ Makefile.in | 67
+ ++++++++++++++++++++++++++++++++++----------------
+ fc-cache/Makefile.in | 23 ++++++++++-------
+ fc-list/Makefile.in | 22 +++++++++++------
+ fontconfig/Makefile.in | 24 +++++++++---------
+ src/Makefile.in | 48 +++++++++++++++++++++++++-----------
+ 5 files changed, 119 insertions(+), 65 deletions(-)
+
+commit 36732012151a91527f3ad7ad05569f40a0ca3cd9
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri May 24 05:20:02 2002 +0000
+
+ Change charset enumeration functions to more sensible API
+
+ fontconfig/fontconfig.h | 13 ++++++++++++-
+ src/fccharset.c | 46
+ +++++++++++++++++++++++++++++++++-------------
+ 2 files changed, 45 insertions(+), 14 deletions(-)
+
+commit c9f55ecb0672c98cb75b0b3b746dea515b27f7e6
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri May 24 05:19:30 2002 +0000
+
+ A few autoconf build fixes
+
+ Makefile.in | 12 ++++++++----
+ configure.in | 4 ++--
+ fontconfig-config.in | 10 +++++-----
+ 3 files changed, 15 insertions(+), 11 deletions(-)
+
+commit 48db40f692a31c39a96961c8733bfeaad416a5c0
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu May 23 23:00:46 2002 +0000
+
+ A few random fontconfig build fixes
+
+ config/config-subst | 12 +++++++-----
+ fontconfig/fontconfig.h | 7 +++++--
+ src/fcinit.c | 8 +++++++-
+ 3 files changed, 19 insertions(+), 8 deletions(-)
+
+commit 61bb4bad756c6c3da6bd8306e1c5cd2ec0b18415
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu May 23 17:09:32 2002 +0000
+
+ Dont require freetype to build with fontconfig
+
+ fontconfig.pc.in | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 2eafe0904dfcd08e87d125ff6893cb4d4f5a4a95
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu May 23 17:06:46 2002 +0000
+
+ Add pkgconfig control file and fontconfig-config script
+
+ INSTALL | 17 ++++++++--
+ Imakefile | 33 +++++++++++++++++-
+ Makefile.in | 18 ++++++++--
+ README | 13 ++++++++
+ config/config-subst | 8 +++++
+ configure.in | 18 ++++++----
+ fontconfig-config.in | 94
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ fontconfig.pc.in | 11 ++++++
+ 8 files changed, 199 insertions(+), 13 deletions(-)
+
+commit 1c20b1cc0b7a27f29634f80a9d48cbed8aabc7a9
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu May 23 16:05:16 2002 +0000
+
+ Fonts.dtd had "blanks" instead of "blank"
+
+ fonts.dtd | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 442678fbc4d2654f1cc4b5afcbb9dd646e9c9779
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed May 22 22:59:41 2002 +0000
+
+ Missed a Makefile.in for fontconfig includes
+
+ fontconfig/Makefile.in | 48
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 48 insertions(+)
+
+commit 0ab36ca8f93f8f07ed81034caf453b79e2922122
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed May 22 04:37:07 2002 +0000
+
+ Replace silly avl sort with qsort, add FcPatternEqual
+
+ fontconfig/fontconfig.h | 8 +-
+ src/Imakefile | 6 +-
+ src/Makefile.in | 4 +-
+ src/fcavl.c | 419
+ ------------------------------------------------
+ src/fcavl.h | 46 ------
+ src/fcmatch.c | 76 ++++-----
+ src/fcpat.c | 109 ++++++++++++-
+ src/fcxml.c | 9 +-
+ 8 files changed, 162 insertions(+), 515 deletions(-)
+
+commit 446bb9c9e0a18d365de0578c6f0daf676e36f168
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue May 21 17:48:15 2002 +0000
+
+ More autoconf cleanup for fontconfig
+
+ Makefile.in | 8 +++-----
+ config.h.in | 2 +-
+ config/Makedefs.in | 10 +++++++++-
+ configure.in | 55
+ ++++++++++++++++++++++++----------------------------
+ fc-cache/Makefile.in | 4 +++-
+ fc-list/Makefile.in | 4 +++-
+ src/Imakefile | 4 ++--
+ src/Makefile.in | 5 +----
+ src/fcinit.c | 4 ++--
+ 9 files changed, 49 insertions(+), 47 deletions(-)
+
+commit fb9545b1ba81604405f730de8c39f40b3fdc13bd
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue May 21 17:08:42 2002 +0000
+
+ Fix xmkmf build process for fontconfig
+
+ Imakefile | 2 +-
+ Makefile.in | 54 +++++++++
+ acconfig.h | 2 -
+ config.h.in | 144 +++++++++++++++++++++++
+ configure.in | 360
+ +++++++++++++++++++++++++++++++++++++++++++---------------
+ cvscompile.sh | 11 +-
+ findfonts | 8 +-
+ fonts.conf.in | 77 ++++++-------
+ fonts.dtd | 13 ++-
+ local.def | 54 +++++++++
+ setfontdirs | 4 +-
+ 11 files changed, 581 insertions(+), 148 deletions(-)
+
+commit 179c39959cc9c19004f8ca948623590e404c8c46
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue May 21 17:06:22 2002 +0000
+
+ Fix autoconf build process for fontconfig
+
+ config/Makedefs.in | 68 +++
+ config/config.guess | 1391
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ config/config.sub | 1355
+ +++++++++++++++++++++++++++++++++++++++++++++
+ config/install.sh | 240 ++++++++
+ fc-cache/Imakefile | 7 +-
+ fc-cache/Makefile.in | 46 ++
+ fc-cache/fc-cache.c | 161 ++++--
+ fc-list/Makefile.in | 46 ++
+ fontconfig/fontconfig.h | 80 ++-
+ src/Makefile.in | 105 ++++
+ src/fccache.c | 164 ++++--
+ src/fccfg.c | 352 ++++++++----
+ src/fcdir.c | 84 ++-
+ src/fcinit.c | 109 +++-
+ src/fcint.h | 52 +-
+ src/fclist.c | 5 +-
+ src/fcstr.c | 228 +++++++-
+ src/fcxml.c | 215 +++++---
+ 18 files changed, 4377 insertions(+), 331 deletions(-)
+
+commit 1ce2a1bbadc15147e35dbc4c43fae072b8c4805e
+Author: Matthieu Herrb <matthieu.herrb@laas.fr>
+Date: Sun May 5 17:53:41 2002 +0000
+
+ Don't run fc-cache on make install if DESTDIR is set. Instead;
+ run it from
+ Xinstall.sh after XFree86 is installed.
+
+ fc-cache/Imakefile | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 28e413038db10e236abb1d6f82c7889d8e52d7a5
+Author: Alan Hourihane <alanh@fairlite.demon.co.uk>
+Date: Wed Apr 10 11:28:10 2002 +0000
+
+ put fontconfig-def.cpp in the right place.
+
+ fontconfig-def.cpp | 170
+ -------------------------------------------------
+ src/fontconfig-def.cpp | 170
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 170 insertions(+), 170 deletions(-)
+
+commit d82a034f9123558b300c956feec165c50ef7ada2
+Author: Alan Hourihane <alanh@fairlite.demon.co.uk>
+Date: Sun Apr 7 15:19:46 2002 +0000
+
+ new preprocessor files. (#5215-#5218, Alexander Gottwald).
+
+ fontconfig-def.cpp | 170
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 170 insertions(+)
+
+commit d9db7b9e94f0aec127066e81b9e7dbbf05cd740f
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Mar 27 04:33:55 2002 +0000
+
+ Fix FT_Get_Next_Char API to match official 2.0.9 released version
+
+ src/fccharset.c | 26 ++++++++++++++++++--------
+ 1 file changed, 18 insertions(+), 8 deletions(-)
+
+commit 8c7b2a9d83fbe23e9073a188c7b970f100a91562
+Author: Marc Aurele La France <tsi@ualberta.edu>
+Date: Mon Mar 4 21:15:28 2002 +0000
+
+ Warning fixes
+
+ src/fcatomic.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 216fac98e0785e787e32ff354241935a25723e4b
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Mar 3 18:39:05 2002 +0000
+
+ Add match routine that returns list of fonts
+
+ fontconfig/fontconfig.h | 14 ++
+ src/fcavl.c | 419
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcavl.h | 46 ++++++
+ src/fcmatch.c | 225 ++++++++++++++++++++++----
+ 4 files changed, 671 insertions(+), 33 deletions(-)
+
+commit ee9061efe984a3c5b659449f8db57a03b6bf5d13
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Mar 3 18:36:26 2002 +0000
+
+ Eliminate duplicate definitions in fcint.h and fontconfig.h
+
+ src/fcint.h | 6 ------
+ 1 file changed, 6 deletions(-)
+
+commit 5faa099cd5fb8d9d9f868362233929ff36cd0ac8
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Mar 3 18:35:22 2002 +0000
+
+ fontconfig: bail scanning directory on fatal error
+
+ src/fcdir.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 17e16fa1108491fa625258bba12e71aaad8a34de
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Mar 3 18:31:20 2002 +0000
+
+ Eliminate compiler warnings
+
+ src/fccharset.c | 1026
+ +++++++++++++++++++++++++++----------------------------
+ 1 file changed, 512 insertions(+), 514 deletions(-)
+
+commit a391da8f0f867b8f87b1912a91882b108d163e03
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Mar 3 00:19:43 2002 +0000
+
+ Add fcatomic.c
+
+ src/Imakefile | 4 +-
+ src/fcatomic.c | 183
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/fccache.c | 4 ++
+ 3 files changed, 189 insertions(+), 2 deletions(-)
+
+commit 134f6011f347d1bc1b80a3cd435bb10b38d2932e
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 1 22:06:30 2002 +0000
+
+ Add new FcAtomic datatype for config file locking
+
+ fontconfig/fontconfig.h | 30 +++++++++++++++++++++++++++++-
+ src/Imakefile | 12 ++++++------
+ src/fccache.c | 34 ++++++++++++++--------------------
+ src/fcint.h | 9 ++++++++-
+ 4 files changed, 57 insertions(+), 28 deletions(-)
+
+commit d23a2a6dfa0ae81298a238899512c7d7c99c5430
+Author: Marc Aurele La France <tsi@ualberta.edu>
+Date: Fri Mar 1 17:52:03 2002 +0000
+
+ Add missing clean rule
+
+ Imakefile | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 9c8e07f19589ba944e7bfb31251228b41a02f787
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Mar 1 01:00:54 2002 +0000
+
+ Port Xft1 to fontconfig
+
+ fontconfig/fontconfig.h | 8 +++++++-
+ src/fccache.c | 13 +++++++------
+ src/fccfg.c | 10 +++++-----
+ src/fcdir.c | 4 ++--
+ 4 files changed, 21 insertions(+), 14 deletions(-)
+
+commit 80c053b725669c1e982cceedb87f04ebb9c6f1e9
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Feb 28 16:51:48 2002 +0000
+
+ Add better error reporting when loading config file
+
+ fc-list/fc-list.c | 2 +-
+ fontconfig/fontconfig.h | 16 +++++++++++++++-
+ src/fclist.c | 36 ++++++++++++++++++++++++++++++------
+ src/fcmatch.c | 38 +++++++++++++++++++++++++++++++-------
+ src/fcxml.c | 12 +++++++++++-
+ 5 files changed, 88 insertions(+), 16 deletions(-)
+
+commit c4bd0638c5f14329e71be8f170c30d376fc76972
+Author: Marc Aurele La France <tsi@ualberta.edu>
+Date: Tue Feb 26 05:10:30 2002 +0000
+
+ Warning fixes
+
+ fc-cache/fc-cache.c | 13 ++++++++++++-
+ fc-list/fc-list.c | 15 +++++++++++++--
+ 2 files changed, 25 insertions(+), 3 deletions(-)
+
+commit c5350655bef34cc08739bed324a482473b2a01b8
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Feb 24 01:23:35 2002 +0000
+
+ Check font edit value lists for empty
+
+ src/fccfg.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit bbbaac369186f6d2c21d28a091e4a8b6259f8e8a
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Feb 22 18:54:07 2002 +0000
+
+ fontconfig: some config file parsing mistakes
+
+ src/fcfreetype.c | 2 +-
+ src/fcint.h | 9 ---------
+ src/fcxml.c | 8 ++++++--
+ 3 files changed, 7 insertions(+), 12 deletions(-)
+
+commit a398554a6d6467956c1c3471e912fb4e969835eb
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Feb 20 01:01:21 2002 +0000
+
+ Remove fcxml.h include file as it cant work anymore anyhow
+
+ fontconfig/Imakefile | 2 +-
+ fontconfig/fcxml.h | 37 -------------------------------------
+ 2 files changed, 1 insertion(+), 38 deletions(-)
+
+commit 24c90386bbdda9800d5a35c4dbff08682186907f
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Feb 20 00:32:30 2002 +0000
+
+ dont complain about missing optional included font config files
+
+ src/fcxml.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 6e9fc5ded4a36fb3e9e31b96f837b2e54f1cd77c
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Feb 19 08:33:23 2002 +0000
+
+ Automatically initialize the fontconfig library
+
+ src/fccfg.c | 15 +++++++++------
+ src/fcinit.c | 4 ++--
+ src/fcint.h | 4 +++-
+ 3 files changed, 14 insertions(+), 9 deletions(-)
+
+commit aae6f7d48744a25899cac28d47458f394defa02a
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Feb 19 07:50:44 2002 +0000
+
+ Eliminate const in FcPatternGetString; too hard. Add FcCharSetCoverage
+ to
+ enumarate Unicode coverage efficiently
+
+ fontconfig/fontconfig.h | 7 +++++--
+ src/fccache.c | 4 ++--
+ src/fccharset.c | 23 ++++++++++++++++++++++-
+ src/fcpat.c | 6 +++---
+ 4 files changed, 32 insertions(+), 8 deletions(-)
+
+commit c2e7c611cbef33e9f93fbb110cd8df61abec67d7
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 18 22:29:28 2002 +0000
+
+ Switch fontconfig from libxml2 to expat
+
+ src/Imakefile | 3 +-
+ src/fccharset.c | 12 +-
+ src/fcdbg.c | 20 +-
+ src/fcint.h | 34 +-
+ src/fcname.c | 98 +---
+ src/fcstr.c | 92 ++-
+ src/fcxml.c | 1764
+ ++++++++++++++++++++++++++++++++++++-------------------
+ 7 files changed, 1326 insertions(+), 697 deletions(-)
+
+commit 2eb26602ffcfb3c3489849210502c4e00b370dfd
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Feb 15 23:45:33 2002 +0000
+
+ fontconfig fc-cache program needs to be executed with correct
+ environment
+ on install
+
+ fc-cache/Imakefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 65018b4a468c3175790dc27dfe37987151ad97d5
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Feb 15 07:36:14 2002 +0000
+
+ Update to Xft version 2
+
+ fc-cache/fc-cache.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit ccb3e93b2754542d08dcd2572402560d76a8ed91
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Feb 15 06:01:28 2002 +0000
+
+ fontconfig library: build fixes and compiler warning fixes
+
+ fc-cache/Imakefile | 2 +-
+ fc-list/Imakefile | 2 +-
+ fc-list/fc-list.c | 5 +-
+ fontconfig/fcfreetype.h | 1 +
+ fontconfig/fcprivate.h | 2 +-
+ fontconfig/fcxml.h | 2 +-
+ fontconfig/fontconfig.h | 61 ++++++++---------
+ src/fccache.c | 176
+ ++++++++++++++++++++++++++++++------------------
+ src/fccfg.c | 126 +++++++++++++++++-----------------
+ src/fccharset.c | 23 ++++---
+ src/fcdir.c | 58 ++++++++--------
+ src/fcfreetype.c | 106 ++++++++++++++---------------
+ src/fcinit.c | 2 +-
+ src/fcint.h | 74 ++++++++------------
+ src/fcmatch.c | 7 +-
+ src/fcname.c | 92 ++++++++++++-------------
+ src/fcpat.c | 10 +--
+ src/fcstr.c | 32 ++++-----
+ src/fcxml.c | 135 +++++++++++++++++++------------------
+ 19 files changed, 473 insertions(+), 443 deletions(-)
+
+commit 3be03bed3955e91882b65315fdf8a68e4b453431
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Feb 15 00:49:44 2002 +0000
+
+ Update fontconfig and libxml2 to get them working with in-tree build
+ process
+
+ fc-cache/Imakefile | 12 +++---------
+ fc-list/Imakefile | 13 +++----------
+ src/Imakefile | 55
+ ++++++------------------------------------------------
+ 3 files changed, 12 insertions(+), 68 deletions(-)
+
+commit 82e6d72059aaa4beccb2ec39706ef86e99e479de
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Feb 14 23:34:13 2002 +0000
+
+ Add new font configuration library which forms the basis of the
+ new version
+ of Xft
+
+commit 24330d27f88bbf387d92128d2c21e005f2563e93
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Feb 14 23:34:13 2002 +0000
+
+ Initial revision
+
+ AUTHORS | 1 +
+ COPYING | 22 +
+ ChangeLog | 0
+ INSTALL | 3 +
+ Imakefile | 25 +
+ NEWS | 0
+ README | 2 +
+ acconfig.h | 2 +
+ configure.in | 202 +++++++
+ cvscompile.sh | 6 +
+ doc/fontconfig.tex | 55 ++
+ fc-cache/Imakefile | 19 +
+ fc-cache/fc-cache.c | 145 +++++
+ fc-cache/fc-cache.man | 45 ++
+ fc-list/Imakefile | 17 +
+ fc-list/fc-list.c | 128 ++++
+ fc-list/fc-list.man | 36 ++
+ findfonts | 8 +
+ fontconfig/Imakefile | 8 +
+ fontconfig/fcfreetype.h | 34 ++
+ fontconfig/fcprivate.h | 117 ++++
+ fontconfig/fcxml.h | 37 ++
+ fontconfig/fontconfig.h | 551 +++++++++++++++++
+ fonts.conf.in | 191 ++++++
+ fonts.dtd | 165 +++++
+ setfontdirs | 19 +
+ src/Imakefile | 90 +++
+ src/fcblanks.c | 84 +++
+ src/fccache.c | 592 ++++++++++++++++++
+ src/fccfg.c | 1369 ++++++++++++++++++++++++++++++++++++++++++
+ src/fccharset.c | 1521
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/fcdbg.c | 272 +++++++++
+ src/fcdefault.c | 87 +++
+ src/fcdir.c | 178 ++++++
+ src/fcfreetype.c | 236 ++++++++
+ src/fcfs.c | 82 +++
+ src/fcinit.c | 174 ++++++
+ src/fcint.h | 480 +++++++++++++++
+ src/fclist.c | 442 ++++++++++++++
+ src/fcmatch.c | 347 +++++++++++
+ src/fcmatrix.c | 112 ++++
+ src/fcname.c | 621 +++++++++++++++++++
+ src/fcpat.c | 491 +++++++++++++++
+ src/fcstr.c | 188 ++++++
+ src/fcxml.c | 1032 ++++++++++++++++++++++++++++++++
+ src/fontconfig.man | 1113 ++++++++++++++++++++++++++++++++++
+ 46 files changed, 11349 insertions(+)
diff --git a/Makefile.am b/Makefile.am
index 2b949e43..2b4a5b82 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,7 +21,7 @@
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-SUBDIRS=fontconfig fc-case fc-lang fc-glyphname src \
+SUBDIRS=fontconfig fc-blanks fc-case fc-lang fc-glyphname src \
fc-cache fc-cat fc-list fc-match fc-pattern fc-query fc-scan \
fc-validate conf.d test
if ENABLE_DOCS
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 00000000..6a278f67
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,1069 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+# fontconfig/Makefile.am
+#
+# Copyright © 2003 Keith Packard
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+@ENABLE_DOCS_TRUE@am__append_1 = doc
+subdir = .
+DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
+ $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/configure $(am__configure_deps) \
+ $(srcdir)/config.h.in $(srcdir)/fontconfig.spec.in \
+ $(srcdir)/fontconfig.pc.in $(srcdir)/fontconfig-zip.in COPYING \
+ compile config.guess config.sub depcomp install-sh missing \
+ ltmain.sh
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES = fontconfig.spec fontconfig.pc fontconfig-zip
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(xmldir)"
+DATA = $(pkgconfig_DATA) $(xml_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ cscope distdir dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+ $(LISP)config.h.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+CSCOPE = cscope
+DIST_SUBDIRS = fontconfig fc-blanks fc-case fc-lang fc-glyphname src \
+ fc-cache fc-cat fc-list fc-match fc-pattern fc-query fc-scan \
+ fc-validate conf.d test doc
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+ if test -d "$(distdir)"; then \
+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -rf "$(distdir)" \
+ || { sleep 5 && rm -rf "$(distdir)"; }; \
+ else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
+GZIP_ENV = --best
+DIST_TARGETS = dist-bzip2 dist-gzip
+distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = fontconfig fc-blanks fc-case fc-lang fc-glyphname src \
+ fc-cache fc-cat fc-list fc-match fc-pattern fc-query fc-scan \
+ fc-validate conf.d test $(am__append_1)
+ACLOCAL_AMFLAGS = -I m4
+EXTRA_DIST = fontconfig.pc.in fonts.conf.in fonts.dtd \
+ fontconfig.spec.in fontconfig.spec fontconfig-zip.in \
+ config-fixups.h ChangeLog
+CLEANFILES = fonts.conf
+DISTCLEANFILES = config.cache doltcompile
+
+# Creating ChangeLog from git log:
+MAINTAINERCLEANFILES = $(srcdir)/aclocal.m4 $(srcdir)/autoscan.log \
+ $(srcdir)/compile $(srcdir)/config.guess $(srcdir)/config.h.in \
+ $(srcdir)/config.sub $(srcdir)/configure.scan \
+ $(srcdir)/depcomp $(srcdir)/install-sh $(srcdir)/ltmain.sh \
+ $(srcdir)/missing $(srcdir)/mkinstalldirs \
+ $(srcdir)/test-driver `find "$(srcdir)" -type f -name \
+ Makefile.in -print` $(srcdir)/ChangeLog
+pkgconfig_DATA = fontconfig.pc
+baseconfigdir = $(BASECONFIGDIR)
+configdir = $(CONFIGDIR)
+xmldir = $(XMLDIR)
+xml_DATA = fonts.dtd
+@CROSS_COMPILING_FALSE@RUN_FC_CACHE_TEST = test -z "$(DESTDIR)"
+@CROSS_COMPILING_TRUE@RUN_FC_CACHE_TEST = false
+FC_CONFIGDIR = $(subst $(BASECONFIGDIR)/,,$(CONFIGDIR))
+DISTCHECK_CONFIGURE_FLAGS =
+all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+am--refresh: Makefile
+ @:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+config.h: stamp-h1
+ @test -f $@ || rm -f stamp-h1
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+ @rm -f stamp-h1
+ cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: $(am__configure_deps)
+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+ rm -f stamp-h1
+ touch $@
+
+distclean-hdr:
+ -rm -f config.h stamp-h1
+fontconfig.spec: $(top_builddir)/config.status $(srcdir)/fontconfig.spec.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+fontconfig.pc: $(top_builddir)/config.status $(srcdir)/fontconfig.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+fontconfig-zip: $(top_builddir)/config.status $(srcdir)/fontconfig-zip.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool config.lt
+install-pkgconfigDATA: $(pkgconfig_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
+ done
+
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
+install-xmlDATA: $(xml_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(xml_DATA)'; test -n "$(xmldir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(xmldir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(xmldir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(xmldir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(xmldir)" || exit $$?; \
+ done
+
+uninstall-xmlDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(xml_DATA)'; test -n "$(xmldir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(xmldir)'; $(am__uninstall_files_from_dir)
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscope: cscope.files
+ test ! -s cscope.files \
+ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+ -rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+ -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
+
+distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ test -d "$(distdir)" || mkdir "$(distdir)"
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+ -test -n "$(am__skip_mode_fix)" \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r "$(distdir)"
+dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__post_remove_distdir)
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+ $(am__post_remove_distdir)
+
+dist-lzip: distdir
+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+ $(am__post_remove_distdir)
+
+dist-xz: distdir
+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
+ $(am__post_remove_distdir)
+
+dist-tarZ: distdir
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__post_remove_distdir)
+
+dist-shar: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ $(am__post_remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__post_remove_distdir)
+
+dist dist-all:
+ $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+ $(am__post_remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lz*) \
+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
+ *.tar.xz*) \
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+ chmod -R a-w $(distdir)
+ chmod u+w $(distdir)
+ mkdir $(distdir)/_build $(distdir)/_inst
+ chmod a-w $(distdir)
+ test -d $(distdir)/_build || exit 0; \
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && am__cwd=`pwd` \
+ && $(am__cd) $(distdir)/_build \
+ && ../configure \
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ --srcdir=.. --prefix="$$dc_install_base" \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && rm -rf $(DIST_ARCHIVES) \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+ && cd "$$am__cwd" \
+ || exit 1
+ $(am__post_remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+ @test -n '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: trying to run $@ with an empty' \
+ '$$(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ $(am__cd) '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA) config.h
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(xmldir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-hdr \
+ distclean-libtool distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-data-local install-pkgconfigDATA \
+ install-xmlDATA
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-local uninstall-pkgconfigDATA \
+ uninstall-xmlDATA
+
+.MAKE: $(am__recursive_targets) all install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+ am--refresh check check-am clean clean-cscope clean-generic \
+ clean-libtool cscope cscopelist-am ctags ctags-am dist \
+ dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
+ dist-xz dist-zip distcheck distclean distclean-generic \
+ distclean-hdr distclean-libtool distclean-tags distcleancheck \
+ distdir distuninstallcheck dvi dvi-am html html-am info \
+ info-am install install-am install-data install-data-am \
+ install-data-local install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-pkgconfigDATA install-ps install-ps-am install-strip \
+ install-xmlDATA installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am uninstall-local \
+ uninstall-pkgconfigDATA uninstall-xmlDATA
+
+ChangeLog: $(srcdir)/ChangeLog
+$(srcdir)/ChangeLog:
+ if test -d "$(srcdir)/.git"; then \
+ (GIT_DIR=$(top_srcdir)/.git $(GIT) log --stat) | fmt --split-only > $@.tmp \
+ && mv -f $@.tmp $@ \
+ || ($(RM) $@.tmp; \
+ echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
+ (test -f $@ || echo git-log is required to generate this file >> $@)); \
+ else \
+ test -f $@ || \
+ (echo A git checkout and git-log is required to generate ChangeLog >&2 && \
+ echo A git checkout and git-log is required to generate this file >> $@); \
+ fi
+
+.PHONY: ChangeLog
+
+fonts.conf: fonts.conf.in Makefile
+ sed \
+ -e 's,@FC_CACHEDIR\@,$(FC_CACHEDIR),g' \
+ -e 's,@FC_DEFAULT_FONTS\@,$(FC_DEFAULT_FONTS),g' \
+ -e 's,@FC_FONTPATH\@,$(FC_FONTPATH),g' \
+ -e 's,@CONFIGDIR\@,$(FC_CONFIGDIR),g' \
+ -e 's,@PACKAGE\@,$(PACKAGE),g' \
+ -e 's,@VERSION\@,$(VERSION),g' \
+ $(srcdir)/$@.in > $@.tmp && \
+ mv $@.tmp $@
+
+install-data-local: fonts.conf
+ $(mkinstalldirs) $(DESTDIR)$(baseconfigdir) $(DESTDIR)$(fc_cachedir)
+ if [ -f $(DESTDIR)$(baseconfigdir)/fonts.conf ]; then \
+ echo "backing up existing $(DESTDIR)$(baseconfigdir)/fonts.conf"; \
+ mv $(DESTDIR)$(baseconfigdir)/fonts.conf $(DESTDIR)$(baseconfigdir)/fonts.conf.bak; \
+ fi
+ if [ -f $(srcdir)/fonts.conf ]; then \
+ echo " $(INSTALL_DATA) $(srcdir)/fonts.conf $(DESTDIR)$(baseconfigdir)/fonts.conf"; \
+ $(INSTALL_DATA) $(srcdir)/fonts.conf $(DESTDIR)$(baseconfigdir)/fonts.conf; \
+ else if [ -f fonts.conf ]; then \
+ echo " $(INSTALL_DATA) fonts.conf $(DESTDIR)$(baseconfigdir)/fonts.conf"; \
+ $(INSTALL_DATA) fonts.conf $(DESTDIR)$(baseconfigdir)/fonts.conf; \
+ fi; fi
+ @(if $(RUN_FC_CACHE_TEST); then \
+ echo "fc-cache$(EXEEXT) -s -f -v"; \
+ fc-cache/fc-cache$(EXEEXT) -s -f -v; \
+ else \
+ echo "***"; \
+ echo "*** Warning: fonts.cache not built"; \
+ echo "***"; \
+ echo "*** Generate this file manually on host system using fc-cache"; \
+ echo "***"; \
+ fi)
+
+uninstall-local:
+ if [ -f $(srcdir)/fonts.conf ]; then \
+ if cmp -s $(srcdir)/fonts.conf $(DESTDIR)$(baseconfigdir)/fonts.conf; then \
+ echo " uninstall standard $(DESTDIR)$(baseconfigdir)/fonts.conf"; \
+ $(RM) $(DESTDIR)$(baseconfigdir)/fonts.conf; \
+ fi; \
+ else if [ -f fonts.conf ]; then \
+ if cmp -s fonts.conf $(DESTDIR)$(baseconfigdir)/fonts.conf; then \
+ echo " uninstall standard $(DESTDIR)$(baseconfigdir)/fonts.conf"; \
+ $(RM) $(DESTDIR)$(baseconfigdir)/fonts.conf; \
+ fi; \
+ fi; fi
+
+debuild debuild-signed: debuild-dirs
+ (cd $(distdir)/debian && debuild)
+
+debuild-unsigned: debuild-dirs
+ (cd $(distdir)/debian && debuild -us -uc)
+
+debuild-dirs: distdir
+ $(RM) $(PACKAGE)_$(VERSION).orig.tar.gz
+ $(RM) -r $(distdir).orig
+ cp -a $(distdir) $(distdir).orig
+ $(RM) -r $(distdir).orig/debian
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/README b/README
index 8b34edca..4a4dc307 100644
--- a/README
+++ b/README
@@ -1,12 +1,126 @@
Fontconfig
Font configuration and customization library
- Version 2.11.1
- 2014-03-24
+ Version 2.11.93 (2.12 RC3)
+ 2015-03-09
Check INSTALL for compilation and installation instructions.
Report bugs to https://bugs.freedesktop.org in the fontconfig module.
+2.11.93 (2.12 RC3)
+
+Akira TAGOH (18):
+ Fix a typo in docs
+ Add pkg.m4 to git
+ Fix a build fail on some non-POSIX platforms
+ ifdef'd the unnecessary code for win32
+ Fix pointer cast warning on win32
+ filter can be null
+ Copy the real size of struct dirent
+ Rework again to copy the struct dirent
+ Hardcode the blanks in the library
+ Update the script to recognize the escaped space
+ Fix a build issue when $(srcdir) != $(builddir)
+ Don't add FC_LANG when it has "und"
+ Fix the array allocation
+ Improve the performance on searching blanks
+ Fix a segfault when OOM happened.
+ Fix a bug in the previous change forFcBlanksIsMember()
+ Fix an infinite loop in FcBlanksIsMember()
+ Fix a trivial bug for dist
+
+Alan Coopersmith (1):
+ Fix configure to work with Solaris Studio compilers
+
+Behdad Esfahbod (3):
+ Fix symbol cmap handling
+ Remove dead code after previous commit
+ Simplify some more
+
+Michael Haubenwallner (1):
+ Ensure config.h is included first, bug#89336.
+
+2.11.92 (2.12 RC2)
+
+Akira TAGOH (1):
+ Add missing docs
+
+2.11.91 (2.12 RC1)
+
+Akira TAGOH (28):
+ Bug 71287 - size specific design selection support in OS/2 table version 5
+ Fix a build issue with freetype <2.5.1
+ Fix missing docs
+ Fix a typo
+ Fix fc-cache fail with -r
+ Rebase ja.orth against Joyo kanji characters
+ Allow the modification on FcTypeVoid with FcTypeLangSet and FcTypeCharSet
+ Workaround another race condition issue
+ Read the config files and fonts on the sysroot when --sysroot is given to fc-cache
+ Fix a segfault
+ Update CaseFolding.txt to Unicode 7.0
+ Don't read/write from/to the XDG dirs if the home directory is disabled
+ Rework for 5004e8e01f5de30ad01904e57ea0eda006ab3a0c
+ Fix a crash when no sysroot is given and failed to load the default fonts.conf
+ Fix a gcc warning
+ Don't add duplicate lang
+ fallback to the another method to lock when link() failed
+ Increase the refcount in FcConfigSetCurrent()
+ Fix the memory leak in fc-cat
+ Note FcConfigSetCurrent() increases the refcount in document
+ Add FcRangeGetDouble()
+ Revert "Bug 73291 - poppler does not show fl ligature"
+ Update aliases for new URW fonts
+ Returns False if no fonts found
+ fc-cache: make a fail if no fonts processed on a given path
+ fc-cache: Add an option to raise an error if no fonts found
+ Bump the cache version to 5
+ Fix a typo
+
+Behdad Esfahbod (39):
+ Remove unused code
+ Simplify hash code
+ Further simplify hash code
+ Rewrite hashing to use FT_Stream directly
+ Allow passing NULL for file to FcFreeTypeQueryFace()
+ [ko.orth] Remove U+3164 HANGUL FILLER
+ Deprecate FC_HASH and don't compute it
+ Remove unused FcHash code now that FC_HASH is deprecated
+ Update list of blanks to Unicode 6.3.0
+ Update blanks to Unicode 7.0
+ Change charset parse/unparse format to be human readable
+ Minor
+ Fix charset unparse after recent changes
+ Comments
+ Remove HASH from matching priorities
+ Fixup previous commit
+ Update mingw32 MemoryBarrier from HarfBuzz
+ More mingw32 MemoryBarrier() fixup
+ Symlinks fix for DESTDIR
+ Revert "Symlinks fix for DESTDIR"
+ Call FcInitDebug from FcFreeTypeQueryFace
+ Decode MacRoman encoding in name table without iconv
+ Ouch, fix buffer
+ Use lang=und instead of lang=xx for "undetermined"
+ Remove unused regex code
+ Improve / cleanup namelang matching
+ Add FC_WEIGHT_DEMILIGHT
+ Change DemiLight from 65 to 55
+ Linearly interpolate weight values
+ Export recently added API
+ Remove unneeded FcPublic
+ Fix assertion failure
+ If OS/2 table says weight is 1 to 9, multiply by 100
+ Trebuchet MS is a sans-serif font, not serif
+ Fix previous commit
+ Revert "[fcmatch] When matching, reserve score 0 for when elements don't exist"
+ Fix buffer overflow in copying PS name
+ Add FC_COLOR
+ Treat color fonts as scalable
+
+Nick Alcock (1):
+ Generate documentation for FcWeight* functions.
+
2.11.1
Akira TAGOH (31):
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 00000000..c0115b22
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,1394 @@
+# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
+
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.14'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.14.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.14.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is '.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
+ [$1], [CXX], [depcc="$CXX" am_compiler_list=],
+ [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+ [$1], [UPC], [depcc="$UPC" am_compiler_list=],
+ [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+ [--enable-dependency-tracking],
+ [do not reject slow dependency extractors])
+AS_HELP_STRING(
+ [--disable-dependency-tracking],
+ [speeds up one-time build])])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ am__nodep='_no'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+ # Older Autoconf quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named 'Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running 'make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "$am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each '.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.65])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[AC_DIAGNOSE([obsolete],
+ [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(
+ m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+ [ok:ok],,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES([CC])],
+ [m4_define([AC_PROG_CC],
+ m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES([CXX])],
+ [m4_define([AC_PROG_CXX],
+ m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES([OBJC])],
+ [m4_define([AC_PROG_OBJC],
+ m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+ [_AM_DEPENDENCIES([OBJCXX])],
+ [m4_define([AC_PROG_OBJCXX],
+ m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
+])
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi])
+
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+AC_SUBST([install_sh])])
+
+# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
+else
+ am_missing_run=
+ AC_MSG_WARN(['missing' script is too old or missing])
+fi
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# --------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+
+# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# ---------------------------------------------------------------------------
+# Adds support for distributing Python modules and packages. To
+# install modules, copy them to $(pythondir), using the python_PYTHON
+# automake variable. To install a package with the same name as the
+# automake package, install to $(pkgpythondir), or use the
+# pkgpython_PYTHON automake variable.
+#
+# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as
+# locations to install python extension modules (shared libraries).
+# Another macro is required to find the appropriate flags to compile
+# extension modules.
+#
+# If your package is configured with a different prefix to python,
+# users will have to add the install directory to the PYTHONPATH
+# environment variable, or create a .pth file (see the python
+# documentation for details).
+#
+# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will
+# cause an error if the version of python installed on the system
+# doesn't meet the requirement. MINIMUM-VERSION should consist of
+# numbers and dots only.
+AC_DEFUN([AM_PATH_PYTHON],
+ [
+ dnl Find a Python interpreter. Python versions prior to 2.0 are not
+ dnl supported. (2.0 was released on October 16, 2000).
+ m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
+[python python2 python3 python3.3 python3.2 python3.1 python3.0 python2.7 dnl
+ python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0])
+
+ AC_ARG_VAR([PYTHON], [the Python interpreter])
+
+ m4_if([$1],[],[
+ dnl No version check is needed.
+ # Find any Python interpreter.
+ if test -z "$PYTHON"; then
+ AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :)
+ fi
+ am_display_PYTHON=python
+ ], [
+ dnl A version check is needed.
+ if test -n "$PYTHON"; then
+ # If the user set $PYTHON, use it and don't search something else.
+ AC_MSG_CHECKING([whether $PYTHON version is >= $1])
+ AM_PYTHON_CHECK_VERSION([$PYTHON], [$1],
+ [AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])
+ AC_MSG_ERROR([Python interpreter is too old])])
+ am_display_PYTHON=$PYTHON
+ else
+ # Otherwise, try each interpreter until we find one that satisfies
+ # VERSION.
+ AC_CACHE_CHECK([for a Python interpreter with version >= $1],
+ [am_cv_pathless_PYTHON],[
+ for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do
+ test "$am_cv_pathless_PYTHON" = none && break
+ AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break])
+ done])
+ # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
+ if test "$am_cv_pathless_PYTHON" = none; then
+ PYTHON=:
+ else
+ AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON])
+ fi
+ am_display_PYTHON=$am_cv_pathless_PYTHON
+ fi
+ ])
+
+ if test "$PYTHON" = :; then
+ dnl Run any user-specified action, or abort.
+ m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
+ else
+
+ dnl Query Python for its version number. Getting [:3] seems to be
+ dnl the best way to do this; it's what "site.py" does in the standard
+ dnl library.
+
+ AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
+ [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`])
+ AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
+
+ dnl Use the values of $prefix and $exec_prefix for the corresponding
+ dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made
+ dnl distinct variables so they can be overridden if need be. However,
+ dnl general consensus is that you shouldn't need this ability.
+
+ AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
+ AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
+
+ dnl At times (like when building shared libraries) you may want
+ dnl to know which OS platform Python thinks this is.
+
+ AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
+ [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`])
+ AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
+
+ # Just factor out some code duplication.
+ am_python_setup_sysconfig="\
+import sys
+# Prefer sysconfig over distutils.sysconfig, for better compatibility
+# with python 3.x. See automake bug#10227.
+try:
+ import sysconfig
+except ImportError:
+ can_use_sysconfig = 0
+else:
+ can_use_sysconfig = 1
+# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
+# <https://github.com/pypa/virtualenv/issues/118>
+try:
+ from platform import python_implementation
+ if python_implementation() == 'CPython' and sys.version[[:3]] == '2.7':
+ can_use_sysconfig = 0
+except ImportError:
+ pass"
+
+ dnl Set up 4 directories:
+
+ dnl pythondir -- where to install python scripts. This is the
+ dnl site-packages directory, not the python standard library
+ dnl directory like in previous automake betas. This behavior
+ dnl is more consistent with lispdir.m4 for example.
+ dnl Query distutils for this directory.
+ AC_CACHE_CHECK([for $am_display_PYTHON script directory],
+ [am_cv_python_pythondir],
+ [if test "x$prefix" = xNONE
+ then
+ am_py_prefix=$ac_default_prefix
+ else
+ am_py_prefix=$prefix
+ fi
+ am_cv_python_pythondir=`$PYTHON -c "
+$am_python_setup_sysconfig
+if can_use_sysconfig:
+ sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
+else:
+ from distutils import sysconfig
+ sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
+sys.stdout.write(sitedir)"`
+ case $am_cv_python_pythondir in
+ $am_py_prefix*)
+ am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
+ am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
+ ;;
+ *)
+ case $am_py_prefix in
+ /usr|/System*) ;;
+ *)
+ am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
+ ;;
+ esac
+ ;;
+ esac
+ ])
+ AC_SUBST([pythondir], [$am_cv_python_pythondir])
+
+ dnl pkgpythondir -- $PACKAGE directory under pythondir. Was
+ dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is
+ dnl more consistent with the rest of automake.
+
+ AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
+
+ dnl pyexecdir -- directory for installing python extension modules
+ dnl (shared libraries)
+ dnl Query distutils for this directory.
+ AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
+ [am_cv_python_pyexecdir],
+ [if test "x$exec_prefix" = xNONE
+ then
+ am_py_exec_prefix=$am_py_prefix
+ else
+ am_py_exec_prefix=$exec_prefix
+ fi
+ am_cv_python_pyexecdir=`$PYTHON -c "
+$am_python_setup_sysconfig
+if can_use_sysconfig:
+ sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
+else:
+ from distutils import sysconfig
+ sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
+sys.stdout.write(sitedir)"`
+ case $am_cv_python_pyexecdir in
+ $am_py_exec_prefix*)
+ am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
+ am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
+ ;;
+ *)
+ case $am_py_exec_prefix in
+ /usr|/System*) ;;
+ *)
+ am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
+ ;;
+ esac
+ ;;
+ esac
+ ])
+ AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
+
+ dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
+
+ AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
+
+ dnl Run any user-specified action.
+ $2
+ fi
+
+])
+
+
+# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
+# ---------------------------------------------------------------------------
+# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION.
+# Run ACTION-IF-FALSE otherwise.
+# This test uses sys.hexversion instead of the string equivalent (first
+# word of sys.version), in order to cope with versions such as 2.2c1.
+# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000).
+AC_DEFUN([AM_PYTHON_CHECK_VERSION],
+ [prog="import sys
+# split strings by '.' and convert to numeric. Append some zeros
+# because we need at least 4 digits for the hex conversion.
+# map returns an iterator in Python 3.0 and a list in 2.x
+minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]]
+minverhex = 0
+# xrange is not present in Python 3.0 and range returns an iterator
+for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]]
+sys.exit(sys.hexversion < minverhex)"
+ AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+ alias in your environment])
+ fi
+ if test "$[2]" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+ [AC_MSG_CHECKING([that generated files are newer than configure])
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
+
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+ [--enable-silent-rules],
+ [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+ [--disable-silent-rules],
+ [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+ [am_cv_make_support_nested_variables],
+ [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+ dnl Using '$V' instead of '$(V)' breaks IRIX make.
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor 'install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in "make install-strip", and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# --------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+#
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+
+m4_if([$1], [v7],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+ [m4_case([$1],
+ [ustar],
+ [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+ if test $am_uid -le $am_max_uid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi
+ AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+ if test $am_gid -le $am_max_gid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi],
+
+ [pax],
+ [],
+
+ [m4_fatal([Unknown tar format])])
+
+ AC_MSG_CHECKING([how to create a $1 tar archive])
+
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ AM_RUN_LOG([cat conftest.dir/file])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+ done
+ rm -rf conftest.dir
+
+ AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+ AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([m4/ac_check_symbol.m4])
+m4_include([m4/ax_cc_for_build.m4])
+m4_include([m4/ax_create_stdint_h.m4])
+m4_include([m4/ax_pthread.m4])
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
+m4_include([m4/pkg.m4])
diff --git a/compile b/compile
new file mode 100755
index 00000000..531136b0
--- /dev/null
+++ b/compile
@@ -0,0 +1,347 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2012-10-14.11; # UTC
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Written by Tom Tromey <tromey@cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" "" $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv/,$2, in
+ *,$file_conv,*)
+ ;;
+ mingw/*)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin/*)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine/*)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+ func_file_conv "$1"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+ lib=$1
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ lib=$dir/$lib.dll.lib
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ lib=$dir/$lib.lib
+ break
+ fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ if test "$found" != yes; then
+ lib=$lib.lib
+ fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+ # Assume a capable shell
+ lib_path=
+ shared=:
+ linker_opts=
+ for arg
+ do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ eat=1
+ case $2 in
+ *.o | *.[oO][bB][jJ])
+ func_file_conv "$2"
+ set x "$@" -Fo"$file"
+ shift
+ ;;
+ *)
+ func_file_conv "$2"
+ set x "$@" -Fe"$file"
+ shift
+ ;;
+ esac
+ ;;
+ -I)
+ eat=1
+ func_file_conv "$2" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -I*)
+ func_file_conv "${1#-I}" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -l)
+ eat=1
+ func_cl_dashl "$2"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -l*)
+ func_cl_dashl "${1#-l}"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -L)
+ eat=1
+ func_cl_dashL "$2"
+ ;;
+ -L*)
+ func_cl_dashL "${1#-L}"
+ ;;
+ -static)
+ shared=false
+ ;;
+ -Wl,*)
+ arg=${1#-Wl,}
+ save_ifs="$IFS"; IFS=','
+ for flag in $arg; do
+ IFS="$save_ifs"
+ linker_opts="$linker_opts $flag"
+ done
+ IFS="$save_ifs"
+ ;;
+ -Xlinker)
+ eat=1
+ linker_opts="$linker_opts $2"
+ ;;
+ -*)
+ set x "$@" "$1"
+ shift
+ ;;
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+ func_file_conv "$1"
+ set x "$@" -Tp"$file"
+ shift
+ ;;
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+ func_file_conv "$1" mingw
+ set x "$@" "$file"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+ done
+ if test -n "$linker_opts"; then
+ linker_opts="-link$linker_opts"
+ fi
+ exec "$@" $linker_opts
+ exit 1
+}
+
+eat=
+
+case $1 in
+ '')
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "compile $scriptversion"
+ exit $?
+ ;;
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ func_cl_wrapper "$@" # Doesn't return...
+ ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ # So we strip '-o arg' only if arg is an object.
+ eat=1
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # If no '-o' option was seen then we might have been invoked from a
+ # pattern rule where we don't need one. That is ok -- this is a
+ # normal compilation that the losing compiler can handle. If no
+ # '.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file. Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/conf.d/30-metric-aliases.conf b/conf.d/30-metric-aliases.conf
index 08c8ba32..cd1e9246 100644
--- a/conf.d/30-metric-aliases.conf
+++ b/conf.d/30-metric-aliases.conf
@@ -6,17 +6,17 @@
Alias similar/metric-compatible families from various sources:
-PostScript fonts: URW fonts: GUST fonts: Windows fonts:
-====================== ==================== ================= ==================
-Helvetica Nimbus Sans L TeX Gyre Heros
-Helvetica Condensed TeX Gyre Heros Cn
-Times Nimbus Roman No9 L TeX Gyre Termes
-Courier Nimbus Mono L TeX Gyre Cursor
-ITC Avant Garde Gothic URW Gothic L TeX Gyre Adventor
-ITC Bookman URW Bookman L TeX Gyre Bonum Bookman Old Style
-ITC Zapf Chancery URW Chancery L TeX Gyre Chorus
-Palatino URW Palladio L TeX Gyre Pagella Palatino Linotype
-New Century Schoolbook Century Schoolbook L TeX Gyre Schola Century Schoolbook
+PostScript fonts: URW fonts: GUST fonts: Windows fonts:
+====================== ====================== ================= ==================
+Helvetica Nimbus Sans TeX Gyre Heros
+Helvetica Condensed Nimbus Sans Narrow TeX Gyre Heros Cn
+Times Nimbus Roman TeX Gyre Termes
+Courier Nimbus Mono TeX Gyre Cursor
+ITC Avant Garde Gothic URW Gothic TeX Gyre Adventor
+ITC Bookman Bookman URW TeX Gyre Bonum Bookman Old Style
+ITC Zapf Chancery Chancery URW TeX Gyre Chorus
+Palatino Palladio URW TeX Gyre Pagella Palatino Linotype
+New Century Schoolbook Century SchoolBook URW TeX Gyre Schola Century Schoolbook
Microsoft fonts: Liberation fonts: Google CrOS core fonts: StarOffice fonts: AMT fonts:
================ ====================== ======================= ================= ==============
@@ -57,6 +57,13 @@ but in an order preferring similar designs first. We do this in three steps:
</alias>
<alias binding="same">
+ <family>Nimbus Sans</family>
+ <default>
+ <family>Helvetica</family>
+ </default>
+ </alias>
+
+ <alias binding="same">
<family>TeX Gyre Heros</family>
<default>
<family>Helvetica</family>
@@ -64,6 +71,13 @@ but in an order preferring similar designs first. We do this in three steps:
</alias>
<alias binding="same">
+ <family>Nimbus Sans Narrow</family>
+ <default>
+ <family>Helvetica Condensed</family>
+ </default>
+ </alias>
+
+ <alias binding="same">
<family>TeX Gyre Heros Cn</family>
<default>
<family>Helvetica Condensed</family>
@@ -77,15 +91,19 @@ but in an order preferring similar designs first. We do this in three steps:
</default>
</alias>
-<!--
- Due to Bug#73291, commented out those lines until the broken font are fixed.
+ <alias binding="same">
+ <family>Nimbus Roman</family>
+ <default>
+ <family>Times</family>
+ </default>
+ </alias>
+
<alias binding="same">
<family>TeX Gyre Termes</family>
<default>
<family>Times</family>
</default>
</alias>
--->
<alias binding="same">
<family>Nimbus Mono L</family>
@@ -95,6 +113,13 @@ but in an order preferring similar designs first. We do this in three steps:
</alias>
<alias binding="same">
+ <family>Nimbus Mono</family>
+ <default>
+ <family>Courier</family>
+ </default>
+ </alias>
+
+ <alias binding="same">
<family>TeX Gyre Cursor</family>
<default>
<family>Courier</family>
@@ -116,6 +141,13 @@ but in an order preferring similar designs first. We do this in three steps:
</alias>
<alias binding="same">
+ <family>URW Gothic</family>
+ <default>
+ <family>ITC Avant Garde Gothic</family>
+ </default>
+ </alias>
+
+ <alias binding="same">
<family>TeX Gyre Adventor</family>
<default>
<family>ITC Avant Garde Gothic</family>
@@ -137,6 +169,13 @@ but in an order preferring similar designs first. We do this in three steps:
</alias>
<alias binding="same">
+ <family>Bookman URW</family>
+ <default>
+ <family>ITC Bookman</family>
+ </default>
+ </alias>
+
+ <alias binding="same">
<family>TeX Gyre Bonum</family>
<default>
<family>ITC Bookman</family>
@@ -165,6 +204,13 @@ but in an order preferring similar designs first. We do this in three steps:
</alias>
<alias binding="same">
+ <family>Chancery URW</family>
+ <default>
+ <family>ITC Zapf Chancery</family>
+ </default>
+ </alias>
+
+ <alias binding="same">
<family>TeX Gyre Chorus</family>
<default>
<family>ITC Zapf Chancery</family>
@@ -179,6 +225,13 @@ but in an order preferring similar designs first. We do this in three steps:
</alias>
<alias binding="same">
+ <family>Palladio URW</family>
+ <default>
+ <family>Palatino</family>
+ </default>
+ </alias>
+
+ <alias binding="same">
<family>TeX Gyre Pagella</family>
<default>
<family>Palatino</family>
@@ -200,6 +253,13 @@ but in an order preferring similar designs first. We do this in three steps:
</alias>
<alias binding="same">
+ <family>Century SchoolBook URW</family>
+ <default>
+ <family>New Century Schoolbook</family>
+ </default>
+ </alias>
+
+ <alias binding="same">
<family>TeX Gyre Schola</family>
<default>
<family>New Century Schoolbook</family>
@@ -404,6 +464,7 @@ but in an order preferring similar designs first. We do this in three steps:
<family>Helvetica</family>
<accept>
<family>TeX Gyre Heros</family>
+ <family>Nimbus Sans</family>
<family>Nimbus Sans L</family>
</accept>
</alias>
@@ -412,16 +473,15 @@ but in an order preferring similar designs first. We do this in three steps:
<family>Helvetica Condensed</family>
<accept>
<family>TeX Gyre Heros Cn</family>
+ <family>Nimbus Sans Narrow</family>
</accept>
</alias>
<alias binding="same">
<family>Times</family>
<accept>
-<!--
- Due to Bug#73291, commented out this line until the broken font are fixed.
<family>TeX Gyre Termes</family>
--->
+ <family>Nimbus Roman</family>
<family>Nimbus Roman No9 L</family>
</accept>
</alias>
@@ -430,6 +490,7 @@ but in an order preferring similar designs first. We do this in three steps:
<family>Courier</family>
<accept>
<family>TeX Gyre Cursor</family>
+ <family>Nimbus Mono</family>
<family>Nimbus Mono L</family>
</accept>
</alias>
@@ -438,6 +499,7 @@ but in an order preferring similar designs first. We do this in three steps:
<family>ITC Avant Garde Gothic</family>
<accept>
<family>TeX Gyre Adventor</family>
+ <family>URW Gothic</family>
<family>URW Gothic L</family>
</accept>
</alias>
@@ -447,6 +509,7 @@ but in an order preferring similar designs first. We do this in three steps:
<accept>
<family>Bookman Old Style</family>
<family>TeX Gyre Bonum</family>
+ <family>Bookman URW</family>
<family>URW Bookman L</family>
</accept>
</alias>
@@ -455,6 +518,7 @@ but in an order preferring similar designs first. We do this in three steps:
<family>ITC Zapf Chancery</family>
<accept>
<family>TeX Gyre Chorus</family>
+ <family>Chancery URW</family>
<family>URW Chancery L</family>
</accept>
</alias>
@@ -464,6 +528,7 @@ but in an order preferring similar designs first. We do this in three steps:
<accept>
<family>Palatino Linotype</family>
<family>TeX Gyre Pagella</family>
+ <family>Palladio URW</family>
<family>URW Palladio L</family>
</accept>
</alias>
@@ -473,6 +538,7 @@ but in an order preferring similar designs first. We do this in three steps:
<accept>
<family>Century Schoolbook</family>
<family>TeX Gyre Schola</family>
+ <family>Century SchoolBook URW</family>
<family>Century Schoolbook L</family>
</accept>
</alias>
diff --git a/conf.d/45-latin.conf b/conf.d/45-latin.conf
index aa62ed42..72490f32 100644
--- a/conf.d/45-latin.conf
+++ b/conf.d/45-latin.conf
@@ -34,6 +34,10 @@
<default><family>serif</family></default>
</alias>
<alias>
+ <family>Nimbus Roman</family>
+ <default><family>serif</family></default>
+ </alias>
+ <alias>
<family>Luxi Serif</family>
<default><family>serif</family></default>
</alias>
@@ -57,10 +61,6 @@
<family>Palatino Linotype</family>
<default><family>serif</family></default>
</alias>
- <alias>
- <family>Trebuchet MS</family>
- <default><family>serif</family></default>
- </alias>
<!--
Sans-serif faces
-->
@@ -101,9 +101,17 @@
<default><family>sans-serif</family></default>
</alias>
<alias>
+ <family>Nimbus Sans</family>
+ <default><family>sans-serif</family></default>
+ </alias>
+ <alias>
<family>Luxi Sans</family>
<default><family>sans-serif</family></default>
</alias>
+ <alias>
+ <family>Trebuchet MS</family>
+ <default><family>sans-serif</family></default>
+ </alias>
<!--
Monospace faces
-->
@@ -151,6 +159,10 @@
<family>Nimbus Mono L</family>
<default><family>monospace</family></default>
</alias>
+ <alias>
+ <family>Nimbus Mono</family>
+ <default><family>monospace</family></default>
+ </alias>
<!--
Fantasy faces
-->
diff --git a/conf.d/60-latin.conf b/conf.d/60-latin.conf
index 2107e31e..35600ea0 100644
--- a/conf.d/60-latin.conf
+++ b/conf.d/60-latin.conf
@@ -10,6 +10,7 @@
<family>Thorndale AMT</family>
<family>Luxi Serif</family>
<family>Nimbus Roman No9 L</family>
+ <family>Nimbus Roman</family>
<family>Times</family>
</prefer>
</alias>
@@ -23,6 +24,7 @@
<family>Albany AMT</family>
<family>Luxi Sans</family>
<family>Nimbus Sans L</family>
+ <family>Nimbus Sans</family>
<family>Helvetica</family>
<family>Lucida Sans Unicode</family>
<family>BPG Glaho International</family> <!-- lat,cyr,arab,geor -->
@@ -40,6 +42,7 @@
<family>Cumberland AMT</family>
<family>Luxi Mono</family>
<family>Nimbus Mono L</family>
+ <family>Nimbus Mono</family>
<family>Courier</family>
</prefer>
</alias>
diff --git a/conf.d/Makefile.in b/conf.d/Makefile.in
new file mode 100644
index 00000000..42f12c7d
--- /dev/null
+++ b/conf.d/Makefile.in
@@ -0,0 +1,661 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+# fontconfig/conf.d/Makefile.am
+#
+# Copyright © 2005 Keith Packard
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = conf.d
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(configdir)" "$(DESTDIR)$(templatedir)"
+DATA = $(config_DATA) $(template_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+BUILT_SOURCES = README
+DOC_SOURCES = README.in
+DOC_FILES = $(DOC_SOURCES:.in=)
+CONF_LINKS = \
+ 10-scale-bitmap-fonts.conf \
+ 20-unhint-small-vera.conf \
+ 30-urw-aliases.conf \
+ 30-metric-aliases.conf \
+ 40-nonlatin.conf \
+ 45-latin.conf \
+ 49-sansserif.conf \
+ 50-user.conf \
+ 51-local.conf \
+ 60-latin.conf \
+ 65-fonts-persian.conf \
+ 65-nonlatin.conf \
+ 69-unifont.conf \
+ 80-delicious.conf \
+ 90-synthetic.conf
+
+EXTRA_DIST = $(template_DATA) $(DOC_SOURCES)
+CLEANFILES = $(DOC_FILES)
+configdir = $(CONFIGDIR)
+config_DATA = $(DOC_FILES)
+templatedir = $(TEMPLATEDIR)
+template_DATA = \
+ 10-autohint.conf \
+ 10-no-sub-pixel.conf \
+ 10-scale-bitmap-fonts.conf \
+ 10-sub-pixel-bgr.conf \
+ 10-sub-pixel-rgb.conf \
+ 10-sub-pixel-vbgr.conf \
+ 10-sub-pixel-vrgb.conf \
+ 10-unhinted.conf \
+ 11-lcdfilter-default.conf \
+ 11-lcdfilter-legacy.conf \
+ 11-lcdfilter-light.conf \
+ 20-unhint-small-vera.conf \
+ 25-unhint-nonlatin.conf \
+ 30-urw-aliases.conf \
+ 30-metric-aliases.conf \
+ 40-nonlatin.conf \
+ 45-latin.conf \
+ 49-sansserif.conf \
+ 50-user.conf \
+ 51-local.conf \
+ 60-latin.conf \
+ 65-fonts-persian.conf \
+ 65-khmer.conf \
+ 65-nonlatin.conf \
+ 69-unifont.conf \
+ 70-no-bitmaps.conf \
+ 70-yes-bitmaps.conf \
+ 80-delicious.conf \
+ 90-synthetic.conf
+
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu conf.d/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu conf.d/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-configDATA: $(config_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(config_DATA)'; test -n "$(configdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(configdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(configdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(configdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(configdir)" || exit $$?; \
+ done
+
+uninstall-configDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(config_DATA)'; test -n "$(configdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(configdir)'; $(am__uninstall_files_from_dir)
+install-templateDATA: $(template_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(template_DATA)'; test -n "$(templatedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(templatedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(templatedir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(templatedir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(templatedir)" || exit $$?; \
+ done
+
+uninstall-templateDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(template_DATA)'; test -n "$(templatedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(templatedir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(configdir)" "$(DESTDIR)$(templatedir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-configDATA install-templateDATA
+ @$(NORMAL_INSTALL)
+ $(MAKE) $(AM_MAKEFLAGS) install-data-hook
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-configDATA uninstall-local \
+ uninstall-templateDATA
+
+.MAKE: all check install install-am install-data-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-configDATA install-data \
+ install-data-am install-data-hook install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ install-templateDATA installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am uninstall-configDATA \
+ uninstall-local uninstall-templateDATA
+
+
+README: $(srcdir)/README.in
+ sed "s|\@TEMPLATEDIR\@|$(templatedir)|" $< > $@
+
+install-data-hook:
+ mkdir -p $(DESTDIR)$(configdir)
+ @(echo cd $(DESTDIR)$(configdir); \
+ cd $(DESTDIR)$(configdir); \
+ for i in $(CONF_LINKS); do \
+ echo $(RM) $$i";" ln -s $(templatedir)/$$i .; \
+ $(RM) $$i; \
+ ln -s $(templatedir)/$$i .; \
+ done)
+uninstall-local:
+ @(echo cd $(DESTDIR)$(configdir); \
+ cd $(DESTDIR)$(configdir); \
+ for i in $(CONF_LINKS); do \
+ echo $(RM) $$i; \
+ $(RM) $$i; \
+ done)
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/conf.d/README b/conf.d/README
new file mode 100644
index 00000000..6a774c5d
--- /dev/null
+++ b/conf.d/README
@@ -0,0 +1,23 @@
+conf.d/README
+
+Each file in this directory is a fontconfig configuration file. Fontconfig
+scans this directory, loading all files of the form [0-9][0-9]*.conf.
+These files are normally installed in /usr/share/fontconfig/conf.avail
+and then symlinked here, allowing them to be easily installed and then
+enabled/disabled by adjusting the symlinks.
+
+The files are loaded in numeric order, the structure of the configuration
+has led to the following conventions in usage:
+
+ Files begining with: Contain:
+
+ 00 through 09 Font directories
+ 10 through 19 system rendering defaults (AA, etc)
+ 20 through 29 font rendering options
+ 30 through 39 family substitution
+ 40 through 49 generic identification, map family->generic
+ 50 through 59 alternate config file loading
+ 60 through 69 generic aliases, map generic->family
+ 70 through 79 select font (adjust which fonts are available)
+ 80 through 89 match target="scan" (modify scanned patterns)
+ 90 through 99 font synthesis
diff --git a/config.guess b/config.guess
new file mode 100755
index 00000000..1f5c50c0
--- /dev/null
+++ b/config.guess
@@ -0,0 +1,1420 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright 1992-2014 Free Software Foundation, Inc.
+
+timestamp='2014-03-23'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+#
+# Originally written by Per Bothner.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright 1992-2014 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+ # If the system lacks a compiler, then just pick glibc.
+ # We could probably try harder.
+ LIBC=gnu
+
+ eval $set_cc_for_build
+ cat <<-EOF > $dummy.c
+ #include <features.h>
+ #if defined(__UCLIBC__)
+ LIBC=uclibc
+ #elif defined(__dietlibc__)
+ LIBC=dietlibc
+ #else
+ LIBC=gnu
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+ ;;
+esac
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ELF__
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit ;;
+ *:Bitrig:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+ exitcode=$?
+ trap '' 0
+ exit $exitcode ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit ;;
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ s390x:SunOS:*:*)
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+ echo i386-pc-auroraux${UNAME_RELEASE}
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ eval $set_cc_for_build
+ SUN_ARCH="i386"
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH="x86_64"
+ fi
+ fi
+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+ *:AIX:*:[4567])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep -q __LP64__
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:FreeBSD:*:*)
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ case ${UNAME_PROCESSOR} in
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit ;;
+ *:MINGW64*:*)
+ echo ${UNAME_MACHINE}-pc-mingw64
+ exit ;;
+ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
+ *:MSYS*:*)
+ echo ${UNAME_MACHINE}-pc-msys
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit ;;
+ *:Interix*:*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ authenticamd | genuineintel | EM64T)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit ;;
+ 8664:Windows_NT:*)
+ echo x86_64-pc-mks
+ exit ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+ exit ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
+ aarch64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ aarch64_be:Linux:*:*)
+ UNAME_MACHINE=aarch64_be
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ arc:Linux:*:* | arceb:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ else
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+ fi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ cris:Linux:*:*)
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+ exit ;;
+ crisv32:Linux:*:*)
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+ exit ;;
+ frv:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ hexagon:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ i*86:Linux:*:*)
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+ exit ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ mips:Linux:*:* | mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=${UNAME_MACHINE}el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=${UNAME_MACHINE}
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+ ;;
+ openrisc*:Linux:*:*)
+ echo or1k-unknown-linux-${LIBC}
+ exit ;;
+ or32:Linux:*:* | or1k*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-${LIBC}
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-${LIBC}
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+ *) echo hppa-unknown-linux-${LIBC} ;;
+ esac
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-${LIBC}
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-${LIBC}
+ exit ;;
+ ppc64le:Linux:*:*)
+ echo powerpc64le-unknown-linux-${LIBC}
+ exit ;;
+ ppcle:Linux:*:*)
+ echo powerpcle-unknown-linux-${LIBC}
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+ exit ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ tile*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+ exit ;;
+ x86_64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configury will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
+ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
+ x86_64:Haiku:*:*)
+ echo x86_64-unknown-haiku
+ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ eval $set_cc_for_build
+ if test "$UNAME_PROCESSOR" = unknown ; then
+ UNAME_PROCESSOR=powerpc
+ fi
+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
+ fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
+ # that puts up a graphical alert prompting to install
+ # developer tools. Any system running Mac OS X 10.7 or
+ # later (Darwin 11 and later) is required to have a 64-bit
+ # processor. This is not true of the ARM version of Darwin
+ # that Apple uses in portable devices.
+ UNAME_PROCESSOR=x86_64
+ fi
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
+ NEO-?:NONSTOP_KERNEL:*:*)
+ echo neo-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSE-*:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
+ x86_64:VMkernel:*:*)
+ echo ${UNAME_MACHINE}-unknown-esx
+ exit ;;
+esac
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/config.h.in b/config.h.in
new file mode 100644
index 00000000..f05c09be
--- /dev/null
+++ b/config.h.in
@@ -0,0 +1,357 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
+/* The normal alignment of `double', in bytes. */
+#undef ALIGNOF_DOUBLE
+
+/* The normal alignment of `void *', in bytes. */
+#undef ALIGNOF_VOID_P
+
+/* Use libxml2 instead of Expat */
+#undef ENABLE_LIBXML2
+
+/* Additional font directories */
+#undef FC_ADD_FONTS
+
+/* Architecture prefix to use for cache file names */
+#undef FC_ARCHITECTURE
+
+/* System font directory */
+#undef FC_DEFAULT_FONTS
+
+/* Define to nothing if C supports flexible array members, and to 1 if it does
+ not. That way, with a declaration like `struct s { int n; double
+ d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99
+ compilers. When computing the size of such an object, don't use 'sizeof
+ (struct s)' as it overestimates the size. Use 'offsetof (struct s, d)'
+ instead. Don't use 'offsetof (struct s, d[0])', as this doesn't work with
+ MSVC and with C++ compilers. */
+#undef FLEXIBLE_ARRAY_MEMBER
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_DIRENT_H
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
+#undef HAVE_DOPRNT
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if you have the `fstatfs' function. */
+#undef HAVE_FSTATFS
+
+/* Define to 1 if you have the `fstatvfs' function. */
+#undef HAVE_FSTATVFS
+
+/* FT_Bitmap_Size structure includes y_ppem field */
+#undef HAVE_FT_BITMAP_SIZE_Y_PPEM
+
+/* Define to 1 if you have the `FT_Get_BDF_Property' function. */
+#undef HAVE_FT_GET_BDF_PROPERTY
+
+/* Define to 1 if you have the `FT_Get_Next_Char' function. */
+#undef HAVE_FT_GET_NEXT_CHAR
+
+/* Define to 1 if you have the `FT_Get_PS_Font_Info' function. */
+#undef HAVE_FT_GET_PS_FONT_INFO
+
+/* Define to 1 if you have the `FT_Get_X11_Font_Format' function. */
+#undef HAVE_FT_GET_X11_FONT_FORMAT
+
+/* Define to 1 if you have the `FT_Has_PS_Glyph_Names' function. */
+#undef HAVE_FT_HAS_PS_GLYPH_NAMES
+
+/* Define to 1 if you have the `FT_Select_Size' function. */
+#undef HAVE_FT_SELECT_SIZE
+
+/* Define to 1 if you have the `getexecname' function. */
+#undef HAVE_GETEXECNAME
+
+/* Define to 1 if you have the `getopt' function. */
+#undef HAVE_GETOPT
+
+/* Define to 1 if you have the `getopt_long' function. */
+#undef HAVE_GETOPT_LONG
+
+/* Define to 1 if you have the `getpagesize' function. */
+#undef HAVE_GETPAGESIZE
+
+/* Define to 1 if you have the `getprogname' function. */
+#undef HAVE_GETPROGNAME
+
+/* Have Intel __sync_* atomic primitives */
+#undef HAVE_INTEL_ATOMIC_PRIMITIVES
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the `link' function. */
+#undef HAVE_LINK
+
+/* Define to 1 if you have the `lrand48' function. */
+#undef HAVE_LRAND48
+
+/* Define to 1 if you have the `lstat' function. */
+#undef HAVE_LSTAT
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `mkdtemp' function. */
+#undef HAVE_MKDTEMP
+
+/* Define to 1 if you have the `mkostemp' function. */
+#undef HAVE_MKOSTEMP
+
+/* Define to 1 if you have the `mkstemp' function. */
+#undef HAVE_MKSTEMP
+
+/* Define to 1 if you have a working `mmap' system call. */
+#undef HAVE_MMAP
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+#undef HAVE_NDIR_H
+
+/* Define to 1 if you have the 'posix_fadvise' function. */
+#undef HAVE_POSIX_FADVISE
+
+/* Have POSIX threads */
+#undef HAVE_PTHREAD
+
+/* Have PTHREAD_PRIO_INHERIT. */
+#undef HAVE_PTHREAD_PRIO_INHERIT
+
+/* Define to 1 if you have the `rand' function. */
+#undef HAVE_RAND
+
+/* Define to 1 if you have the `random' function. */
+#undef HAVE_RANDOM
+
+/* Define to 1 if you have the `random_r' function. */
+#undef HAVE_RANDOM_R
+
+/* Define to 1 if you have the `rand_r' function. */
+#undef HAVE_RAND_R
+
+/* Define to 1 if you have the `readlink' function. */
+#undef HAVE_READLINK
+
+/* Define to 1 if you have the <sched.h> header file. */
+#undef HAVE_SCHED_H
+
+/* Have sched_yield */
+#undef HAVE_SCHED_YIELD
+
+/* Have Solaris __machine_*_barrier and atomic_* operations */
+#undef HAVE_SOLARIS_ATOMIC_OPS
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if `d_type' is a member of `struct dirent'. */
+#undef HAVE_STRUCT_DIRENT_D_TYPE
+
+/* Define to 1 if `f_flags' is a member of `struct statfs'. */
+#undef HAVE_STRUCT_STATFS_F_FLAGS
+
+/* Define to 1 if `f_fstypename' is a member of `struct statfs'. */
+#undef HAVE_STRUCT_STATFS_F_FSTYPENAME
+
+/* Define to 1 if `f_basetype' is a member of `struct statvfs'. */
+#undef HAVE_STRUCT_STATVFS_F_BASETYPE
+
+/* Define to 1 if `f_fstypename' is a member of `struct statvfs'. */
+#undef HAVE_STRUCT_STATVFS_F_FSTYPENAME
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_SYS_DIR_H
+
+/* Define to 1 if you have the <sys/mount.h> header file. */
+#undef HAVE_SYS_MOUNT_H
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_SYS_NDIR_H
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/statfs.h> header file. */
+#undef HAVE_SYS_STATFS_H
+
+/* Define to 1 if you have the <sys/statvfs.h> header file. */
+#undef HAVE_SYS_STATVFS_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <sys/vfs.h> header file. */
+#undef HAVE_SYS_VFS_H
+
+/* Define to 1 if `usLowerOpticalPointSize' is a member of `TT_OS2'. */
+#undef HAVE_TT_OS2_USLOWEROPTICALPOINTSIZE
+
+/* Define to 1 if `usUpperOpticalPointSize' is a member of `TT_OS2'. */
+#undef HAVE_TT_OS2_USUPPEROPTICALPOINTSIZE
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the `vprintf' function. */
+#undef HAVE_VPRINTF
+
+/* Can use #warning in C files */
+#undef HAVE_WARNING_CPP_DIRECTIVE
+
+/* Use xmlparse.h instead of expat.h */
+#undef HAVE_XMLPARSE_H
+
+/* Define to 1 if you have the `XML_SetDoctypeDeclHandler' function. */
+#undef HAVE_XML_SETDOCTYPEDECLHANDLER
+
+/* Define to 1 if you have the `_mktemp_s' function. */
+#undef HAVE__MKTEMP_S
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to necessary symbol if this constant uses a non-standard name on
+ your system. */
+#undef PTHREAD_CREATE_JOINABLE
+
+/* The size of `char', as computed by sizeof. */
+#undef SIZEOF_CHAR
+
+/* The size of `int', as computed by sizeof. */
+#undef SIZEOF_INT
+
+/* The size of `long', as computed by sizeof. */
+#undef SIZEOF_LONG
+
+/* The size of `short', as computed by sizeof. */
+#undef SIZEOF_SHORT
+
+/* The size of `void*', as computed by sizeof. */
+#undef SIZEOF_VOIDP
+
+/* The size of `void *', as computed by sizeof. */
+#undef SIZEOF_VOID_P
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Use iconv. */
+#undef USE_ICONV
+
+/* Enable extensions on AIX 3, Interix. */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris. */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop. */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris. */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
+/* Version number of package */
+#undef VERSION
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+# undef WORDS_BIGENDIAN
+# endif
+#endif
+
+/* Enable large inode numbers on Mac OS X 10.5. */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS
+
+/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES
+
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+ this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+ calls it, or to nothing if 'inline' is not supported under any name. */
+#ifndef __cplusplus
+#undef inline
+#endif
+
+/* Define to `int' if <sys/types.h> does not define. */
+#undef pid_t
+
+#include "config-fixups.h"
diff --git a/config.sub b/config.sub
new file mode 100755
index 00000000..66c50743
--- /dev/null
+++ b/config.sub
@@ -0,0 +1,1798 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright 1992-2014 Free Software Foundation, Inc.
+
+timestamp='2014-07-28'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+
+
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright 1992-2014 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray | -microblaze*)
+ os=
+ basic_machine=$1
+ ;;
+ -bluegene*)
+ os=-cnk
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*178)
+ os=-lynxos178
+ ;;
+ -lynx*5)
+ os=-lynxos5
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | aarch64 | aarch64_be \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arceb \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | avr | avr32 \
+ | be32 | be64 \
+ | bfin \
+ | c4x | c8051 | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | epiphany \
+ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | k1om \
+ | le32 | le64 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nds32 | nds32le | nds32be \
+ | nios | nios2 | nios2eb | nios2el \
+ | ns16k | ns32k \
+ | open8 | or1k | or1knd | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle \
+ | pyramid \
+ | rl78 | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu \
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+ | ubicom32 \
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ | we32k \
+ | x86 | xc16x | xstormy16 | xtensa \
+ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
+ c54x)
+ basic_machine=tic54x-unknown
+ ;;
+ c55x)
+ basic_machine=tic55x-unknown
+ ;;
+ c6x)
+ basic_machine=tic6x-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+
+ strongarm | thumb | xscale)
+ basic_machine=arm-unknown
+ ;;
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ xscaleeb)
+ basic_machine=armeb-unknown
+ ;;
+
+ xscaleel)
+ basic_machine=armel-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | aarch64-* | aarch64_be-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | be32-* | be64-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | hexagon-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | k1om-* \
+ | le32-* | le64-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | microblaze-* | microblazeel-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa32r6-* | mipsisa32r6el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64r6-* | mipsisa64r6el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipsr5900-* | mipsr5900el-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nds32-* | nds32le-* | nds32be-* \
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | open8-* \
+ | or1k*-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+ | pyramid-* \
+ | rl78-* | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | tahoe-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tile*-* \
+ | tron-* \
+ | ubicom32-* \
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+ | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
+ c54x-*)
+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c55x-*)
+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c6x-*)
+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16 | cr16-*)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ microblaze*)
+ basic_machine=microblaze-xilinx
+ ;;
+ mingw64)
+ basic_machine=x86_64-pc
+ os=-mingw64
+ ;;
+ mingw32)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=-moxiebox
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
+ msys)
+ basic_machine=i686-pc
+ os=-msys
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ nacl)
+ basic_machine=le32-unknown
+ os=-nacl
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ neo-tandem)
+ basic_machine=neo-tandem
+ ;;
+ nse-tandem)
+ basic_machine=nse-tandem
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc | ppcbe) basic_machine=powerpc-unknown
+ ;;
+ ppc-* | ppcbe-*)
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ os=-rdos
+ ;;
+ rdos32)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ strongarm-* | thumb-*)
+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tile*)
+ basic_machine=$basic_machine-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ xscale-* | xscalee[bl]-*)
+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ z80-*-coff)
+ basic_machine=z80-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -auroraux)
+ os=-auroraux
+ ;;
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+ | -sym* | -kopensolaris* | -plan9* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* | -aros* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* | -cegcc* \
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -nacl*)
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ c8051-*)
+ os=-elf
+ ;;
+ hexagon-*)
+ os=-elf
+ ;;
+ tic54x-*)
+ os=-coff
+ ;;
+ tic55x-*)
+ os=-coff
+ ;;
+ tic6x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-haiku)
+ os=-haiku
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -cnk*|-aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/configure b/configure
new file mode 100755
index 00000000..775eb80f
--- /dev/null
+++ b/configure
@@ -0,0 +1,19204 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.69 for fontconfig 2.11.93.
+#
+# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig>.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Use a proper internal environment variable to ensure we don't fall
+ # into an infinite loop, continuously re-executing ourselves.
+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+ _as_can_reexec=no; export _as_can_reexec;
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+ fi
+ # We don't want this to propagate to other subprocesses.
+ { _as_can_reexec=; unset _as_can_reexec;}
+if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+"
+ as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+ exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1
+
+ test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
+ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ as_found=:
+ case $as_dir in #(
+ /*)
+ for as_base in sh bash ksh sh5; do
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir/$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ break 2
+fi
+fi
+ done;;
+ esac
+ as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+ if test "x$CONFIG_SHELL" != x; then :
+ export CONFIG_SHELL
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+ if test x$as_have_required = xno; then :
+ $as_echo "$0: This script requires a shell more modern than all"
+ $as_echo "$0: the shells that I found on your system."
+ if test x${ZSH_VERSION+set} = xset ; then
+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+ else
+ $as_echo "$0: Please tell bug-autoconf@gnu.org and
+$0: https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig
+$0: about your system, including any error possibly output
+$0: before this message. Then install a modern shell, or
+$0: manually run the script under such a shell if you do
+$0: have one."
+ fi
+ exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
+ fi
+else
+ as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='fontconfig'
+PACKAGE_TARNAME='fontconfig'
+PACKAGE_VERSION='2.11.93'
+PACKAGE_STRING='fontconfig 2.11.93'
+PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig'
+PACKAGE_URL=''
+
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_header_list=
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+LIBOBJS
+PKGCONFIG_REQUIRES_PRIVATELY
+PKGCONFIG_REQUIRES
+DOCMAN3
+ENABLE_DOCS_FALSE
+ENABLE_DOCS_TRUE
+USEDOCBOOK_FALSE
+USEDOCBOOK_TRUE
+HASDOCBOOK
+HAVE_PTHREAD_FALSE
+HAVE_PTHREAD_TRUE
+PTHREAD_CFLAGS
+PTHREAD_LIBS
+PTHREAD_CC
+ax_pthread_config
+XMLDIR
+CONFIGDIR
+BASECONFIGDIR
+TEMPLATEDIR
+FC_FONTDATE
+FC_CACHEDIR
+fc_cachedir
+FC_FONTPATH
+FC_ADD_FONTS
+FC_DEFAULT_FONTS
+LIBXML2_LIBS
+LIBXML2_CFLAGS
+HAVE_XMLPARSE_H
+EXPAT_LIBS
+EXPAT_CFLAGS
+FREETYPE_LIBS
+FREETYPE_CFLAGS
+ICONV_LIBS
+ICONV_CFLAGS
+ENABLE_SHARED_FALSE
+ENABLE_SHARED_TRUE
+CROSS_COMPILING_FALSE
+CROSS_COMPILING_TRUE
+EXEEXT_FOR_BUILD
+CC_FOR_BUILD
+WARN_CFLAGS
+MS_LIB_AVAILABLE_FALSE
+MS_LIB_AVAILABLE_TRUE
+ms_librarian
+OS_WIN32_FALSE
+OS_WIN32_TRUE
+LIBT_CURRENT_MINUS_AGE
+LIBT_VERSION_INFO
+LIBT_REVISION
+LIBT_CURRENT
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+MANIFEST_TOOL
+RANLIB
+ac_ct_AR
+AR
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+SED
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+LIBTOOL
+OBJDUMP
+DLLTOOL
+AS
+RM
+pkgpyexecdir
+pyexecdir
+pkgpythondir
+pythondir
+PYTHON_PLATFORM
+PYTHON_EXEC_PREFIX
+PYTHON_PREFIX
+PYTHON_VERSION
+PYTHON
+GPERF
+GIT
+pkgconfigdir
+PKG_CONFIG_LIBDIR
+PKG_CONFIG_PATH
+PKG_CONFIG
+LN_S
+EGREP
+GREP
+CPP
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+am__nodep
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_silent_rules
+enable_dependency_tracking
+enable_largefile
+with_pkgconfigdir
+enable_static
+enable_shared
+with_pic
+enable_fast_install
+with_gnu_ld
+with_sysroot
+enable_libtool_lock
+with_arch
+enable_iconv
+with_libiconv
+with_libiconv_includes
+with_libiconv_lib
+with_expat
+with_expat_includes
+with_expat_lib
+enable_libxml2
+with_default_fonts
+with_add_fonts
+with_cache_dir
+with_templatedir
+with_baseconfigdir
+with_configdir
+with_xmldir
+enable_docs
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+PKG_CONFIG
+PKG_CONFIG_PATH
+PKG_CONFIG_LIBDIR
+PYTHON
+CC_FOR_BUILD
+FREETYPE_CFLAGS
+FREETYPE_LIBS
+EXPAT_CFLAGS
+EXPAT_LIBS
+LIBXML2_CFLAGS
+LIBXML2_LIBS'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ as_fn_error $? "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures fontconfig 2.11.93 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking ...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/fontconfig]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of fontconfig 2.11.93:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-silent-rules less verbose build output (undo: "make V=1")
+ --disable-silent-rules verbose build output (undo: "make V=0")
+ --enable-dependency-tracking
+ do not reject slow dependency extractors
+ --disable-dependency-tracking
+ speeds up one-time build
+ --disable-largefile omit support for large files
+ --enable-static[=PKGS] build static libraries [default=no]
+ --enable-shared[=PKGS] build shared libraries [default=yes]
+ --enable-fast-install[=PKGS]
+ optimize for fast installation [default=yes]
+ --disable-libtool-lock avoid locking (might break parallel builds)
+ --enable-iconv Use iconv to support non-Unicode SFNT name
+ --enable-libxml2 Use libxml2 instead of Expat
+ --disable-docs Don't build and install documentation
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-pkgconfigdir pkg-config installation directory
+ ['${libdir}/pkgconfig']
+ --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
+ --with-arch=ARCH Force architecture to ARCH
+ --with-libiconv=DIR Use libiconv in DIR
+ --with-libiconv-includes=DIR
+ Use libiconv includes in DIR
+ --with-libiconv-lib=DIR Use libiconv library in DIR
+ --with-expat=DIR Use Expat in DIR
+ --with-expat-includes=DIR
+ Use Expat includes in DIR
+ --with-expat-lib=DIR
+ --with-default-fonts=DIR
+ Use fonts from DIR when config is busted
+ --with-add-fonts=DIR1,DIR2,...
+ Find additional fonts in DIR1,DIR2,...
+ --with-cache-dir=DIR Use DIR to store cache files
+ [default=LOCALSTATEDIR/cache/fontconfig]
+ --with-templatedir=DIR Use DIR to store the configuration template files
+ [default=DATADIR/fontconfig/conf.avail]
+ --with-baseconfigdir=DIR
+ Use DIR to store the base configuration files
+ [default=SYSCONFDIR/fonts]
+ --with-configdir=DIR Use DIR to store active configuration files
+ [default=BASECONFIGDIR/conf.d]
+ --with-xmldir=DIR Use DIR to store XML schema files
+ [default=DATADIR/xml/fontconfig]
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ CPP C preprocessor
+ PKG_CONFIG path to pkg-config utility
+ PKG_CONFIG_PATH
+ directories to add to pkg-config's search path
+ PKG_CONFIG_LIBDIR
+ path overriding pkg-config's built-in search path
+ PYTHON the Python interpreter
+ CC_FOR_BUILD
+ build system C compiler
+ FREETYPE_CFLAGS
+ C compiler flags for FREETYPE, overriding pkg-config
+ FREETYPE_LIBS
+ linker flags for FREETYPE, overriding pkg-config
+ EXPAT_CFLAGS
+ C compiler flags for EXPAT, overriding pkg-config
+ EXPAT_LIBS linker flags for EXPAT, overriding pkg-config
+ LIBXML2_CFLAGS
+ C compiler flags for LIBXML2, overriding pkg-config
+ LIBXML2_LIBS
+ linker flags for LIBXML2, overriding pkg-config
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+fontconfig configure 2.11.93
+generated by GNU Autoconf 2.69
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } > conftest.i && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if eval \${$3+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_header_compiler=yes
+else
+ ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ac_header_preproc=yes
+else
+ ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+ yes:no: )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( $as_echo "## ---------------------------------------------------------------------------- ##
+## Report this to https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig ##
+## ---------------------------------------------------------------------------- ##"
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_mongrel
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ test -x conftest$ac_exeext
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $2 (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_func
+
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
+ac_fn_c_check_decl ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ as_decl_name=`echo $2|sed 's/ *(.*//'`
+ as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+#ifndef $as_decl_name
+#ifdef __cplusplus
+ (void) $as_decl_use;
+#else
+ (void) $as_decl_name;
+#endif
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_decl
+
+# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+# -------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_c_check_type ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=no"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+if (sizeof ($2))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+if (sizeof (($2)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_type
+
+# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
+# --------------------------------------------
+# Tries to find the compile-time value of EXPR in a program that includes
+# INCLUDES, setting VAR accordingly. Returns whether the value could be
+# computed
+ac_fn_c_compute_int ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= 0)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_hi=$ac_mid; break
+else
+ as_fn_arith $ac_mid + 1 && ac_lo=$as_val
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) < 0)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_lo=$ac_mid; break
+else
+ as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ ac_lo= ac_hi=
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_hi=$ac_mid
+else
+ as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in #((
+?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
+'') ac_retval=1 ;;
+esac
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+static long int longval () { return $2; }
+static unsigned long int ulongval () { return $2; }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (($2) < 0)
+ {
+ long int i = longval ();
+ if (i != ($2))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ($2))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ echo >>conftest.val; read $3 <conftest.val; ac_retval=0
+else
+ ac_retval=1
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f conftest.val
+
+ fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_compute_int
+
+# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
+# ----------------------------------------------------
+# Tries to find if the field MEMBER exists in type AGGR, after including
+# INCLUDES, setting cache variable VAR accordingly.
+ac_fn_c_check_member ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
+$as_echo_n "checking for $2.$3... " >&6; }
+if eval \${$4+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$5
+int
+main ()
+{
+static $2 ac_aggr;
+if (ac_aggr.$3)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$4=yes"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$5
+int
+main ()
+{
+static $2 ac_aggr;
+if (sizeof ac_aggr.$3)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$4=yes"
+else
+ eval "$4=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$4
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_member
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by fontconfig $as_me 2.11.93, which was
+generated by GNU Autoconf 2.69. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ $as_echo "PATH: $as_dir"
+ done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+ 2)
+ as_fn_append ac_configure_args1 " '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ as_fn_append ac_configure_args " '$ac_arg'"
+ ;;
+ esac
+ done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+ -*) ac_site_file1=./$CONFIG_SITE;;
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file" \
+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+as_fn_append ac_header_list " stdlib.h"
+as_fn_append ac_header_list " unistd.h"
+as_fn_append ac_header_list " sys/param.h"
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+am__api_version='1.14'
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+ ./ | .// | /[cC]/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+
+ done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
+ as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
+ alias in your environment" "$LINENO" 5
+ fi
+ if test "$2" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
+test "$program_prefix" != NONE &&
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
+else
+ am_missing_run=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+ if ${ac_cv_path_mkdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+ done
+IFS=$as_save_IFS
+
+fi
+
+ test -d ./--version && rmdir ./--version
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ MKDIR_P="$ac_install_sh -d"
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AWK="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+ enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='fontconfig'
+ VERSION='2.11.93'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
+
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar pax cpio none'
+
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+
+
+
+
+
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+ fi
+fi
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+ enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=0;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
+
+
+ac_config_headers="$ac_config_headers config.h"
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+ ac_file=''
+fi
+if test -z "$ac_file"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+ { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if { ac_try='./conftest$ac_cv_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if ${ac_cv_objext+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ am__nodep='_no'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+
+depcc="$CC" am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if ${ac_cv_prog_CPP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_EGREP" || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_header_stdc=yes
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+ ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
+ MINIX=yes
+else
+ MINIX=
+fi
+
+
+ if test "$MINIX" = yes; then
+
+$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
+
+
+$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
+
+
+$as_echo "#define _MINIX 1" >>confdefs.h
+
+ fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+# define __EXTENSIONS__ 1
+ $ac_includes_default
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_safe_to_define___extensions__=yes
+else
+ ac_cv_safe_to_define___extensions__=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
+ test $ac_cv_safe_to_define___extensions__ = yes &&
+ $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
+
+ $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
+
+ $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
+
+ $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+
+ $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+
+
+# Check whether --enable-largefile was given.
+if test "${enable_largefile+set}" = set; then :
+ enableval=$enable_largefile;
+fi
+
+if test "$enable_largefile" != no; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+if ${ac_cv_sys_largefile_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_sys_largefile_CC=no
+ if test "$GCC" != yes; then
+ ac_save_CC=$CC
+ while :; do
+ # IRIX 6.2 and later do not support large files by default,
+ # so use the C compiler's -n32 option if that helps.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ if ac_fn_c_try_compile "$LINENO"; then :
+ break
+fi
+rm -f core conftest.err conftest.$ac_objext
+ CC="$CC -n32"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_largefile_CC=' -n32'; break
+fi
+rm -f core conftest.err conftest.$ac_objext
+ break
+ done
+ CC=$ac_save_CC
+ rm -f conftest.$ac_ext
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+ if test "$ac_cv_sys_largefile_CC" != no; then
+ CC=$CC$ac_cv_sys_largefile_CC
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if ${ac_cv_sys_file_offset_bits+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_file_offset_bits=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_file_offset_bits=64; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_sys_file_offset_bits=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
+$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
+case $ac_cv_sys_file_offset_bits in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
+_ACEOF
+;;
+esac
+rm -rf conftest*
+ if test $ac_cv_sys_file_offset_bits = unknown; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
+if ${ac_cv_sys_large_files+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_large_files=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#define _LARGE_FILES 1
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_large_files=1; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_sys_large_files=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
+$as_echo "$ac_cv_sys_large_files" >&6; }
+case $ac_cv_sys_large_files in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define _LARGE_FILES $ac_cv_sys_large_files
+_ACEOF
+;;
+esac
+rm -rf conftest*
+ fi
+
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+
+
+
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $ac_pt_PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_pt_PKG_CONFIG" = x; then
+ PKG_CONFIG=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
+ fi
+else
+ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=0.9.0
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ PKG_CONFIG=""
+ fi
+fi
+
+
+
+# Check whether --with-pkgconfigdir was given.
+if test "${with_pkgconfigdir+set}" = set; then :
+ withval=$with_pkgconfigdir;
+else
+ with_pkgconfigdir='${libdir}/pkgconfig'
+fi
+
+pkgconfigdir=$with_pkgconfigdir
+
+
+
+
+
+
+GIT=${GIT-"${am_missing_run}git"}
+
+
+GPERF=${GPERF-"${am_missing_run}gperf"}
+
+
+
+
+
+
+
+ # Find any Python interpreter.
+ if test -z "$PYTHON"; then
+ for ac_prog in python python2 python3 python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PYTHON+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PYTHON in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PYTHON=$ac_cv_path_PYTHON
+if test -n "$PYTHON"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
+$as_echo "$PYTHON" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$PYTHON" && break
+done
+test -n "$PYTHON" || PYTHON=":"
+
+ fi
+ am_display_PYTHON=python
+
+
+ if test "$PYTHON" = :; then
+ as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5
+ else
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5
+$as_echo_n "checking for $am_display_PYTHON version... " >&6; }
+if ${am_cv_python_version+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
+$as_echo "$am_cv_python_version" >&6; }
+ PYTHON_VERSION=$am_cv_python_version
+
+
+
+ PYTHON_PREFIX='${prefix}'
+
+ PYTHON_EXEC_PREFIX='${exec_prefix}'
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5
+$as_echo_n "checking for $am_display_PYTHON platform... " >&6; }
+if ${am_cv_python_platform+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5
+$as_echo "$am_cv_python_platform" >&6; }
+ PYTHON_PLATFORM=$am_cv_python_platform
+
+
+ # Just factor out some code duplication.
+ am_python_setup_sysconfig="\
+import sys
+# Prefer sysconfig over distutils.sysconfig, for better compatibility
+# with python 3.x. See automake bug#10227.
+try:
+ import sysconfig
+except ImportError:
+ can_use_sysconfig = 0
+else:
+ can_use_sysconfig = 1
+# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
+# <https://github.com/pypa/virtualenv/issues/118>
+try:
+ from platform import python_implementation
+ if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
+ can_use_sysconfig = 0
+except ImportError:
+ pass"
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
+$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; }
+if ${am_cv_python_pythondir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$prefix" = xNONE
+ then
+ am_py_prefix=$ac_default_prefix
+ else
+ am_py_prefix=$prefix
+ fi
+ am_cv_python_pythondir=`$PYTHON -c "
+$am_python_setup_sysconfig
+if can_use_sysconfig:
+ sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
+else:
+ from distutils import sysconfig
+ sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
+sys.stdout.write(sitedir)"`
+ case $am_cv_python_pythondir in
+ $am_py_prefix*)
+ am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
+ am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
+ ;;
+ *)
+ case $am_py_prefix in
+ /usr|/System*) ;;
+ *)
+ am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
+ ;;
+ esac
+ ;;
+ esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5
+$as_echo "$am_cv_python_pythondir" >&6; }
+ pythondir=$am_cv_python_pythondir
+
+
+
+ pkgpythondir=\${pythondir}/$PACKAGE
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
+$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; }
+if ${am_cv_python_pyexecdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$exec_prefix" = xNONE
+ then
+ am_py_exec_prefix=$am_py_prefix
+ else
+ am_py_exec_prefix=$exec_prefix
+ fi
+ am_cv_python_pyexecdir=`$PYTHON -c "
+$am_python_setup_sysconfig
+if can_use_sysconfig:
+ sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
+else:
+ from distutils import sysconfig
+ sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
+sys.stdout.write(sitedir)"`
+ case $am_cv_python_pyexecdir in
+ $am_py_exec_prefix*)
+ am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
+ am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
+ ;;
+ *)
+ case $am_py_exec_prefix in
+ /usr|/System*) ;;
+ *)
+ am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
+ ;;
+ esac
+ ;;
+ esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5
+$as_echo "$am_cv_python_pyexecdir" >&6; }
+ pyexecdir=$am_cv_python_pyexecdir
+
+
+
+ pkgpyexecdir=\${pyexecdir}/$PACKAGE
+
+
+
+ fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for RM macro" >&5
+$as_echo_n "checking for RM macro... " >&6; }
+_predefined_rm=`make -p -f /dev/null 2>/dev/null|grep '^RM ='|sed -e 's/^RM = //'`
+if test "x$_predefined_rm" = "x"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no predefined RM" >&5
+$as_echo "no predefined RM" >&6; }
+ # Extract the first word of "rm", so it can be a program name with args.
+set dummy rm; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RM+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RM"; then
+ ac_cv_prog_RM="$RM" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_RM="rm -f"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+RM=$ac_cv_prog_RM
+if test -n "$RM"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RM" >&5
+$as_echo "$RM" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_predefined_rm" >&5
+$as_echo "$_predefined_rm" >&6; }
+fi
+
+
+case `pwd` in
+ *\ * | *\ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.4.2'
+macro_revision='1.3337'
+
+
+
+
+
+
+
+
+
+
+
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+$as_echo_n "checking how to print strings... " >&6; }
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
+else
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO ""
+}
+
+case "$ECHO" in
+ printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+$as_echo "printf" >&6; } ;;
+ print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+$as_echo "print -r" >&6; } ;;
+ *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+$as_echo "cat" >&6; } ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if ${ac_cv_path_SED+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ { ac_script=; unset ac_script;}
+ if test -z "$SED"; then
+ ac_path_SED_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_SED" || continue
+# Check for GNU ac_path_SED and select it if it is found.
+ # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo '' >> "conftest.nl"
+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_SED_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_SED="$ac_path_SED"
+ ac_path_SED_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_SED_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+ as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+ fi
+else
+ ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
+
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if ${ac_cv_path_FGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+ then ac_cv_path_FGREP="$GREP -F"
+ else
+ if test -z "$FGREP"; then
+ ac_path_FGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in fgrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_FGREP" || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+ # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'FGREP' >> "conftest.nl"
+ "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_FGREP="$ac_path_FGREP"
+ ac_path_FGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_FGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_FGREP"; then
+ as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_FGREP=$FGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+test -z "$GREP" && GREP=grep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if ${lt_cv_path_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${lt_cv_prog_gnu_ld+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if ${lt_cv_path_NM+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in dumpbin "link -dump"
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DUMPBIN+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DUMPBIN"; then
+ ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$DUMPBIN" && break
+ done
+fi
+if test -z "$DUMPBIN"; then
+ ac_ct_DUMPBIN=$DUMPBIN
+ for ac_prog in dumpbin "link -dump"
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DUMPBIN"; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_DUMPBIN" && break
+done
+
+ if test "x$ac_ct_DUMPBIN" = x; then
+ DUMPBIN=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DUMPBIN=$ac_ct_DUMPBIN
+ fi
+fi
+
+ case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
+ fi
+
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if ${lt_cv_nm_interface+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:$LINENO: output\"" >&5)
+ cat conftest.out >&5
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
+
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if ${lt_cv_sys_max_cmd_len+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+
+fi
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+
+
+
+
+
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
+$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
+$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
+$as_echo "$lt_shell_append" >&6; }
+
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+
+
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
+if ${lt_cv_to_host_file_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+ ;;
+ esac
+ ;;
+ *-*-cygwin* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+ ;;
+ esac
+ ;;
+ * ) # unhandled hosts (and "normal" native builds)
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+esac
+
+fi
+
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
+$as_echo "$lt_cv_to_host_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
+$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
+if ${lt_cv_to_tool_file_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ #assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
+
+fi
+
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
+$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if ${lt_cv_ld_reload_flag+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ if test "$GCC" != yes; then
+ reload_cmds=false
+ fi
+ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OBJDUMP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if ${lt_cv_deplibs_check_method+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[4-9]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[45]*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+ if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+haiku*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[3-9]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+ case $host_os in
+ mingw* | pw32*)
+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+ want_nocaseglob=yes
+ else
+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
+ fi
+ ;;
+ esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DLLTOOL"; then
+ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+ ac_ct_DLLTOOL=$DLLTOOL
+ # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DLLTOOL"; then
+ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_DLLTOOL" = x; then
+ DLLTOOL="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DLLTOOL=$ac_ct_DLLTOOL
+ fi
+else
+ DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
+$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
+if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+ # two different shell functions defined in ltmain.sh
+ # decide which to use based on capabilities of $DLLTOOL
+ case `$DLLTOOL --help 2>&1` in
+ *--identify-strict*)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+ ;;
+ *)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+ ;;
+ esac
+ ;;
+*)
+ # fallback: assume linklib IS sharedlib
+ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
+$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ for ac_prog in ar
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AR" && break
+ done
+fi
+if test -z "$AR"; then
+ ac_ct_AR=$AR
+ for ac_prog in ar
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_AR" && break
+done
+
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+fi
+
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
+if ${lt_cv_ar_at_file+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ar_at_file=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ echo conftest.$ac_objext > conftest.lst
+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+ (eval $lt_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -eq 0; then
+ # Ensure the archiver fails upon bogus file names.
+ rm -f conftest.$ac_objext libconftest.a
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+ (eval $lt_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -ne 0; then
+ lt_cv_ar_at_file=@
+ fi
+ fi
+ rm -f conftest.* libconftest.a
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+$as_echo "$lt_cv_ar_at_file" >&6; }
+
+if test "x$lt_cv_ar_at_file" = xno; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+test -z "$STRIP" && STRIP=:
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+test -z "$RANLIB" && RANLIB=:
+
+
+
+
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
+
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[BCDT]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[ABCDGISTW]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[ABCDEGRST]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[BCDEGRST]'
+ ;;
+osf*)
+ symcode='[BCDEGQRST]'
+ ;;
+solaris*)
+ symcode='[BDRT]'
+ ;;
+sco3.2v5*)
+ symcode='[DT]'
+ ;;
+sysv4.2uw2*)
+ symcode='[DT]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[ABDT]'
+ ;;
+sysv4)
+ symcode='[DFNSTU]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[ABCDGIRSTW]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK '"\
+" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
+ (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+LT_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_globsym_save_LIBS=$LIBS
+ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS=$lt_globsym_save_LIBS
+ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&5
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+ fi
+ else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
+ nm_file_list_spec='@'
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
+# Check whether --with-sysroot was given.
+if test "${with_sysroot+set}" = set; then :
+ withval=$with_sysroot;
+else
+ with_sysroot=no
+fi
+
+
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+$as_echo "${with_sysroot}" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
+
+
+
+
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then :
+ enableval=$enable_libtool_lock;
+fi
+
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ powerpc64le-*linux*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ powerpcle-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if ${lt_cv_cc_needs_belf+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_cc_needs_belf=yes
+else
+ lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*)
+ case $host in
+ i?86-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD="${LD-ld}_sol2"
+ fi
+ ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks="$enable_libtool_lock"
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$MANIFEST_TOOL"; then
+ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
+if test -n "$MANIFEST_TOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
+$as_echo "$MANIFEST_TOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
+ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
+ # Extract the first word of "mt", so it can be a program name with args.
+set dummy mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_MANIFEST_TOOL"; then
+ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
+if test -n "$ac_ct_MANIFEST_TOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
+$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_MANIFEST_TOOL" = x; then
+ MANIFEST_TOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+ fi
+else
+ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
+fi
+
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
+if ${lt_cv_path_mainfest_tool+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_path_mainfest_tool=no
+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+ cat conftest.err >&5
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
+ fi
+ rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
+$as_echo "$lt_cv_path_mainfest_tool" >&6; }
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+ MANIFEST_TOOL=:
+fi
+
+
+
+
+
+
+ case $host_os in
+ rhapsody* | darwin*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DSYMUTIL"; then
+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+ ac_ct_DSYMUTIL=$DSYMUTIL
+ # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DSYMUTIL"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_DSYMUTIL" = x; then
+ DSYMUTIL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DSYMUTIL=$ac_ct_DSYMUTIL
+ fi
+else
+ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_NMEDIT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NMEDIT"; then
+ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+ ac_ct_NMEDIT=$NMEDIT
+ # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_NMEDIT"; then
+ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_NMEDIT="nmedit"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_NMEDIT" = x; then
+ NMEDIT=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ NMEDIT=$ac_ct_NMEDIT
+ fi
+else
+ NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_LIPO+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$LIPO"; then
+ ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+ ac_ct_LIPO=$LIPO
+ # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_LIPO"; then
+ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_LIPO="lipo"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_LIPO" = x; then
+ LIPO=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ LIPO=$ac_ct_LIPO
+ fi
+else
+ LIPO="$ac_cv_prog_LIPO"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL"; then
+ ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+ ac_ct_OTOOL=$OTOOL
+ # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL"; then
+ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_OTOOL="otool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL" = x; then
+ OTOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL=$ac_ct_OTOOL
+ fi
+else
+ OTOOL="$ac_cv_prog_OTOOL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL64+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL64"; then
+ ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+ ac_ct_OTOOL64=$OTOOL64
+ # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL64"; then
+ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_OTOOL64="otool64"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL64" = x; then
+ OTOOL64=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL64=$ac_ct_OTOOL64
+ fi
+else
+ OTOOL64="$ac_cv_prog_OTOOL64"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if ${lt_cv_apple_cc_single_mod+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&5
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_ld_exported_symbols_list=yes
+else
+ lt_cv_ld_exported_symbols_list=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+$as_echo_n "checking for -force_load linker flag... " >&6; }
+if ${lt_cv_ld_force_load+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+ echo "$AR cru libconftest.a conftest.o" >&5
+ $AR cru libconftest.a conftest.o 2>&5
+ echo "$RANLIB libconftest.a" >&5
+ $RANLIB libconftest.a 2>&5
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&5
+ elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+$as_echo "$lt_cv_ld_force_load" >&6; }
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[012]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+
+for ac_header in dlfcn.h
+do :
+ ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+# Set options
+# Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then :
+ enableval=$enable_static; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_static=no
+fi
+
+
+
+
+
+
+
+enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AS+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AS=$ac_cv_prog_AS
+if test -n "$AS"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
+$as_echo "$AS" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AS"; then
+ ac_ct_AS=$AS
+ # Extract the first word of "as", so it can be a program name with args.
+set dummy as; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AS+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AS"; then
+ ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_AS="as"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AS=$ac_cv_prog_ac_ct_AS
+if test -n "$ac_ct_AS"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
+$as_echo "$ac_ct_AS" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_AS" = x; then
+ AS="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AS=$ac_ct_AS
+ fi
+else
+ AS="$ac_cv_prog_AS"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DLLTOOL"; then
+ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+ ac_ct_DLLTOOL=$DLLTOOL
+ # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DLLTOOL"; then
+ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_DLLTOOL" = x; then
+ DLLTOOL="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DLLTOOL=$ac_ct_DLLTOOL
+ fi
+else
+ DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OBJDUMP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+ ;;
+esac
+
+test -z "$AS" && AS=as
+
+
+
+
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
+
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+ enable_dlopen=no
+
+
+
+ # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then :
+ enableval=$enable_shared; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_shared=yes
+fi
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then :
+ withval=$with_pic; lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for lt_pkg in $withval; do
+ IFS="$lt_save_ifs"
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ pic_mode=default
+fi
+
+
+test -z "$pic_mode" && pic_mode=default
+
+
+
+
+
+
+
+ # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then :
+ enableval=$enable_fast_install; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_fast_install=yes
+fi
+
+
+
+
+
+
+
+
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+test -z "$LN_S" && LN_S="ln -s"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if ${lt_cv_objdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/${ac_tool_prefix}file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ else
+ MAGIC_CMD=:
+ fi
+fi
+
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+
+lt_save_CC="$CC"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+
+lt_prog_compiler_no_builtin_flag=
+
+if test "$GCC" = yes; then
+ case $cc_basename in
+ nvcc*)
+ lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
+ *)
+ lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
+ esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_rtti_exceptions=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="-fno-rtti -fno-exceptions"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_rtti_exceptions=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+ lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+ :
+fi
+
+fi
+
+
+
+
+
+
+ lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_static='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic='-fno-common'
+ ;;
+
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ lt_prog_compiler_static=
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ lt_prog_compiler_can_build_shared=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ lt_prog_compiler_wl='-Xlinker '
+ if test -n "$lt_prog_compiler_pic"; then
+ lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
+ fi
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ lt_prog_compiler_wl='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ else
+ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ lt_prog_compiler_static='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC (with -KPIC) is the default.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
+ nagfor*)
+ # NAG Fortran compiler
+ lt_prog_compiler_wl='-Wl,-Wl,,'
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ ccc*)
+ lt_prog_compiler_wl='-Wl,'
+ # All Alpha code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-qpic'
+ lt_prog_compiler_static='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl=''
+ ;;
+ *Sun\ F* | *Sun*Fortran*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Qoption ld '
+ ;;
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Wl,'
+ ;;
+ *Intel*\ [CF]*Compiler*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ *Portland\ Group*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ lt_prog_compiler_wl='-Wl,'
+ # All OSF/1 code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ rdos*)
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ solaris*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ lt_prog_compiler_wl='-Qoption ld '
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ lt_prog_compiler_pic='-Kconform_pic'
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ unicos*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_can_build_shared=no
+ ;;
+
+ uts4*)
+ lt_prog_compiler_pic='-pic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *)
+ lt_prog_compiler_can_build_shared=no
+ ;;
+ esac
+ fi
+
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic=
+ ;;
+ *)
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+esac
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
+$as_echo "$lt_cv_prog_compiler_pic" >&6; }
+lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic_works=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_pic_works=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+ case $lt_prog_compiler_pic in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+ esac
+else
+ lt_prog_compiler_pic=
+ lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if ${lt_cv_prog_compiler_static_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_static_works=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ else
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+ :
+else
+ lt_prog_compiler_static=
+fi
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+ runpath_var=
+ allow_undefined_flag=
+ always_export_symbols=no
+ archive_cmds=
+ archive_expsym_cmds=
+ compiler_needs_object=no
+ enable_shared_with_static_runtimes=no
+ export_dynamic_flag_spec=
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ hardcode_automatic=no
+ hardcode_direct=no
+ hardcode_direct_absolute=no
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_separator=
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=unsupported
+ inherit_rpath=no
+ link_all_deplibs=unknown
+ module_cmds=
+ module_expsym_cmds=
+ old_archive_from_new_cmds=
+ old_archive_from_expsyms_cmds=
+ thread_safe_flag_spec=
+ whole_archive_flag_spec=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ include_expsyms=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ ld_shlibs=yes
+
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
+ if test "$with_gnu_ld" = yes; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
+ *\ \(GNU\ Binutils\)\ [3-9]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+
+ if test "$lt_use_gnu_ld_interface" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[3-9]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ export_dynamic_flag_spec='${wl}--export-all-symbols'
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ haiku*)
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ link_all_deplibs=yes
+ ;;
+
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ whole_archive_flag_spec=
+ tmp_sharedflag='--shared' ;;
+ xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object=yes
+ ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ xlf* | bgf* | bgxlf* | mpixlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+
+ if test "$ld_shlibs" = no; then
+ runpath_var=
+ hardcode_libdir_flag_spec=
+ export_dynamic_flag_spec=
+ whole_archive_flag_spec=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global
+ # defined symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds=''
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ file_list_spec='${wl}-f,'
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ export_dynamic_flag_spec='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ always_export_symbols=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath_+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_="/usr/lib:/lib"
+ fi
+
+fi
+
+ aix_libpath=$lt_cv_aix_libpath_
+fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag="-z nodefs"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath_+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_="/usr/lib:/lib"
+ fi
+
+fi
+
+ aix_libpath=$lt_cv_aix_libpath_
+fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag=' ${wl}-bernotok'
+ allow_undefined_flag=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec='$convenience'
+ fi
+ archive_cmds_need_lc=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[45]*)
+ export_dynamic_flag_spec=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ case $cc_basename in
+ cl*)
+ # Native MSVC
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ file_list_spec='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
+ enable_shared_with_static_runtimes=yes
+ exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+ # Don't use ranlib
+ old_postinstall_cmds='chmod 644 $oldlib'
+ postlink_cmds='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # Assume MSVC wrapper
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_from_new_cmds='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ enable_shared_with_static_runtimes=yes
+ ;;
+ esac
+ ;;
+
+ darwin* | rhapsody*)
+
+
+ archive_cmds_need_lc=no
+ hardcode_direct=no
+ hardcode_automatic=yes
+ hardcode_shlibpath_var=unsupported
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
+ else
+ whole_archive_flag_spec=''
+ fi
+ link_all_deplibs=yes
+ allow_undefined_flag="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=func_echo_all
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+
+ else
+ ld_shlibs=no
+ fi
+
+ ;;
+
+ dgux*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2.*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ export_dynamic_flag_spec='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='${wl}-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+$as_echo_n "checking if $CC understands -b... " >&6; }
+if ${lt_cv_prog_compiler__b+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler__b=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -b"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler__b=yes
+ fi
+ else
+ lt_cv_prog_compiler__b=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+$as_echo "$lt_cv_prog_compiler__b" >&6; }
+
+if test x"$lt_cv_prog_compiler__b" = xyes; then
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+fi
+
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ ;;
+ *)
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ # This should be the same for all languages, so no per-tag cache variable.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
+$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
+if ${lt_cv_irix_exported_symbol+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int foo (void) { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_irix_exported_symbol=yes
+else
+ lt_cv_irix_exported_symbol=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
+$as_echo "$lt_cv_irix_exported_symbol" >&6; }
+ if test "$lt_cv_irix_exported_symbol" = yes; then
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ fi
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ inherit_rpath=yes
+ link_all_deplibs=yes
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ newsos6)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_shlibpath_var=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ hardcode_direct_absolute=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_separator=:
+ ;;
+
+ solaris*)
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_shlibpath_var=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ link_all_deplibs=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds='$CC -r -o $output$reload_objs'
+ hardcode_direct=no
+ ;;
+ motorola)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4.3*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ export_dynamic_flag_spec='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag='${wl}-z,text'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag='${wl}-z,text'
+ allow_undefined_flag='${wl}-z,nodefs'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-R,$libdir'
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ export_dynamic_flag_spec='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test "$ld_shlibs" = no && can_build_shared=no
+
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl
+ pic_flag=$lt_prog_compiler_pic
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag
+ allow_undefined_flag=
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ then
+ lt_cv_archive_cmds_need_lc=no
+ else
+ lt_cv_archive_cmds_need_lc=yes
+ fi
+ allow_undefined_flag=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
+ archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+if test "$GCC" = yes; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
+ *) lt_sed_strip_eq="s,=/,/,g" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[lt_foo]++; }
+ if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's,/\([A-Za-z]:\),\1,g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix[4-9]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[45]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='${libname}.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec="$LIB"
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
+ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[23].*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2.*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
+
+interix[3-9]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+
+ # Some binutils ld are patched to set DT_RUNPATH
+ if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+ lt_cv_shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
+fi
+
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Add ABI-specific directories to the system library path.
+ sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" ||
+ test -n "$runpath_var" ||
+ test "X$hardcode_automatic" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$hardcode_direct" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
+ test "$hardcode_minus_L" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
+
+if test "$hardcode_action" = relink ||
+ test "$inherit_rpath" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+
+
+
+
+
+ if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
+else
+ ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+
+fi
+
+ ;;
+
+ *)
+ ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = xyes; then :
+ lt_cv_dlopen="shl_load"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if ${ac_cv_lib_dld_shl_load+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dld_shl_load=yes
+else
+ ac_cv_lib_dld_shl_load=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+else
+ ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
+else
+ ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if ${ac_cv_lib_svld_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_svld_dlopen=yes
+else
+ ac_cv_lib_svld_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if ${ac_cv_lib_dld_dld_link+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dld_dld_link=yes
+else
+ ac_cv_lib_dld_dld_link=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self_static+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self_static=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self_static=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ ;;
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+ # Report which library types will actually be built
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[4-9]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+
+
+
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ac_config_commands="$ac_config_commands libtool"
+
+
+
+
+# Only expand once:
+
+
+
+
+LIBT_CURRENT=10
+LIBT_REVISION=0
+
+
+LIBT_AGE=9
+
+LIBT_VERSION_INFO="$LIBT_CURRENT:$LIBT_REVISION:$LIBT_AGE"
+
+
+LIBT_CURRENT_MINUS_AGE=`expr $LIBT_CURRENT - $LIBT_AGE`
+
+
+PKGCONFIG_REQUIRES=
+PKGCONFIG_REQUIRES_PRIVATELY=
+
+
+case "$host" in
+ *-*-mingw*)
+ os_win32=yes
+ ;;
+ *)
+ os_win32=no
+esac
+ if test "$os_win32" = "yes"; then
+ OS_WIN32_TRUE=
+ OS_WIN32_FALSE='#'
+else
+ OS_WIN32_TRUE='#'
+ OS_WIN32_FALSE=
+fi
+
+
+if test "$os_win32" = "yes"; then
+ # Extract the first word of "lib.exe", so it can be a program name with args.
+set dummy lib.exe; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ms_librarian+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ms_librarian"; then
+ ac_cv_prog_ms_librarian="$ms_librarian" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ms_librarian="yes"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_prog_ms_librarian" && ac_cv_prog_ms_librarian="no"
+fi
+fi
+ms_librarian=$ac_cv_prog_ms_librarian
+if test -n "$ms_librarian"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ms_librarian" >&5
+$as_echo "$ms_librarian" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+ if test x$ms_librarian = xyes; then
+ MS_LIB_AVAILABLE_TRUE=
+ MS_LIB_AVAILABLE_FALSE='#'
+else
+ MS_LIB_AVAILABLE_TRUE='#'
+ MS_LIB_AVAILABLE_FALSE=
+fi
+
+
+ac_fn_c_check_decl "$LINENO" "__SUNPRO_C" "ac_cv_have_decl___SUNPRO_C" "$ac_includes_default"
+if test "x$ac_cv_have_decl___SUNPRO_C" = xyes; then :
+ SUNCC="yes"
+else
+ SUNCC="no"
+fi
+
+WARN_CFLAGS=""
+WARNING_CPP_DIRECTIVE="no"
+if test "x$GCC" = "xyes"; then
+ WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
+ -Wmissing-prototypes -Wmissing-declarations \
+ -Wnested-externs -fno-strict-aliasing"
+ WARNING_CPP_DIRECTIVE="yes"
+elif test "x$SUNCC" = "xyes"; then
+ WARN_CFLAGS="-v -fd"
+ WARNING_CPP_DIRECTIVE="yes"
+fi
+if test "x$WARNING_CPP_DIRECTIVE" = "xyes"; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_WARNING_CPP_DIRECTIVE 1
+_ACEOF
+
+fi
+
+
+
+
+# Put a plausible default for CC_FOR_BUILD in Makefile.
+if test -z "$CC_FOR_BUILD"; then
+ if test "x$cross_compiling" = "xno"; then
+ CC_FOR_BUILD='$(CC)'
+ else
+ CC_FOR_BUILD=gcc
+ fi
+fi
+
+# Also set EXEEXT_FOR_BUILD.
+if test "x$cross_compiling" = "xno"; then
+ EXEEXT_FOR_BUILD='$(EXEEXT)'
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for build system executable suffix" >&5
+$as_echo_n "checking for build system executable suffix... " >&6; }
+if ${bfd_cv_build_exeext+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.c
+ bfd_cv_build_exeext=
+ ${CC_FOR_BUILD} -o conftest conftest.c 1>&5 2>&5
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) bfd_cv_build_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ rm -f conftest*
+ test x"${bfd_cv_build_exeext}" = x && bfd_cv_build_exeext=no
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_build_exeext" >&5
+$as_echo "$bfd_cv_build_exeext" >&6; }
+ EXEEXT_FOR_BUILD=""
+ test x"${bfd_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${bfd_cv_build_exeext}
+fi
+
+
+ if test $cross_compiling = yes; then
+ CROSS_COMPILING_TRUE=
+ CROSS_COMPILING_FALSE='#'
+else
+ CROSS_COMPILING_TRUE='#'
+ CROSS_COMPILING_FALSE=
+fi
+
+ if test "$enable_shared" = "yes"; then
+ ENABLE_SHARED_TRUE=
+ ENABLE_SHARED_FALSE='#'
+else
+ ENABLE_SHARED_TRUE='#'
+ ENABLE_SHARED_FALSE=
+fi
+
+
+
+
+# Check whether --with-arch was given.
+if test "${with_arch+set}" = set; then :
+ withval=$with_arch; arch="$withval"
+else
+ arch=auto
+fi
+
+
+if test "x$arch" != xauto; then
+
+cat >>confdefs.h <<_ACEOF
+#define FC_ARCHITECTURE "$arch"
+_ACEOF
+
+fi
+
+
+
+# Checks for header files.
+ac_header_dirent=no
+for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
+ as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
+$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
+if eval \${$as_ac_Header+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <$ac_hdr>
+
+int
+main ()
+{
+if ((DIR *) 0)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$as_ac_Header=yes"
+else
+ eval "$as_ac_Header=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_ac_Header
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
+_ACEOF
+
+ac_header_dirent=$ac_hdr; break
+fi
+
+done
+# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
+if test $ac_header_dirent = dirent.h; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
+$as_echo_n "checking for library containing opendir... " >&6; }
+if ${ac_cv_search_opendir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char opendir ();
+int
+main ()
+{
+return opendir ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' dir; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_opendir=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_opendir+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_opendir+:} false; then :
+
+else
+ ac_cv_search_opendir=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
+$as_echo "$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
+$as_echo_n "checking for library containing opendir... " >&6; }
+if ${ac_cv_search_opendir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char opendir ();
+int
+main ()
+{
+return opendir ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' x; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_opendir=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_opendir+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_opendir+:} false; then :
+
+else
+ ac_cv_search_opendir=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
+$as_echo "$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_header_stdc=yes
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+for ac_header in fcntl.h stdlib.h string.h unistd.h sys/statvfs.h sys/vfs.h sys/statfs.h sys/param.h sys/mount.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+# ------ AX CREATE STDINT H -------------------------------------
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint types" >&5
+$as_echo_n "checking for stdint types... " >&6; }
+ac_stdint_h=`echo src/fcstdint.h`
+# try to shortcircuit - if the default include path of the compiler
+# can find a "stdint.h" header then we assume that all compilers can.
+if ${ac_cv_header_stdint_t+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+old_CXXFLAGS="$CXXFLAGS" ; CXXFLAGS=""
+old_CPPFLAGS="$CPPFLAGS" ; CPPFLAGS=""
+old_CFLAGS="$CFLAGS" ; CFLAGS=""
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdint.h>
+int
+main ()
+{
+int_least32_t v = 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_stdint_result="(assuming C99 compatible system)"
+ ac_cv_header_stdint_t="stdint.h";
+else
+ ac_cv_header_stdint_t=""
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+if test "$GCC" = "yes" && test ".$ac_cv_header_stdint_t" = "."; then
+CFLAGS="-std=c99"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdint.h>
+int
+main ()
+{
+int_least32_t v = 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: your GCC compiler has a defunct stdint.h for its default-mode" >&5
+$as_echo "$as_me: WARNING: your GCC compiler has a defunct stdint.h for its default-mode" >&2;}
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+CXXFLAGS="$old_CXXFLAGS"
+CPPFLAGS="$old_CPPFLAGS"
+CFLAGS="$old_CFLAGS"
+fi
+
+
+v="... $ac_cv_header_stdint_h"
+if test "$ac_stdint_h" = "stdint.h" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: (are you sure you want them in ./stdint.h?)" >&5
+$as_echo "(are you sure you want them in ./stdint.h?)" >&6; }
+elif test "$ac_stdint_h" = "inttypes.h" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: (are you sure you want them in ./inttypes.h?)" >&5
+$as_echo "(are you sure you want them in ./inttypes.h?)" >&6; }
+elif test "_$ac_cv_header_stdint_t" = "_" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: (putting them into $ac_stdint_h)$v" >&5
+$as_echo "(putting them into $ac_stdint_h)$v" >&6; }
+else
+ ac_cv_header_stdint="$ac_cv_header_stdint_t"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint (shortcircuit)" >&5
+$as_echo "$ac_cv_header_stdint (shortcircuit)" >&6; }
+fi
+
+if test "_$ac_cv_header_stdint_t" = "_" ; then # can not shortcircuit..
+
+
+inttype_headers=`echo | sed -e 's/,/ /g'`
+
+ac_cv_stdint_result="(no helpful system typedefs seen)"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uintptr_t" >&5
+$as_echo_n "checking for stdint uintptr_t... " >&6; }
+if ${ac_cv_header_stdint_x+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ac_cv_header_stdint_x="" # the 1997 typedefs (inttypes.h)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5
+$as_echo "(..)" >&6; }
+ for i in stdint.h inttypes.h sys/inttypes.h $inttype_headers
+ do
+ unset ac_cv_type_uintptr_t
+ unset ac_cv_type_uint64_t
+ ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#include <$i>
+"
+if test "x$ac_cv_type_uintptr_t" = xyes; then :
+ ac_cv_header_stdint_x=$i
+else
+ continue
+fi
+
+ ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include<$i>
+"
+if test "x$ac_cv_type_uint64_t" = xyes; then :
+ and64="/uint64_t"
+else
+ and64=""
+fi
+
+ ac_cv_stdint_result="(seen uintptr_t$and64 in $i)"
+ break
+ done
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uintptr_t" >&5
+$as_echo_n "checking for stdint uintptr_t... " >&6; }
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_x" >&5
+$as_echo "$ac_cv_header_stdint_x" >&6; }
+
+
+if test "_$ac_cv_header_stdint_x" = "_" ; then
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uint32_t" >&5
+$as_echo_n "checking for stdint uint32_t... " >&6; }
+if ${ac_cv_header_stdint_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ac_cv_header_stdint_o="" # the 1995 typedefs (sys/inttypes.h)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5
+$as_echo "(..)" >&6; }
+ for i in inttypes.h sys/inttypes.h stdint.h $inttype_headers
+ do
+ unset ac_cv_type_uint32_t
+ unset ac_cv_type_uint64_t
+ ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "#include <$i>
+"
+if test "x$ac_cv_type_uint32_t" = xyes; then :
+ ac_cv_header_stdint_o=$i
+else
+ continue
+fi
+
+ ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include<$i>
+"
+if test "x$ac_cv_type_uint64_t" = xyes; then :
+ and64="/uint64_t"
+else
+ and64=""
+fi
+
+ ac_cv_stdint_result="(seen uint32_t$and64 in $i)"
+ break
+ break;
+ done
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uint32_t" >&5
+$as_echo_n "checking for stdint uint32_t... " >&6; }
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_o" >&5
+$as_echo "$ac_cv_header_stdint_o" >&6; }
+
+fi
+
+if test "_$ac_cv_header_stdint_x" = "_" ; then
+if test "_$ac_cv_header_stdint_o" = "_" ; then
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint u_int32_t" >&5
+$as_echo_n "checking for stdint u_int32_t... " >&6; }
+if ${ac_cv_header_stdint_u+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ac_cv_header_stdint_u="" # the BSD typedefs (sys/types.h)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5
+$as_echo "(..)" >&6; }
+ for i in sys/types.h inttypes.h sys/inttypes.h $inttype_headers ; do
+ unset ac_cv_type_u_int32_t
+ unset ac_cv_type_u_int64_t
+ ac_fn_c_check_type "$LINENO" "u_int32_t" "ac_cv_type_u_int32_t" "#include <$i>
+"
+if test "x$ac_cv_type_u_int32_t" = xyes; then :
+ ac_cv_header_stdint_u=$i
+else
+ continue
+fi
+
+ ac_fn_c_check_type "$LINENO" "u_int64_t" "ac_cv_type_u_int64_t" "#include<$i>
+"
+if test "x$ac_cv_type_u_int64_t" = xyes; then :
+ and64="/u_int64_t"
+else
+ and64=""
+fi
+
+ ac_cv_stdint_result="(seen u_int32_t$and64 in $i)"
+ break
+ break;
+ done
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint u_int32_t" >&5
+$as_echo_n "checking for stdint u_int32_t... " >&6; }
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_u" >&5
+$as_echo "$ac_cv_header_stdint_u" >&6; }
+
+fi fi
+
+if test "_$ac_cv_header_stdint_x" = "_" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint datatype model" >&5
+$as_echo_n "checking for stdint datatype model... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5
+$as_echo "(..)" >&6; }
+
+ # The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5
+$as_echo_n "checking size of char... " >&6; }
+if ${ac_cv_sizeof_char+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_char" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (char)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_char=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5
+$as_echo "$ac_cv_sizeof_char" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_CHAR $ac_cv_sizeof_char
+_ACEOF
+
+
+ # The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5
+$as_echo_n "checking size of short... " >&6; }
+if ${ac_cv_sizeof_short+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_short" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (short)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_short=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5
+$as_echo "$ac_cv_sizeof_short" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_SHORT $ac_cv_sizeof_short
+_ACEOF
+
+
+ # The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
+$as_echo_n "checking size of int... " >&6; }
+if ${ac_cv_sizeof_int+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_int" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (int)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_int=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
+$as_echo "$ac_cv_sizeof_int" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_INT $ac_cv_sizeof_int
+_ACEOF
+
+
+ # The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
+$as_echo_n "checking size of long... " >&6; }
+if ${ac_cv_sizeof_long+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_long" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (long)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_long=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5
+$as_echo "$ac_cv_sizeof_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG $ac_cv_sizeof_long
+_ACEOF
+
+
+ # The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void*" >&5
+$as_echo_n "checking size of void*... " >&6; }
+if ${ac_cv_sizeof_voidp+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void*))" "ac_cv_sizeof_voidp" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_voidp" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (void*)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_voidp=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_voidp" >&5
+$as_echo "$ac_cv_sizeof_voidp" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_VOIDP $ac_cv_sizeof_voidp
+_ACEOF
+
+
+ ac_cv_char_data_model=""
+ ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_char"
+ ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_short"
+ ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_int"
+ ac_cv_long_data_model=""
+ ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_int"
+ ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_long"
+ ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_voidp"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking data model" >&5
+$as_echo_n "checking data model... " >&6; }
+ case "$ac_cv_char_data_model/$ac_cv_long_data_model" in
+ 122/242) ac_cv_data_model="IP16" ; n="standard 16bit machine" ;;
+ 122/244) ac_cv_data_model="LP32" ; n="standard 32bit machine" ;;
+ 122/*) ac_cv_data_model="i16" ; n="unusual int16 model" ;;
+ 124/444) ac_cv_data_model="ILP32" ; n="standard 32bit unixish" ;;
+ 124/488) ac_cv_data_model="LP64" ; n="standard 64bit unixish" ;;
+ 124/448) ac_cv_data_model="LLP64" ; n="unusual 64bit unixish" ;;
+ 124/*) ac_cv_data_model="i32" ; n="unusual int32 model" ;;
+ 128/888) ac_cv_data_model="ILP64" ; n="unusual 64bit numeric" ;;
+ 128/*) ac_cv_data_model="i64" ; n="unusual int64 model" ;;
+ 222/*2) ac_cv_data_model="DSP16" ; n="strict 16bit dsptype" ;;
+ 333/*3) ac_cv_data_model="DSP24" ; n="strict 24bit dsptype" ;;
+ 444/*4) ac_cv_data_model="DSP32" ; n="strict 32bit dsptype" ;;
+ 666/*6) ac_cv_data_model="DSP48" ; n="strict 48bit dsptype" ;;
+ 888/*8) ac_cv_data_model="DSP64" ; n="strict 64bit dsptype" ;;
+ 222/*|333/*|444/*|666/*|888/*) :
+ ac_cv_data_model="iDSP" ; n="unusual dsptype" ;;
+ *) ac_cv_data_model="none" ; n="very unusual model" ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_data_model ($ac_cv_long_data_model, $n)" >&5
+$as_echo "$ac_cv_data_model ($ac_cv_long_data_model, $n)" >&6; }
+
+fi
+
+if test "_$ac_cv_header_stdint_x" != "_" ; then
+ ac_cv_header_stdint="$ac_cv_header_stdint_x"
+elif test "_$ac_cv_header_stdint_o" != "_" ; then
+ ac_cv_header_stdint="$ac_cv_header_stdint_o"
+elif test "_$ac_cv_header_stdint_u" != "_" ; then
+ ac_cv_header_stdint="$ac_cv_header_stdint_u"
+else
+ ac_cv_header_stdint="stddef.h"
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for extra inttypes in chosen header" >&5
+$as_echo_n "checking for extra inttypes in chosen header... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ($ac_cv_header_stdint)" >&5
+$as_echo "($ac_cv_header_stdint)" >&6; }
+unset ac_cv_type_int_least32_t
+unset ac_cv_type_int_fast32_t
+ac_fn_c_check_type "$LINENO" "int_least32_t" "ac_cv_type_int_least32_t" "#include <$ac_cv_header_stdint>
+"
+if test "x$ac_cv_type_int_least32_t" = xyes; then :
+
+fi
+
+ac_fn_c_check_type "$LINENO" "int_fast32_t" "ac_cv_type_int_fast32_t" "#include<$ac_cv_header_stdint>
+"
+if test "x$ac_cv_type_int_fast32_t" = xyes; then :
+
+fi
+
+ac_fn_c_check_type "$LINENO" "intmax_t" "ac_cv_type_intmax_t" "#include <$ac_cv_header_stdint>
+"
+if test "x$ac_cv_type_intmax_t" = xyes; then :
+
+fi
+
+
+fi # shortcircut to system "stdint.h"
+# ------------------ PREPARE VARIABLES ------------------------------
+if test "$GCC" = "yes" ; then
+ac_cv_stdint_message="using gnu compiler "`$CC --version | head -1`
+else
+ac_cv_stdint_message="using $CC"
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: make use of $ac_cv_header_stdint in $ac_stdint_h $ac_cv_stdint_result" >&5
+$as_echo "make use of $ac_cv_header_stdint in $ac_stdint_h $ac_cv_stdint_result" >&6; }
+
+# ----------------- DONE inttypes.h checks START header -------------
+ac_config_commands="$ac_config_commands $ac_stdint_h"
+
+
+
+# Checks for typedefs, structures, and compiler characteristics.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
+$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
+if ${ac_cv_c_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+#ifndef __cplusplus
+ /* Ultrix mips cc rejects this sort of thing. */
+ typedef int charset[2];
+ const charset cs = { 0, 0 };
+ /* SunOS 4.1.1 cc rejects this. */
+ char const *const *pcpcc;
+ char **ppc;
+ /* NEC SVR4.0.2 mips cc rejects this. */
+ struct point {int x, y;};
+ static struct point const zero = {0,0};
+ /* AIX XL C 1.02.0.0 rejects this.
+ It does not let you subtract one const X* pointer from another in
+ an arm of an if-expression whose if-part is not a constant
+ expression */
+ const char *g = "string";
+ pcpcc = &g + (g ? g-g : 0);
+ /* HPUX 7.0 cc rejects these. */
+ ++pcpcc;
+ ppc = (char**) pcpcc;
+ pcpcc = (char const *const *) ppc;
+ { /* SCO 3.2v4 cc rejects this sort of thing. */
+ char tx;
+ char *t = &tx;
+ char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+ *t++ = 0;
+ if (s) return 0;
+ }
+ { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
+ int x[] = {25, 17};
+ const int *foo = &x[0];
+ ++foo;
+ }
+ { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+ typedef const int *iptr;
+ iptr p = 0;
+ ++p;
+ }
+ { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
+ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+ struct s { int j; const int *ap[3]; } bx;
+ struct s *b = &bx; b->j = 5;
+ }
+ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+ const int foo = 10;
+ if (!foo) return 0;
+ }
+ return !cs[0] && !zero.x;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_const=yes
+else
+ ac_cv_c_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
+$as_echo "$ac_cv_c_const" >&6; }
+if test $ac_cv_c_const = no; then
+
+$as_echo "#define const /**/" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
+$as_echo_n "checking for inline... " >&6; }
+if ${ac_cv_c_inline+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_inline=no
+for ac_kw in inline __inline__ __inline; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __cplusplus
+typedef int foo_t;
+static $ac_kw foo_t static_foo () {return 0; }
+$ac_kw foo_t foo () {return 0; }
+#endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_inline=$ac_kw
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ test "$ac_cv_c_inline" != no && break
+done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
+$as_echo "$ac_cv_c_inline" >&6; }
+
+case $ac_cv_c_inline in
+ inline | yes) ;;
+ *)
+ case $ac_cv_c_inline in
+ no) ac_val=;;
+ *) ac_val=$ac_cv_c_inline;;
+ esac
+ cat >>confdefs.h <<_ACEOF
+#ifndef __cplusplus
+#define inline $ac_val
+#endif
+_ACEOF
+ ;;
+esac
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for flexible array members" >&5
+$as_echo_n "checking for flexible array members... " >&6; }
+if ${ac_cv_c_flexmember+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+ #include <stdio.h>
+ #include <stddef.h>
+ struct s { int n; double d[]; };
+int
+main ()
+{
+int m = getchar ();
+ struct s *p = malloc (offsetof (struct s, d)
+ + m * sizeof (double));
+ p->d[0] = 0.0;
+ return p->d != (double *) NULL;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_flexmember=yes
+else
+ ac_cv_c_flexmember=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_flexmember" >&5
+$as_echo "$ac_cv_c_flexmember" >&6; }
+ if test $ac_cv_c_flexmember = yes; then
+
+$as_echo "#define FLEXIBLE_ARRAY_MEMBER /**/" >>confdefs.h
+
+ else
+ $as_echo "#define FLEXIBLE_ARRAY_MEMBER 1" >>confdefs.h
+
+ fi
+
+ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
+if test "x$ac_cv_type_pid_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define pid_t int
+_ACEOF
+
+fi
+
+
+# Checks for library functions.
+for ac_func in vprintf
+do :
+ ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf"
+if test "x$ac_cv_func_vprintf" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_VPRINTF 1
+_ACEOF
+
+ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt"
+if test "x$ac_cv_func__doprnt" = xyes; then :
+
+$as_echo "#define HAVE_DOPRNT 1" >>confdefs.h
+
+fi
+
+fi
+done
+
+
+
+
+
+ for ac_header in $ac_header_list
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+
+
+for ac_func in getpagesize
+do :
+ ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
+if test "x$ac_cv_func_getpagesize" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_GETPAGESIZE 1
+_ACEOF
+
+fi
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5
+$as_echo_n "checking for working mmap... " >&6; }
+if ${ac_cv_func_mmap_fixed_mapped+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ ac_cv_func_mmap_fixed_mapped=no
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+/* malloc might have been renamed as rpl_malloc. */
+#undef malloc
+
+/* Thanks to Mike Haertel and Jim Avera for this test.
+ Here is a matrix of mmap possibilities:
+ mmap private not fixed
+ mmap private fixed at somewhere currently unmapped
+ mmap private fixed at somewhere already mapped
+ mmap shared not fixed
+ mmap shared fixed at somewhere currently unmapped
+ mmap shared fixed at somewhere already mapped
+ For private mappings, we should verify that changes cannot be read()
+ back from the file, nor mmap's back from the file at a different
+ address. (There have been systems where private was not correctly
+ implemented like the infamous i386 svr4.0, and systems where the
+ VM page cache was not coherent with the file system buffer cache
+ like early versions of FreeBSD and possibly contemporary NetBSD.)
+ For shared mappings, we should conversely verify that changes get
+ propagated back to all the places they're supposed to be.
+
+ Grep wants private fixed already mapped.
+ The main things grep needs to know about mmap are:
+ * does it exist and is it safe to write into the mmap'd area
+ * how to use it (BSD variants) */
+
+#include <fcntl.h>
+#include <sys/mman.h>
+
+#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H
+char *malloc ();
+#endif
+
+/* This mess was copied from the GNU getpagesize.h. */
+#ifndef HAVE_GETPAGESIZE
+# ifdef _SC_PAGESIZE
+# define getpagesize() sysconf(_SC_PAGESIZE)
+# else /* no _SC_PAGESIZE */
+# ifdef HAVE_SYS_PARAM_H
+# include <sys/param.h>
+# ifdef EXEC_PAGESIZE
+# define getpagesize() EXEC_PAGESIZE
+# else /* no EXEC_PAGESIZE */
+# ifdef NBPG
+# define getpagesize() NBPG * CLSIZE
+# ifndef CLSIZE
+# define CLSIZE 1
+# endif /* no CLSIZE */
+# else /* no NBPG */
+# ifdef NBPC
+# define getpagesize() NBPC
+# else /* no NBPC */
+# ifdef PAGESIZE
+# define getpagesize() PAGESIZE
+# endif /* PAGESIZE */
+# endif /* no NBPC */
+# endif /* no NBPG */
+# endif /* no EXEC_PAGESIZE */
+# else /* no HAVE_SYS_PARAM_H */
+# define getpagesize() 8192 /* punt totally */
+# endif /* no HAVE_SYS_PARAM_H */
+# endif /* no _SC_PAGESIZE */
+
+#endif /* no HAVE_GETPAGESIZE */
+
+int
+main ()
+{
+ char *data, *data2, *data3;
+ const char *cdata2;
+ int i, pagesize;
+ int fd, fd2;
+
+ pagesize = getpagesize ();
+
+ /* First, make a file with some known garbage in it. */
+ data = (char *) malloc (pagesize);
+ if (!data)
+ return 1;
+ for (i = 0; i < pagesize; ++i)
+ *(data + i) = rand ();
+ umask (0);
+ fd = creat ("conftest.mmap", 0600);
+ if (fd < 0)
+ return 2;
+ if (write (fd, data, pagesize) != pagesize)
+ return 3;
+ close (fd);
+
+ /* Next, check that the tail of a page is zero-filled. File must have
+ non-zero length, otherwise we risk SIGBUS for entire page. */
+ fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600);
+ if (fd2 < 0)
+ return 4;
+ cdata2 = "";
+ if (write (fd2, cdata2, 1) != 1)
+ return 5;
+ data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L);
+ if (data2 == MAP_FAILED)
+ return 6;
+ for (i = 0; i < pagesize; ++i)
+ if (*(data2 + i))
+ return 7;
+ close (fd2);
+ if (munmap (data2, pagesize))
+ return 8;
+
+ /* Next, try to mmap the file at a fixed address which already has
+ something else allocated at it. If we can, also make sure that
+ we see the same garbage. */
+ fd = open ("conftest.mmap", O_RDWR);
+ if (fd < 0)
+ return 9;
+ if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_FIXED, fd, 0L))
+ return 10;
+ for (i = 0; i < pagesize; ++i)
+ if (*(data + i) != *(data2 + i))
+ return 11;
+
+ /* Finally, make sure that changes to the mapped area do not
+ percolate back to the file as seen by read(). (This is a bug on
+ some variants of i386 svr4.0.) */
+ for (i = 0; i < pagesize; ++i)
+ *(data2 + i) = *(data2 + i) + 1;
+ data3 = (char *) malloc (pagesize);
+ if (!data3)
+ return 12;
+ if (read (fd, data3, pagesize) != pagesize)
+ return 13;
+ for (i = 0; i < pagesize; ++i)
+ if (*(data + i) != *(data3 + i))
+ return 14;
+ close (fd);
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_func_mmap_fixed_mapped=yes
+else
+ ac_cv_func_mmap_fixed_mapped=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5
+$as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; }
+if test $ac_cv_func_mmap_fixed_mapped = yes; then
+
+$as_echo "#define HAVE_MMAP 1" >>confdefs.h
+
+fi
+rm -f conftest.mmap conftest.txt
+
+for ac_func in link mkstemp mkostemp _mktemp_s mkdtemp getopt getopt_long getprogname getexecname rand random lrand48 random_r rand_r readlink fstatvfs fstatfs lstat
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for posix_fadvise in fcntl.h" >&5
+$as_echo_n "checking for posix_fadvise in fcntl.h... " >&6; }
+if ${ac_cv_func_posix_fadvise+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ symbol="[^a-zA-Z_0-9]posix_fadvise[^a-zA-Z_0-9]"
+ac_found=no
+for ac_header in fcntl.h ; do
+ ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%' `
+ if test $ac_found != "yes" ; then
+ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <$ac_header>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "$symbol" >/dev/null 2>&1; then :
+ ac_found="$ac_header"
+fi
+rm -f conftest*
+
+ fi
+ fi
+done
+if test "$ac_found" != "no" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_found" >&5
+$as_echo "$ac_found" >&6; }
+ fc_func_posix_fadvise=1
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fc_func_posix_fadvise=0
+fi
+
+fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_POSIX_FADVISE $fc_func_posix_fadvise
+_ACEOF
+
+
+#
+if test "x$ac_cv_func_fstatvfs" = "xyes"; then
+ ac_fn_c_check_member "$LINENO" "struct statvfs" "f_basetype" "ac_cv_member_struct_statvfs_f_basetype" "#include <sys/statvfs.h>
+"
+if test "x$ac_cv_member_struct_statvfs_f_basetype" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STATVFS_F_BASETYPE 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct statvfs" "f_fstypename" "ac_cv_member_struct_statvfs_f_fstypename" "#include <sys/statvfs.h>
+"
+if test "x$ac_cv_member_struct_statvfs_f_fstypename" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STATVFS_F_FSTYPENAME 1
+_ACEOF
+
+
+fi
+
+fi
+if test "x$ac_cv_func_fstatfs" = "xyes"; then
+ ac_fn_c_check_member "$LINENO" "struct statfs" "f_flags" "ac_cv_member_struct_statfs_f_flags" "
+#ifdef HAVE_SYS_VFS_H
+#include <sys/vfs.h>
+#endif
+#ifdef HAVE_SYS_STATFS_H
+#include <sys/statfs.h>
+#endif
+#ifdef HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif
+#ifdef HAVE_SYS_MOUNT_H
+#include <sys/mount.h>
+#endif
+"
+if test "x$ac_cv_member_struct_statfs_f_flags" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STATFS_F_FLAGS 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct statfs" "f_fstypename" "ac_cv_member_struct_statfs_f_fstypename" "
+#ifdef HAVE_SYS_VFS_H
+#include <sys/vfs.h>
+#endif
+#ifdef HAVE_SYS_STATFS_H
+#include <sys/statfs.h>
+#endif
+#ifdef HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif
+#ifdef HAVE_SYS_MOUNT_H
+#include <sys/mount.h>
+#endif
+"
+if test "x$ac_cv_member_struct_statfs_f_fstypename" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STATFS_F_FSTYPENAME 1
+_ACEOF
+
+
+fi
+
+fi
+ac_fn_c_check_member "$LINENO" "struct dirent" "d_type" "ac_cv_member_struct_dirent_d_type" "#include <dirent.h>
+"
+if test "x$ac_cv_member_struct_dirent_d_type" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_DIRENT_D_TYPE 1
+_ACEOF
+
+
+fi
+
+
+#
+# Checks for iconv
+#
+# Check whether --enable-iconv was given.
+if test "${enable_iconv+set}" = set; then :
+ enableval=$enable_iconv;
+else
+ enable_iconv=no
+fi
+
+
+# Check whether --with-libiconv was given.
+if test "${with_libiconv+set}" = set; then :
+ withval=$with_libiconv; if test "x$withval" = "xyes"; then
+ libiconv_prefix=$prefix
+ else
+ libiconv_prefix=$withval
+ fi
+else
+ libiconv_prefix=auto
+fi
+
+
+# Check whether --with-libiconv-includes was given.
+if test "${with_libiconv_includes+set}" = set; then :
+ withval=$with_libiconv_includes; libiconv_includes=$withval
+else
+ libiconv_includes=auto
+fi
+
+
+# Check whether --with-libiconv-lib was given.
+if test "${with_libiconv_lib+set}" = set; then :
+ withval=$with_libiconv_lib; libiconv_lib=$withval
+else
+ libiconv_lib=auto
+fi
+
+
+# if no libiconv,libiconv-includes,libiconv-lib are specified,
+# libc's iconv has a priority.
+if test "$libiconv_includes" != "auto" -a -r ${libiconv_includes}/iconv.h; then
+ libiconv_cflags="-I${libiconv_includes}"
+elif test "$libiconv_prefix" != "auto" -a -r ${libiconv_prefix}/include/iconv.h; then
+ libiconv_cflags="-I${libiconv_prefix}/include"
+else
+ libiconv_cflags=""
+fi
+libiconv_libs=""
+if test "x$libiconv_cflags" != "x"; then
+ if test "$libiconv_lib" != "auto" -a -d ${libiconv_lib}; then
+ libiconv_libs="-L${libiconv_lib} -liconv"
+ elif test "$libiconv_prefix" != "auto" -a -d ${libiconv_prefix}/lib; then
+ libiconv_libs="-L${libiconv_prefix}/lib -liconv"
+ else
+ libiconv_libs="-liconv"
+ fi
+fi
+
+use_iconv=0
+if test "x$enable_iconv" != "xno"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a usable iconv" >&5
+$as_echo_n "checking for a usable iconv... " >&6; }
+ if test "x$libiconv_cflags" != "x" -o "x$libiconv_libs" != "x"; then
+ iconvsaved_CFLAGS="$CFLAGS"
+ iconvsaved_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $libiconv_cflags"
+ LIBS="$LIBS $libiconv_libs"
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <iconv.h>
+int
+main ()
+{
+iconv_open ("from", "to");
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ iconv_type="libiconv"
+ use_iconv=1
+ ICONV_CFLAGS="$libiconv_cflags"
+ ICONV_LIBS="$libiconv_libs"
+
+else
+ use_iconv=0
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+ CFLAGS="$iconvsaved_CFLAGS"
+ LIBS="$iconvsaved_LIBS"
+ fi
+ if test "x$use_iconv" = "x0"; then
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <iconv.h>
+int
+main ()
+{
+iconv_open ("from", "to");
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ iconv_type="libc"
+ use_iconv=1
+else
+ iconv_type="not found"
+ use_iconv=0
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $iconv_type" >&5
+$as_echo "$iconv_type" >&6; }
+
+
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define USE_ICONV $use_iconv
+_ACEOF
+
+#
+# Checks for FreeType
+#
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FREETYPE" >&5
+$as_echo_n "checking for FREETYPE... " >&6; }
+
+if test -n "$FREETYPE_CFLAGS"; then
+ pkg_cv_FREETYPE_CFLAGS="$FREETYPE_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_FREETYPE_CFLAGS=`$PKG_CONFIG --cflags "freetype2" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$FREETYPE_LIBS"; then
+ pkg_cv_FREETYPE_LIBS="$FREETYPE_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_FREETYPE_LIBS=`$PKG_CONFIG --libs "freetype2" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ FREETYPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "freetype2" 2>&1`
+ else
+ FREETYPE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "freetype2" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$FREETYPE_PKG_ERRORS" >&5
+
+ as_fn_error $? "Package requirements (freetype2) were not met:
+
+$FREETYPE_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables FREETYPE_CFLAGS
+and FREETYPE_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables FREETYPE_CFLAGS
+and FREETYPE_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ FREETYPE_CFLAGS=$pkg_cv_FREETYPE_CFLAGS
+ FREETYPE_LIBS=$pkg_cv_FREETYPE_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+PKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES freetype2"
+
+
+
+
+fontconfig_save_libs="$LIBS"
+fontconfig_save_cflags="$CFLAGS"
+LIBS="$LIBS $FREETYPE_LIBS"
+CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
+for ac_func in FT_Get_Next_Char FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names FT_Get_X11_Font_Format FT_Select_Size
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+ac_fn_c_check_member "$LINENO" "FT_Bitmap_Size" "y_ppem" "ac_cv_member_FT_Bitmap_Size_y_ppem" "#include <ft2build.h>
+#include FT_FREETYPE_H
+"
+if test "x$ac_cv_member_FT_Bitmap_Size_y_ppem" = xyes; then :
+ HAVE_FT_BITMAP_SIZE_Y_PPEM=1
+else
+ HAVE_FT_BITMAP_SIZE_Y_PPEM=0
+fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_FT_BITMAP_SIZE_Y_PPEM $HAVE_FT_BITMAP_SIZE_Y_PPEM
+_ACEOF
+
+ac_fn_c_check_member "$LINENO" "TT_OS2" "usLowerOpticalPointSize" "ac_cv_member_TT_OS2_usLowerOpticalPointSize" "
+#include <ft2build.h>
+#include FT_FREETYPE_H
+#include FT_TRUETYPE_TABLES_H
+"
+if test "x$ac_cv_member_TT_OS2_usLowerOpticalPointSize" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_TT_OS2_USLOWEROPTICALPOINTSIZE 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "TT_OS2" "usUpperOpticalPointSize" "ac_cv_member_TT_OS2_usUpperOpticalPointSize" "
+#include <ft2build.h>
+#include FT_FREETYPE_H
+#include FT_TRUETYPE_TABLES_H
+"
+if test "x$ac_cv_member_TT_OS2_usUpperOpticalPointSize" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_TT_OS2_USUPPEROPTICALPOINTSIZE 1
+_ACEOF
+
+
+fi
+
+CFLAGS="$fontconfig_save_cflags"
+LIBS="$fontconfig_save_libs"
+
+#
+# Check expat configuration
+#
+
+# Check whether --with-expat was given.
+if test "${with_expat+set}" = set; then :
+ withval=$with_expat; expat_prefix=$withval
+else
+ expat_prefix=auto
+fi
+
+
+# Check whether --with-expat-includes was given.
+if test "${with_expat_includes+set}" = set; then :
+ withval=$with_expat_includes; expat_includes=$withval
+else
+ expat_includes=auto
+fi
+
+
+# Check whether --with-expat-lib was given.
+if test "${with_expat_lib+set}" = set; then :
+ withval=$with_expat_lib; expat_lib=$withval
+else
+ expat_lib=auto
+fi
+
+
+if test "$enable_libxml2" != "yes"; then
+ use_pkgconfig_for_expat=yes
+ if test "$expat_prefix" = "auto" -a "$expat_includes" = "auto" -a "$expat_lib" = "auto"; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EXPAT" >&5
+$as_echo_n "checking for EXPAT... " >&6; }
+
+if test -n "$EXPAT_CFLAGS"; then
+ pkg_cv_EXPAT_CFLAGS="$EXPAT_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "expat") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_EXPAT_CFLAGS=`$PKG_CONFIG --cflags "expat" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$EXPAT_LIBS"; then
+ pkg_cv_EXPAT_LIBS="$EXPAT_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "expat") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_EXPAT_LIBS=`$PKG_CONFIG --libs "expat" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ EXPAT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "expat" 2>&1`
+ else
+ EXPAT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "expat" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$EXPAT_PKG_ERRORS" >&5
+
+ use_pkgconfig_for_expat=no
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ use_pkgconfig_for_expat=no
+else
+ EXPAT_CFLAGS=$pkg_cv_EXPAT_CFLAGS
+ EXPAT_LIBS=$pkg_cv_EXPAT_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+ else
+ use_pkgconfig_for_expat=no
+ fi
+ if test "x$use_pkgconfig_for_expat" = "xno"; then
+ if test "$expat_includes" != "auto" -a -r ${expat_includes}/expat.h; then
+ EXPAT_CFLAGS="-I${expat_includes}"
+ elif test "$expat_prefix" != "auto" -a -r ${expat_prefix}/include/expat.h; then
+ EXPAT_CFLAGS="-I${expat_prefix}/include"
+ else
+ EXPAT_CFLAGS=""
+ fi
+ if test "$expat_lib" != "auto"; then
+ EXPAT_LIBS="-L${expat_lib} -lexpat"
+ elif test "$expat_prefix" != "auto"; then
+ EXPAT_LIBS="-L${expat_prefix}/lib -lexpat"
+ else
+ EXPAT_LIBS="-lexpat"
+ fi
+ else
+ PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY expat"
+ fi
+
+ expatsaved_CPPFLAGS="$CPPFLAGS"
+ expatsaved_LIBS="$LIBS"
+ CPPFLAGS="$CPPFLAGS $EXPAT_CFLAGS"
+ LIBS="$LIBS $EXPAT_LIBS"
+
+ ac_fn_c_check_header_mongrel "$LINENO" "expat.h" "ac_cv_header_expat_h" "$ac_includes_default"
+if test "x$ac_cv_header_expat_h" = xyes; then :
+
+fi
+
+
+ if test "$ac_cv_header_expat_h" = "no"; then
+ ac_fn_c_check_header_mongrel "$LINENO" "xmlparse.h" "ac_cv_header_xmlparse_h" "$ac_includes_default"
+if test "x$ac_cv_header_xmlparse_h" = xyes; then :
+
+fi
+
+
+ if test "$ac_cv_header_xmlparse_h" = "yes"; then
+ HAVE_XMLPARSE_H=1
+
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_XMLPARSE_H $HAVE_XMLPARSE_H
+_ACEOF
+
+ else
+ as_fn_error $? "
+*** expat is required. or try to use --enable-libxml2" "$LINENO" 5
+ fi
+ fi
+ for ac_func in XML_SetDoctypeDeclHandler
+do :
+ ac_fn_c_check_func "$LINENO" "XML_SetDoctypeDeclHandler" "ac_cv_func_XML_SetDoctypeDeclHandler"
+if test "x$ac_cv_func_XML_SetDoctypeDeclHandler" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_XML_SETDOCTYPEDECLHANDLER 1
+_ACEOF
+
+fi
+done
+
+ if test "$ac_cv_func_XML_SetDoctypeDeclHandler" = "no"; then
+ as_fn_error $? "
+*** expat is required. or try to use --enable-libxml2" "$LINENO" 5
+ fi
+ CPPFLAGS="$expatsaved_CPPFLAGS"
+ LIBS="$expatsaved_LIBS"
+
+
+
+fi
+
+#
+# Check libxml2 configuration
+#
+# Check whether --enable-libxml2 was given.
+if test "${enable_libxml2+set}" = set; then :
+ enableval=$enable_libxml2;
+fi
+
+
+if test "$enable_libxml2" = "yes"; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBXML2" >&5
+$as_echo_n "checking for LIBXML2... " >&6; }
+
+if test -n "$LIBXML2_CFLAGS"; then
+ pkg_cv_LIBXML2_CFLAGS="$LIBXML2_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.6\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libxml-2.0 >= 2.6") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LIBXML2_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0 >= 2.6" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$LIBXML2_LIBS"; then
+ pkg_cv_LIBXML2_LIBS="$LIBXML2_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.6\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libxml-2.0 >= 2.6") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LIBXML2_LIBS=`$PKG_CONFIG --libs "libxml-2.0 >= 2.6" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ LIBXML2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libxml-2.0 >= 2.6" 2>&1`
+ else
+ LIBXML2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libxml-2.0 >= 2.6" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$LIBXML2_PKG_ERRORS" >&5
+
+ as_fn_error $? "Package requirements (libxml-2.0 >= 2.6) were not met:
+
+$LIBXML2_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables LIBXML2_CFLAGS
+and LIBXML2_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables LIBXML2_CFLAGS
+and LIBXML2_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ LIBXML2_CFLAGS=$pkg_cv_LIBXML2_CFLAGS
+ LIBXML2_LIBS=$pkg_cv_LIBXML2_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+ PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY libxml-2.0"
+
+cat >>confdefs.h <<_ACEOF
+#define ENABLE_LIBXML2 1
+_ACEOF
+
+
+
+
+
+ fc_saved_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $LIBXML2_CFLAGS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking SAX1 support in libxml2" >&5
+$as_echo_n "checking SAX1 support in libxml2... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <libxml/xmlversion.h>
+ #if !defined(LIBXML_SAX1_ENABLED)
+ # include "error: No SAX1 support in libxml2"
+ #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
+$as_echo "found" >&6; }
+else
+ as_fn_error $? "
+*** SAX1 support in libxml2 is required. enable it or use expat instead." "$LINENO" 5
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CFLAGS="$fc_saved_CFLAGS"
+fi
+
+#
+# Set default font directory
+#
+
+
+# Check whether --with-default-fonts was given.
+if test "${with_default_fonts+set}" = set; then :
+ withval=$with_default_fonts; default_fonts="$withval"
+else
+ default_fonts=yes
+fi
+
+
+case "$default_fonts" in
+yes)
+ if test "$os_win32" = "yes"; then
+ FC_DEFAULT_FONTS="WINDOWSFONTDIR"
+
+cat >>confdefs.h <<_ACEOF
+#define FC_DEFAULT_FONTS "WINDOWSFONTDIR"
+_ACEOF
+
+ else
+ FC_DEFAULT_FONTS="/usr/share/fonts"
+
+cat >>confdefs.h <<_ACEOF
+#define FC_DEFAULT_FONTS "/usr/share/fonts"
+_ACEOF
+
+ fi
+ ;;
+*)
+ FC_DEFAULT_FONTS="$default_fonts"
+
+cat >>confdefs.h <<_ACEOF
+#define FC_DEFAULT_FONTS "$default_fonts"
+_ACEOF
+
+ ;;
+esac
+
+
+
+#
+# Add more fonts if available. By default, add only the directories
+# with outline fonts; those with bitmaps can be added as desired in
+# local.conf or ~/.fonts.conf
+#
+
+# Check whether --with-add-fonts was given.
+if test "${with_add_fonts+set}" = set; then :
+ withval=$with_add_fonts; add_fonts="$withval"
+else
+ add_fonts=yes
+fi
+
+
+case "$add_fonts" in
+yes)
+ FC_ADD_FONTS=""
+ for dir in /usr/X11R6/lib/X11 /usr/X11/lib/X11 /usr/lib/X11; do
+ case x"$FC_ADD_FONTS" in
+ x)
+ sub="$dir/fonts"
+ if test -d "$sub"; then
+ case x$FC_ADD_FONTS in
+ x)
+ FC_ADD_FONTS="$sub"
+ ;;
+ *)
+ FC_ADD_FONTS="$FC_ADD_FONTS,$sub"
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ done
+
+cat >>confdefs.h <<_ACEOF
+#define FC_ADD_FONTS "$add_fonts"
+_ACEOF
+
+ ;;
+no)
+ FC_ADD_FONTS=""
+ ;;
+*)
+ FC_ADD_FONTS="$add_fonts"
+
+cat >>confdefs.h <<_ACEOF
+#define FC_ADD_FONTS "$add_fonts"
+_ACEOF
+
+ ;;
+esac
+
+
+
+FC_FONTPATH=""
+
+case "$FC_ADD_FONTS" in
+"")
+ ;;
+*)
+ FC_FONTPATH=`echo $FC_ADD_FONTS |
+ sed -e 's/^/<dir>/' -e 's/$/<\/dir>/' -e 's/,/<\/dir> <dir>/g'`
+ ;;
+esac
+
+
+
+#
+# Set default cache directory path
+#
+
+# Check whether --with-cache-dir was given.
+if test "${with_cache_dir+set}" = set; then :
+ withval=$with_cache_dir; fc_cachedir="$withval"
+else
+ fc_cachedir=yes
+fi
+
+
+case $fc_cachedir in
+no|yes)
+ if test "$os_win32" = "yes"; then
+ fc_cachedir="LOCAL_APPDATA_FONTCONFIG_CACHE"
+ else
+ fc_cachedir='${localstatedir}/cache/${PACKAGE}'
+ fi
+ ;;
+*)
+ ;;
+esac
+
+FC_CACHEDIR=${fc_cachedir}
+
+
+FC_FONTDATE=`LC_ALL=C date`
+
+
+
+#
+# Set configuration paths
+#
+
+
+# Check whether --with-templatedir was given.
+if test "${with_templatedir+set}" = set; then :
+ withval=$with_templatedir; templatedir="$withval"
+else
+ templatedir=yes
+fi
+
+
+# Check whether --with-baseconfigdir was given.
+if test "${with_baseconfigdir+set}" = set; then :
+ withval=$with_baseconfigdir; baseconfigdir="$withval"
+else
+ baseconfigdir=yes
+fi
+
+
+# Check whether --with-configdir was given.
+if test "${with_configdir+set}" = set; then :
+ withval=$with_configdir; configdir="$withval"
+else
+ configdir=yes
+fi
+
+
+# Check whether --with-xmldir was given.
+if test "${with_xmldir+set}" = set; then :
+ withval=$with_xmldir; xmldir="$withval"
+else
+ xmldir=yes
+fi
+
+
+case "$templatedir" in
+no|yes)
+ templatedir='${datadir}'/fontconfig/conf.avail
+ ;;
+*)
+ ;;
+esac
+case "$baseconfigdir" in
+no|yes)
+ baseconfigdir='${sysconfdir}'/fonts
+ ;;
+*)
+ ;;
+esac
+case "$configdir" in
+no|yes)
+ configdir='${BASECONFIGDIR}'/conf.d
+ ;;
+*)
+ ;;
+esac
+case "$xmldir" in
+no|yes)
+ xmldir='${datadir}'/xml/fontconfig
+ ;;
+*)
+ ;;
+esac
+
+TEMPLATEDIR=${templatedir}
+BASECONFIGDIR=${baseconfigdir}
+CONFIGDIR=${configdir}
+XMLDIR=${xmldir}
+
+
+
+
+
+
+
+#
+# Thread-safety primitives
+#
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Intel atomic primitives" >&5
+$as_echo_n "checking for Intel atomic primitives... " >&6; }
+if ${fc_cv_have_intel_atomic_primitives+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ fc_cv_have_intel_atomic_primitives=false
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ void memory_barrier (void) { __sync_synchronize (); }
+ int atomic_add (int *i) { return __sync_fetch_and_add (i, 1); }
+ int mutex_trylock (int *m) { return __sync_lock_test_and_set (m, 1); }
+ void mutex_unlock (int *m) { __sync_lock_release (m); }
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ fc_cv_have_intel_atomic_primitives=true
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $fc_cv_have_intel_atomic_primitives" >&5
+$as_echo "$fc_cv_have_intel_atomic_primitives" >&6; }
+if $fc_cv_have_intel_atomic_primitives; then
+
+$as_echo "#define HAVE_INTEL_ATOMIC_PRIMITIVES 1" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Solaris atomic operations" >&5
+$as_echo_n "checking for Solaris atomic operations... " >&6; }
+if ${fc_cv_have_solaris_atomic_ops+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ fc_cv_have_solaris_atomic_ops=false
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <atomic.h>
+ /* This requires Solaris Studio 12.2 or newer: */
+ #include <mbarrier.h>
+ void memory_barrier (void) { __machine_rw_barrier (); }
+ int atomic_add (volatile unsigned *i) { return atomic_add_int_nv (i, 1); }
+ void *atomic_ptr_cmpxchg (volatile void **target, void *cmp, void *newval) { return atomic_cas_ptr (target, cmp, newval); }
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ fc_cv_have_solaris_atomic_ops=true
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $fc_cv_have_solaris_atomic_ops" >&5
+$as_echo "$fc_cv_have_solaris_atomic_ops" >&6; }
+if $fc_cv_have_solaris_atomic_ops; then
+
+$as_echo "#define HAVE_SOLARIS_ATOMIC_OPS 1" >>confdefs.h
+
+fi
+
+if test "$os_win32" = no && ! $have_pthread; then
+ for ac_header in sched.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "sched.h" "ac_cv_header_sched_h" "$ac_includes_default"
+if test "x$ac_cv_header_sched_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_SCHED_H 1
+_ACEOF
+
+fi
+
+done
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sched_yield" >&5
+$as_echo_n "checking for library containing sched_yield... " >&6; }
+if ${ac_cv_search_sched_yield+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char sched_yield ();
+int
+main ()
+{
+return sched_yield ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' rt; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_sched_yield=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_sched_yield+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_sched_yield+:} false; then :
+
+else
+ ac_cv_search_sched_yield=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sched_yield" >&5
+$as_echo "$ac_cv_search_sched_yield" >&6; }
+ac_res=$ac_cv_search_sched_yield
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+$as_echo "#define HAVE_SCHED_YIELD 1" >>confdefs.h
+
+fi
+
+fi
+
+have_pthread=false
+if test "$os_win32" = no; then
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ax_pthread_ok=no
+
+# We used to check for pthread.h first, but this fails if pthread.h
+# requires special compiler flags (e.g. on True64 or Sequent).
+# It gets checked for in the link test anyway.
+
+# First of all, check if the user has set any of the PTHREAD_LIBS,
+# etcetera environment variables, and if threads linking works using
+# them:
+if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+ save_LIBS="$LIBS"
+ LIBS="$PTHREAD_LIBS $LIBS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5
+$as_echo_n "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_join ();
+int
+main ()
+{
+return pthread_join ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ax_pthread_ok=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5
+$as_echo "$ax_pthread_ok" >&6; }
+ if test x"$ax_pthread_ok" = xno; then
+ PTHREAD_LIBS=""
+ PTHREAD_CFLAGS=""
+ fi
+ LIBS="$save_LIBS"
+ CFLAGS="$save_CFLAGS"
+fi
+
+# We must check for the threads library under a number of different
+# names; the ordering is very important because some systems
+# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
+# libraries is broken (non-POSIX).
+
+# Create a list of thread flags to try. Items starting with a "-" are
+# C compiler flags, and other items are library names, except for "none"
+# which indicates that we try without any flags at all, and "pthread-config"
+# which is a program returning the flags for the Pth emulation library.
+
+ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+
+# The ordering *is* (sometimes) important. Some notes on the
+# individual items follow:
+
+# pthreads: AIX (must check this before -lpthread)
+# none: in case threads are in libc; should be tried before -Kthread and
+# other compiler flags to prevent continual compiler warnings
+# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
+# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
+# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
+# -pthreads: Solaris/gcc
+# -mthreads: Mingw32/gcc, Lynx/gcc
+# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
+# doesn't hurt to check since this sometimes defines pthreads too;
+# also defines -D_REENTRANT)
+# ... -mt is also the pthreads flag for HP/aCC
+# pthread: Linux, etcetera
+# --thread-safe: KAI C++
+# pthread-config: use pthread-config program (for GNU Pth library)
+
+case ${host_os} in
+ solaris*)
+
+ # On Solaris (at least, for some versions), libc contains stubbed
+ # (non-functional) versions of the pthreads routines, so link-based
+ # tests will erroneously succeed. (We need to link with -pthreads/-mt/
+ # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
+ # a function called by this macro, so we could check for that, but
+ # who knows whether they'll stub that too in a future libc.) So,
+ # we'll just look for -pthreads and -lpthread first:
+
+ ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags"
+ ;;
+
+ darwin*)
+ ax_pthread_flags="-pthread $ax_pthread_flags"
+ ;;
+ netbsd*)
+ # use libc stubs, don't link against libpthread, to allow
+ # dynamic loading
+ ax_pthread_flags=""
+ ;;
+esac
+
+# Clang doesn't consider unrecognized options an error unless we specify
+# -Werror. We throw in some extra Clang-specific options to ensure that
+# this doesn't happen for GCC, which also accepts -Werror.
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler needs -Werror to reject unknown flags" >&5
+$as_echo_n "checking if compiler needs -Werror to reject unknown flags... " >&6; }
+save_CFLAGS="$CFLAGS"
+ax_pthread_extra_flags="-Werror"
+CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int foo(void);
+int
+main ()
+{
+foo()
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ ax_pthread_extra_flags=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+CFLAGS="$save_CFLAGS"
+
+if test x"$ax_pthread_ok" = xno; then
+for flag in $ax_pthread_flags; do
+
+ case $flag in
+ none)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5
+$as_echo_n "checking whether pthreads work without any flags... " >&6; }
+ ;;
+
+ -*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $flag" >&5
+$as_echo_n "checking whether pthreads work with $flag... " >&6; }
+ PTHREAD_CFLAGS="$flag"
+ ;;
+
+ pthread-config)
+ # Extract the first word of "pthread-config", so it can be a program name with args.
+set dummy pthread-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ax_pthread_config+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ax_pthread_config"; then
+ ac_cv_prog_ax_pthread_config="$ax_pthread_config" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ax_pthread_config="yes"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_prog_ax_pthread_config" && ac_cv_prog_ax_pthread_config="no"
+fi
+fi
+ax_pthread_config=$ac_cv_prog_ax_pthread_config
+if test -n "$ax_pthread_config"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_config" >&5
+$as_echo "$ax_pthread_config" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test x"$ax_pthread_config" = xno; then continue; fi
+ PTHREAD_CFLAGS="`pthread-config --cflags`"
+ PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
+ ;;
+
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$flag" >&5
+$as_echo_n "checking for the pthreads library -l$flag... " >&6; }
+ PTHREAD_LIBS="-l$flag"
+ ;;
+ esac
+
+ save_LIBS="$LIBS"
+ save_CFLAGS="$CFLAGS"
+ LIBS="$PTHREAD_LIBS $LIBS"
+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags"
+
+ # Check for various functions. We must include pthread.h,
+ # since some functions may be macros. (On the Sequent, we
+ # need a special flag -Kthread to make this header compile.)
+ # We check for pthread_join because it is in -lpthread on IRIX
+ # while pthread_create is in libc. We check for pthread_attr_init
+ # due to DEC craziness with -lpthreads. We check for
+ # pthread_cleanup_push because it is one of the few pthread
+ # functions on Solaris that doesn't have a non-functional libc stub.
+ # We try pthread_create on general principles.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <pthread.h>
+ static void routine(void *a) { a = 0; }
+ static void *start_routine(void *a) { return a; }
+int
+main ()
+{
+pthread_t th; pthread_attr_t attr;
+ pthread_create(&th, 0, start_routine, 0);
+ pthread_join(th, 0);
+ pthread_attr_init(&attr);
+ pthread_cleanup_push(routine, 0);
+ pthread_cleanup_pop(0) /* ; */
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ax_pthread_ok=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+ LIBS="$save_LIBS"
+ CFLAGS="$save_CFLAGS"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5
+$as_echo "$ax_pthread_ok" >&6; }
+ if test "x$ax_pthread_ok" = xyes; then
+ break;
+ fi
+
+ PTHREAD_LIBS=""
+ PTHREAD_CFLAGS=""
+done
+fi
+
+# Various other checks:
+if test "x$ax_pthread_ok" = xyes; then
+ save_LIBS="$LIBS"
+ LIBS="$PTHREAD_LIBS $LIBS"
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+
+ # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5
+$as_echo_n "checking for joinable pthread attribute... " >&6; }
+ attr_name=unknown
+ for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <pthread.h>
+int
+main ()
+{
+int attr = $attr; return attr /* ; */
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ attr_name=$attr; break
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ done
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $attr_name" >&5
+$as_echo "$attr_name" >&6; }
+ if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
+
+cat >>confdefs.h <<_ACEOF
+#define PTHREAD_CREATE_JOINABLE $attr_name
+_ACEOF
+
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if more special flags are required for pthreads" >&5
+$as_echo_n "checking if more special flags are required for pthreads... " >&6; }
+ flag=no
+ case ${host_os} in
+ aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";;
+ osf* | hpux*) flag="-D_REENTRANT";;
+ solaris*)
+ if test "$GCC" = "yes"; then
+ flag="-D_REENTRANT"
+ else
+ # TODO: What about Clang on Solaris?
+ flag="-mt -D_REENTRANT"
+ fi
+ ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag" >&5
+$as_echo "$flag" >&6; }
+ if test "x$flag" != xno; then
+ PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PRIO_INHERIT" >&5
+$as_echo_n "checking for PTHREAD_PRIO_INHERIT... " >&6; }
+if ${ax_cv_PTHREAD_PRIO_INHERIT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <pthread.h>
+int
+main ()
+{
+int i = PTHREAD_PRIO_INHERIT;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ax_cv_PTHREAD_PRIO_INHERIT=yes
+else
+ ax_cv_PTHREAD_PRIO_INHERIT=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_PRIO_INHERIT" >&5
+$as_echo "$ax_cv_PTHREAD_PRIO_INHERIT" >&6; }
+ if test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"; then :
+
+$as_echo "#define HAVE_PTHREAD_PRIO_INHERIT 1" >>confdefs.h
+
+fi
+
+ LIBS="$save_LIBS"
+ CFLAGS="$save_CFLAGS"
+
+ # More AIX lossage: compile with *_r variant
+ if test "x$GCC" != xyes; then
+ case $host_os in
+ aix*)
+ case "x/$CC" in #(
+ x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6) :
+ #handle absolute path differently from PATH based program lookup
+ case "x$CC" in #(
+ x/*) :
+ if as_fn_executable_p ${CC}_r; then :
+ PTHREAD_CC="${CC}_r"
+fi ;; #(
+ *) :
+ for ac_prog in ${CC}_r
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_PTHREAD_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$PTHREAD_CC"; then
+ ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_PTHREAD_CC="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+PTHREAD_CC=$ac_cv_prog_PTHREAD_CC
+if test -n "$PTHREAD_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5
+$as_echo "$PTHREAD_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$PTHREAD_CC" && break
+done
+test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
+ ;;
+esac ;; #(
+ *) :
+ ;;
+esac
+ ;;
+ esac
+ fi
+fi
+
+test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
+
+
+
+
+
+# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
+if test x"$ax_pthread_ok" = xyes; then
+ have_pthread=true
+ :
+else
+ ax_pthread_ok=no
+
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+if $have_pthread; then
+ LIBS="$PTHREAD_LIBS $LIBS"
+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+ CC="$PTHREAD_CC"
+
+$as_echo "#define HAVE_PTHREAD 1" >>confdefs.h
+
+fi
+ if $have_pthread; then
+ HAVE_PTHREAD_TRUE=
+ HAVE_PTHREAD_FALSE='#'
+else
+ HAVE_PTHREAD_TRUE='#'
+ HAVE_PTHREAD_FALSE=
+fi
+
+
+
+
+#
+# Let people not build/install docs if they don't have docbook
+#
+
+# Extract the first word of "docbook2html", so it can be a program name with args.
+set dummy docbook2html; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_HASDOCBOOK+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$HASDOCBOOK"; then
+ ac_cv_prog_HASDOCBOOK="$HASDOCBOOK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_HASDOCBOOK="yes"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_prog_HASDOCBOOK" && ac_cv_prog_HASDOCBOOK="no"
+fi
+fi
+HASDOCBOOK=$ac_cv_prog_HASDOCBOOK
+if test -n "$HASDOCBOOK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HASDOCBOOK" >&5
+$as_echo "$HASDOCBOOK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+ if test "x$HASDOCBOOK" = xyes; then
+ USEDOCBOOK_TRUE=
+ USEDOCBOOK_FALSE='#'
+else
+ USEDOCBOOK_TRUE='#'
+ USEDOCBOOK_FALSE=
+fi
+
+
+default_docs="yes"
+#
+# Check if docs exist or can be created
+#
+if test x$HASDOCBOOK = xno; then
+ if test -f $srcdir/doc/fonts-conf.5; then
+ :
+ else
+ default_docs="no"
+ fi
+fi
+
+# Check whether --enable-docs was given.
+if test "${enable_docs+set}" = set; then :
+ enableval=$enable_docs;
+else
+ enable_docs=$default_docs
+fi
+
+
+ if test "x$enable_docs" = xyes; then
+ ENABLE_DOCS_TRUE=
+ ENABLE_DOCS_FALSE='#'
+else
+ ENABLE_DOCS_TRUE='#'
+ ENABLE_DOCS_FALSE=
+fi
+
+
+if test "x$enable_docs" = xyes; then
+ tmp=funcs.$$
+ cat $srcdir/doc/*.fncs | awk '
+ /^@TITLE@/ { if (!done) { printf ("%s\n", $2); done = 1; } }
+ /^@FUNC@/ { if (!done) { printf ("%s\n", $2); done = 1; } }
+ /^@@/ { done = 0; }' > $tmp
+ DOCMAN3=`cat $tmp | awk '{ printf ("%s.3 ", $1); }'`
+ echo DOCMAN3 $DOCMAN3
+ rm -f $tmp
+else
+ DOCMAN3=""
+fi
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+if ${ac_cv_c_bigendian+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_bigendian=unknown
+ # See if we're dealing with a universal compiler.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __APPLE_CC__
+ not a universal capable compiler
+ #endif
+ typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ # Check for potential -arch flags. It is not universal unless
+ # there are at least two -arch flags with different values.
+ ac_arch=
+ ac_prev=
+ for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+ if test -n "$ac_prev"; then
+ case $ac_word in
+ i?86 | x86_64 | ppc | ppc64)
+ if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+ ac_arch=$ac_word
+ else
+ ac_cv_c_bigendian=universal
+ break
+ fi
+ ;;
+ esac
+ ac_prev=
+ elif test "x$ac_word" = "x-arch"; then
+ ac_prev=arch
+ fi
+ done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if sys/param.h defines the BYTE_ORDER macro.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+ && LITTLE_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to _BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # Compile a test program.
+ if test "$cross_compiling" = yes; then :
+ # Try to guess by grepping values from an object file.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+short int ascii_mm[] =
+ { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+ short int ascii_ii[] =
+ { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+ int use_ascii (int i) {
+ return ascii_mm[i] + ascii_ii[i];
+ }
+ short int ebcdic_ii[] =
+ { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+ short int ebcdic_mm[] =
+ { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+ int use_ebcdic (int i) {
+ return ebcdic_mm[i] + ebcdic_ii[i];
+ }
+ extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ ac_cv_c_bigendian=yes
+ fi
+ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if test "$ac_cv_c_bigendian" = unknown; then
+ ac_cv_c_bigendian=no
+ else
+ # finding both strings is unlikely to happen, but who knows?
+ ac_cv_c_bigendian=unknown
+ fi
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long int l;
+ char c[sizeof (long int)];
+ } u;
+ u.l = 1;
+ return u.c[sizeof (long int) - 1] == 1;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_c_bigendian=no
+else
+ ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
+$as_echo "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+ yes)
+ $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
+;; #(
+ no)
+ ;; #(
+ universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+ ;; #(
+ *)
+ as_fn_error $? "unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ esac
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
+$as_echo_n "checking size of void *... " >&6; }
+if ${ac_cv_sizeof_void_p+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_void_p" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (void *)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_void_p=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5
+$as_echo "$ac_cv_sizeof_void_p" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_VOID_P $ac_cv_sizeof_void_p
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler,
+# see AC_CHECK_SIZEOF for more information.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking alignment of double" >&5
+$as_echo_n "checking alignment of double... " >&6; }
+if ${ac_cv_alignof_double+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_double" "$ac_includes_default
+#ifndef offsetof
+# define offsetof(type, member) ((char *) &((type *) 0)->member - (char *) 0)
+#endif
+typedef struct { char x; double y; } ac__type_alignof_;"; then :
+
+else
+ if test "$ac_cv_type_double" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute alignment of double
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_alignof_double=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_double" >&5
+$as_echo "$ac_cv_alignof_double" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define ALIGNOF_DOUBLE $ac_cv_alignof_double
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler,
+# see AC_CHECK_SIZEOF for more information.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking alignment of void *" >&5
+$as_echo_n "checking alignment of void *... " >&6; }
+if ${ac_cv_alignof_void_p+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_void_p" "$ac_includes_default
+#ifndef offsetof
+# define offsetof(type, member) ((char *) &((type *) 0)->member - (char *) 0)
+#endif
+typedef struct { char x; void * y; } ac__type_alignof_;"; then :
+
+else
+ if test "$ac_cv_type_void_p" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute alignment of void *
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_alignof_void_p=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_void_p" >&5
+$as_echo "$ac_cv_alignof_void_p" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define ALIGNOF_VOID_P $ac_cv_alignof_void_p
+_ACEOF
+
+
+
+
+
+
+
+
+ac_config_files="$ac_config_files Makefile fontconfig/Makefile fc-lang/Makefile fc-glyphname/Makefile fc-blanks/Makefile fc-case/Makefile src/Makefile conf.d/Makefile fc-cache/Makefile fc-cat/Makefile fc-list/Makefile fc-match/Makefile fc-pattern/Makefile fc-query/Makefile fc-scan/Makefile fc-validate/Makefile doc/Makefile doc/version.sgml test/Makefile fontconfig.spec fontconfig.pc fontconfig-zip"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes: double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \.
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ if test "x$cache_file" != "x/dev/null"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
+ if test -n "$EXEEXT"; then
+ am__EXEEXT_TRUE=
+ am__EXEEXT_FALSE='#'
+else
+ am__EXEEXT_TRUE='#'
+ am__EXEEXT_FALSE=
+fi
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${OS_WIN32_TRUE}" && test -z "${OS_WIN32_FALSE}"; then
+ as_fn_error $? "conditional \"OS_WIN32\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${MS_LIB_AVAILABLE_TRUE}" && test -z "${MS_LIB_AVAILABLE_FALSE}"; then
+ as_fn_error $? "conditional \"MS_LIB_AVAILABLE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${CROSS_COMPILING_TRUE}" && test -z "${CROSS_COMPILING_FALSE}"; then
+ as_fn_error $? "conditional \"CROSS_COMPILING\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ENABLE_SHARED_TRUE}" && test -z "${ENABLE_SHARED_FALSE}"; then
+ as_fn_error $? "conditional \"ENABLE_SHARED\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_PTHREAD_TRUE}" && test -z "${HAVE_PTHREAD_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_PTHREAD\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${USEDOCBOOK_TRUE}" && test -z "${USEDOCBOOK_FALSE}"; then
+ as_fn_error $? "conditional \"USEDOCBOOK\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ENABLE_DOCS_TRUE}" && test -z "${ENABLE_DOCS_FALSE}"; then
+ as_fn_error $? "conditional \"ENABLE_DOCS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
+ fi
+else
+ as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by fontconfig $as_me 2.11.93, which was
+generated by GNU Autoconf 2.69. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration. Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ --config print configuration, then exit
+ -q, --quiet, --silent
+ do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+fontconfig config.status 2.11.93
+configured by $0, generated by GNU Autoconf 2.69,
+ with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=?*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ --*=)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ $as_echo "$ac_cs_config"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ '') as_fn_error $? "missing file argument" ;;
+ esac
+ as_fn_append CONFIG_FILES " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ as_fn_append CONFIG_HEADERS " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
+ --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+ *) as_fn_append ac_config_targets " $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
+enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
+AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
+ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
+host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
+host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
+host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
+build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
+build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
+build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
+SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
+Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
+GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
+EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
+FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
+LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
+NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
+LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
+exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
+file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
+want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
+sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
+archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
+lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
+CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
+compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
+GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
+lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
+MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
+libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
+postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
+version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
+install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
+striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in AS \
+DLLTOOL \
+OBJDUMP \
+SHELL \
+ECHO \
+PATH_SEPARATOR \
+SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+deplibs_check_method \
+file_magic_cmd \
+file_magic_glob \
+want_nocaseglob \
+sharedlib_from_linklib_cmd \
+AR \
+AR_FLAGS \
+archiver_list_spec \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+nm_file_list_spec \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_pic \
+lt_prog_compiler_wl \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+MANIFEST_TOOL \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_separator \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+install_override_mode \
+finish_eval \
+old_striplib \
+striplib; do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postlink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+sys_lib_dlsearch_path_spec; do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+ac_aux_dir='$ac_aux_dir'
+xsi_shell='$xsi_shell'
+lt_shell_append='$lt_shell_append'
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'
+
+
+
+# variables for create stdint.h replacement
+PACKAGE="$PACKAGE"
+VERSION="$VERSION"
+ac_stdint_h="$ac_stdint_h"
+_ac_stdint_h=`$as_echo "_$PACKAGE-$ac_stdint_h" | $as_tr_cpp`
+ac_cv_stdint_message="$ac_cv_stdint_message"
+ac_cv_header_stdint_t="$ac_cv_header_stdint_t"
+ac_cv_header_stdint_x="$ac_cv_header_stdint_x"
+ac_cv_header_stdint_o="$ac_cv_header_stdint_o"
+ac_cv_header_stdint_u="$ac_cv_header_stdint_u"
+ac_cv_type_uint64_t="$ac_cv_type_uint64_t"
+ac_cv_type_u_int64_t="$ac_cv_type_u_int64_t"
+ac_cv_char_data_model="$ac_cv_char_data_model"
+ac_cv_long_data_model="$ac_cv_long_data_model"
+ac_cv_type_int_least32_t="$ac_cv_type_int_least32_t"
+ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t"
+ac_cv_type_intmax_t="$ac_cv_type_intmax_t"
+
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+ "$ac_stdint_h") CONFIG_COMMANDS="$CONFIG_COMMANDS $ac_stdint_h" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "fontconfig/Makefile") CONFIG_FILES="$CONFIG_FILES fontconfig/Makefile" ;;
+ "fc-lang/Makefile") CONFIG_FILES="$CONFIG_FILES fc-lang/Makefile" ;;
+ "fc-glyphname/Makefile") CONFIG_FILES="$CONFIG_FILES fc-glyphname/Makefile" ;;
+ "fc-blanks/Makefile") CONFIG_FILES="$CONFIG_FILES fc-blanks/Makefile" ;;
+ "fc-case/Makefile") CONFIG_FILES="$CONFIG_FILES fc-case/Makefile" ;;
+ "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "conf.d/Makefile") CONFIG_FILES="$CONFIG_FILES conf.d/Makefile" ;;
+ "fc-cache/Makefile") CONFIG_FILES="$CONFIG_FILES fc-cache/Makefile" ;;
+ "fc-cat/Makefile") CONFIG_FILES="$CONFIG_FILES fc-cat/Makefile" ;;
+ "fc-list/Makefile") CONFIG_FILES="$CONFIG_FILES fc-list/Makefile" ;;
+ "fc-match/Makefile") CONFIG_FILES="$CONFIG_FILES fc-match/Makefile" ;;
+ "fc-pattern/Makefile") CONFIG_FILES="$CONFIG_FILES fc-pattern/Makefile" ;;
+ "fc-query/Makefile") CONFIG_FILES="$CONFIG_FILES fc-query/Makefile" ;;
+ "fc-scan/Makefile") CONFIG_FILES="$CONFIG_FILES fc-scan/Makefile" ;;
+ "fc-validate/Makefile") CONFIG_FILES="$CONFIG_FILES fc-validate/Makefile" ;;
+ "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+ "doc/version.sgml") CONFIG_FILES="$CONFIG_FILES doc/version.sgml" ;;
+ "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
+ "fontconfig.spec") CONFIG_FILES="$CONFIG_FILES fontconfig.spec" ;;
+ "fontconfig.pc") CONFIG_FILES="$CONFIG_FILES fontconfig.pc" ;;
+ "fontconfig-zip") CONFIG_FILES="$CONFIG_FILES fontconfig-zip" ;;
+
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp= ac_tmp=
+ trap 'exit_status=$?
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+ trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+ eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_tt"; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any. Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[ ]*#[ ]*define[ ][ ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ for (key in D) D_is_set[key] = 1
+ FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+ line = \$ 0
+ split(line, arg, " ")
+ if (arg[1] == "#") {
+ defundef = arg[2]
+ mac1 = arg[3]
+ } else {
+ defundef = substr(arg[1], 2)
+ mac1 = arg[2]
+ }
+ split(mac1, mac2, "(") #)
+ macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ print prefix "define", macro P[macro] D[macro]
+ next
+ } else {
+ # Replace #undef with comments. This is necessary, for example,
+ # in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+ if (defundef == "undef") {
+ print "/*", prefix defundef, macro, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$ac_tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir="$ac_dir"; as_fn_mkdir_p
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&2;}
+
+ rm -f "$ac_tmp/stdin"
+ case $ac_file in
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+ esac \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
+ if test x"$ac_file" != x-; then
+ {
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+ } >"$ac_tmp/config.h" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f "$ac_file"
+ mv "$ac_tmp/config.h" "$ac_file" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ fi
+ else
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+ || as_fn_error $? "could not create -" "$LINENO" 5
+ fi
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$_am_arg" : 'X\(//\)[^/]' \| \
+ X"$_am_arg" : 'X\(//\)$' \| \
+ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$_am_arg" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Older Autoconf quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named 'Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running 'make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "$am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir=$dirpart/$fdir; as_fn_mkdir_p
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+ ;;
+ "libtool":C)
+
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags=""
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Assembler program.
+AS=$lt_AS
+
+# DLL creation program.
+DLLTOOL=$lt_DLLTOOL
+
+# Object dumper program.
+OBJDUMP=$lt_OBJDUMP
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that protects backslashes.
+ECHO=$lt_ECHO
+
+# The PATH separator for the build system.
+PATH_SEPARATOR=$lt_PATH_SEPARATOR
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file suffix (normally "o").
+objext=$ac_objext
+
+# Executable file suffix (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# convert \$build file names to \$host format.
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+
+# convert \$build files to toolchain format.
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method = "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# How to find potential files when deplibs_check_method = "file_magic".
+file_magic_glob=$lt_file_magic_glob
+
+# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
+want_nocaseglob=$lt_want_nocaseglob
+
+# Command to associate shared and link libraries.
+sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
+
+# The archiver.
+AR=$lt_AR
+
+# Flags to create an archive.
+AR_FLAGS=$lt_AR_FLAGS
+
+# How to feed a file listing to the archiver.
+archiver_list_spec=$lt_archiver_list_spec
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Whether to use a lock for old archive extraction.
+lock_old_archive_extraction=$lock_old_archive_extraction
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# Specify filename containing input files for \$NM.
+nm_file_list_spec=$lt_nm_file_list_spec
+
+# The root where to search for dependent libraries,and in which our libraries should be installed.
+lt_sysroot=$lt_sysroot
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Manifest tool.
+MANIFEST_TOOL=$lt_MANIFEST_TOOL
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive suffix (normally "a").
+libext=$libext
+
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Permission mode override for installation of shared libraries.
+install_override_mode=$lt_install_override_mode
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ if test x"$xsi_shell" = xyes; then
+ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
+func_dirname ()\
+{\
+\ case ${1} in\
+\ */*) func_dirname_result="${1%/*}${2}" ;;\
+\ * ) func_dirname_result="${3}" ;;\
+\ esac\
+} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_basename ()$/,/^} # func_basename /c\
+func_basename ()\
+{\
+\ func_basename_result="${1##*/}"\
+} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
+func_dirname_and_basename ()\
+{\
+\ case ${1} in\
+\ */*) func_dirname_result="${1%/*}${2}" ;;\
+\ * ) func_dirname_result="${3}" ;;\
+\ esac\
+\ func_basename_result="${1##*/}"\
+} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
+func_stripname ()\
+{\
+\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
+\ # positional parameters, so assign one to ordinary parameter first.\
+\ func_stripname_result=${3}\
+\ func_stripname_result=${func_stripname_result#"${1}"}\
+\ func_stripname_result=${func_stripname_result%"${2}"}\
+} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
+func_split_long_opt ()\
+{\
+\ func_split_long_opt_name=${1%%=*}\
+\ func_split_long_opt_arg=${1#*=}\
+} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
+func_split_short_opt ()\
+{\
+\ func_split_short_opt_arg=${1#??}\
+\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
+} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
+func_lo2o ()\
+{\
+\ case ${1} in\
+\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
+\ *) func_lo2o_result=${1} ;;\
+\ esac\
+} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_xform ()$/,/^} # func_xform /c\
+func_xform ()\
+{\
+ func_xform_result=${1%.*}.lo\
+} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_arith ()$/,/^} # func_arith /c\
+func_arith ()\
+{\
+ func_arith_result=$(( $* ))\
+} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_len ()$/,/^} # func_len /c\
+func_len ()\
+{\
+ func_len_result=${#1}\
+} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+fi
+
+if test x"$lt_shell_append" = xyes; then
+ sed -e '/^func_append ()$/,/^} # func_append /c\
+func_append ()\
+{\
+ eval "${1}+=\\${2}"\
+} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
+func_append_quoted ()\
+{\
+\ func_quote_for_eval "${2}"\
+\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
+} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ # Save a `func_append' function call where possible by direct use of '+='
+ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+else
+ # Save a `func_append' function call even when '+=' is not available
+ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+fi
+
+if test x"$_lt_function_replace_fail" = x":"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
+$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
+fi
+
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+ ;;
+ "$ac_stdint_h":C)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_stdint_h : $_ac_stdint_h" >&5
+$as_echo "$as_me: creating $ac_stdint_h : $_ac_stdint_h" >&6;}
+ac_stdint=$tmp/_stdint.h
+
+echo "#ifndef" $_ac_stdint_h >$ac_stdint
+echo "#define" $_ac_stdint_h "1" >>$ac_stdint
+echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint
+echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint
+echo "/* generated $ac_cv_stdint_message */" >>$ac_stdint
+if test "_$ac_cv_header_stdint_t" != "_" ; then
+echo "#define _STDINT_HAVE_STDINT_H" "1" >>$ac_stdint
+echo "#include <stdint.h>" >>$ac_stdint
+echo "#endif" >>$ac_stdint
+echo "#endif" >>$ac_stdint
+else
+
+cat >>$ac_stdint <<STDINT_EOF
+
+/* ................... shortcircuit part ........................... */
+
+#if defined HAVE_STDINT_H || defined _STDINT_HAVE_STDINT_H
+#include <stdint.h>
+#else
+#include <stddef.h>
+
+/* .................... configured part ............................ */
+
+STDINT_EOF
+
+echo "/* whether we have a C99 compatible stdint header file */" >>$ac_stdint
+if test "_$ac_cv_header_stdint_x" != "_" ; then
+ ac_header="$ac_cv_header_stdint_x"
+ echo "#define _STDINT_HEADER_INTPTR" '"'"$ac_header"'"' >>$ac_stdint
+else
+ echo "/* #undef _STDINT_HEADER_INTPTR */" >>$ac_stdint
+fi
+
+echo "/* whether we have a C96 compatible inttypes header file */" >>$ac_stdint
+if test "_$ac_cv_header_stdint_o" != "_" ; then
+ ac_header="$ac_cv_header_stdint_o"
+ echo "#define _STDINT_HEADER_UINT32" '"'"$ac_header"'"' >>$ac_stdint
+else
+ echo "/* #undef _STDINT_HEADER_UINT32 */" >>$ac_stdint
+fi
+
+echo "/* whether we have a BSD compatible inet types header */" >>$ac_stdint
+if test "_$ac_cv_header_stdint_u" != "_" ; then
+ ac_header="$ac_cv_header_stdint_u"
+ echo "#define _STDINT_HEADER_U_INT32" '"'"$ac_header"'"' >>$ac_stdint
+else
+ echo "/* #undef _STDINT_HEADER_U_INT32 */" >>$ac_stdint
+fi
+
+echo "" >>$ac_stdint
+
+if test "_$ac_header" != "_" ; then if test "$ac_header" != "stddef.h" ; then
+ echo "#include <$ac_header>" >>$ac_stdint
+ echo "" >>$ac_stdint
+fi fi
+
+echo "/* which 64bit typedef has been found */" >>$ac_stdint
+if test "$ac_cv_type_uint64_t" = "yes" ; then
+echo "#define _STDINT_HAVE_UINT64_T" "1" >>$ac_stdint
+else
+echo "/* #undef _STDINT_HAVE_UINT64_T */" >>$ac_stdint
+fi
+if test "$ac_cv_type_u_int64_t" = "yes" ; then
+echo "#define _STDINT_HAVE_U_INT64_T" "1" >>$ac_stdint
+else
+echo "/* #undef _STDINT_HAVE_U_INT64_T */" >>$ac_stdint
+fi
+echo "" >>$ac_stdint
+
+echo "/* which type model has been detected */" >>$ac_stdint
+if test "_$ac_cv_char_data_model" != "_" ; then
+echo "#define _STDINT_CHAR_MODEL" "$ac_cv_char_data_model" >>$ac_stdint
+echo "#define _STDINT_LONG_MODEL" "$ac_cv_long_data_model" >>$ac_stdint
+else
+echo "/* #undef _STDINT_CHAR_MODEL // skipped */" >>$ac_stdint
+echo "/* #undef _STDINT_LONG_MODEL // skipped */" >>$ac_stdint
+fi
+echo "" >>$ac_stdint
+
+echo "/* whether int_least types were detected */" >>$ac_stdint
+if test "$ac_cv_type_int_least32_t" = "yes"; then
+echo "#define _STDINT_HAVE_INT_LEAST32_T" "1" >>$ac_stdint
+else
+echo "/* #undef _STDINT_HAVE_INT_LEAST32_T */" >>$ac_stdint
+fi
+echo "/* whether int_fast types were detected */" >>$ac_stdint
+if test "$ac_cv_type_int_fast32_t" = "yes"; then
+echo "#define _STDINT_HAVE_INT_FAST32_T" "1" >>$ac_stdint
+else
+echo "/* #undef _STDINT_HAVE_INT_FAST32_T */" >>$ac_stdint
+fi
+echo "/* whether intmax_t type was detected */" >>$ac_stdint
+if test "$ac_cv_type_intmax_t" = "yes"; then
+echo "#define _STDINT_HAVE_INTMAX_T" "1" >>$ac_stdint
+else
+echo "/* #undef _STDINT_HAVE_INTMAX_T */" >>$ac_stdint
+fi
+echo "" >>$ac_stdint
+
+ cat >>$ac_stdint <<STDINT_EOF
+/* .................... detections part ............................ */
+
+/* whether we need to define bitspecific types from compiler base types */
+#ifndef _STDINT_HEADER_INTPTR
+#ifndef _STDINT_HEADER_UINT32
+#ifndef _STDINT_HEADER_U_INT32
+#define _STDINT_NEED_INT_MODEL_T
+#else
+#define _STDINT_HAVE_U_INT_TYPES
+#endif
+#endif
+#endif
+
+#ifdef _STDINT_HAVE_U_INT_TYPES
+#undef _STDINT_NEED_INT_MODEL_T
+#endif
+
+#ifdef _STDINT_CHAR_MODEL
+#if _STDINT_CHAR_MODEL+0 == 122 || _STDINT_CHAR_MODEL+0 == 124
+#ifndef _STDINT_BYTE_MODEL
+#define _STDINT_BYTE_MODEL 12
+#endif
+#endif
+#endif
+
+#ifndef _STDINT_HAVE_INT_LEAST32_T
+#define _STDINT_NEED_INT_LEAST_T
+#endif
+
+#ifndef _STDINT_HAVE_INT_FAST32_T
+#define _STDINT_NEED_INT_FAST_T
+#endif
+
+#ifndef _STDINT_HEADER_INTPTR
+#define _STDINT_NEED_INTPTR_T
+#ifndef _STDINT_HAVE_INTMAX_T
+#define _STDINT_NEED_INTMAX_T
+#endif
+#endif
+
+
+/* .................... definition part ............................ */
+
+/* some system headers have good uint64_t */
+#ifndef _HAVE_UINT64_T
+#if defined _STDINT_HAVE_UINT64_T || defined HAVE_UINT64_T
+#define _HAVE_UINT64_T
+#elif defined _STDINT_HAVE_U_INT64_T || defined HAVE_U_INT64_T
+#define _HAVE_UINT64_T
+typedef u_int64_t uint64_t;
+#endif
+#endif
+
+#ifndef _HAVE_UINT64_T
+/* .. here are some common heuristics using compiler runtime specifics */
+#if defined __STDC_VERSION__ && defined __STDC_VERSION__ >= 199901L
+#define _HAVE_UINT64_T
+#define _HAVE_LONGLONG_UINT64_T
+typedef long long int64_t;
+typedef unsigned long long uint64_t;
+
+#elif !defined __STRICT_ANSI__
+#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
+#define _HAVE_UINT64_T
+typedef __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+
+#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__
+/* note: all ELF-systems seem to have loff-support which needs 64-bit */
+#if !defined _NO_LONGLONG
+#define _HAVE_UINT64_T
+#define _HAVE_LONGLONG_UINT64_T
+typedef long long int64_t;
+typedef unsigned long long uint64_t;
+#endif
+
+#elif defined __alpha || (defined __mips && defined _ABIN32)
+#if !defined _NO_LONGLONG
+typedef long int64_t;
+typedef unsigned long uint64_t;
+#endif
+ /* compiler/cpu type to define int64_t */
+#endif
+#endif
+#endif
+
+#if defined _STDINT_HAVE_U_INT_TYPES
+/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */
+typedef u_int8_t uint8_t;
+typedef u_int16_t uint16_t;
+typedef u_int32_t uint32_t;
+
+/* glibc compatibility */
+#ifndef __int8_t_defined
+#define __int8_t_defined
+#endif
+#endif
+
+#ifdef _STDINT_NEED_INT_MODEL_T
+/* we must guess all the basic types. Apart from byte-adressable system, */
+/* there a few 32-bit-only dsp-systems that we guard with BYTE_MODEL 8-} */
+/* (btw, those nibble-addressable systems are way off, or so we assume) */
+
+
+#if defined _STDINT_BYTE_MODEL
+#if _STDINT_LONG_MODEL+0 == 242
+/* 2:4:2 = IP16 = a normal 16-bit system */
+typedef unsigned char uint8_t;
+typedef unsigned short uint16_t;
+typedef unsigned long uint32_t;
+#ifndef __int8_t_defined
+#define __int8_t_defined
+typedef char int8_t;
+typedef short int16_t;
+typedef long int32_t;
+#endif
+#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL == 444
+/* 2:4:4 = LP32 = a 32-bit system derived from a 16-bit */
+/* 4:4:4 = ILP32 = a normal 32-bit system */
+typedef unsigned char uint8_t;
+typedef unsigned short uint16_t;
+typedef unsigned int uint32_t;
+#ifndef __int8_t_defined
+#define __int8_t_defined
+typedef char int8_t;
+typedef short int16_t;
+typedef int int32_t;
+#endif
+#elif _STDINT_LONG_MODEL+0 == 484 || _STDINT_LONG_MODEL+0 == 488
+/* 4:8:4 = IP32 = a 32-bit system prepared for 64-bit */
+/* 4:8:8 = LP64 = a normal 64-bit system */
+typedef unsigned char uint8_t;
+typedef unsigned short uint16_t;
+typedef unsigned int uint32_t;
+#ifndef __int8_t_defined
+#define __int8_t_defined
+typedef char int8_t;
+typedef short int16_t;
+typedef int int32_t;
+#endif
+/* this system has a "long" of 64bit */
+#ifndef _HAVE_UINT64_T
+#define _HAVE_UINT64_T
+typedef unsigned long uint64_t;
+typedef long int64_t;
+#endif
+#elif _STDINT_LONG_MODEL+0 == 448
+/* LLP64 a 64-bit system derived from a 32-bit system */
+typedef unsigned char uint8_t;
+typedef unsigned short uint16_t;
+typedef unsigned int uint32_t;
+#ifndef __int8_t_defined
+#define __int8_t_defined
+typedef char int8_t;
+typedef short int16_t;
+typedef int int32_t;
+#endif
+/* assuming the system has a "long long" */
+#ifndef _HAVE_UINT64_T
+#define _HAVE_UINT64_T
+#define _HAVE_LONGLONG_UINT64_T
+typedef unsigned long long uint64_t;
+typedef long long int64_t;
+#endif
+#else
+#define _STDINT_NO_INT32_T
+#endif
+#else
+#define _STDINT_NO_INT8_T
+#define _STDINT_NO_INT32_T
+#endif
+#endif
+
+/*
+ * quote from SunOS-5.8 sys/inttypes.h:
+ * Use at your own risk. As of February 1996, the committee is squarely
+ * behind the fixed sized types; the "least" and "fast" types are still being
+ * discussed. The probability that the "fast" types may be removed before
+ * the standard is finalized is high enough that they are not currently
+ * implemented.
+ */
+
+#if defined _STDINT_NEED_INT_LEAST_T
+typedef int8_t int_least8_t;
+typedef int16_t int_least16_t;
+typedef int32_t int_least32_t;
+#ifdef _HAVE_UINT64_T
+typedef int64_t int_least64_t;
+#endif
+
+typedef uint8_t uint_least8_t;
+typedef uint16_t uint_least16_t;
+typedef uint32_t uint_least32_t;
+#ifdef _HAVE_UINT64_T
+typedef uint64_t uint_least64_t;
+#endif
+ /* least types */
+#endif
+
+#if defined _STDINT_NEED_INT_FAST_T
+typedef int8_t int_fast8_t;
+typedef int int_fast16_t;
+typedef int32_t int_fast32_t;
+#ifdef _HAVE_UINT64_T
+typedef int64_t int_fast64_t;
+#endif
+
+typedef uint8_t uint_fast8_t;
+typedef unsigned uint_fast16_t;
+typedef uint32_t uint_fast32_t;
+#ifdef _HAVE_UINT64_T
+typedef uint64_t uint_fast64_t;
+#endif
+ /* fast types */
+#endif
+
+#ifdef _STDINT_NEED_INTMAX_T
+#ifdef _HAVE_UINT64_T
+typedef int64_t intmax_t;
+typedef uint64_t uintmax_t;
+#else
+typedef long intmax_t;
+typedef unsigned long uintmax_t;
+#endif
+#endif
+
+#ifdef _STDINT_NEED_INTPTR_T
+#ifndef __intptr_t_defined
+#define __intptr_t_defined
+/* we encourage using "long" to store pointer values, never use "int" ! */
+#if _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484
+typedef unsigned int uintptr_t;
+typedef int intptr_t;
+#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444
+typedef unsigned long uintptr_t;
+typedef long intptr_t;
+#elif _STDINT_LONG_MODEL+0 == 448 && defined _HAVE_UINT64_T
+typedef uint64_t uintptr_t;
+typedef int64_t intptr_t;
+#else /* matches typical system types ILP32 and LP64 - but not IP16 or LLP64 */
+typedef unsigned long uintptr_t;
+typedef long intptr_t;
+#endif
+#endif
+#endif
+
+/* The ISO C99 standard specifies that in C++ implementations these
+ should only be defined if explicitly requested. */
+#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS
+#ifndef UINT32_C
+
+/* Signed. */
+# define INT8_C(c) c
+# define INT16_C(c) c
+# define INT32_C(c) c
+# ifdef _HAVE_LONGLONG_UINT64_T
+# define INT64_C(c) c ## L
+# else
+# define INT64_C(c) c ## LL
+# endif
+
+/* Unsigned. */
+# define UINT8_C(c) c ## U
+# define UINT16_C(c) c ## U
+# define UINT32_C(c) c ## U
+# ifdef _HAVE_LONGLONG_UINT64_T
+# define UINT64_C(c) c ## UL
+# else
+# define UINT64_C(c) c ## ULL
+# endif
+
+/* Maximal type. */
+# ifdef _HAVE_LONGLONG_UINT64_T
+# define INTMAX_C(c) c ## L
+# define UINTMAX_C(c) c ## UL
+# else
+# define INTMAX_C(c) c ## LL
+# define UINTMAX_C(c) c ## ULL
+# endif
+
+ /* literalnumbers */
+#endif
+#endif
+
+/* These limits are merily those of a two complement byte-oriented system */
+
+/* Minimum of signed integral types. */
+# define INT8_MIN (-128)
+# define INT16_MIN (-32767-1)
+# define INT32_MIN (-2147483647-1)
+# define INT64_MIN (-__INT64_C(9223372036854775807)-1)
+/* Maximum of signed integral types. */
+# define INT8_MAX (127)
+# define INT16_MAX (32767)
+# define INT32_MAX (2147483647)
+# define INT64_MAX (__INT64_C(9223372036854775807))
+
+/* Maximum of unsigned integral types. */
+# define UINT8_MAX (255)
+# define UINT16_MAX (65535)
+# define UINT32_MAX (4294967295U)
+# define UINT64_MAX (__UINT64_C(18446744073709551615))
+
+/* Minimum of signed integral types having a minimum size. */
+# define INT_LEAST8_MIN INT8_MIN
+# define INT_LEAST16_MIN INT16_MIN
+# define INT_LEAST32_MIN INT32_MIN
+# define INT_LEAST64_MIN INT64_MIN
+/* Maximum of signed integral types having a minimum size. */
+# define INT_LEAST8_MAX INT8_MAX
+# define INT_LEAST16_MAX INT16_MAX
+# define INT_LEAST32_MAX INT32_MAX
+# define INT_LEAST64_MAX INT64_MAX
+
+/* Maximum of unsigned integral types having a minimum size. */
+# define UINT_LEAST8_MAX UINT8_MAX
+# define UINT_LEAST16_MAX UINT16_MAX
+# define UINT_LEAST32_MAX UINT32_MAX
+# define UINT_LEAST64_MAX UINT64_MAX
+
+ /* shortcircuit*/
+#endif
+ /* once */
+#endif
+#endif
+STDINT_EOF
+fi
+ if cmp -s $ac_stdint_h $ac_stdint 2>/dev/null; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_stdint_h is unchanged" >&5
+$as_echo "$as_me: $ac_stdint_h is unchanged" >&6;}
+ else
+ ac_dir=`$as_dirname -- "$ac_stdint_h" ||
+$as_expr X"$ac_stdint_h" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_stdint_h" : 'X\(//\)[^/]' \| \
+ X"$ac_stdint_h" : 'X\(//\)$' \| \
+ X"$ac_stdint_h" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_stdint_h" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir="$ac_dir"; as_fn_mkdir_p
+ rm -f $ac_stdint_h
+ mv $ac_stdint $ac_stdint_h
+ fi
+ ;;
+
+ esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
diff --git a/configure.ac b/configure.ac
index 1086a9a5..bb988048 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,7 +33,7 @@ dnl This is the package version number, not the shared library
dnl version. This same version number must appear in fontconfig/fontconfig.h
dnl Yes, it is a pain to synchronize version numbers. Unfortunately, it's
dnl not possible to extract the version number here from fontconfig.h
-AC_INIT([fontconfig], [2.11.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig])
+AC_INIT([fontconfig], [2.11.93], [https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig])
AM_INIT_AUTOMAKE([1.11 parallel-tests dist-bzip2])
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
@@ -53,6 +53,7 @@ m4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR], AC_SUBST([pkgconfigdir], ${libdir}/
AM_MISSING_PROG([GIT], [git])
AM_MISSING_PROG([GPERF], [gperf])
+AM_PATH_PYTHON
AC_MSG_CHECKING([for RM macro])
_predefined_rm=`make -p -f /dev/null 2>/dev/null|grep '^RM ='|sed -e 's/^RM = //'`
@@ -72,11 +73,11 @@ dnl libtool versioning
dnl bump revision when fixing bugs
dnl bump current and age, reset revision to zero when adding APIs
dnl bump current, leave age, reset revision to zero when changing/removing APIS
-LIBT_CURRENT=9
+LIBT_CURRENT=10
LIBT_REVISION=0
AC_SUBST(LIBT_CURRENT)
AC_SUBST(LIBT_REVISION)
-LIBT_AGE=8
+LIBT_AGE=9
LIBT_VERSION_INFO="$LIBT_CURRENT:$LIBT_REVISION:$LIBT_AGE"
AC_SUBST(LIBT_VERSION_INFO)
@@ -103,11 +104,19 @@ if test "$os_win32" = "yes"; then
fi
AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
+AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
WARN_CFLAGS=""
+WARNING_CPP_DIRECTIVE="no"
if test "x$GCC" = "xyes"; then
WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
-Wmissing-prototypes -Wmissing-declarations \
-Wnested-externs -fno-strict-aliasing"
+ WARNING_CPP_DIRECTIVE="yes"
+elif test "x$SUNCC" = "xyes"; then
+ WARN_CFLAGS="-v -fd"
+ WARNING_CPP_DIRECTIVE="yes"
+fi
+if test "x$WARNING_CPP_DIRECTIVE" = "xyes"; then
AC_DEFINE_UNQUOTED(HAVE_WARNING_CPP_DIRECTIVE,1,
[Can use #warning in C files])
fi
@@ -138,7 +147,7 @@ dnl ==========================================================================
# Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
-AC_CHECK_HEADERS([fcntl.h regex.h stdlib.h string.h unistd.h sys/statvfs.h sys/vfs.h sys/statfs.h sys/param.h sys/mount.h])
+AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h sys/statvfs.h sys/vfs.h sys/statfs.h sys/param.h sys/mount.h])
AX_CREATE_STDINT_H([src/fcstdint.h])
# Checks for typedefs, structures, and compiler characteristics.
@@ -150,44 +159,12 @@ AC_TYPE_PID_T
# Checks for library functions.
AC_FUNC_VPRINTF
AC_FUNC_MMAP
-AC_CHECK_FUNCS([link mkstemp mkostemp _mktemp_s mkdtemp getopt getopt_long getprogname getexecname rand random lrand48 random_r rand_r readlink regcomp regerror regexec regfree fstatvfs fstatfs lstat])
+AC_CHECK_FUNCS([link mkstemp mkostemp _mktemp_s mkdtemp getopt getopt_long getprogname getexecname rand random lrand48 random_r rand_r readlink fstatvfs fstatfs lstat])
dnl AC_CHECK_FUNCS doesn't check for header files.
dnl posix_fadvise() may be not available in older libc.
AC_CHECK_SYMBOL([posix_fadvise], [fcntl.h], [fc_func_posix_fadvise=1], [fc_func_posix_fadvise=0])
-AC_DEFINE_UNQUOTED([HAVE_POSIX_FADVISE], [$fc_func_posix_fadvise], [Define to 1 if you have the 'posix_fadivse' function.])
-if test "$os_win32" = "no"; then
- AC_MSG_CHECKING([for scandir])
- fc_saved_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $WARN_CFLAGS -Werror"
- AC_TRY_COMPILE([
- #include <dirent.h>
- int main(void);
- ], [
- int (* comp) (const struct dirent **, const struct dirent **) = 0;
- struct dirent **d;
- return scandir(".", &d, 0, comp) >= 0;
- ], [
- AC_MSG_RESULT([yes])
- AC_DEFINE([HAVE_SCANDIR], [1], [Define to 1 if you have the 'scandir' function.])
- ], [
- AC_TRY_COMPILE([
- #include <dirent.h>
- int main(void);
- ], [
- int (* comp) (const void *, const void *) = 0;
- struct dirent **d;
- return scandir(".", &d, 0, comp) >= 0;
- ], [
- AC_MSG_RESULT([yes])
- AC_DEFINE([HAVE_SCANDIR_VOID_P], [1], [Define to 1 if you have the 'scandir' function with int (* compar)(const void *, const void *)])
- ],[
- AC_MSG_ERROR([
-*** No scandir function available.])
- ])
- ])
-fi
-CFLAGS="$fc_saved_CFLAGS"
+AC_DEFINE_UNQUOTED([HAVE_POSIX_FADVISE], [$fc_func_posix_fadvise], [Define to 1 if you have the 'posix_fadvise' function.])
#
if test "x$ac_cv_func_fstatvfs" = "xyes"; then
@@ -211,12 +188,6 @@ if test "x$ac_cv_func_fstatfs" = "xyes"; then
fi
AC_CHECK_MEMBERS([struct dirent.d_type],,,
[#include <dirent.h>])
-#
-# regex
-#
-if test "x$ac_cv_func_regcomp" = "xyes" -a "x$ac_cv_func_regerror" = "xyes" -a "x$ac_cv_func_regexec" = "xyes" -a "x$ac_cv_func_regfree"; then
- AC_DEFINE(USE_REGEX,,[Use regex])
-fi
#
# Checks for iconv
@@ -321,6 +292,10 @@ AC_CHECK_MEMBER(FT_Bitmap_Size.y_ppem,
#include FT_FREETYPE_H])
AC_DEFINE_UNQUOTED(HAVE_FT_BITMAP_SIZE_Y_PPEM,$HAVE_FT_BITMAP_SIZE_Y_PPEM,
[FT_Bitmap_Size structure includes y_ppem field])
+AC_CHECK_MEMBERS([TT_OS2.usLowerOpticalPointSize, TT_OS2.usUpperOpticalPointSize], [], [], [[
+#include <ft2build.h>
+#include FT_FREETYPE_H
+#include FT_TRUETYPE_TABLES_H]])
CFLAGS="$fontconfig_save_cflags"
LIBS="$fontconfig_save_libs"
@@ -706,6 +681,7 @@ dnl Figure out what cache format suffix to use for this architecture
AC_C_BIGENDIAN
AC_CHECK_SIZEOF([void *])
AC_CHECK_ALIGNOF([double])
+AC_CHECK_ALIGNOF([void *])
dnl include the header file for workaround of miscalculating size on autoconf
dnl particularly for fat binaries
@@ -722,6 +698,7 @@ Makefile
fontconfig/Makefile
fc-lang/Makefile
fc-glyphname/Makefile
+fc-blanks/Makefile
fc-case/Makefile
src/Makefile
conf.d/Makefile
diff --git a/depcomp b/depcomp
new file mode 100755
index 00000000..4ebd5b3a
--- /dev/null
+++ b/depcomp
@@ -0,0 +1,791 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2013-05-30.07; # UTC
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+ '')
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+ depmode Dependency tracking mode.
+ source Source file read by 'PROGRAMS ARGS'.
+ object Object file output by 'PROGRAMS ARGS'.
+ DEPDIR directory where to store dependencies.
+ depfile Dependency file to output.
+ tmpdepfile Temporary file to use when outputting dependencies.
+ libtool Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "depcomp $scriptversion"
+ exit $?
+ ;;
+esac
+
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'. Note that this directory component will
+# be either empty or ending with a '/' character. This is deliberate.
+set_dir_from ()
+{
+ case $1 in
+ */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+ *) dir=;;
+ esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+ base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+ echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+ # If the compiler actually managed to produce a dependency file,
+ # post-process it.
+ if test -f "$tmpdepfile"; then
+ # Each line is of the form 'foo.o: dependency.h'.
+ # Do two passes, one to just change these to
+ # $object: dependency.h
+ # and one to simply output
+ # dependency.h:
+ # which is needed to avoid the deleted-header problem.
+ { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+ sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+ } > "$depfile"
+ rm -f "$tmpdepfile"
+ else
+ make_dummy_depfile
+ fi
+}
+
+# A tabulation character.
+tab=' '
+# A newline character.
+nl='
+'
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+ echo "depcomp: Variables source, object and depmode must be set" 1>&2
+ exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+ sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
+# Some modes work just like other modes, but use different flags. We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write. Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+ # HP compiler uses -M and no extra arg.
+ gccflag=-M
+ depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
+fi
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvisualcpp
+fi
+
+if test "$depmode" = msvc7msys; then
+ # This is just like msvc7 but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvc7
+fi
+
+if test "$depmode" = xlc; then
+ # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+ gccflag=-qmakedep=gcc,-MF
+ depmode=gcc
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want. Yay! Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff. Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am. Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+ for arg
+ do
+ case $arg in
+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+ *) set fnord "$@" "$arg" ;;
+ esac
+ shift # fnord
+ shift # $arg
+ done
+ "$@"
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ mv "$tmpdepfile" "$depfile"
+ ;;
+
+gcc)
+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
+## There are various ways to get dependency output from gcc. Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+## up in a subdir. Having to rename by hand is ugly.
+## (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+## -MM, not -M (despite what the docs say). Also, it might not be
+## supported by the other compilers which use the 'gcc' depmode.
+## - Using -M directly means running the compiler twice (even worse
+## than renaming).
+ if test -z "$gccflag"; then
+ gccflag=-MD,
+ fi
+ "$@" -Wp,"$gccflag$tmpdepfile"
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ # The second -e expression handles DOS-style file names with drive
+ # letters.
+ sed -e 's/^[^:]*: / /' \
+ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the "deleted header file" problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header). We avoid this by adding
+## dummy dependencies for each header file. Too bad gcc doesn't do
+## this for us directly.
+## Some versions of gcc put a space before the ':'. On the theory
+## that the space means something, we add a space to the output as
+## well. hp depmode also adds that space, but also prefixes the VPATH
+## to the object. Take care to not repeat it in the output.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+sgi)
+ if test "$libtool" = yes; then
+ "$@" "-Wp,-MDupdate,$tmpdepfile"
+ else
+ "$@" -MDupdate "$tmpdepfile"
+ fi
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+
+ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
+ echo "$object : \\" > "$depfile"
+ # Clip off the initial element (the dependent). Don't try to be
+ # clever and replace this with sed code, as IRIX sed won't handle
+ # lines with more than a fixed number of characters (4096 in
+ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
+ # the IRIX cc adds comments like '#:fec' to the end of the
+ # dependency line.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
+ | tr "$nl" ' ' >> "$depfile"
+ echo >> "$depfile"
+ # The second pass generates a dummy entry for each header file.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+ >> "$depfile"
+ else
+ make_dummy_depfile
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+xlc)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+aix)
+ # The C for AIX Compiler uses -M and outputs the dependencies
+ # in a .u file. In older versions, this file always lives in the
+ # current directory. Also, the AIX compiler puts '$object:' at the
+ # start of each line; $object doesn't have directory information.
+ # Version 6 uses the directory in both cases.
+ set_dir_from "$object"
+ set_base_from "$object"
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$base.u
+ tmpdepfile3=$dir.libs/$base.u
+ "$@" -Wc,-M
+ else
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$dir$base.u
+ tmpdepfile3=$dir$base.u
+ "$@" -M
+ fi
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ aix_post_process_depfile
+ ;;
+
+tcc)
+ # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+ # FIXME: That version still under development at the moment of writing.
+ # Make that this statement remains true also for stable, released
+ # versions.
+ # It will wrap lines (doesn't matter whether long or short) with a
+ # trailing '\', as in:
+ #
+ # foo.o : \
+ # foo.c \
+ # foo.h \
+ #
+ # It will put a trailing '\' even on the last line, and will use leading
+ # spaces rather than leading tabs (at least since its commit 0394caf7
+ # "Emit spaces for -MD").
+ "$@" -MD -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+ # We have to change lines of the first kind to '$object: \'.
+ sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+ # And for each line of the second kind, we have to emit a 'dep.h:'
+ # dummy dependency, to avoid the deleted-header problem.
+ sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file. A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+ # Portland's C compiler understands '-MD'.
+ # Will always output deps to 'file.d' where file is the root name of the
+ # source file under compilation, even if file resides in a subdirectory.
+ # The object file name does not affect the name of the '.d' file.
+ # pgcc 10.2 will output
+ # foo.o: sub/foo.c sub/foo.h
+ # and will wrap long lines using '\' :
+ # foo.o: sub/foo.c ... \
+ # sub/foo.h ... \
+ # ...
+ set_dir_from "$object"
+ # Use the source, not the object, to determine the base name, since
+ # that's sadly what pgcc will do too.
+ set_base_from "$source"
+ tmpdepfile=$base.d
+
+ # For projects that build the same source file twice into different object
+ # files, the pgcc approach of using the *source* file root name can cause
+ # problems in parallel builds. Use a locking strategy to avoid stomping on
+ # the same $tmpdepfile.
+ lockdir=$base.d-lock
+ trap "
+ echo '$0: caught signal, cleaning up...' >&2
+ rmdir '$lockdir'
+ exit 1
+ " 1 2 13 15
+ numtries=100
+ i=$numtries
+ while test $i -gt 0; do
+ # mkdir is a portable test-and-set.
+ if mkdir "$lockdir" 2>/dev/null; then
+ # This process acquired the lock.
+ "$@" -MD
+ stat=$?
+ # Release the lock.
+ rmdir "$lockdir"
+ break
+ else
+ # If the lock is being held by a different process, wait
+ # until the winning process is done or we timeout.
+ while test -d "$lockdir" && test $i -gt 0; do
+ sleep 1
+ i=`expr $i - 1`
+ done
+ fi
+ i=`expr $i - 1`
+ done
+ trap - 1 2 13 15
+ if test $i -le 0; then
+ echo "$0: failed to acquire lock after $numtries attempts" >&2
+ echo "$0: check lockdir '$lockdir'" >&2
+ exit 1
+ fi
+
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ # Each line is of the form `foo.o: dependent.h',
+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+ | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp2)
+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+ # compilers, which have integrated preprocessors. The correct option
+ # to use with these is +Maked; it writes dependencies to a file named
+ # 'foo.d', which lands next to the object file, wherever that
+ # happens to be.
+ # Much of this is similar to the tru64 case; see comments there.
+ set_dir_from "$object"
+ set_base_from "$object"
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir.libs/$base.d
+ "$@" -Wc,+Maked
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ "$@" +Maked
+ fi
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
+ # Add 'dependent.h:' lines.
+ sed -ne '2,${
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
+ else
+ make_dummy_depfile
+ fi
+ rm -f "$tmpdepfile" "$tmpdepfile2"
+ ;;
+
+tru64)
+ # The Tru64 compiler uses -MD to generate dependencies as a side
+ # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+ # dependencies in 'foo.d' instead, so we check for that too.
+ # Subdirectories are respected.
+ set_dir_from "$object"
+ set_base_from "$object"
+
+ if test "$libtool" = yes; then
+ # Libtool generates 2 separate objects for the 2 libraries. These
+ # two compilations output dependencies in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir$base.o.d # libtool 1.5
+ tmpdepfile2=$dir.libs/$base.o.d # Likewise.
+ tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
+ "$@" -Wc,-MD
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ "$@" -MD
+ fi
+
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ # Same post-processing that is required for AIX mode.
+ aix_post_process_depfile
+ ;;
+
+msvc7)
+ if test "$libtool" = yes; then
+ showIncludes=-Wc,-showIncludes
+ else
+ showIncludes=-showIncludes
+ fi
+ "$@" $showIncludes > "$tmpdepfile"
+ stat=$?
+ grep -v '^Note: including file: ' "$tmpdepfile"
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ # The first sed program below extracts the file names and escapes
+ # backslashes for cygpath. The second sed program outputs the file
+ # name when reading, but also accumulates all include files in the
+ # hold buffer in order to output them again at the end. This only
+ # works with sed implementations that can handle large buffers.
+ sed < "$tmpdepfile" -n '
+/^Note: including file: *\(.*\)/ {
+ s//\1/
+ s/\\/\\\\/g
+ p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/'"$tab"'\1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+ s/.*/'"$tab"'/
+ G
+ p
+}' >> "$depfile"
+ echo >> "$depfile" # make sure the fragment doesn't end with a backslash
+ rm -f "$tmpdepfile"
+ ;;
+
+msvc7msys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+#nosideeffect)
+ # This comment above is used by automake to tell side-effect
+ # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout, regardless of -o.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove '-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ test -z "$dashmflag" && dashmflag=-M
+ # Require at least two characters before searching for ':'
+ # in the target name. This is to cope with DOS-style filenames:
+ # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
+ "$@" $dashmflag |
+ sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this sed invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+dashXmstdout)
+ # This case only exists to satisfy depend.m4. It is never actually
+ # run, as this mode is specially recognized in the preamble.
+ exit 1
+ ;;
+
+makedepend)
+ "$@" || exit $?
+ # Remove any Libtool call
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+ # X makedepend
+ shift
+ cleared=no eat=no
+ for arg
+ do
+ case $cleared in
+ no)
+ set ""; shift
+ cleared=yes ;;
+ esac
+ if test $eat = yes; then
+ eat=no
+ continue
+ fi
+ case "$arg" in
+ -D*|-I*)
+ set fnord "$@" "$arg"; shift ;;
+ # Strip any option that makedepend may not understand. Remove
+ # the object too, otherwise makedepend will parse it as a source file.
+ -arch)
+ eat=yes ;;
+ -*|$object)
+ ;;
+ *)
+ set fnord "$@" "$arg"; shift ;;
+ esac
+ done
+ obj_suffix=`echo "$object" | sed 's/^.*\././'`
+ touch "$tmpdepfile"
+ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+ rm -f "$depfile"
+ # makedepend may prepend the VPATH from the source file name to the object.
+ # No need to regex-escape $object, excess matching of '.' is harmless.
+ sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process the last invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed '1,2d' "$tmpdepfile" \
+ | tr ' ' "$nl" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile" "$tmpdepfile".bak
+ ;;
+
+cpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove '-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ "$@" -E \
+ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ | sed '$ s: \\$::' > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ cat < "$tmpdepfile" >> "$depfile"
+ sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvisualcpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ IFS=" "
+ for arg
+ do
+ case "$arg" in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+ set fnord "$@"
+ shift
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
+ esac
+ done
+ "$@" -E 2>/dev/null |
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+ echo "$tab" >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvcmsys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+none)
+ exec "$@"
+ ;;
+
+*)
+ echo "Unknown depmode $depmode" 1>&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/doc/FcAtomicCreate.3 b/doc/FcAtomicCreate.3
new file mode 100644
index 00000000..e5d12e8e
--- /dev/null
+++ b/doc/FcAtomicCreate.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcAtomicCreate" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcAtomicCreate \- create an FcAtomic object
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcAtomic * FcAtomicCreate (const FcChar8 *\fIfile\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Creates a data structure containing data needed to control access to \fIfile\fR\&.
+Writing is done to a separate file. Once that file is complete, the original
+configuration file is atomically replaced so that reading process always see
+a consistent and complete file without the need to lock for reading.
diff --git a/doc/FcAtomicDeleteNew.3 b/doc/FcAtomicDeleteNew.3
new file mode 100644
index 00000000..bb1a1f46
--- /dev/null
+++ b/doc/FcAtomicDeleteNew.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcAtomicDeleteNew" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcAtomicDeleteNew \- delete new file
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcAtomicDeleteNew (FcAtomic *\fIatomic\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Deletes the new file. Used in error recovery to back out changes.
diff --git a/doc/FcAtomicDestroy.3 b/doc/FcAtomicDestroy.3
new file mode 100644
index 00000000..c2fff80c
--- /dev/null
+++ b/doc/FcAtomicDestroy.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcAtomicDestroy" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcAtomicDestroy \- destroy an FcAtomic object
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcAtomicDestroy (FcAtomic *\fIatomic\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Destroys \fIatomic\fR\&.
diff --git a/doc/FcAtomicLock.3 b/doc/FcAtomicLock.3
new file mode 100644
index 00000000..0d4a94cf
--- /dev/null
+++ b/doc/FcAtomicLock.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcAtomicLock" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcAtomicLock \- lock a file
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcAtomicLock (FcAtomic *\fIatomic\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Attempts to lock the file referenced by \fIatomic\fR\&.
+Returns FcFalse if the file is already locked, else returns FcTrue and
+leaves the file locked.
diff --git a/doc/FcAtomicNewFile.3 b/doc/FcAtomicNewFile.3
new file mode 100644
index 00000000..2c1fc6bb
--- /dev/null
+++ b/doc/FcAtomicNewFile.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcAtomicNewFile" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcAtomicNewFile \- return new temporary file name
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 * FcAtomicNewFile (FcAtomic *\fIatomic\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the filename for writing a new version of the file referenced
+by \fIatomic\fR\&.
diff --git a/doc/FcAtomicOrigFile.3 b/doc/FcAtomicOrigFile.3
new file mode 100644
index 00000000..2aafacab
--- /dev/null
+++ b/doc/FcAtomicOrigFile.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcAtomicOrigFile" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcAtomicOrigFile \- return original file name
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 * FcAtomicOrigFile (FcAtomic *\fIatomic\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the file referenced by \fIatomic\fR\&.
diff --git a/doc/FcAtomicReplaceOrig.3 b/doc/FcAtomicReplaceOrig.3
new file mode 100644
index 00000000..1ff4285c
--- /dev/null
+++ b/doc/FcAtomicReplaceOrig.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcAtomicReplaceOrig" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcAtomicReplaceOrig \- replace original with new
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcAtomicReplaceOrig (FcAtomic *\fIatomic\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Replaces the original file referenced by \fIatomic\fR with
+the new file. Returns FcFalse if the file cannot be replaced due to
+permission issues in the filesystem. Otherwise returns FcTrue.
diff --git a/doc/FcAtomicUnlock.3 b/doc/FcAtomicUnlock.3
new file mode 100644
index 00000000..54b33740
--- /dev/null
+++ b/doc/FcAtomicUnlock.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcAtomicUnlock" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcAtomicUnlock \- unlock a file
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcAtomicUnlock (FcAtomic *\fIatomic\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Unlocks the file.
diff --git a/doc/FcBlanksAdd.3 b/doc/FcBlanksAdd.3
new file mode 100644
index 00000000..982347cc
--- /dev/null
+++ b/doc/FcBlanksAdd.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcBlanksAdd" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcBlanksAdd \- Add a character to an FcBlanks
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcBlanksAdd (FcBlanks *\fIb\fB, FcChar32 \fIucs4\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Adds a single character to an FcBlanks object, returning FcFalse
+if this process ran out of memory.
diff --git a/doc/FcBlanksCreate.3 b/doc/FcBlanksCreate.3
new file mode 100644
index 00000000..38dac0a8
--- /dev/null
+++ b/doc/FcBlanksCreate.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcBlanksCreate" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcBlanksCreate \- Create an FcBlanks
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBlanks * FcBlanksCreate (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Creates an empty FcBlanks object.
diff --git a/doc/FcBlanksDestroy.3 b/doc/FcBlanksDestroy.3
new file mode 100644
index 00000000..220cd64b
--- /dev/null
+++ b/doc/FcBlanksDestroy.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcBlanksDestroy" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcBlanksDestroy \- Destroy and FcBlanks
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcBlanksDestroy (FcBlanks *\fIb\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Destroys an FcBlanks object, freeing any associated memory.
diff --git a/doc/FcBlanksIsMember.3 b/doc/FcBlanksIsMember.3
new file mode 100644
index 00000000..afa8e56b
--- /dev/null
+++ b/doc/FcBlanksIsMember.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcBlanksIsMember" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcBlanksIsMember \- Query membership in an FcBlanks
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcBlanksIsMember (FcBlanks *\fIb\fB, FcChar32 \fIucs4\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns whether the specified FcBlanks object contains the indicated Unicode
+value.
diff --git a/doc/FcCacheCopySet.3 b/doc/FcCacheCopySet.3
new file mode 100644
index 00000000..20ecb226
--- /dev/null
+++ b/doc/FcCacheCopySet.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCacheCopySet" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCacheCopySet \- Returns a copy of the fontset from cache
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcFontSet * FcCacheCopySet (const FcCache *\fIcache\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+The returned fontset contains each of the font patterns from
+\fIcache\fR\&. This fontset may be modified, but the patterns
+from the cache are read-only.
diff --git a/doc/FcCacheCreateTagFile.3 b/doc/FcCacheCreateTagFile.3
new file mode 100644
index 00000000..b0dc4b16
--- /dev/null
+++ b/doc/FcCacheCreateTagFile.3
@@ -0,0 +1,17 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCacheCreateTagFile" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCacheCreateTagFile \- Create CACHEDIR.TAG at cache directory.
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcCacheCreateTagFile (const FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This tries to create CACHEDIR.TAG file at the cache directory registered
+to \fIconfig\fR\&.
+.SH "SINCE"
+.PP
+version 2.9.91
diff --git a/doc/FcCacheDir.3 b/doc/FcCacheDir.3
new file mode 100644
index 00000000..dcf8756b
--- /dev/null
+++ b/doc/FcCacheDir.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCacheDir" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCacheDir \- Return directory of cache
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+const FcChar8 * FcCacheDir (const FcCache *\fIcache\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This function returns the directory from which the cache was constructed.
diff --git a/doc/FcCacheNumFont.3 b/doc/FcCacheNumFont.3
new file mode 100644
index 00000000..4e170a34
--- /dev/null
+++ b/doc/FcCacheNumFont.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCacheNumFont" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCacheNumFont \- Returns the number of fonts in cache.
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+int FcCacheNumFont (const FcCache *\fIcache\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This returns the number of fonts which would be included in the return from
+FcCacheCopySet.
diff --git a/doc/FcCacheNumSubdir.3 b/doc/FcCacheNumSubdir.3
new file mode 100644
index 00000000..23ec4a27
--- /dev/null
+++ b/doc/FcCacheNumSubdir.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCacheNumSubdir" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCacheNumSubdir \- Return the number of subdirectories in cache.
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+int FcCacheNumSubdir (const FcCache *\fIcache\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This returns the total number of subdirectories in the cache.
diff --git a/doc/FcCacheSubdir.3 b/doc/FcCacheSubdir.3
new file mode 100644
index 00000000..5a191dc7
--- /dev/null
+++ b/doc/FcCacheSubdir.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCacheSubdir" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCacheSubdir \- Return the i'th subdirectory.
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+const FcChar8 * FcCacheSubdir (const FcCache *\fIcache\fB, int\fIi\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+The set of subdirectories stored in a cache file are indexed by this
+function, \fIi\fR should range from 0 to
+\fIn\fR-1, where \fIn\fR is the return
+value from FcCacheNumSubdir.
diff --git a/doc/FcCharSetAddChar.3 b/doc/FcCharSetAddChar.3
new file mode 100644
index 00000000..bdebc13b
--- /dev/null
+++ b/doc/FcCharSetAddChar.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetAddChar" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetAddChar \- Add a character to a charset
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcCharSetAddChar (FcCharSet *\fIfcs\fB, FcChar32 \fIucs4\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcCharSetAddChar\fR adds a single Unicode char to the set,
+returning FcFalse on failure, either as a result of a constant set or from
+running out of memory.
diff --git a/doc/FcCharSetCopy.3 b/doc/FcCharSetCopy.3
new file mode 100644
index 00000000..b1923107
--- /dev/null
+++ b/doc/FcCharSetCopy.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetCopy" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetCopy \- Copy a charset
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcCharSet * FcCharSetCopy (FcCharSet *\fIsrc\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Makes a copy of \fIsrc\fR; note that this may not actually do anything more
+than increment the reference count on \fIsrc\fR\&.
diff --git a/doc/FcCharSetCount.3 b/doc/FcCharSetCount.3
new file mode 100644
index 00000000..fda0f8f1
--- /dev/null
+++ b/doc/FcCharSetCount.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetCount" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetCount \- Count entries in a charset
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar32 FcCharSetCount (const FcCharSet *\fIa\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the total number of Unicode chars in \fIa\fR\&.
diff --git a/doc/FcCharSetCoverage.3 b/doc/FcCharSetCoverage.3
new file mode 100644
index 00000000..0697e517
--- /dev/null
+++ b/doc/FcCharSetCoverage.3
@@ -0,0 +1,18 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetCoverage" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetCoverage \- DEPRECATED return coverage for a Unicode page
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar32 FcCharSetCoverage (const FcCharSet *\fIa\fB, FcChar32\fIpage\fB, FcChar32[8]\fIresult\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+DEPRECATED
+This function returns a bitmask in \fIresult\fR which
+indicates which code points in
+\fIpage\fR are included in \fIa\fR\&.
+\fBFcCharSetCoverage\fR returns the next page in the charset which has any
+coverage.
diff --git a/doc/FcCharSetCreate.3 b/doc/FcCharSetCreate.3
new file mode 100644
index 00000000..985e06a4
--- /dev/null
+++ b/doc/FcCharSetCreate.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetCreate" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetCreate \- Create an empty character set
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcCharSet * FcCharSetCreate (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcCharSetCreate\fR allocates and initializes a new empty
+character set object.
diff --git a/doc/FcCharSetDelChar.3 b/doc/FcCharSetDelChar.3
new file mode 100644
index 00000000..da456d74
--- /dev/null
+++ b/doc/FcCharSetDelChar.3
@@ -0,0 +1,18 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetDelChar" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetDelChar \- Add a character to a charset
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcCharSetDelChar (FcCharSet *\fIfcs\fB, FcChar32 \fIucs4\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcCharSetDelChar\fR deletes a single Unicode char from the set,
+returning FcFalse on failure, either as a result of a constant set or from
+running out of memory.
+.SH "SINCE"
+.PP
+version 2.9.0
diff --git a/doc/FcCharSetDestroy.3 b/doc/FcCharSetDestroy.3
new file mode 100644
index 00000000..25ed7dcd
--- /dev/null
+++ b/doc/FcCharSetDestroy.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetDestroy" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetDestroy \- Destroy a character set
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcCharSetDestroy (FcCharSet *\fIfcs\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcCharSetDestroy\fR decrements the reference count
+\fIfcs\fR\&. If the reference count becomes zero, all
+memory referenced is freed.
diff --git a/doc/FcCharSetEqual.3 b/doc/FcCharSetEqual.3
new file mode 100644
index 00000000..e333f601
--- /dev/null
+++ b/doc/FcCharSetEqual.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetEqual" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetEqual \- Compare two charsets
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcCharSetEqual (const FcCharSet *\fIa\fB, const FcCharSet *\fIb\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns whether \fIa\fR and \fIb\fR
+contain the same set of Unicode chars.
diff --git a/doc/FcCharSetFirstPage.3 b/doc/FcCharSetFirstPage.3
new file mode 100644
index 00000000..c4fdba8f
--- /dev/null
+++ b/doc/FcCharSetFirstPage.3
@@ -0,0 +1,35 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetFirstPage" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetFirstPage \- Start enumerating charset contents
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar32 FcCharSetFirstPage (const FcCharSet *\fIa\fB, FcChar32[FC_CHARSET_MAP_SIZE] \fImap\fB, FcChar32 *\fInext\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Builds an array of bits in \fImap\fR marking the
+first page of Unicode coverage of \fIa\fR\&.
+\fI*next\fR is set to contains the base code point
+for the next page in \fIa\fR\&. Returns the base code
+point for the page, or FC_CHARSET_DONE if
+\fIa\fR contains no pages. As an example, if
+\fBFcCharSetFirstPage\fR returns
+0x300 and fills \fImap\fR with
+.sp
+.nf
+0xffffffff 0xffffffff 0x01000008 0x44300002 0xffffd7f0 0xfffffffb 0xffff7fff 0xffff0003
+.sp
+.fi
+Then the page contains code points 0x300 through
+0x33f (the first 64 code points on the page)
+because \fImap[0]\fR and
+\fImap[1]\fR both have all their bits set. It also
+contains code points 0x343 (\fI0x300 + 32*2
++ (4-1)\fR) and 0x35e (\fI0x300 +
+32*2 + (31-1)\fR) because \fImap[2]\fR has
+the 4th and 31st bits set. The code points represented by
+map[3] and later are left as an excercise for the
+reader ;).
diff --git a/doc/FcCharSetHasChar.3 b/doc/FcCharSetHasChar.3
new file mode 100644
index 00000000..e2392d45
--- /dev/null
+++ b/doc/FcCharSetHasChar.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetHasChar" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetHasChar \- Check a charset for a char
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcCharSetHasChar (const FcCharSet *\fIfcs\fB, FcChar32 \fIucs4\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns whether \fIfcs\fR contains the char \fIucs4\fR\&.
diff --git a/doc/FcCharSetIntersect.3 b/doc/FcCharSetIntersect.3
new file mode 100644
index 00000000..a0c23310
--- /dev/null
+++ b/doc/FcCharSetIntersect.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetIntersect" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetIntersect \- Intersect charsets
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcCharSet * FcCharSetIntersect (const FcCharSet *\fIa\fB, const FcCharSet *\fIb\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns a set including only those chars found in both
+\fIa\fR and \fIb\fR\&.
diff --git a/doc/FcCharSetIntersectCount.3 b/doc/FcCharSetIntersectCount.3
new file mode 100644
index 00000000..6c0fb9e8
--- /dev/null
+++ b/doc/FcCharSetIntersectCount.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetIntersectCount" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetIntersectCount \- Intersect and count charsets
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar32 FcCharSetIntersectCount (const FcCharSet *\fIa\fB, const FcCharSet *\fIb\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the number of chars that are in both \fIa\fR and \fIb\fR\&.
diff --git a/doc/FcCharSetIsSubset.3 b/doc/FcCharSetIsSubset.3
new file mode 100644
index 00000000..27980ac3
--- /dev/null
+++ b/doc/FcCharSetIsSubset.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetIsSubset" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetIsSubset \- Test for charset inclusion
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcCharSetIsSubset (const FcCharSet *\fIa\fB, const FcCharSet *\fIb\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns whether \fIa\fR is a subset of \fIb\fR\&.
diff --git a/doc/FcCharSetMerge.3 b/doc/FcCharSetMerge.3
new file mode 100644
index 00000000..540a1bc3
--- /dev/null
+++ b/doc/FcCharSetMerge.3
@@ -0,0 +1,18 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetMerge" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetMerge \- Merge charsets
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcCharSetMerge (FcCharSet *\fIa\fB, const FcCharSet *\fIb\fB, FcBool *\fIchanged\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Adds all chars in \fIb\fR to \fIa\fR\&.
+In other words, this is an in-place version of FcCharSetUnion.
+If \fIchanged\fR is not NULL, then it returns whether any new
+chars from \fIb\fR were added to \fIa\fR\&.
+Returns FcFalse on failure, either when \fIa\fR is a constant
+set or from running out of memory.
diff --git a/doc/FcCharSetNew.3 b/doc/FcCharSetNew.3
new file mode 100644
index 00000000..5b6165b2
--- /dev/null
+++ b/doc/FcCharSetNew.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetNew" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetNew \- DEPRECATED alias for FcCharSetCreate
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcCharSet * FcCharSetNew (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcCharSetNew\fR is a DEPRECATED alias for FcCharSetCreate.
diff --git a/doc/FcCharSetNextPage.3 b/doc/FcCharSetNextPage.3
new file mode 100644
index 00000000..48e08e59
--- /dev/null
+++ b/doc/FcCharSetNextPage.3
@@ -0,0 +1,21 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetNextPage" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetNextPage \- Continue enumerating charset contents
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar32 FcCharSetNextPage (const FcCharSet *\fIa\fB, FcChar32[FC_CHARSET_MAP_SIZE] \fImap\fB, FcChar32 *\fInext\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Builds an array of bits in \fImap\fR marking the
+Unicode coverage of \fIa\fR for page containing
+\fI*next\fR (see the
+\fBFcCharSetFirstPage\fR description for details).
+\fI*next\fR is set to contains the base code point
+for the next page in \fIa\fR\&. Returns the base of
+code point for the page, or FC_CHARSET_DONE if
+\fIa\fR does not contain
+\fI*next\fR\&.
diff --git a/doc/FcCharSetSubtract.3 b/doc/FcCharSetSubtract.3
new file mode 100644
index 00000000..7e28ab87
--- /dev/null
+++ b/doc/FcCharSetSubtract.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetSubtract" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetSubtract \- Subtract charsets
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcCharSet * FcCharSetSubtract (const FcCharSet *\fIa\fB, const FcCharSet *\fIb\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns a set including only those chars found in \fIa\fR but not \fIb\fR\&.
diff --git a/doc/FcCharSetSubtractCount.3 b/doc/FcCharSetSubtractCount.3
new file mode 100644
index 00000000..33643529
--- /dev/null
+++ b/doc/FcCharSetSubtractCount.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetSubtractCount" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetSubtractCount \- Subtract and count charsets
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar32 FcCharSetSubtractCount (const FcCharSet *\fIa\fB, const FcCharSet *\fIb\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the number of chars that are in \fIa\fR but not in \fIb\fR\&.
diff --git a/doc/FcCharSetUnion.3 b/doc/FcCharSetUnion.3
new file mode 100644
index 00000000..fbfdff3a
--- /dev/null
+++ b/doc/FcCharSetUnion.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcCharSetUnion" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcCharSetUnion \- Add charsets
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcCharSet * FcCharSetUnion (const FcCharSet *\fIa\fB, const FcCharSet *\fIb\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns a set including only those chars found in either \fIa\fR or \fIb\fR\&.
diff --git a/doc/FcConfigAppFontAddDir.3 b/doc/FcConfigAppFontAddDir.3
new file mode 100644
index 00000000..706ed65b
--- /dev/null
+++ b/doc/FcConfigAppFontAddDir.3
@@ -0,0 +1,17 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigAppFontAddDir" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigAppFontAddDir \- Add fonts from directory to font database
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcConfigAppFontAddDir (FcConfig *\fIconfig\fB, const FcChar8 *\fIdir\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Scans the specified directory for fonts, adding each one found to the
+application-specific set of fonts. Returns FcFalse
+if the fonts cannot be added (due to allocation failure or no fonts found).
+Otherwise returns FcTrue. If \fIconfig\fR is NULL,
+the current configuration is used.
diff --git a/doc/FcConfigAppFontAddFile.3 b/doc/FcConfigAppFontAddFile.3
new file mode 100644
index 00000000..b77a3d1c
--- /dev/null
+++ b/doc/FcConfigAppFontAddFile.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigAppFontAddFile" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigAppFontAddFile \- Add font file to font database
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcConfigAppFontAddFile (FcConfig *\fIconfig\fB, const FcChar8 *\fIfile\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Adds an application-specific font to the configuration. Returns FcFalse
+if the fonts cannot be added (due to allocation failure or no fonts found).
+Otherwise returns FcTrue. If \fIconfig\fR is NULL,
+the current configuration is used.
diff --git a/doc/FcConfigAppFontClear.3 b/doc/FcConfigAppFontClear.3
new file mode 100644
index 00000000..36f804b5
--- /dev/null
+++ b/doc/FcConfigAppFontClear.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigAppFontClear" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigAppFontClear \- Remove all app fonts from font database
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcConfigAppFontClear (FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Clears the set of application-specific fonts.
+If \fIconfig\fR is NULL, the current configuration is used.
diff --git a/doc/FcConfigBuildFonts.3 b/doc/FcConfigBuildFonts.3
new file mode 100644
index 00000000..212d686c
--- /dev/null
+++ b/doc/FcConfigBuildFonts.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigBuildFonts" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigBuildFonts \- Build font database
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcConfigBuildFonts (FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Builds the set of available fonts for the given configuration. Note that
+any changes to the configuration after this call have indeterminate effects.
+Returns FcFalse if this operation runs out of memory.
+If \fIconfig\fR is NULL, the current configuration is used.
diff --git a/doc/FcConfigCreate.3 b/doc/FcConfigCreate.3
new file mode 100644
index 00000000..978faf7b
--- /dev/null
+++ b/doc/FcConfigCreate.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigCreate" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigCreate \- Create a configuration
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcConfig * FcConfigCreate (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Creates an empty configuration.
diff --git a/doc/FcConfigDestroy.3 b/doc/FcConfigDestroy.3
new file mode 100644
index 00000000..3369340d
--- /dev/null
+++ b/doc/FcConfigDestroy.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigDestroy" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigDestroy \- Destroy a configuration
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcConfigDestroy (FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Decrements the config reference count. If all references are gone, destroys
+the configuration and any data associated with it.
+Note that calling this function with the return from FcConfigGetCurrent will
+cause a new configuration to be created for use as current configuration.
diff --git a/doc/FcConfigEnableHome.3 b/doc/FcConfigEnableHome.3
new file mode 100644
index 00000000..c0711dda
--- /dev/null
+++ b/doc/FcConfigEnableHome.3
@@ -0,0 +1,17 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigEnableHome" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigEnableHome \- controls use of the home directory.
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcConfigEnableHome (FcBool \fIenable\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+If \fIenable\fR is FcTrue, then Fontconfig will use various
+files which are specified relative to the user's home directory (using the ~
+notation in the configuration). When \fIenable\fR is
+FcFalse, then all use of the home directory in these contexts will be
+disabled. The previous setting of the value is returned.
diff --git a/doc/FcConfigFilename.3 b/doc/FcConfigFilename.3
new file mode 100644
index 00000000..c48dc34b
--- /dev/null
+++ b/doc/FcConfigFilename.3
@@ -0,0 +1,23 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigFilename" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigFilename \- Find a config file
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 * FcConfigFilename (const FcChar8 *\fIname\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Given the specified external entity name, return the associated filename.
+This provides applications a way to convert various configuration file
+references into filename form.
+.PP
+A null or empty \fIname\fR indicates that the default configuration file should
+be used; which file this references can be overridden with the
+FONTCONFIG_FILE environment variable. Next, if the name starts with \fI~\fR, it
+refers to a file in the current users home directory. Otherwise if the name
+doesn't start with '/', it refers to a file in the default configuration
+directory; the built-in default directory can be overridden with the
+FONTCONFIG_PATH environment variable.
diff --git a/doc/FcConfigGetBlanks.3 b/doc/FcConfigGetBlanks.3
new file mode 100644
index 00000000..6065e41c
--- /dev/null
+++ b/doc/FcConfigGetBlanks.3
@@ -0,0 +1,17 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigGetBlanks" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigGetBlanks \- Get config blanks
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBlanks * FcConfigGetBlanks (FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the FcBlanks object associated with the given configuration, if no
+blanks were present in the configuration, this function will return 0.
+The returned FcBlanks object if not NULL, is valid as long as the owning
+FcConfig is alive.
+If \fIconfig\fR is NULL, the current configuration is used.
diff --git a/doc/FcConfigGetCache.3 b/doc/FcConfigGetCache.3
new file mode 100644
index 00000000..bb3c9311
--- /dev/null
+++ b/doc/FcConfigGetCache.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigGetCache" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigGetCache \- DEPRECATED used to return per-user cache filename
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 * FcConfigGetCache (FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+With fontconfig no longer using per-user cache files, this function now
+simply returns NULL to indicate that no per-user file exists.
diff --git a/doc/FcConfigGetCacheDirs.3 b/doc/FcConfigGetCacheDirs.3
new file mode 100644
index 00000000..7a98be54
--- /dev/null
+++ b/doc/FcConfigGetCacheDirs.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigGetCacheDirs" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigGetCacheDirs \- return the list of directories searched for cache files
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcStrList * FcConfigGetCacheDirs (const FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcConfigGetCacheDirs\fR returns a string list containing
+all of the directories that fontconfig will search when attempting to load a
+cache file for a font directory.
+If \fIconfig\fR is NULL, the current configuration is used.
diff --git a/doc/FcConfigGetConfigDirs.3 b/doc/FcConfigGetConfigDirs.3
new file mode 100644
index 00000000..0eba41d6
--- /dev/null
+++ b/doc/FcConfigGetConfigDirs.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigGetConfigDirs" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigGetConfigDirs \- Get config directories
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcStrList * FcConfigGetConfigDirs (FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the list of font directories specified in the configuration files
+for \fIconfig\fR\&. Does not include any subdirectories.
+If \fIconfig\fR is NULL, the current configuration is used.
diff --git a/doc/FcConfigGetConfigFiles.3 b/doc/FcConfigGetConfigFiles.3
new file mode 100644
index 00000000..6e8f2ad1
--- /dev/null
+++ b/doc/FcConfigGetConfigFiles.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigGetConfigFiles" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigGetConfigFiles \- Get config files
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcStrList * FcConfigGetConfigFiles (FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the list of known configuration files used to generate \fIconfig\fR\&.
+If \fIconfig\fR is NULL, the current configuration is used.
diff --git a/doc/FcConfigGetCurrent.3 b/doc/FcConfigGetCurrent.3
new file mode 100644
index 00000000..9fef8fd1
--- /dev/null
+++ b/doc/FcConfigGetCurrent.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigGetCurrent" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigGetCurrent \- Return current configuration
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcConfig * FcConfigGetCurrent (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the current default configuration.
diff --git a/doc/FcConfigGetFontDirs.3 b/doc/FcConfigGetFontDirs.3
new file mode 100644
index 00000000..46393d9f
--- /dev/null
+++ b/doc/FcConfigGetFontDirs.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigGetFontDirs" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigGetFontDirs \- Get font directories
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcStrList * FcConfigGetFontDirs (FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the list of font directories in \fIconfig\fR\&. This includes the
+configured font directories along with any directories below those in the
+filesystem.
+If \fIconfig\fR is NULL, the current configuration is used.
diff --git a/doc/FcConfigGetFonts.3 b/doc/FcConfigGetFonts.3
new file mode 100644
index 00000000..db360e9c
--- /dev/null
+++ b/doc/FcConfigGetFonts.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigGetFonts" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigGetFonts \- Get config font set
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcFontSet * FcConfigGetFonts (FcConfig *\fIconfig\fB, FcSetName \fIset\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns one of the two sets of fonts from the configuration as specified
+by \fIset\fR\&. This font set is owned by the library and must
+not be modified or freed.
+If \fIconfig\fR is NULL, the current configuration is used.
diff --git a/doc/FcConfigGetRescanInterval.3 b/doc/FcConfigGetRescanInterval.3
new file mode 100644
index 00000000..2e403617
--- /dev/null
+++ b/doc/FcConfigGetRescanInterval.3
@@ -0,0 +1,17 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigGetRescanInterval" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigGetRescanInterval \- Get config rescan interval
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+int FcConfigGetRescanInterval (FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the interval between automatic checks of the configuration (in
+seconds) specified in \fIconfig\fR\&. The configuration is checked during
+a call to FcFontList when this interval has passed since the last check.
+An interval setting of zero disables automatic checks.
+If \fIconfig\fR is NULL, the current configuration is used.
diff --git a/doc/FcConfigGetSysRoot.3 b/doc/FcConfigGetSysRoot.3
new file mode 100644
index 00000000..45b7a15b
--- /dev/null
+++ b/doc/FcConfigGetSysRoot.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigGetSysRoot" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigGetSysRoot \- Obtain the system root directory
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+const FcChar8 * FcConfigGetSysRoot (const FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Obtrains the system root directory in 'config' if available.
+.SH "SINCE"
+.PP
+version 2.10.92
diff --git a/doc/FcConfigHome.3 b/doc/FcConfigHome.3
new file mode 100644
index 00000000..153218a4
--- /dev/null
+++ b/doc/FcConfigHome.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigHome" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigHome \- return the current home directory.
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 * FcConfigHome (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Return the current user's home directory, if it is available, and if using it
+is enabled, and NULL otherwise.
+See also \fBFcConfigEnableHome\fR).
diff --git a/doc/FcConfigParseAndLoad.3 b/doc/FcConfigParseAndLoad.3
new file mode 100644
index 00000000..0c16ea09
--- /dev/null
+++ b/doc/FcConfigParseAndLoad.3
@@ -0,0 +1,18 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigParseAndLoad" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigParseAndLoad \- load a configuration file
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcConfigParseAndLoad (FcConfig *\fIconfig\fB, const FcChar8 *\fIfile\fB, FcBool \fIcomplain\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Walks the configuration in 'file' and constructs the internal representation
+in 'config'. Any include files referenced from within 'file' will be loaded
+and parsed. If 'complain' is FcFalse, no warning will be displayed if
+\&'file' does not exist. Error and warning messages will be output to stderr.
+Returns FcFalse if some error occurred while loading the file, either a
+parse error, semantic error or allocation failure. Otherwise returns FcTrue.
diff --git a/doc/FcConfigReference.3 b/doc/FcConfigReference.3
new file mode 100644
index 00000000..34215ab8
--- /dev/null
+++ b/doc/FcConfigReference.3
@@ -0,0 +1,18 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigReference" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigReference \- Increment config reference count
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcConfig * FcConfigReference (FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Add another reference to \fIconfig\fR\&. Configs are freed only
+when the reference count reaches zero.
+If \fIconfig\fR is NULL, the current configuration is used.
+In that case this function will be similar to FcConfigGetCurrent() except that
+it increments the reference count before returning and the user is responsible
+for destroying the configuration when not needed anymore.
diff --git a/doc/FcConfigSetCurrent.3 b/doc/FcConfigSetCurrent.3
new file mode 100644
index 00000000..56be29f7
--- /dev/null
+++ b/doc/FcConfigSetCurrent.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigSetCurrent" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigSetCurrent \- Set configuration as default
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcConfigSetCurrent (FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Sets the current default configuration to \fIconfig\fR\&. Implicitly calls
+FcConfigBuildFonts if necessary, and FcConfigReference() to inrease the reference count
+in \fIconfig\fR since 2.12.0, returning FcFalse if that call fails.
diff --git a/doc/FcConfigSetRescanInterval.3 b/doc/FcConfigSetRescanInterval.3
new file mode 100644
index 00000000..7dbf59f2
--- /dev/null
+++ b/doc/FcConfigSetRescanInterval.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigSetRescanInterval" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigSetRescanInterval \- Set config rescan interval
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcConfigSetRescanInterval (FcConfig *\fIconfig\fB, int \fIrescanInterval\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Sets the rescan interval. Returns FcFalse if the interval cannot be set (due
+to allocation failure). Otherwise returns FcTrue.
+An interval setting of zero disables automatic checks.
+If \fIconfig\fR is NULL, the current configuration is used.
diff --git a/doc/FcConfigSetSysRoot.3 b/doc/FcConfigSetSysRoot.3
new file mode 100644
index 00000000..fb1efa6f
--- /dev/null
+++ b/doc/FcConfigSetSysRoot.3
@@ -0,0 +1,19 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigSetSysRoot" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigSetSysRoot \- Set the system root directory
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcConfigSetSysRoot (FcConfig *\fIconfig\fB, const FcChar8 *\fIsysroot\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Set 'sysroot' as the system root directory. fontconfig prepend 'sysroot'
+to the cache directories in order to allow people to generate caches at
+the build time. Note that this causes changing current config. i.e.
+this function calls FcConfigSetCurrent() internally.
+.SH "SINCE"
+.PP
+version 2.10.92
diff --git a/doc/FcConfigSubstitute.3 b/doc/FcConfigSubstitute.3
new file mode 100644
index 00000000..1818595c
--- /dev/null
+++ b/doc/FcConfigSubstitute.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigSubstitute" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigSubstitute \- Execute substitutions
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcConfigSubstitute (FcConfig *\fIconfig\fB, FcPattern *\fIp\fB, FcMatchKind \fIkind\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Calls FcConfigSubstituteWithPat setting p_pat to NULL. Returns FcFalse
+if the substitution cannot be performed (due to allocation failure). Otherwise returns FcTrue.
+If \fIconfig\fR is NULL, the current configuration is used.
diff --git a/doc/FcConfigSubstituteWithPat.3 b/doc/FcConfigSubstituteWithPat.3
new file mode 100644
index 00000000..2324b87b
--- /dev/null
+++ b/doc/FcConfigSubstituteWithPat.3
@@ -0,0 +1,18 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigSubstituteWithPat" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigSubstituteWithPat \- Execute substitutions
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcConfigSubstituteWithPat (FcConfig *\fIconfig\fB, FcPattern *\fIp\fB, FcPattern *\fIp_pat\fB, FcMatchKind \fIkind\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Performs the sequence of pattern modification operations, if \fIkind\fR is
+FcMatchPattern, then those tagged as pattern operations are applied, else
+if \fIkind\fR is FcMatchFont, those tagged as font operations are applied and
+p_pat is used for <test> elements with target=pattern. Returns FcFalse
+if the substitution cannot be performed (due to allocation failure). Otherwise returns FcTrue.
+If \fIconfig\fR is NULL, the current configuration is used.
diff --git a/doc/FcConfigUptoDate.3 b/doc/FcConfigUptoDate.3
new file mode 100644
index 00000000..4ee810fe
--- /dev/null
+++ b/doc/FcConfigUptoDate.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigUptoDate" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcConfigUptoDate \- Check timestamps on config files
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcConfigUptoDate (FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Checks all of the files related to \fIconfig\fR and returns
+whether any of them has been modified since the configuration was created.
+If \fIconfig\fR is NULL, the current configuration is used.
diff --git a/doc/FcDefaultSubstitute.3 b/doc/FcDefaultSubstitute.3
new file mode 100644
index 00000000..ce767644
--- /dev/null
+++ b/doc/FcDefaultSubstitute.3
@@ -0,0 +1,24 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcDefaultSubstitute" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcDefaultSubstitute \- Perform default substitutions in a pattern
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcDefaultSubstitute (FcPattern *\fIpattern\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Supplies default values for underspecified font patterns:
+.TP 0.2i
+\(bu
+Patterns without a specified style or weight are set to Medium
+.TP 0.2i
+\(bu
+Patterns without a specified style or slant are set to Roman
+.TP 0.2i
+\(bu
+Patterns without a specified pixel size are given one computed from any
+specified point size (default 12), dpi (default 75) and scale (default 1).
+.PP
diff --git a/doc/FcDirCacheClean.3 b/doc/FcDirCacheClean.3
new file mode 100644
index 00000000..600b815d
--- /dev/null
+++ b/doc/FcDirCacheClean.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcDirCacheClean" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcDirCacheClean \- This tries to clean up the cache directory of cache_dir.This returns FcTrue if the operation is successfully complete. otherwise FcFalse.
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcDirCacheClean (const FcChar8 *\fIcache_dir\fB, FcBool\fIverbose\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+.SH "SINCE"
+.PP
+version 2.9.91
diff --git a/doc/FcDirCacheLoad.3 b/doc/FcDirCacheLoad.3
new file mode 100644
index 00000000..c10d00b1
--- /dev/null
+++ b/doc/FcDirCacheLoad.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcDirCacheLoad" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcDirCacheLoad \- load a directory cache
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcCache * FcDirCacheLoad (const FcChar8 *\fIdir\fB, FcConfig *\fIconfig\fB, FcChar8 **\fIcache_file\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Loads the cache related to \fIdir\fR\&. If no cache file
+exists, returns NULL. The name of the cache file is returned in
+\fIcache_file\fR, unless that is NULL. See also
+FcDirCacheRead.
diff --git a/doc/FcDirCacheLoadFile.3 b/doc/FcDirCacheLoadFile.3
new file mode 100644
index 00000000..86b8f65d
--- /dev/null
+++ b/doc/FcDirCacheLoadFile.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcDirCacheLoadFile" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcDirCacheLoadFile \- load a cache file
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcCache * FcDirCacheLoadFile (const FcChar8 *\fIcache_file\fB, struct stat *\fIfile_stat\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This function loads a directory cache from
+\fIcache_file\fR\&. If \fIfile_stat\fR is
+non-NULL, it will be filled with the results of stat(2) on the cache file.
diff --git a/doc/FcDirCacheRead.3 b/doc/FcDirCacheRead.3
new file mode 100644
index 00000000..74c81122
--- /dev/null
+++ b/doc/FcDirCacheRead.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcDirCacheRead" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcDirCacheRead \- read or construct a directory cache
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcCache * FcDirCacheRead (const FcChar8 *\fIdir\fB, FcBool \fIforce\fB, FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This returns a cache for \fIdir\fR\&. If
+\fIforce\fR is FcFalse, then an existing, valid cache file
+will be used. Otherwise, a new cache will be created by scanning the
+directory and that returned.
diff --git a/doc/FcDirCacheRescan.3 b/doc/FcDirCacheRescan.3
new file mode 100644
index 00000000..280ecdd9
--- /dev/null
+++ b/doc/FcDirCacheRescan.3
@@ -0,0 +1,17 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcDirCacheRescan" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcDirCacheRescan \- Re-scan a directory cache
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcCache * FcDirCacheRescan (const FcChar8 *\fIdir\fB, FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Re-scan directories only at \fIdir\fR and update the cache.
+returns NULL if failed.
+.SH "SINCE"
+.PP
+version 2.11.1
diff --git a/doc/FcDirCacheUnlink.3 b/doc/FcDirCacheUnlink.3
new file mode 100644
index 00000000..0e1911a2
--- /dev/null
+++ b/doc/FcDirCacheUnlink.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcDirCacheUnlink" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcDirCacheUnlink \- Remove all caches related to dir
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcDirCacheUnlink (const FcChar8 *\fIdir\fB, FcConfig *\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Scans the cache directories in \fIconfig\fR, removing any
+instances of the cache file for \fIdir\fR\&. Returns FcFalse
+when some internal error occurs (out of memory, etc). Errors actually
+unlinking any files are ignored.
diff --git a/doc/FcDirCacheUnload.3 b/doc/FcDirCacheUnload.3
new file mode 100644
index 00000000..02e638f6
--- /dev/null
+++ b/doc/FcDirCacheUnload.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcDirCacheUnload" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcDirCacheUnload \- unload a cache file
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcDirCacheUnload (FcCache *\fIcache\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This function dereferences \fIcache\fR\&. When no other
+references to it remain, all memory associated with the cache will be freed.
diff --git a/doc/FcDirCacheValid.3 b/doc/FcDirCacheValid.3
new file mode 100644
index 00000000..a60a8c86
--- /dev/null
+++ b/doc/FcDirCacheValid.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcDirCacheValid" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcDirCacheValid \- check directory cache
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcDirCacheValid (const FcChar8 *\fIdir\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns FcTrue if \fIdir\fR has an associated valid cache
+file, else returns FcFalse
diff --git a/doc/FcDirSave.3 b/doc/FcDirSave.3
new file mode 100644
index 00000000..3e95f5e9
--- /dev/null
+++ b/doc/FcDirSave.3
@@ -0,0 +1,17 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcDirSave" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcDirSave \- DEPRECATED: formerly used to save a directory cache
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcDirSave (FcFontSet *\fIset\fB, FcStrSet *\fIdirs\fB, const FcChar8 *\fIdir\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This function now does nothing aside from returning FcFalse. It used to creates the
+per-directory cache file for \fIdir\fR and populates it
+with the fonts in \fIset\fR and subdirectories in
+\fIdirs\fR\&. All of this functionality is now automatically
+managed by FcDirCacheLoad and FcDirCacheRead.
diff --git a/doc/FcDirScan.3 b/doc/FcDirScan.3
new file mode 100644
index 00000000..a91a928a
--- /dev/null
+++ b/doc/FcDirScan.3
@@ -0,0 +1,18 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcDirScan" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcDirScan \- scan a font directory without caching it
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcDirScan (FcFontSet *\fIset\fB, FcStrSet *\fIdirs\fB, FcFileCache *\fIcache\fB, FcBlanks *\fIblanks\fB, const FcChar8 *\fIdir\fB, FcBool \fIforce\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+If \fIcache\fR is not zero or if \fIforce\fR
+is FcFalse, this function currently returns FcFalse. Otherwise, it scans an
+entire directory and adds all fonts found to \fIset\fR\&.
+Any subdirectories found are added to \fIdirs\fR\&. Calling
+this function does not create any cache files. Use FcDirCacheRead() if
+caching is desired.
diff --git a/doc/FcFileIsDir.3 b/doc/FcFileIsDir.3
new file mode 100644
index 00000000..a5cd70ab
--- /dev/null
+++ b/doc/FcFileIsDir.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFileIsDir" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFileIsDir \- check whether a file is a directory
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcFileIsDir (const FcChar8 *\fIfile\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns FcTrue if \fIfile\fR is a directory, otherwise
+returns FcFalse.
diff --git a/doc/FcFileScan.3 b/doc/FcFileScan.3
new file mode 100644
index 00000000..7a8f8340
--- /dev/null
+++ b/doc/FcFileScan.3
@@ -0,0 +1,23 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFileScan" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFileScan \- scan a font file
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcFileScan (FcFontSet *\fIset\fB, FcStrSet *\fIdirs\fB, FcFileCache *\fIcache\fB, FcBlanks *\fIblanks\fB, const FcChar8 *\fIfile\fB, FcBool \fIforce\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Scans a single file and adds all fonts found to \fIset\fR\&.
+If \fIforce\fR is FcTrue, then the file is scanned even if
+associated information is found in \fIcache\fR\&. If
+\fIfile\fR is a directory, it is added to
+\fIdirs\fR\&. Whether fonts are found depends on fontconfig
+policy as well as the current configuration. Internally, fontconfig will
+ignore BDF and PCF fonts which are not in Unicode (or the effectively
+equivalent ISO Latin-1) encoding as those are not usable by Unicode-based
+applications. The configuration can ignore fonts based on filename or
+contents of the font file itself. Returns FcFalse if any of the fonts cannot be
+added (due to allocation failure). Otherwise returns FcTrue.
diff --git a/doc/FcFini.3 b/doc/FcFini.3
new file mode 100644
index 00000000..19c960b9
--- /dev/null
+++ b/doc/FcFini.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFini" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFini \- finalize fontconfig library
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcFini (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Frees all data structures allocated by previous calls to fontconfig
+functions. Fontconfig returns to an uninitialized state, requiring a
+new call to one of the FcInit functions before any other fontconfig
+function may be called.
diff --git a/doc/FcFontList.3 b/doc/FcFontList.3
new file mode 100644
index 00000000..78f08a3c
--- /dev/null
+++ b/doc/FcFontList.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFontList" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFontList \- List fonts
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcFontSet * FcFontList (FcConfig *\fIconfig\fB, FcPattern *\fIp\fB, FcObjectSet *\fIos\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Selects fonts matching \fIp\fR, creates patterns from those fonts containing
+only the objects in \fIos\fR and returns the set of unique such patterns.
+If \fIconfig\fR is NULL, the default configuration is checked
+to be up to date, and used.
diff --git a/doc/FcFontMatch.3 b/doc/FcFontMatch.3
new file mode 100644
index 00000000..9f31b492
--- /dev/null
+++ b/doc/FcFontMatch.3
@@ -0,0 +1,20 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFontMatch" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFontMatch \- Return best font
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcPattern * FcFontMatch (FcConfig *\fIconfig\fB, FcPattern *\fIp\fB, FcResult *\fIresult\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Finds the font in \fIsets\fR most closely matching
+\fIpattern\fR and returns the result of
+\fBFcFontRenderPrepare\fR for that font and the provided
+pattern. This function should be called only after
+\fBFcConfigSubstitute\fR and
+\fBFcDefaultSubstitute\fR have been called for
+\fIp\fR; otherwise the results will not be correct.
+If \fIconfig\fR is NULL, the current configuration is used.
diff --git a/doc/FcFontRenderPrepare.3 b/doc/FcFontRenderPrepare.3
new file mode 100644
index 00000000..6b4282fb
--- /dev/null
+++ b/doc/FcFontRenderPrepare.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFontRenderPrepare" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFontRenderPrepare \- Prepare pattern for loading font file
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcPattern * FcFontRenderPrepare (FcConfig *\fIconfig\fB, FcPattern *\fIpat\fB, FcPattern *\fIfont\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Creates a new pattern consisting of elements of \fIfont\fR not appearing
+in \fIpat\fR, elements of \fIpat\fR not appearing in \fIfont\fR and the best matching
+value from \fIpat\fR for elements appearing in both. The result is passed to
+FcConfigSubstituteWithPat with \fIkind\fR FcMatchFont and then returned.
diff --git a/doc/FcFontSetAdd.3 b/doc/FcFontSetAdd.3
new file mode 100644
index 00000000..f9722fe2
--- /dev/null
+++ b/doc/FcFontSetAdd.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFontSetAdd" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFontSetAdd \- Add to a font set
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcFontSetAdd (FcFontSet *\fIs\fB, FcPattern *\fIfont\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Adds a pattern to a font set. Note that the pattern is not copied before
+being inserted into the set. Returns FcFalse if the pattern cannot be
+inserted into the set (due to allocation failure). Otherwise returns FcTrue.
diff --git a/doc/FcFontSetCreate.3 b/doc/FcFontSetCreate.3
new file mode 100644
index 00000000..83bd5912
--- /dev/null
+++ b/doc/FcFontSetCreate.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFontSetCreate" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFontSetCreate \- Create a font set
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcFontSet * FcFontSetCreate (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Creates an empty font set.
diff --git a/doc/FcFontSetDestroy.3 b/doc/FcFontSetDestroy.3
new file mode 100644
index 00000000..37f08f77
--- /dev/null
+++ b/doc/FcFontSetDestroy.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFontSetDestroy" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFontSetDestroy \- Destroy a font set
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcFontSetDestroy (FcFontSet *\fIs\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Destroys a font set. Note that this destroys any referenced patterns as
+well.
diff --git a/doc/FcFontSetList.3 b/doc/FcFontSetList.3
new file mode 100644
index 00000000..31ae257b
--- /dev/null
+++ b/doc/FcFontSetList.3
@@ -0,0 +1,18 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFontSetList" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFontSetList \- List fonts from a set of font sets
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcFontSet * FcFontSetList (FcConfig *\fIconfig\fB, FcFontSet **\fIsets\fB, int\fInsets\fB, FcPattern *\fIpattern\fB, FcObjectSet *\fIobject_set\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Selects fonts matching \fIpattern\fR from
+\fIsets\fR, creates patterns from those
+fonts containing only the objects in \fIobject_set\fR and returns
+the set of unique such patterns.
+If \fIconfig\fR is NULL, the default configuration is checked
+to be up to date, and used.
diff --git a/doc/FcFontSetMatch.3 b/doc/FcFontSetMatch.3
new file mode 100644
index 00000000..8494f86b
--- /dev/null
+++ b/doc/FcFontSetMatch.3
@@ -0,0 +1,21 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFontSetMatch" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFontSetMatch \- Return the best font from a set of font sets
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcPattern * FcFontSetMatch (FcConfig *\fIconfig\fB, FcFontSet **\fIsets\fB, int\fInsets\fB, FcPattern *\fIpattern\fB, FcResult *\fIresult\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Finds the font in \fIsets\fR most closely matching
+\fIpattern\fR and returns the result of
+\fBFcFontRenderPrepare\fR for that font and the provided
+pattern. This function should be called only after
+\fBFcConfigSubstitute\fR and
+\fBFcDefaultSubstitute\fR have been called for
+\fIpattern\fR; otherwise the results will not be correct.
+If \fIconfig\fR is NULL, the current configuration is used.
+Returns NULL if an error occurs during this process.
diff --git a/doc/FcFontSetPrint.3 b/doc/FcFontSetPrint.3
new file mode 100644
index 00000000..36ee13fb
--- /dev/null
+++ b/doc/FcFontSetPrint.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFontSetPrint" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFontSetPrint \- Print a set of patterns to stdout
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcFontSetPrint (FcFontSet *\fIset\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This function is useful for diagnosing font related issues, printing the
+complete contents of every pattern in \fIset\fR\&. The format
+of the output is designed to be of help to users and developers, and may
+change at any time.
diff --git a/doc/FcFontSetSort.3 b/doc/FcFontSetSort.3
new file mode 100644
index 00000000..41b83f1f
--- /dev/null
+++ b/doc/FcFontSetSort.3
@@ -0,0 +1,30 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFontSetSort" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFontSetSort \- Add to a font set
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcFontSetSort (FcConfig *\fIconfig\fB, FcFontSet **\fIsets\fB, int\fInsets\fB, FcPattern *\fIpattern\fB, FcBool \fItrim\fB, FcCharSet **\fIcsp\fB, FcResult *\fIresult\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the list of fonts from \fIsets\fR
+sorted by closeness to \fIpattern\fR\&.
+If \fItrim\fR is FcTrue,
+elements in the list which don't include Unicode coverage not provided by
+earlier elements in the list are elided. The union of Unicode coverage of
+all of the fonts is returned in \fIcsp\fR,
+if \fIcsp\fR is not NULL. This function
+should be called only after FcConfigSubstitute and FcDefaultSubstitute have
+been called for \fIp\fR;
+otherwise the results will not be correct.
+.PP
+The returned FcFontSet references FcPattern structures which may be shared
+by the return value from multiple FcFontSort calls, applications cannot
+modify these patterns. Instead, they should be passed, along with
+\fIpattern\fR to
+\fBFcFontRenderPrepare\fR which combines them into a complete pattern.
+.PP
+The FcFontSet returned by FcFontSetSort is destroyed by calling FcFontSetDestroy.
diff --git a/doc/FcFontSetSortDestroy.3 b/doc/FcFontSetSortDestroy.3
new file mode 100644
index 00000000..d54c97aa
--- /dev/null
+++ b/doc/FcFontSetSortDestroy.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFontSetSortDestroy" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFontSetSortDestroy \- DEPRECATED destroy a font set
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcFontSetSortDestroy (FcFontSet *\fIset\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This function is DEPRECATED. \fBFcFontSetSortDestroy\fR
+destroys \fIset\fR by calling
+\fBFcFontSetDestroy\fR\&. Applications should use
+\fBFcFontSetDestroy\fR directly instead.
diff --git a/doc/FcFontSort.3 b/doc/FcFontSort.3
new file mode 100644
index 00000000..2541608e
--- /dev/null
+++ b/doc/FcFontSort.3
@@ -0,0 +1,26 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFontSort" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFontSort \- Return list of matching fonts
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcFontSet * FcFontSort (FcConfig *\fIconfig\fB, FcPattern *\fIp\fB, FcBool \fItrim\fB, FcCharSet **\fIcsp\fB, FcResult *\fIresult\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the list of fonts sorted by closeness to \fIp\fR\&. If \fItrim\fR is FcTrue,
+elements in the list which don't include Unicode coverage not provided by
+earlier elements in the list are elided. The union of Unicode coverage of
+all of the fonts is returned in \fIcsp\fR, if \fIcsp\fR is not NULL. This function
+should be called only after FcConfigSubstitute and FcDefaultSubstitute have
+been called for \fIp\fR; otherwise the results will not be correct.
+.PP
+The returned FcFontSet references FcPattern structures which may be shared
+by the return value from multiple FcFontSort calls, applications must not
+modify these patterns. Instead, they should be passed, along with \fIp\fR to
+\fBFcFontRenderPrepare\fR which combines them into a complete pattern.
+.PP
+The FcFontSet returned by FcFontSort is destroyed by calling FcFontSetDestroy.
+If \fIconfig\fR is NULL, the current configuration is used.
diff --git a/doc/FcFreeTypeCharIndex.3 b/doc/FcFreeTypeCharIndex.3
new file mode 100644
index 00000000..7e139cd3
--- /dev/null
+++ b/doc/FcFreeTypeCharIndex.3
@@ -0,0 +1,18 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFreeTypeCharIndex" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFreeTypeCharIndex \- map Unicode to glyph id
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig.h>
+#include <fcfreetype.h>
+.sp
+FT_UInt FcFreeTypeCharIndex (FT_Face \fIface\fB, FcChar32 \fIucs4\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Maps a Unicode char to a glyph index. This function uses information from
+several possible underlying encoding tables to work around broken fonts.
+As a result, this function isn't designed to be used in performance
+sensitive areas; results from this function are intended to be cached by
+higher level functions.
diff --git a/doc/FcFreeTypeCharSet.3 b/doc/FcFreeTypeCharSet.3
new file mode 100644
index 00000000..1afde0c8
--- /dev/null
+++ b/doc/FcFreeTypeCharSet.3
@@ -0,0 +1,17 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFreeTypeCharSet" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFreeTypeCharSet \- compute Unicode coverage
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig.h>
+#include <fcfreetype.h>
+.sp
+FcCharSet * FcFreeTypeCharSet (FT_Face \fIface\fB, FcBlanks *\fIblanks\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Scans a FreeType face and returns the set of encoded Unicode chars. This scans
+several encoding tables to build as complete a list as possible.
+If 'blanks' is not 0, the glyphs in the font are examined and any blank glyphs
+not in 'blanks' are not placed in the returned FcCharSet.
diff --git a/doc/FcFreeTypeCharSetAndSpacing.3 b/doc/FcFreeTypeCharSetAndSpacing.3
new file mode 100644
index 00000000..7853432d
--- /dev/null
+++ b/doc/FcFreeTypeCharSetAndSpacing.3
@@ -0,0 +1,23 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFreeTypeCharSetAndSpacing" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFreeTypeCharSetAndSpacing \- compute Unicode coverage and spacing type
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig.h>
+#include <fcfreetype.h>
+.sp
+FcCharSet * FcFreeTypeCharSetAndSpacing (FT_Face \fIface\fB, FcBlanks *\fIblanks\fB, int *\fIspacing\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Scans a FreeType face and returns the set of encoded Unicode chars.
+This scans
+several encoding tables to build as complete a list as possible.
+If 'blanks' is not 0, the glyphs in the font are examined and any blank glyphs
+not in 'blanks' are not placed in the returned FcCharSet.
+\fIspacing\fR receives the computed spacing type of the
+font, one of FC_MONO for a font where all glyphs have the same width,
+FC_DUAL, where the font has glyphs in precisely two widths, one twice as
+wide as the other, or FC_PROPORTIONAL where the font has glyphs of many
+widths.
diff --git a/doc/FcFreeTypeQuery.3 b/doc/FcFreeTypeQuery.3
new file mode 100644
index 00000000..b633df73
--- /dev/null
+++ b/doc/FcFreeTypeQuery.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFreeTypeQuery" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFreeTypeQuery \- compute pattern from font file (and index)
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig.h>
+#include <fcfreetype.h>
+.sp
+FcPattern * FcFreeTypeQuery (const FcChar8 *\fIfile\fB, int \fIid\fB, FcBlanks *\fIblanks\fB, int *\fIcount\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Constructs a pattern representing the 'id'th font in 'file'. The number
+of fonts in 'file' is returned in 'count'.
diff --git a/doc/FcFreeTypeQueryFace.3 b/doc/FcFreeTypeQueryFace.3
new file mode 100644
index 00000000..74355277
--- /dev/null
+++ b/doc/FcFreeTypeQueryFace.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFreeTypeQueryFace" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcFreeTypeQueryFace \- compute pattern from FT_Face
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig.h>
+#include <fcfreetype.h>
+.sp
+FcPattern * FcFreeTypeQueryFace (const FT_Face \fIface\fB, const FcChar8 *\fIfile\fB, int \fIid\fB, FcBlanks *\fIblanks\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Constructs a pattern representing 'face'. 'file' and 'id' are used solely as
+data for pattern elements (FC_FILE, FC_INDEX and sometimes FC_FAMILY).
diff --git a/doc/FcGetDefaultLangs.3 b/doc/FcGetDefaultLangs.3
new file mode 100644
index 00000000..65d11cdb
--- /dev/null
+++ b/doc/FcGetDefaultLangs.3
@@ -0,0 +1,18 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcGetDefaultLangs" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcGetDefaultLangs \- Get the default languages list
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcStrSet * FcGetDefaultLangs (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns a string set of the default languages according to the environment variables on the system.
+This function looks for them in order of FC_LANG, LC_ALL, LC_CTYPE and LANG then.
+If there are no valid values in those environment variables, "en" will be set as fallback.
+.SH "SINCE"
+.PP
+version 2.9.91
diff --git a/doc/FcGetLangs.3 b/doc/FcGetLangs.3
new file mode 100644
index 00000000..1fbd5163
--- /dev/null
+++ b/doc/FcGetLangs.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcGetLangs" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcGetLangs \- Get list of languages
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcStrSet * FcGetLangs (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns a string set of all known languages.
diff --git a/doc/FcGetVersion.3 b/doc/FcGetVersion.3
new file mode 100644
index 00000000..a4bbf002
--- /dev/null
+++ b/doc/FcGetVersion.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcGetVersion" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcGetVersion \- library version number
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+int FcGetVersion (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the version number of the library.
diff --git a/doc/FcInit.3 b/doc/FcInit.3
new file mode 100644
index 00000000..8d68d7ae
--- /dev/null
+++ b/doc/FcInit.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcInit" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcInit \- initialize fontconfig library
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcInit (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Loads the default configuration file and the fonts referenced therein and
+sets the default configuration to that result. Returns whether this
+process succeeded or not. If the default configuration has already
+been loaded, this routine does nothing and returns FcTrue.
diff --git a/doc/FcInitBringUptoDate.3 b/doc/FcInitBringUptoDate.3
new file mode 100644
index 00000000..adbe2bf8
--- /dev/null
+++ b/doc/FcInitBringUptoDate.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcInitBringUptoDate" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcInitBringUptoDate \- reload configuration files if needed
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcInitBringUptoDate (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Checks the rescan interval in the default configuration, checking the
+configuration if the interval has passed and reloading the configuration if
+when any changes are detected. Returns FcFalse if the configuration cannot
+be reloaded (see FcInitReinitialize). Otherwise returns FcTrue.
diff --git a/doc/FcInitLoadConfig.3 b/doc/FcInitLoadConfig.3
new file mode 100644
index 00000000..64915a86
--- /dev/null
+++ b/doc/FcInitLoadConfig.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcInitLoadConfig" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcInitLoadConfig \- load configuration
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcConfig * FcInitLoadConfig (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Loads the default configuration file and returns the resulting configuration.
+Does not load any font information.
diff --git a/doc/FcInitLoadConfigAndFonts.3 b/doc/FcInitLoadConfigAndFonts.3
new file mode 100644
index 00000000..a8c51c28
--- /dev/null
+++ b/doc/FcInitLoadConfigAndFonts.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcInitLoadConfigAndFonts" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcInitLoadConfigAndFonts \- load configuration and font data
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcConfig * FcInitLoadConfigAndFonts (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Loads the default configuration file and builds information about the
+available fonts. Returns the resulting configuration.
diff --git a/doc/FcInitReinitialize.3 b/doc/FcInitReinitialize.3
new file mode 100644
index 00000000..c02fb115
--- /dev/null
+++ b/doc/FcInitReinitialize.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcInitReinitialize" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcInitReinitialize \- re-initialize library
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcInitReinitialize (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Forces the default configuration file to be reloaded and resets the default
+configuration. Returns FcFalse if the configuration cannot be reloaded (due
+to configuration file errors, allocation failures or other issues) and leaves the
+existing configuration unchanged. Otherwise returns FcTrue.
diff --git a/doc/FcIsLower.3 b/doc/FcIsLower.3
new file mode 100644
index 00000000..c75046b4
--- /dev/null
+++ b/doc/FcIsLower.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcIsLower" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcIsLower \- check for lower case ASCII character
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcIsLower (FcChar8\fIc\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This macro checks whether \fIc\fR is an lower case ASCII
+letter.
diff --git a/doc/FcIsUpper.3 b/doc/FcIsUpper.3
new file mode 100644
index 00000000..3482228a
--- /dev/null
+++ b/doc/FcIsUpper.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcIsUpper" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcIsUpper \- check for upper case ASCII character
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcIsUpper (FcChar8\fIc\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This macro checks whether \fIc\fR is a upper case ASCII
+letter.
diff --git a/doc/FcLangGetCharSet.3 b/doc/FcLangGetCharSet.3
new file mode 100644
index 00000000..8d798327
--- /dev/null
+++ b/doc/FcLangGetCharSet.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcLangGetCharSet" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcLangGetCharSet \- Get character map for a language
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+const FcCharSet * FcLangGetCharSet (const FcChar8 *\fIlang\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the FcCharMap for a language.
diff --git a/doc/FcLangNormalize.3 b/doc/FcLangNormalize.3
new file mode 100644
index 00000000..0963cb3d
--- /dev/null
+++ b/doc/FcLangNormalize.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcLangNormalize" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcLangNormalize \- Normalize the language string
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 * FcLangNormalize (const FcChar8 *\fIlang\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns a string to make \fIlang\fR suitable on fontconfig.
+.SH "SINCE"
+.PP
+version 2.10.91
diff --git a/doc/FcLangSetAdd.3 b/doc/FcLangSetAdd.3
new file mode 100644
index 00000000..e12c4ce4
--- /dev/null
+++ b/doc/FcLangSetAdd.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcLangSetAdd" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcLangSetAdd \- add a language to a langset
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcLangSetAdd (FcLangSet *\fIls\fB, const FcChar8 *\fIlang\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fIlang\fR is added to \fIls\fR\&.
+\fIlang\fR should be of the form Ll-Tt where Ll is a
+two or three letter language from ISO 639 and Tt is a territory from ISO
+3166.
diff --git a/doc/FcLangSetCompare.3 b/doc/FcLangSetCompare.3
new file mode 100644
index 00000000..193fa010
--- /dev/null
+++ b/doc/FcLangSetCompare.3
@@ -0,0 +1,18 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcLangSetCompare" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcLangSetCompare \- compare language sets
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcLangResult FcLangSetCompare (const FcLangSet *\fIls_a\fB, const FcLangSet *\fIls_b\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcLangSetCompare\fR compares language coverage for
+\fIls_a\fR and \fIls_b\fR\&. If they share
+any language and territory pair, this function returns FcLangEqual. If they
+share a language but differ in which territory that language is for, this
+function returns FcLangDifferentTerritory. If they share no languages in
+common, this function returns FcLangDifferentLang.
diff --git a/doc/FcLangSetContains.3 b/doc/FcLangSetContains.3
new file mode 100644
index 00000000..294d08d4
--- /dev/null
+++ b/doc/FcLangSetContains.3
@@ -0,0 +1,18 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcLangSetContains" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcLangSetContains \- check langset subset relation
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcLangSetContains (const FcLangSet *\fIls_a\fB, const FcLangSet *\fIls_b\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcLangSetContains\fR returns FcTrue if
+\fIls_a\fR contains every language in
+\fIls_b\fR\&. \fIls_a\fR will 'contain' a
+language from \fIls_b\fR if \fIls_a\fR
+has exactly the language, or either the language or
+\fIls_a\fR has no territory.
diff --git a/doc/FcLangSetCopy.3 b/doc/FcLangSetCopy.3
new file mode 100644
index 00000000..a67b9902
--- /dev/null
+++ b/doc/FcLangSetCopy.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcLangSetCopy" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcLangSetCopy \- copy a langset object
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcLangSet * FcLangSetCopy (const FcLangSet *\fIls\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcLangSetCopy\fR creates a new FcLangSet object and
+populates it with the contents of \fIls\fR\&.
diff --git a/doc/FcLangSetCreate.3 b/doc/FcLangSetCreate.3
new file mode 100644
index 00000000..72d1ab6b
--- /dev/null
+++ b/doc/FcLangSetCreate.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcLangSetCreate" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcLangSetCreate \- create a langset object
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcLangSet * FcLangSetCreate (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcLangSetCreate\fR creates a new FcLangSet object.
diff --git a/doc/FcLangSetDel.3 b/doc/FcLangSetDel.3
new file mode 100644
index 00000000..0d1830b1
--- /dev/null
+++ b/doc/FcLangSetDel.3
@@ -0,0 +1,19 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcLangSetDel" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcLangSetDel \- delete a language from a langset
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcLangSetDel (FcLangSet *\fIls\fB, const FcChar8 *\fIlang\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fIlang\fR is removed from \fIls\fR\&.
+\fIlang\fR should be of the form Ll-Tt where Ll is a
+two or three letter language from ISO 639 and Tt is a territory from ISO
+3166.
+.SH "SINCE"
+.PP
+version 2.9.0
diff --git a/doc/FcLangSetDestroy.3 b/doc/FcLangSetDestroy.3
new file mode 100644
index 00000000..b6d5d853
--- /dev/null
+++ b/doc/FcLangSetDestroy.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcLangSetDestroy" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcLangSetDestroy \- destroy a langset object
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcLangSetDestroy (FcLangSet *\fIls\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcLangSetDestroy\fR destroys a FcLangSet object, freeing
+all memory associated with it.
diff --git a/doc/FcLangSetEqual.3 b/doc/FcLangSetEqual.3
new file mode 100644
index 00000000..379406f2
--- /dev/null
+++ b/doc/FcLangSetEqual.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcLangSetEqual" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcLangSetEqual \- test for matching langsets
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcLangSetEqual (const FcLangSet *\fIls_a\fB, const FcLangSet *\fIls_b\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns FcTrue if and only if \fIls_a\fR supports precisely
+the same language and territory combinations as \fIls_b\fR\&.
diff --git a/doc/FcLangSetGetLangs.3 b/doc/FcLangSetGetLangs.3
new file mode 100644
index 00000000..8f201f5e
--- /dev/null
+++ b/doc/FcLangSetGetLangs.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcLangSetGetLangs" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcLangSetGetLangs \- get the list of languages in the langset
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcStrSet * FcLangSetGetLangs (const FcLangSet *\fIls\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns a string set of all languages in \fIlangset\fR\&.
diff --git a/doc/FcLangSetHasLang.3 b/doc/FcLangSetHasLang.3
new file mode 100644
index 00000000..96e00968
--- /dev/null
+++ b/doc/FcLangSetHasLang.3
@@ -0,0 +1,19 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcLangSetHasLang" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcLangSetHasLang \- test langset for language support
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcLangResult FcLangSetHasLang (const FcLangSet *\fIls\fB, const FcChar8 *\fIlang\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcLangSetHasLang\fR checks whether
+\fIls\fR supports \fIlang\fR\&. If
+\fIls\fR has a matching language and territory pair,
+this function returns FcLangEqual. If \fIls\fR has
+a matching language but differs in which territory that language is for, this
+function returns FcLangDifferentTerritory. If \fIls\fR
+has no matching language, this function returns FcLangDifferentLang.
diff --git a/doc/FcLangSetHash.3 b/doc/FcLangSetHash.3
new file mode 100644
index 00000000..38cd577f
--- /dev/null
+++ b/doc/FcLangSetHash.3
@@ -0,0 +1,17 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcLangSetHash" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcLangSetHash \- return a hash value for a langset
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar32 FcLangSetHash (const FcLangSet *\fIls\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This function returns a value which depends solely on the languages
+supported by \fIls\fR\&. Any language which equals
+\fIls\fR will have the same result from
+\fBFcLangSetHash\fR\&. However, two langsets with the same hash
+value may not be equal.
diff --git a/doc/FcLangSetSubtract.3 b/doc/FcLangSetSubtract.3
new file mode 100644
index 00000000..afa14ec1
--- /dev/null
+++ b/doc/FcLangSetSubtract.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcLangSetSubtract" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcLangSetSubtract \- Subtract langsets
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcLangSet * FcLangSetSubtract (const FcLangSet *\fIls_a\fB, const FcLangSet *\fIls_b\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns a set including only those languages found in \fIls_a\fR but not in \fIls_b\fR\&.
+.SH "SINCE"
+.PP
+version 2.9.0
diff --git a/doc/FcLangSetUnion.3 b/doc/FcLangSetUnion.3
new file mode 100644
index 00000000..a67f8d35
--- /dev/null
+++ b/doc/FcLangSetUnion.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcLangSetUnion" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcLangSetUnion \- Add langsets
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcLangSet * FcLangSetUnion (const FcLangSet *\fIls_a\fB, const FcLangSet *\fIls_b\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns a set including only those languages found in either \fIls_a\fR or \fIls_b\fR\&.
+.SH "SINCE"
+.PP
+version 2.9.0
diff --git a/doc/FcMatrixCopy.3 b/doc/FcMatrixCopy.3
new file mode 100644
index 00000000..a396ada8
--- /dev/null
+++ b/doc/FcMatrixCopy.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcMatrixCopy" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcMatrixCopy \- Copy a matrix
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcMatrixCopy (const FcMatrix *\fImatrix\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcMatrixCopy\fR allocates a new FcMatrix
+and copies \fImat\fR into it.
diff --git a/doc/FcMatrixEqual.3 b/doc/FcMatrixEqual.3
new file mode 100644
index 00000000..e7576364
--- /dev/null
+++ b/doc/FcMatrixEqual.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcMatrixEqual" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcMatrixEqual \- Compare two matrices
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcMatrixEqual (const FcMatrix *\fImatrix1\fB, const FcMatrix *\fImatrix2\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcMatrixEqual\fR compares \fImatrix1\fR
+and \fImatrix2\fR returning FcTrue when they are equal and
+FcFalse when they are not.
diff --git a/doc/FcMatrixInit.3 b/doc/FcMatrixInit.3
new file mode 100644
index 00000000..dd2dea1b
--- /dev/null
+++ b/doc/FcMatrixInit.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcMatrixInit" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcMatrixInit \- initialize an FcMatrix structure
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcMatrixInit (FcMatrix *\fImatrix\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcMatrixInit\fR initializes \fImatrix\fR
+to the identity matrix.
diff --git a/doc/FcMatrixMultiply.3 b/doc/FcMatrixMultiply.3
new file mode 100644
index 00000000..4b2754d8
--- /dev/null
+++ b/doc/FcMatrixMultiply.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcMatrixMultiply" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcMatrixMultiply \- Multiply matrices
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcMatrixMultiply (FcMatrix *\fIresult\fB, const FcMatrix *\fImatrix1\fB, const FcMatrix *\fImatrix2\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcMatrixMultiply\fR multiplies
+\fImatrix1\fR and \fImatrix2\fR storing
+the result in \fIresult\fR\&.
diff --git a/doc/FcMatrixRotate.3 b/doc/FcMatrixRotate.3
new file mode 100644
index 00000000..cceb1a2e
--- /dev/null
+++ b/doc/FcMatrixRotate.3
@@ -0,0 +1,22 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcMatrixRotate" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcMatrixRotate \- Rotate a matrix
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcMatrixRotate (FcMatrix *\fImatrix\fB, double \fIcos\fB, double \fIsin\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcMatrixRotate\fR rotates \fImatrix\fR
+by the angle who's sine is \fIsin\fR and cosine is
+\fIcos\fR\&. This is done by multiplying by the
+matrix:
+.sp
+.nf
+ cos -sin
+ sin cos
+.sp
+.fi
diff --git a/doc/FcMatrixScale.3 b/doc/FcMatrixScale.3
new file mode 100644
index 00000000..6d2cb9ce
--- /dev/null
+++ b/doc/FcMatrixScale.3
@@ -0,0 +1,22 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcMatrixScale" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcMatrixScale \- Scale a matrix
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcMatrixScale (FcMatrix *\fImatrix\fB, double \fIsx\fB, double \fIdy\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcMatrixScale\fR multiplies \fImatrix\fR
+x values by \fIsx\fR and y values by
+\fIdy\fR\&. This is done by multiplying by
+the matrix:
+.sp
+.nf
+ sx 0
+ 0 dy
+.sp
+.fi
diff --git a/doc/FcMatrixShear.3 b/doc/FcMatrixShear.3
new file mode 100644
index 00000000..b3efd51c
--- /dev/null
+++ b/doc/FcMatrixShear.3
@@ -0,0 +1,22 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcMatrixShear" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcMatrixShear \- Shear a matrix
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcMatrixShear (FcMatrix *\fImatrix\fB, double \fIsh\fB, double \fIsv\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcMatrixShare\fR shears \fImatrix\fR
+horizontally by \fIsh\fR and vertically by
+\fIsv\fR\&. This is done by multiplying by
+the matrix:
+.sp
+.nf
+ 1 sh
+ sv 1
+.sp
+.fi
diff --git a/doc/FcNameConstant.3 b/doc/FcNameConstant.3
new file mode 100644
index 00000000..d84f25f9
--- /dev/null
+++ b/doc/FcNameConstant.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcNameConstant" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcNameConstant \- Get the value for a symbolic constant
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcNameConstant (FcChar8 *\fIstring\fB, int *\fIresult\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns whether a symbolic constant with name \fIstring\fR is registered,
+placing the value of the constant in \fIresult\fR if present.
diff --git a/doc/FcNameGetConstant.3 b/doc/FcNameGetConstant.3
new file mode 100644
index 00000000..ea3da7a3
--- /dev/null
+++ b/doc/FcNameGetConstant.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcNameGetConstant" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcNameGetConstant \- Lookup symbolic constant
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+const FcConstant * FcNameGetConstant (FcChar8 *\fIstring\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Return the FcConstant structure related to symbolic constant \fIstring\fR\&.
diff --git a/doc/FcNameGetObjectType.3 b/doc/FcNameGetObjectType.3
new file mode 100644
index 00000000..2308ee1c
--- /dev/null
+++ b/doc/FcNameGetObjectType.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcNameGetObjectType" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcNameGetObjectType \- Lookup an object type
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+const FcObjectType * FcNameGetObjectType (const char *\fIobject\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Return the object type for the pattern element named \fIobject\fR\&.
diff --git a/doc/FcNameParse.3 b/doc/FcNameParse.3
new file mode 100644
index 00000000..215c5db4
--- /dev/null
+++ b/doc/FcNameParse.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcNameParse" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcNameParse \- Parse a pattern string
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcPattern * FcNameParse (const FcChar8 *\fIname\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Converts \fIname\fR from the standard text format described above into a pattern.
diff --git a/doc/FcNameRegisterConstants.3 b/doc/FcNameRegisterConstants.3
new file mode 100644
index 00000000..a84ea671
--- /dev/null
+++ b/doc/FcNameRegisterConstants.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcNameRegisterConstants" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcNameRegisterConstants \- Register symbolic constants
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcNameRegisterConstants (const FcConstant *\fIconsts\fB, int \fInconsts\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Deprecated. Does nothing. Returns FcFalse.
diff --git a/doc/FcNameRegisterObjectTypes.3 b/doc/FcNameRegisterObjectTypes.3
new file mode 100644
index 00000000..df23c61d
--- /dev/null
+++ b/doc/FcNameRegisterObjectTypes.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcNameRegisterObjectTypes" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcNameRegisterObjectTypes \- Register object types
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcNameRegisterObjectTypes (const FcObjectType *\fItypes\fB, int \fIntype\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Deprecated. Does nothing. Returns FcFalse.
diff --git a/doc/FcNameUnparse.3 b/doc/FcNameUnparse.3
new file mode 100644
index 00000000..a477e21f
--- /dev/null
+++ b/doc/FcNameUnparse.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcNameUnparse" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcNameUnparse \- Convert a pattern back into a string that can be parsed
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 * FcNameUnparse (FcPattern *\fIpat\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Converts the given pattern into the standard text format described above.
+The return value is not static, but instead refers to newly allocated memory
+which should be freed by the caller using free().
diff --git a/doc/FcNameUnregisterConstants.3 b/doc/FcNameUnregisterConstants.3
new file mode 100644
index 00000000..654714d5
--- /dev/null
+++ b/doc/FcNameUnregisterConstants.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcNameUnregisterConstants" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcNameUnregisterConstants \- Unregister symbolic constants
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcNameUnregisterConstants (const FcConstant *\fIconsts\fB, int \fInconsts\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Deprecated. Does nothing. Returns FcFalse.
diff --git a/doc/FcNameUnregisterObjectTypes.3 b/doc/FcNameUnregisterObjectTypes.3
new file mode 100644
index 00000000..adef4dd2
--- /dev/null
+++ b/doc/FcNameUnregisterObjectTypes.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcNameUnregisterObjectTypes" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcNameUnregisterObjectTypes \- Unregister object types
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcNameUnregisterObjectTypes (const FcObjectType *\fItypes\fB, int \fIntype\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Deprecated. Does nothing. Returns FcFalse.
diff --git a/doc/FcObjectSetAdd.3 b/doc/FcObjectSetAdd.3
new file mode 100644
index 00000000..2ba055e2
--- /dev/null
+++ b/doc/FcObjectSetAdd.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcObjectSetAdd" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcObjectSetAdd \- Add to an object set
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcObjectSetAdd (FcObjectSet *\fIos\fB, const char *\fIobject\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Adds a property name to the set. Returns FcFalse if the property name cannot be
+inserted into the set (due to allocation failure). Otherwise returns FcTrue.
diff --git a/doc/FcObjectSetBuild.3 b/doc/FcObjectSetBuild.3
new file mode 100644
index 00000000..184372d1
--- /dev/null
+++ b/doc/FcObjectSetBuild.3
@@ -0,0 +1,19 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcObjectSetBuild" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcObjectSetBuild, FcObjectSetVaBuild, FcObjectSetVapBuild \- Build object set from args
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcObjectSet * FcObjectSetBuild (const char *\fIfirst\fB, \&...\fI\fB);
+.sp
+FcObjectSet * FcObjectSetVaBuild (const char *\fIfirst\fB, va_list \fIva\fB);
+.sp
+void FcObjectSetVapBuild (FcObjectSet *\fIresult\fB, const char *\fIfirst\fB, va_list \fIva\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+These build an object set from a null-terminated list of property names.
+FcObjectSetVapBuild is a macro version of FcObjectSetVaBuild which returns
+the result in the \fIresult\fR variable directly.
diff --git a/doc/FcObjectSetCreate.3 b/doc/FcObjectSetCreate.3
new file mode 100644
index 00000000..dee57390
--- /dev/null
+++ b/doc/FcObjectSetCreate.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcObjectSetCreate" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcObjectSetCreate \- Create an object set
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcObjectSet * FcObjectSetCreate (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Creates an empty set.
diff --git a/doc/FcObjectSetDestroy.3 b/doc/FcObjectSetDestroy.3
new file mode 100644
index 00000000..b9a91aa3
--- /dev/null
+++ b/doc/FcObjectSetDestroy.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcObjectSetDestroy" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcObjectSetDestroy \- Destroy an object set
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcObjectSetDestroy (FcObjectSet *\fIos\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Destroys an object set.
diff --git a/doc/FcPatternAdd-Type.3 b/doc/FcPatternAdd-Type.3
new file mode 100644
index 00000000..a4e49354
--- /dev/null
+++ b/doc/FcPatternAdd-Type.3
@@ -0,0 +1,33 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternAdd-Type" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternAddInteger, FcPatternAddDouble, FcPatternAddString, FcPatternAddMatrix, FcPatternAddCharSet, FcPatternAddBool, FcPatternAddFTFace, FcPatternAddLangSet, FcPatternAddRange \- Add a typed value to a pattern
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcPatternAddInteger (FcPattern *\fIp\fB, const char *\fIobject\fB, int \fIi\fB);
+.sp
+FcBool FcPatternAddDouble (FcPattern *\fIp\fB, const char *\fIobject\fB, double \fId\fB);
+.sp
+FcBool FcPatternAddString (FcPattern *\fIp\fB, const char *\fIobject\fB, const FcChar8 *\fIs\fB);
+.sp
+FcBool FcPatternAddMatrix (FcPattern *\fIp\fB, const char *\fIobject\fB, const FcMatrix *\fIm\fB);
+.sp
+FcBool FcPatternAddCharSet (FcPattern *\fIp\fB, const char *\fIobject\fB, const FcCharSet *\fIc\fB);
+.sp
+FcBool FcPatternAddBool (FcPattern *\fIp\fB, const char *\fIobject\fB, FcBool \fIb\fB);
+.sp
+FcBool FcPatternAddFTFace (FcPattern *\fIp\fB, const char *\fIobject\fB, const FT_Face\fIf\fB);
+.sp
+FcBool FcPatternAddLangSet (FcPattern *\fIp\fB, const char *\fIobject\fB, const FcLangSet *\fIl\fB);
+.sp
+FcBool FcPatternAddRange (FcPattern *\fIp\fB, const char *\fIobject\fB, const FcRange *\fIr\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+These are all convenience functions that insert objects of the specified
+type into the pattern. Use these in preference to FcPatternAdd as they
+will provide compile-time typechecking. These all append values to
+any existing list of values.
+\fBFcPatternAddRange\fR are available since 2.11.91.
diff --git a/doc/FcPatternAdd.3 b/doc/FcPatternAdd.3
new file mode 100644
index 00000000..d0a6b70d
--- /dev/null
+++ b/doc/FcPatternAdd.3
@@ -0,0 +1,17 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternAdd" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternAdd \- Add a value to a pattern
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcPatternAdd (FcPattern *\fIp\fB, const char *\fIobject\fB, FcValue \fIvalue\fB, FcBool \fIappend\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Adds a single value to the list of values associated with the property named
+`object\fI\&. If `append\fR is FcTrue, the value is added at the end of any
+existing list, otherwise it is inserted at the beginning. `value' is saved
+(with FcValueSave) when inserted into the pattern so that the library
+retains no reference to any application-supplied data structure.
diff --git a/doc/FcPatternAddWeak.3 b/doc/FcPatternAddWeak.3
new file mode 100644
index 00000000..9e8bc427
--- /dev/null
+++ b/doc/FcPatternAddWeak.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternAddWeak" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternAddWeak \- Add a value to a pattern with weak binding
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcPatternAddWeak (FcPattern *\fIp\fB, const char *\fIobject\fB, FcValue \fIvalue\fB, FcBool \fIappend\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+FcPatternAddWeak is essentially the same as FcPatternAdd except that any
+values added to the list have binding \fIweak\fR instead of \fIstrong\fR\&.
diff --git a/doc/FcPatternBuild.3 b/doc/FcPatternBuild.3
new file mode 100644
index 00000000..4a5abc9e
--- /dev/null
+++ b/doc/FcPatternBuild.3
@@ -0,0 +1,43 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternBuild" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternBuild, FcPatternVaBuild, FcPatternVapBuild \- Create patterns from arguments
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcPattern * FcPatternBuild (FcPattern *\fIpattern\fB, \&...\fI\fB);
+.sp
+FcPattern * FcPatternVaBuild (FcPattern *\fIpattern\fB, va_list \fIva\fB);
+.sp
+void FcPatternVapBuild (FcPattern *\fIresult\fB, FcPattern *\fIpattern\fB, va_list \fIva\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Builds a pattern using a list of objects, types and values. Each
+value to be entered in the pattern is specified with three arguments:
+.IP 1.
+Object name, a string describing the property to be added.
+.IP 2.
+Object type, one of the FcType enumerated values
+.IP 3.
+Value, not an FcValue, but the raw type as passed to any of the
+FcPatternAdd<type> functions. Must match the type of the second
+argument.
+.PP
+The argument list is terminated by a null object name, no object type nor
+value need be passed for this. The values are added to `pattern', if
+`pattern' is null, a new pattern is created. In either case, the pattern is
+returned. Example
+.PP
+.sp
+.nf
+pattern = FcPatternBuild (0, FC_FAMILY, FcTypeString, "Times", (char *) 0);
+.sp
+.fi
+.PP
+FcPatternVaBuild is used when the arguments are already in the form of a
+varargs value. FcPatternVapBuild is a macro version of FcPatternVaBuild
+which returns its result directly in the \fIresult\fR
+variable.
+.PP
diff --git a/doc/FcPatternCreate.3 b/doc/FcPatternCreate.3
new file mode 100644
index 00000000..ad3d6f68
--- /dev/null
+++ b/doc/FcPatternCreate.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternCreate" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternCreate \- Create a pattern
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcPattern * FcPatternCreate (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Creates a pattern with no properties; used to build patterns from scratch.
diff --git a/doc/FcPatternDel.3 b/doc/FcPatternDel.3
new file mode 100644
index 00000000..5934dd8b
--- /dev/null
+++ b/doc/FcPatternDel.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternDel" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternDel \- Delete a property from a pattern
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcPatternDel (FcPattern *\fIp\fB, const char *\fIobject\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Deletes all values associated with the property `object', returning
+whether the property existed or not.
diff --git a/doc/FcPatternDestroy.3 b/doc/FcPatternDestroy.3
new file mode 100644
index 00000000..525c6c56
--- /dev/null
+++ b/doc/FcPatternDestroy.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternDestroy" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternDestroy \- Destroy a pattern
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcPatternDestroy (FcPattern *\fIp\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Decrement the pattern reference count. If all references are gone, destroys
+the pattern, in the process destroying all related values.
diff --git a/doc/FcPatternDuplicate.3 b/doc/FcPatternDuplicate.3
new file mode 100644
index 00000000..b9d61abb
--- /dev/null
+++ b/doc/FcPatternDuplicate.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternDuplicate" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternDuplicate \- Copy a pattern
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcPattern * FcPatternDuplicate (const FcPattern *\fIp\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Copy a pattern, returning a new pattern that matches
+\fIp\fR\&. Each pattern may be modified without affecting the
+other.
diff --git a/doc/FcPatternEqual.3 b/doc/FcPatternEqual.3
new file mode 100644
index 00000000..5cb658bb
--- /dev/null
+++ b/doc/FcPatternEqual.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternEqual" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternEqual \- Compare patterns
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcPatternEqual (const FcPattern *\fIpa\fB, const FcPattern *\fIpb\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns whether \fIpa\fR and \fIpb\fR are exactly alike.
diff --git a/doc/FcPatternEqualSubset.3 b/doc/FcPatternEqualSubset.3
new file mode 100644
index 00000000..ef68066c
--- /dev/null
+++ b/doc/FcPatternEqualSubset.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternEqualSubset" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternEqualSubset \- Compare portions of patterns
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcPatternEqualSubset (const FcPattern *\fIpa\fB, const FcPattern *\fIpb\fB, const FcObjectSet *\fIos\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns whether \fIpa\fR and \fIpb\fR have exactly the same values for all of the
+objects in \fIos\fR\&.
diff --git a/doc/FcPatternFilter.3 b/doc/FcPatternFilter.3
new file mode 100644
index 00000000..5bdd593d
--- /dev/null
+++ b/doc/FcPatternFilter.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternFilter" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternFilter \- Filter the objects of pattern
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcPattern * FcPatternFilter (FcPattern *\fIp\fB, const FcObjectSet *\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns a new pattern that only has those objects from
+\fIp\fR that are in \fIos\fR\&.
+If \fIos\fR is NULL, a duplicate of
+\fIp\fR is returned.
diff --git a/doc/FcPatternFormat.3 b/doc/FcPatternFormat.3
new file mode 100644
index 00000000..70401914
--- /dev/null
+++ b/doc/FcPatternFormat.3
@@ -0,0 +1,208 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternFormat" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternFormat \- Format a pattern into a string according to a format specifier
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 * FcPatternFormat (FcPattern *\fIpat\fB, const FcChar8 *\fIformat\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Converts given pattern \fIpat\fR into text described by
+the format specifier \fIformat\fR\&.
+The return value refers to newly allocated memory which should be freed by the
+caller using free(), or NULL if \fIformat\fR is invalid.
+.PP
+The format is loosely modeled after printf-style format string.
+The format string is composed of zero or more directives: ordinary
+characters (not "%"), which are copied unchanged to the output stream;
+and tags which are interpreted to construct text from the pattern in a
+variety of ways (explained below).
+Special characters can be escaped
+using backslash. C-string style special characters like \\n and \\r are
+also supported (this is useful when the format string is not a C string
+literal).
+It is advisable to always escape curly braces that
+are meant to be copied to the output as ordinary characters.
+.PP
+Each tag is introduced by the character "%",
+followed by an optional minimum field width,
+followed by tag contents in curly braces ({}).
+If the minimum field width value is provided the tag
+will be expanded and the result padded to achieve the minimum width.
+If the minimum field width is positive, the padding will right-align
+the text. Negative field width will left-align.
+The rest of this section describes various supported tag contents
+and their expansion.
+.PP
+A \fIsimple\fR tag
+is one where the content is an identifier. When simple
+tags are expanded, the named identifier will be looked up in
+\fIpattern\fR and the resulting list of values returned,
+joined together using comma. For example, to print the family name and style of the
+pattern, use the format "%{family} %{style}\\n". To extend the family column
+to forty characters use "%-40{family}%{style}\\n".
+.PP
+Simple tags expand to list of all values for an element. To only choose
+one of the values, one can index using the syntax "%{elt[idx]}". For example,
+to get the first family name only, use "%{family[0]}".
+.PP
+If a simple tag ends with "=" and the element is found in the pattern, the
+name of the element followed by "=" will be output before the list of values.
+For example, "%{weight=}" may expand to the string "weight=80". Or to the empty
+string if \fIpattern\fR does not have weight set.
+.PP
+If a simple tag starts with ":" and the element is found in the pattern, ":"
+will be printed first. For example, combining this with the =, the format
+"%{:weight=}" may expand to ":weight=80" or to the empty string
+if \fIpattern\fR does not have weight set.
+.PP
+If a simple tag contains the string ":-", the rest of the the tag contents
+will be used as a default string. The default string is output if the element
+is not found in the pattern. For example, the format
+"%{:weight=:-123}" may expand to ":weight=80" or to the string
+":weight=123" if \fIpattern\fR does not have weight set.
+.PP
+A \fIcount\fR tag
+is one that starts with the character "#" followed by an element
+name, and expands to the number of values for the element in the pattern.
+For example, "%{#family}" expands to the number of family names
+\fIpattern\fR has set, which may be zero.
+.PP
+A \fIsub-expression\fR tag
+is one that expands a sub-expression. The tag contents
+are the sub-expression to expand placed inside another set of curly braces.
+Sub-expression tags are useful for aligning an entire sub-expression, or to
+apply converters (explained later) to the entire sub-expression output.
+For example, the format "%40{{%{family} %{style}}}" expands the sub-expression
+to construct the family name followed by the style, then takes the entire
+string and pads it on the left to be at least forty characters.
+.PP
+A \fIfilter-out\fR tag
+is one starting with the character "-" followed by a
+comma-separated list of element names, followed by a sub-expression enclosed
+in curly braces. The sub-expression will be expanded but with a pattern that
+has the listed elements removed from it.
+For example, the format "%{-size,pixelsize{sub-expr}}" will expand "sub-expr"
+with \fIpattern\fR sans the size and pixelsize elements.
+.PP
+A \fIfilter-in\fR tag
+is one starting with the character "+" followed by a
+comma-separated list of element names, followed by a sub-expression enclosed
+in curly braces. The sub-expression will be expanded but with a pattern that
+only has the listed elements from the surrounding pattern.
+For example, the format "%{+family,familylang{sub-expr}}" will expand "sub-expr"
+with a sub-pattern consisting only the family and family lang elements of
+\fIpattern\fR\&.
+.PP
+A \fIconditional\fR tag
+is one starting with the character "?" followed by a
+comma-separated list of element conditions, followed by two sub-expression
+enclosed in curly braces. An element condition can be an element name,
+in which case it tests whether the element is defined in pattern, or
+the character "!" followed by an element name, in which case the test
+is negated. The conditional passes if all the element conditions pass.
+The tag expands the first sub-expression if the conditional passes, and
+expands the second sub-expression otherwise.
+For example, the format "%{?size,dpi,!pixelsize{pass}{fail}}" will expand
+to "pass" if \fIpattern\fR has size and dpi elements but
+no pixelsize element, and to "fail" otherwise.
+.PP
+An \fIenumerate\fR tag
+is one starting with the string "[]" followed by a
+comma-separated list of element names, followed by a sub-expression enclosed
+in curly braces. The list of values for the named elements are walked in
+parallel and the sub-expression expanded each time with a pattern just having
+a single value for those elements, starting from the first value and
+continuing as long as any of those elements has a value.
+For example, the format "%{[]family,familylang{%{family} (%{familylang})\\n}}"
+will expand the pattern "%{family} (%{familylang})\\n" with a pattern
+having only the first value of the family and familylang elements, then expands
+it with the second values, then the third, etc.
+.PP
+As a special case, if an enumerate tag has only one element, and that element
+has only one value in the pattern, and that value is of type FcLangSet, the
+individual languages in the language set are enumerated.
+.PP
+A \fIbuiltin\fR tag
+is one starting with the character "=" followed by a builtin
+name. The following builtins are defined:
+.TP
+\fBunparse\fR
+Expands to the result of calling FcNameUnparse() on the pattern.
+.TP
+\fBfcmatch\fR
+Expands to the output of the default output format of the fc-match
+command on the pattern, without the final newline.
+.TP
+\fBfclist\fR
+Expands to the output of the default output format of the fc-list
+command on the pattern, without the final newline.
+.TP
+\fBfccat\fR
+Expands to the output of the default output format of the fc-cat
+command on the pattern, without the final newline.
+.TP
+\fBpkgkit\fR
+Expands to the list of PackageKit font() tags for the pattern.
+Currently this includes tags for each family name, and each language
+from the pattern, enumerated and sanitized into a set of tags terminated
+by newline. Package management systems can use these tags to tag their
+packages accordingly.
+.PP
+For example, the format "%{+family,style{%{=unparse}}}\\n" will expand
+to an unparsed name containing only the family and style element values
+from \fIpattern\fR\&.
+.PP
+The contents of any tag can be followed by a set of zero or more
+\fIconverter\fRs. A converter is specified by the
+character "|" followed by the converter name and arguments. The
+following converters are defined:
+.TP
+\fBbasename\fR
+Replaces text with the results of calling FcStrBasename() on it.
+.TP
+\fBdirname\fR
+Replaces text with the results of calling FcStrDirname() on it.
+.TP
+\fBdowncase\fR
+Replaces text with the results of calling FcStrDowncase() on it.
+.TP
+\fBshescape\fR
+Escapes text for one level of shell expansion.
+(Escapes single-quotes, also encloses text in single-quotes.)
+.TP
+\fBcescape\fR
+Escapes text such that it can be used as part of a C string literal.
+(Escapes backslash and double-quotes.)
+.TP
+\fBxmlescape\fR
+Escapes text such that it can be used in XML and HTML.
+(Escapes less-than, greater-than, and ampersand.)
+.TP
+\fBdelete(\fIchars\fB)\fR
+Deletes all occurrences of each of the characters in \fIchars\fR
+from the text.
+FIXME: This converter is not UTF-8 aware yet.
+.TP
+\fBescape(\fIchars\fB)\fR
+Escapes all occurrences of each of the characters in \fIchars\fR
+by prepending it by the first character in \fIchars\fR\&.
+FIXME: This converter is not UTF-8 aware yet.
+.TP
+\fBtranslate(\fIfrom\fB,\fIto\fB)\fR
+Translates all occurrences of each of the characters in \fIfrom\fR
+by replacing them with their corresponding character in \fIto\fR\&.
+If \fIto\fR has fewer characters than
+\fIfrom\fR, it will be extended by repeating its last
+character.
+FIXME: This converter is not UTF-8 aware yet.
+.PP
+For example, the format "%{family|downcase|delete( )}\\n" will expand
+to the values of the family element in \fIpattern\fR,
+lower-cased and with spaces removed.
+.SH "SINCE"
+.PP
+version 2.9.0
diff --git a/doc/FcPatternGet-Type.3 b/doc/FcPatternGet-Type.3
new file mode 100644
index 00000000..d23a3aed
--- /dev/null
+++ b/doc/FcPatternGet-Type.3
@@ -0,0 +1,34 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternGet-Type" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternGetInteger, FcPatternGetDouble, FcPatternGetString, FcPatternGetMatrix, FcPatternGetCharSet, FcPatternGetBool, FcPatternGetFTFace, FcPatternGetLangSet, FcPatternGetRange \- Return a typed value from a pattern
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcResult FcPatternGetInteger (FcPattern *\fIp\fB, const char *\fIobject\fB, int \fIn\fB, int *\fIi\fB);
+.sp
+FcResult FcPatternGetDouble (FcPattern *\fIp\fB, const char *\fIobject\fB, int \fIn\fB, double *\fId\fB);
+.sp
+FcResult FcPatternGetString (FcPattern *\fIp\fB, const char *\fIobject\fB, int \fIn\fB, FcChar8 **\fIs\fB);
+.sp
+FcResult FcPatternGetMatrix (FcPattern *\fIp\fB, const char *\fIobject\fB, int \fIn\fB, FcMatrix **\fIs\fB);
+.sp
+FcResult FcPatternGetCharSet (FcPattern *\fIp\fB, const char *\fIobject\fB, int \fIn\fB, FcCharSet **\fIc\fB);
+.sp
+FcResult FcPatternGetBool (FcPattern *\fIp\fB, const char *\fIobject\fB, int \fIn\fB, FcBool *\fIb\fB);
+.sp
+FcResult FcPatternGetFTFace (FcPattern *\fIp\fB, const char *\fIobject\fB, int \fIn\fB, FT_Face *\fIf\fB);
+.sp
+FcResult FcPatternGetLangSet (FcPattern *\fIp\fB, const char *\fIobject\fB, int \fIn\fB, FcLangSet **\fIl\fB);
+.sp
+FcResult FcPatternGetRange (FcPattern *\fIp\fB, const char *\fIobject\fB, int \fIn\fB, FcRange **\fIr\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+These are convenience functions that call FcPatternGet and verify that the
+returned data is of the expected type. They return FcResultTypeMismatch if
+this is not the case. Note that these (like FcPatternGet) do not make a
+copy of any data structure referenced by the return value. Use these
+in preference to FcPatternGet to provide compile-time typechecking.
+\fBFcPatternGetRange\fR are available since 2.11.91.
diff --git a/doc/FcPatternGet.3 b/doc/FcPatternGet.3
new file mode 100644
index 00000000..4cd50ac0
--- /dev/null
+++ b/doc/FcPatternGet.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternGet" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternGet \- Return a value from a pattern
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcResult FcPatternGet (FcPattern *\fIp\fB, const char *\fIobject\fB, int \fIid\fB, FcValue *\fIv\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns in \fIv\fR the \fIid\fR\&'th value
+associated with the property \fIobject\fR\&.
+The value returned is not a copy, but rather refers to the data stored
+within the pattern directly. Applications must not free this value.
diff --git a/doc/FcPatternHash.3 b/doc/FcPatternHash.3
new file mode 100644
index 00000000..24da8138
--- /dev/null
+++ b/doc/FcPatternHash.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternHash" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternHash \- Compute a pattern hash value
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar32 FcPatternHash (const FcPattern *\fIp\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns a 32-bit number which is the same for any two patterns which are
+equal.
diff --git a/doc/FcPatternPrint.3 b/doc/FcPatternPrint.3
new file mode 100644
index 00000000..3d0c6242
--- /dev/null
+++ b/doc/FcPatternPrint.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternPrint" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternPrint \- Print a pattern for debugging
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcPatternPrint (const FcPattern *\fIp\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Prints an easily readable version of the pattern to stdout. There is
+no provision for reparsing data in this format, it's just for diagnostics
+and debugging.
diff --git a/doc/FcPatternReference.3 b/doc/FcPatternReference.3
new file mode 100644
index 00000000..036df2b7
--- /dev/null
+++ b/doc/FcPatternReference.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternReference" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternReference \- Increment pattern reference count
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcPatternReference (FcPattern *\fIp\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Add another reference to \fIp\fR\&. Patterns are freed only
+when the reference count reaches zero.
diff --git a/doc/FcPatternRemove.3 b/doc/FcPatternRemove.3
new file mode 100644
index 00000000..50007e91
--- /dev/null
+++ b/doc/FcPatternRemove.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternRemove" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcPatternRemove \- Remove one object of the specified type from the pattern
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcPatternRemove (FcPattern *\fIp\fB, const char *\fIobject\fB, int \fIid\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Removes the value associated with the property `object' at position `id', returning
+whether the property existed and had a value at that position or not.
diff --git a/doc/FcRangeCopy.3 b/doc/FcRangeCopy.3
new file mode 100644
index 00000000..7b6acc1b
--- /dev/null
+++ b/doc/FcRangeCopy.3
@@ -0,0 +1,17 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcRangeCopy" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcRangeCopy \- Copy a range object
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcRange * FcRangeCopy (const FcRange *\fIrange\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcRangeCopy\fR creates a new FcRange object and
+populates it with the contents of \fIrange\fR\&.
+.SH "SINCE"
+.PP
+version 2.11.91
diff --git a/doc/FcRangeCreateDouble.3 b/doc/FcRangeCreateDouble.3
new file mode 100644
index 00000000..554f7560
--- /dev/null
+++ b/doc/FcRangeCreateDouble.3
@@ -0,0 +1,17 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcRangeCreateDouble" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcRangeCreateDouble \- create a range object for double
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcRange * FcRangeCreateDouble (double\fIbegin\fB, double\fIend\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcRangeCreateDouble\fR creates a new FcRange object with
+double sized value.
+.SH "SINCE"
+.PP
+version 2.11.91
diff --git a/doc/FcRangeCreateInteger.3 b/doc/FcRangeCreateInteger.3
new file mode 100644
index 00000000..8ab4f605
--- /dev/null
+++ b/doc/FcRangeCreateInteger.3
@@ -0,0 +1,17 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcRangeCreateInteger" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcRangeCreateInteger \- create a range object for integer
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcRange * FcRangeCreateInteger (int\fIbegin\fB, int\fIend\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcRangeCreateInteger\fR creates a new FcRange object with
+integer sized value.
+.SH "SINCE"
+.PP
+version 2.11.91
diff --git a/doc/FcRangeDestroy.3 b/doc/FcRangeDestroy.3
new file mode 100644
index 00000000..201de2a7
--- /dev/null
+++ b/doc/FcRangeDestroy.3
@@ -0,0 +1,17 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcRangeDestroy" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcRangeDestroy \- destroy a range object
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcRangeDestroy (FcRange *\fIrange\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcRangeDestroy\fR destroys a FcRange object, freeing
+all memory associated with it.
+.SH "SINCE"
+.PP
+version 2.11.91
diff --git a/doc/FcRangeGetDouble.3 b/doc/FcRangeGetDouble.3
new file mode 100644
index 00000000..a39d55f6
--- /dev/null
+++ b/doc/FcRangeGetDouble.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcRangeGetDouble" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcRangeGetDouble \- Get the range in double
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcRangeGetDouble (const FcRange *\fIrange\fB, double *\fIbegin\fB, double *\fIend\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns in \fIbegin\fR and \fIend\fR as the range.
+.SH "SINCE"
+.PP
+version 2.11.91
diff --git a/doc/FcStrBasename.3 b/doc/FcStrBasename.3
new file mode 100644
index 00000000..81f8ccbf
--- /dev/null
+++ b/doc/FcStrBasename.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrBasename" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrBasename \- last component of filename
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 * FcStrBasename (const FcChar8 *\fIfile\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the filename of \fIfile\fR stripped of any leading
+directory names. This is returned in newly allocated storage which should
+be freed when no longer needed.
diff --git a/doc/FcStrCmp.3 b/doc/FcStrCmp.3
new file mode 100644
index 00000000..82f4b139
--- /dev/null
+++ b/doc/FcStrCmp.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrCmp" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrCmp \- compare UTF-8 strings
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+int FcStrCmp (const FcChar8 *\fIs1\fB, const FcChar8 *\fIs2\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the usual <0, 0, >0 result of comparing
+\fIs1\fR and \fIs2\fR\&.
diff --git a/doc/FcStrCmpIgnoreCase.3 b/doc/FcStrCmpIgnoreCase.3
new file mode 100644
index 00000000..9800fd2e
--- /dev/null
+++ b/doc/FcStrCmpIgnoreCase.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrCmpIgnoreCase" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrCmpIgnoreCase \- compare UTF-8 strings ignoring case
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+int FcStrCmpIgnoreCase (const FcChar8 *\fIs1\fB, const FcChar8 *\fIs2\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the usual <0, 0, >0 result of comparing
+\fIs1\fR and \fIs2\fR\&. This test is
+case-insensitive for all proper UTF-8 encoded strings.
diff --git a/doc/FcStrCopy.3 b/doc/FcStrCopy.3
new file mode 100644
index 00000000..e1aa71f3
--- /dev/null
+++ b/doc/FcStrCopy.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrCopy" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrCopy \- duplicate a string
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 * FcStrCopy (const FcChar8 *\fIs\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Allocates memory, copies \fIs\fR and returns the resulting
+buffer. Yes, this is \fBstrdup\fR, but that function isn't
+available on every platform.
diff --git a/doc/FcStrCopyFilename.3 b/doc/FcStrCopyFilename.3
new file mode 100644
index 00000000..c88b4117
--- /dev/null
+++ b/doc/FcStrCopyFilename.3
@@ -0,0 +1,20 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrCopyFilename" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrCopyFilename \- create a complete path from a filename
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 * FcStrCopyFilename (const FcChar8 *\fIs\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcStrCopyFilename\fR constructs an absolute pathname from
+\fIs\fR\&. It converts any leading '~' characters in
+to the value of the HOME environment variable, and any relative paths are
+converted to absolute paths using the current working directory. Sequences
+of '/' characters are converted to a single '/', and names containing the
+current directory '.' or parent directory '..' are correctly reconstructed.
+Returns NULL if '~' is the leading character and HOME is unset or disabled
+(see \fBFcConfigEnableHome\fR).
diff --git a/doc/FcStrDirname.3 b/doc/FcStrDirname.3
new file mode 100644
index 00000000..9d039203
--- /dev/null
+++ b/doc/FcStrDirname.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrDirname" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrDirname \- directory part of filename
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 * FcStrDirname (const FcChar8 *\fIfile\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the directory containing \fIfile\fR\&. This
+is returned in newly allocated storage which should be freed when no longer
+needed.
diff --git a/doc/FcStrDowncase.3 b/doc/FcStrDowncase.3
new file mode 100644
index 00000000..7db42c92
--- /dev/null
+++ b/doc/FcStrDowncase.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrDowncase" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrDowncase \- create a lower case translation of a string
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 * FcStrDowncase (const FcChar8 *\fIs\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Allocates memory, copies \fIs\fR, converting upper case
+letters to lower case and returns the allocated buffer.
diff --git a/doc/FcStrFree.3 b/doc/FcStrFree.3
new file mode 100644
index 00000000..8a02e587
--- /dev/null
+++ b/doc/FcStrFree.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrFree" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrFree \- free a string
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcStrFree (FcChar8 *\fIs\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This is just a wrapper around free(3) which helps track memory usage of
+strings within the fontconfig library.
diff --git a/doc/FcStrListCreate.3 b/doc/FcStrListCreate.3
new file mode 100644
index 00000000..de4a25ad
--- /dev/null
+++ b/doc/FcStrListCreate.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrListCreate" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrListCreate \- create a string iterator
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcStrList * FcStrListCreate (FcStrSet *\fIset\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Creates an iterator to list the strings in \fIset\fR\&.
diff --git a/doc/FcStrListDone.3 b/doc/FcStrListDone.3
new file mode 100644
index 00000000..ebcebf00
--- /dev/null
+++ b/doc/FcStrListDone.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrListDone" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrListDone \- destroy a string iterator
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcStrListDone (FcStrList *\fIlist\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Destroys the enumerator \fIlist\fR\&.
diff --git a/doc/FcStrListFirst.3 b/doc/FcStrListFirst.3
new file mode 100644
index 00000000..78b7567f
--- /dev/null
+++ b/doc/FcStrListFirst.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrListFirst" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrListFirst \- get first string in iteration
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcStrListFirst (FcStrList *\fIlist\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the first string in \fIlist\fR\&.
+.SH "SINCE"
+.PP
+version 2.11.0
diff --git a/doc/FcStrListNext.3 b/doc/FcStrListNext.3
new file mode 100644
index 00000000..bd69ae4e
--- /dev/null
+++ b/doc/FcStrListNext.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrListNext" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrListNext \- get next string in iteration
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 * FcStrListNext (FcStrList *\fIlist\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the next string in \fIlist\fR\&.
diff --git a/doc/FcStrPlus.3 b/doc/FcStrPlus.3
new file mode 100644
index 00000000..e499ba6f
--- /dev/null
+++ b/doc/FcStrPlus.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrPlus" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrPlus \- concatenate two strings
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 * FcStrPlus (const FcChar8 *\fIs1\fB, const FcChar8 *\fIs2\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This function allocates new storage and places the concatenation of
+\fIs1\fR and \fIs2\fR there, returning the
+new string.
diff --git a/doc/FcStrSetAdd.3 b/doc/FcStrSetAdd.3
new file mode 100644
index 00000000..ff4ccffc
--- /dev/null
+++ b/doc/FcStrSetAdd.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrSetAdd" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrSetAdd \- add to a string set
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcStrSetAdd (FcStrSet *\fIset\fB, const FcChar8 *\fIs\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Adds a copy of \fIs\fR to \fIset\fR\&.
diff --git a/doc/FcStrSetAddFilename.3 b/doc/FcStrSetAddFilename.3
new file mode 100644
index 00000000..eb2d874e
--- /dev/null
+++ b/doc/FcStrSetAddFilename.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrSetAddFilename" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrSetAddFilename \- add a filename to a string set
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcStrSetAddFilename (FcStrSet *\fIset\fB, const FcChar8 *\fIs\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Adds a copy \fIs\fR to \fIset\fR, The copy
+is created with FcStrCopyFilename so that leading '~' values are replaced
+with the value of the HOME environment variable.
diff --git a/doc/FcStrSetCreate.3 b/doc/FcStrSetCreate.3
new file mode 100644
index 00000000..a88e3288
--- /dev/null
+++ b/doc/FcStrSetCreate.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrSetCreate" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrSetCreate \- create a string set
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcStrSet * FcStrSetCreate (void\fI\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Create an empty set.
diff --git a/doc/FcStrSetDel.3 b/doc/FcStrSetDel.3
new file mode 100644
index 00000000..8480f4d6
--- /dev/null
+++ b/doc/FcStrSetDel.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrSetDel" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrSetDel \- delete from a string set
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcStrSetDel (FcStrSet *\fIset\fB, const FcChar8 *\fIs\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Removes \fIs\fR from \fIset\fR, returning
+FcTrue if \fIs\fR was a member else FcFalse.
diff --git a/doc/FcStrSetDestroy.3 b/doc/FcStrSetDestroy.3
new file mode 100644
index 00000000..ccc62400
--- /dev/null
+++ b/doc/FcStrSetDestroy.3
@@ -0,0 +1,13 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrSetDestroy" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrSetDestroy \- destroy a string set
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcStrSetDestroy (FcStrSet *\fIset\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Destroys \fIset\fR\&.
diff --git a/doc/FcStrSetEqual.3 b/doc/FcStrSetEqual.3
new file mode 100644
index 00000000..0ff09603
--- /dev/null
+++ b/doc/FcStrSetEqual.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrSetEqual" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrSetEqual \- check sets for equality
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcStrSetEqual (FcStrSet *\fIset_a\fB, FcStrSet *\fIset_b\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns whether \fIset_a\fR contains precisely the same
+strings as \fIset_b\fR\&. Ordering of strings within the two
+sets is not considered.
diff --git a/doc/FcStrSetMember.3 b/doc/FcStrSetMember.3
new file mode 100644
index 00000000..7b465799
--- /dev/null
+++ b/doc/FcStrSetMember.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrSetMember" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrSetMember \- check set for membership
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcStrSetMember (FcStrSet *\fIset\fB, const FcChar8 *\fIs\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns whether \fIs\fR is a member of
+\fIset\fR\&.
diff --git a/doc/FcStrStr.3 b/doc/FcStrStr.3
new file mode 100644
index 00000000..2c8de6ce
--- /dev/null
+++ b/doc/FcStrStr.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrStr" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrStr \- locate UTF-8 substring
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 * FcStrStr (const FcChar8 *\fIs1\fB, const FcChar8 *\fIs2\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the location of \fIs2\fR in
+\fIs1\fR\&. Returns NULL if \fIs2\fR
+is not present in \fIs1\fR\&. This test will operate properly
+with UTF8 encoded strings.
diff --git a/doc/FcStrStrIgnoreCase.3 b/doc/FcStrStrIgnoreCase.3
new file mode 100644
index 00000000..1e252cd0
--- /dev/null
+++ b/doc/FcStrStrIgnoreCase.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcStrStrIgnoreCase" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcStrStrIgnoreCase \- locate UTF-8 substring ignoring ASCII case
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 * FcStrStrIgnoreCase (const FcChar8 *\fIs1\fB, const FcChar8 *\fIs2\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns the location of \fIs2\fR in
+\fIs1\fR, ignoring case. Returns NULL if
+\fIs2\fR is not present in \fIs1\fR\&.
+This test is case-insensitive for all proper UTF-8 encoded strings.
diff --git a/doc/FcToLower.3 b/doc/FcToLower.3
new file mode 100644
index 00000000..b67a656a
--- /dev/null
+++ b/doc/FcToLower.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcToLower" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcToLower \- convert upper case ASCII to lower case
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcChar8 FcToLower (FcChar8\fIc\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This macro converts upper case ASCII \fIc\fR to the
+equivalent lower case letter.
diff --git a/doc/FcUcs4ToUtf8.3 b/doc/FcUcs4ToUtf8.3
new file mode 100644
index 00000000..7431381d
--- /dev/null
+++ b/doc/FcUcs4ToUtf8.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcUcs4ToUtf8" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcUcs4ToUtf8 \- convert UCS4 to UTF-8
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+int FcUcs4ToUtf8 (FcChar32 \fIsrc\fB, FcChar8 \fIdst[FC_UTF8_MAX_LEN]\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Converts the Unicode char from \fIsrc\fR into
+\fIdst\fR and returns the number of bytes needed to encode
+the char.
diff --git a/doc/FcUtf16Len.3 b/doc/FcUtf16Len.3
new file mode 100644
index 00000000..c5e2cc0a
--- /dev/null
+++ b/doc/FcUtf16Len.3
@@ -0,0 +1,20 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcUtf16Len" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcUtf16Len \- count UTF-16 encoded chars
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcUtf16Len (FcChar8 *\fIsrc\fB, FcEndian \fIendian\fB, int \fIlen\fB, int *\fInchar\fB, int *\fIwchar\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Counts the number of Unicode chars in \fIlen\fR bytes of
+\fIsrc\fR\&. Bytes of \fIsrc\fR are
+combined into 16-bit units according to \fIendian\fR\&.
+Places that count in \fInchar\fR\&.
+\fIwchar\fR contains 1, 2 or 4 depending on the number of
+bytes needed to hold the largest Unicode char counted. The return value
+indicates whether \fIstring\fR is a well-formed UTF16
+string.
diff --git a/doc/FcUtf16ToUcs4.3 b/doc/FcUtf16ToUcs4.3
new file mode 100644
index 00000000..87814ab5
--- /dev/null
+++ b/doc/FcUtf16ToUcs4.3
@@ -0,0 +1,17 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcUtf16ToUcs4" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcUtf16ToUcs4 \- convert UTF-16 to UCS4
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+int FcUtf16ToUcs4 (FcChar8 *\fIsrc\fB, FcEndian \fIendian\fB, FcChar32 *\fIdst\fB, int \fIlen\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Converts the next Unicode char from \fIsrc\fR into
+\fIdst\fR and returns the number of bytes containing the
+char. \fIsrc\fR must be at least \fIlen\fR
+bytes long. Bytes of \fIsrc\fR are combined into 16-bit
+units according to \fIendian\fR\&.
diff --git a/doc/FcUtf8Len.3 b/doc/FcUtf8Len.3
new file mode 100644
index 00000000..6d9d348b
--- /dev/null
+++ b/doc/FcUtf8Len.3
@@ -0,0 +1,18 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcUtf8Len" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcUtf8Len \- count UTF-8 encoded chars
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcUtf8Len (FcChar8 *\fIsrc\fB, int \fIlen\fB, int *\fInchar\fB, int *\fIwchar\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Counts the number of Unicode chars in \fIlen\fR bytes of
+\fIsrc\fR\&. Places that count in
+\fInchar\fR\&. \fIwchar\fR contains 1, 2 or
+4 depending on the number of bytes needed to hold the largest Unicode char
+counted. The return value indicates whether \fIsrc\fR is a
+well-formed UTF8 string.
diff --git a/doc/FcUtf8ToUcs4.3 b/doc/FcUtf8ToUcs4.3
new file mode 100644
index 00000000..488c1b68
--- /dev/null
+++ b/doc/FcUtf8ToUcs4.3
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcUtf8ToUcs4" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcUtf8ToUcs4 \- convert UTF-8 to UCS4
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+int FcUtf8ToUcs4 (FcChar8 *\fIsrc\fB, FcChar32 *\fIdst\fB, int \fIlen\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Converts the next Unicode char from \fIsrc\fR into
+\fIdst\fR and returns the number of bytes containing the
+char. \fIsrc\fR must be at least
+\fIlen\fR bytes long.
diff --git a/doc/FcValueDestroy.3 b/doc/FcValueDestroy.3
new file mode 100644
index 00000000..6310cf6b
--- /dev/null
+++ b/doc/FcValueDestroy.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcValueDestroy" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcValueDestroy \- Free a value
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcValueDestroy (FcValue \fIv\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Frees any memory referenced by \fIv\fR\&. Values of type FcTypeString,
+FcTypeMatrix and FcTypeCharSet reference memory, the other types do not.
diff --git a/doc/FcValueEqual.3 b/doc/FcValueEqual.3
new file mode 100644
index 00000000..ccdfa4c3
--- /dev/null
+++ b/doc/FcValueEqual.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcValueEqual" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcValueEqual \- Test two values for equality
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcValueEqual (FcValue \fIv_a\fB, FcValue \fIv_b\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Compares two values. Integers and Doubles are compared as numbers; otherwise
+the two values have to be the same type to be considered equal. Strings are
+compared ignoring case.
diff --git a/doc/FcValuePrint.3 b/doc/FcValuePrint.3
new file mode 100644
index 00000000..9f67ec15
--- /dev/null
+++ b/doc/FcValuePrint.3
@@ -0,0 +1,15 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcValuePrint" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcValuePrint \- Print a value to stdout
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcValuePrint (FcValue \fIv\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Prints a human-readable representation of \fIv\fR to
+stdout. The format should not be considered part of the library
+specification as it may change in the future.
diff --git a/doc/FcValueSave.3 b/doc/FcValueSave.3
new file mode 100644
index 00000000..58b15b28
--- /dev/null
+++ b/doc/FcValueSave.3
@@ -0,0 +1,14 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcValueSave" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcValueSave \- Copy a value
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcValue FcValueSave (FcValue \fIv\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns a copy of \fIv\fR duplicating any object referenced by it so that \fIv\fR
+may be safely destroyed without harming the new value.
diff --git a/doc/FcWeightFromOpenType.3 b/doc/FcWeightFromOpenType.3
new file mode 100644
index 00000000..371e261f
--- /dev/null
+++ b/doc/FcWeightFromOpenType.3
@@ -0,0 +1,22 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcWeightFromOpenType" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcWeightFromOpenType \- Convert from OpenType weight values to fontconfig ones
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+int FcWeightFromOpenType (int\fIot_weight\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcWeightFromOpenType\fR returns an integer value
+to use with FC_WEIGHT, from an integer in the 1..1000 range, resembling
+the numbers from OpenType specification's OS/2 usWeight numbers, which
+are also similar to CSS font-weight numbers. If input is negative,
+zero, or greater than 1000, returns -1. This function linearly interpolates
+between various FC_WEIGHT_* constants. As such, the returned value does not
+necessarily match any of the predefined constants.
+.SH "SINCE"
+.PP
+version 2.11.91
diff --git a/doc/FcWeightToOpenType.3 b/doc/FcWeightToOpenType.3
new file mode 100644
index 00000000..94775943
--- /dev/null
+++ b/doc/FcWeightToOpenType.3
@@ -0,0 +1,19 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcWeightToOpenType" "3" "09 3月 2015" "Fontconfig 2.11.93" ""
+.SH NAME
+FcWeightToOpenType \- Convert from fontconfig weight values to OpenType ones
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+int FcWeightToOpenType (int\fIot_weight\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcWeightToOpenType\fR is the inverse of
+\fBFcWeightFromOpenType\fR\&. If the input is less than
+FC_WEIGHT_THIN or greater than FC_WEIGHT_EXTRABLACK, returns -1. Otherwise
+returns a number in the range 1 to 1000.
+.SH "SINCE"
+.PP
+version 2.11.91
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 78a7cdbf..9141ab23 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -81,9 +81,11 @@ DOC_FUNCS_FNCS = \
fcobjectset.fncs \
fcobjecttype.fncs \
fcpattern.fncs \
+ fcrange.fncs \
fcstring.fncs \
fcstrset.fncs \
fcvalue.fncs \
+ fcweight.fncs \
$(NULL)
SGML_FILES = \
fontconfig-user.sgml \
diff --git a/doc/Makefile.in b/doc/Makefile.in
new file mode 100644
index 00000000..1f38d782
--- /dev/null
+++ b/doc/Makefile.in
@@ -0,0 +1,1368 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# -*- encoding: utf-8 -*-
+#
+# fontconfig/doc/Makefile.am
+#
+# Copyright © 2003 Keith Packard
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+TESTS = check-missing-doc $(am__EXEEXT_1)
+noinst_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2)
+@USEDOCBOOK_TRUE@am__append_1 = \
+@USEDOCBOOK_TRUE@ $(LOCAL_SGML_FILES) \
+@USEDOCBOOK_TRUE@ $(NULL)
+
+@USEDOCBOOK_TRUE@am__append_2 = \
+@USEDOCBOOK_TRUE@ edit-sgml \
+@USEDOCBOOK_TRUE@ $(NULL)
+
+@USEDOCBOOK_TRUE@am__append_3 = $(HTML_DIR)/*
+@USEDOCBOOK_FALSE@am__append_4 = $(srcdir)/$(HTML_DIR)/*
+subdir = doc
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(srcdir)/version.sgml.in $(top_srcdir)/depcomp \
+ $(top_srcdir)/test-driver
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES = version.sgml
+CONFIG_CLEAN_VPATH_FILES =
+am__EXEEXT_1 =
+@USEDOCBOOK_TRUE@am__EXEEXT_2 = edit-sgml$(EXEEXT) $(am__EXEEXT_1)
+PROGRAMS = $(noinst_PROGRAMS)
+am__objects_1 =
+am_edit_sgml_OBJECTS = edit-sgml.$(OBJEXT) $(am__objects_1)
+edit_sgml_OBJECTS = $(am_edit_sgml_OBJECTS)
+edit_sgml_LDADD = $(LDADD)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(edit_sgml_SOURCES)
+DIST_SOURCES = $(edit_sgml_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+man3dir = $(mandir)/man3
+am__installdirs = "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" \
+ "$(DESTDIR)$(docdir)" "$(DESTDIR)$(htmldocdir)"
+man5dir = $(mandir)/man5
+NROFF = nroff
+MANS = $(man3_MANS) $(man5_MANS)
+DATA = $(doc_DATA) $(htmldoc_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors_dummy = \
+ mgn= red= grn= lgn= blu= brg= std=; \
+ am__color_tests=no
+am__tty_colors = { \
+ $(am__tty_colors_dummy); \
+ if test "X$(AM_COLOR_TESTS)" = Xno; then \
+ am__color_tests=no; \
+ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+ am__color_tests=yes; \
+ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+ am__color_tests=yes; \
+ fi; \
+ if test $$am__color_tests = yes; then \
+ red=''; \
+ grn=''; \
+ lgn=''; \
+ blu=''; \
+ mgn=''; \
+ brg=''; \
+ std=''; \
+ fi; \
+}
+am__recheck_rx = ^[ ]*:recheck:[ ]*
+am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
+am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+ recheck = 1; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ { \
+ if ((getline line2 < ($$0 ".log")) < 0) \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+ { \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+ { \
+ break; \
+ } \
+ }; \
+ if (recheck) \
+ print $$0; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+ print "fatal: making $@: " msg | "cat >&2"; \
+ exit 1; \
+} \
+function rst_section(header) \
+{ \
+ print header; \
+ len = length(header); \
+ for (i = 1; i <= len; i = i + 1) \
+ printf "="; \
+ printf "\n\n"; \
+} \
+{ \
+ copy_in_global_log = 1; \
+ global_test_result = "RUN"; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".trs"); \
+ if (line ~ /$(am__global_test_result_rx)/) \
+ { \
+ sub("$(am__global_test_result_rx)", "", line); \
+ sub("[ ]*$$", "", line); \
+ global_test_result = line; \
+ } \
+ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+ copy_in_global_log = 0; \
+ }; \
+ if (copy_in_global_log) \
+ { \
+ rst_section(global_test_result ": " $$0); \
+ while ((rc = (getline line < ($$0 ".log"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".log"); \
+ print line; \
+ }; \
+ printf "\n"; \
+ }; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+ --color-tests "$$am__color_tests" \
+ --enable-hard-errors "$$am__enable_hard_errors" \
+ --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test. Creates the
+# directory for the log if needed. Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log. Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup); \
+$(am__vpath_adj_setup) $(am__vpath_adj) \
+$(am__tty_colors); \
+srcdir=$(srcdir); export srcdir; \
+case "$@" in \
+ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
+ *) am__odir=.;; \
+esac; \
+test "x$$am__odir" = x"." || test -d "$$am__odir" \
+ || $(MKDIR_P) "$$am__odir" || exit $$?; \
+if test -f "./$$f"; then dir=./; \
+elif test -f "$$f"; then dir=; \
+else dir="$(srcdir)/"; fi; \
+tst=$$dir$$f; log='$@'; \
+if test -n '$(DISABLE_HARD_ERRORS)'; then \
+ am__enable_hard_errors=no; \
+else \
+ am__enable_hard_errors=yes; \
+fi; \
+case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
+ am__expect_failure=yes;; \
+ *) \
+ am__expect_failure=no;; \
+esac; \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed). The result is saved in the shell variable
+# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+ bases='$(TEST_LOGS)'; \
+ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+ bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
+LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+ case '$@' in \
+ */*) \
+ case '$*' in \
+ */*) b='$*';; \
+ *) b=`echo '$@' | sed 's/\.log$$//'`; \
+ esac;; \
+ *) \
+ b='$*';; \
+ esac
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+TEST_LOGS = $(am__test_logs2:.test.log=.log)
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
+TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
+ $(TEST_LOG_FLAGS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+NULL =
+EXTRA_DIST = \
+ $(BUILT_DOCS) \
+ $(DOC_FUNCS_FNCS) \
+ $(DOC_FUNCS_SGML) \
+ $(HTML_DIR)/* \
+ $(SGML_FILES) \
+ $(check_SCRIPTS) \
+ confdir.sgml.in \
+ func.sgml \
+ $(NULL)
+
+MAINTAINERCLEANFILES = \
+ $(DOC_FUNCS_SGML) \
+ $(NULL)
+
+CLEANFILES = \
+ $(BUILT_DOCS) \
+ $(LOCAL_SGML_FILES) \
+ confdir.sgml \
+ func.refs \
+ $(NULL)
+
+BUILT_SOURCES = $(NULL) $(am__append_1)
+SUFFIXES = \
+ .fncs \
+ .sgml \
+ .txt \
+ .html \
+ $(NULL)
+
+TESTS_ENVIRONMENT = \
+ top_srcdir=${top_srcdir}; export top_srcdir; \
+ $(NULL)
+
+LOG_COMPILER = sh
+#
+DOC2HTML = docbook2html
+DOC2TXT = docbook2txt
+DOC2MAN = docbook2man
+DOC2PDF = docbook2pdf
+DOC_FUNCS_FNCS = \
+ fcatomic.fncs \
+ fcblanks.fncs \
+ fccache.fncs \
+ fccharset.fncs \
+ fcconfig.fncs \
+ fcconstant.fncs \
+ fcdircache.fncs \
+ fcfile.fncs \
+ fcfontset.fncs \
+ fcformat.fncs \
+ fcfreetype.fncs \
+ fcinit.fncs \
+ fclangset.fncs \
+ fcmatrix.fncs \
+ fcobjectset.fncs \
+ fcobjecttype.fncs \
+ fcpattern.fncs \
+ fcrange.fncs \
+ fcstring.fncs \
+ fcstrset.fncs \
+ fcvalue.fncs \
+ fcweight.fncs \
+ $(NULL)
+
+SGML_FILES = \
+ fontconfig-user.sgml \
+ fontconfig-devel.sgml \
+ $(NULL)
+
+LOCAL_SGML_FILES = \
+ local-fontconfig-user.sgml \
+ local-fontconfig-devel.sgml \
+ $(NULL)
+
+DOC_FUNCS_SGML = $(DOC_FUNCS_FNCS:.fncs=.sgml)
+BUILT_DOCS = \
+ $(HTML_FILES) \
+ $(PDF_FILES) \
+ $(TXT_FILES) \
+ $(man3_MANS) \
+ $(man5_MANS) \
+ $(NULL)
+
+DOCS_DEPS = \
+ $(DOC_FUNCS_SGML) \
+ confdir.sgml \
+ version.sgml \
+ $(NULL)
+
+TXT_FILES = $(SGML_FILES:.sgml=.txt)
+PDF_FILES = $(SGML_FILES:.sgml=.pdf)
+HTML_FILES = \
+ fontconfig-user.html \
+ $(NULL)
+
+HTML_DIR = fontconfig-devel
+edit_sgml_SOURCES = \
+ edit-sgml.c \
+ $(NULL)
+
+edit_sgml_CC = $(CC_FOR_BUILD)
+#
+check_SCRIPTS = \
+ check-missing-doc \
+ $(NULL)
+
+#
+man3_MANS = \
+ $(DOCMAN3) \
+ $(NULL)
+
+man5_MANS = \
+ fonts-conf.5 \
+ $(NULL)
+
+#
+doc_DATA = \
+ $(TXT_FILES) \
+ $(PDF_FILES) \
+ $(HTML_FILES) \
+ $(NULL)
+
+#
+htmldocdir = $(docdir)/$(HTML_DIR)
+htmldoc_DATA = $(NULL) $(am__append_3) $(am__append_4)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .fncs .sgml .txt .html .c .lo .log .o .obj .pdf .test .test$(EXEEXT) .trs
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+version.sgml: $(top_builddir)/config.status $(srcdir)/version.sgml.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+edit-sgml$(EXEEXT): $(edit_sgml_OBJECTS) $(edit_sgml_DEPENDENCIES) $(EXTRA_edit_sgml_DEPENDENCIES)
+ @rm -f edit-sgml$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(edit_sgml_OBJECTS) $(edit_sgml_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edit-sgml.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man3: $(man3_MANS)
+ @$(NORMAL_INSTALL)
+ @list1='$(man3_MANS)'; \
+ list2=''; \
+ test -n "$(man3dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.3[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man3:
+ @$(NORMAL_UNINSTALL)
+ @list='$(man3_MANS)'; test -n "$(man3dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir)
+install-man5: $(man5_MANS)
+ @$(NORMAL_INSTALL)
+ @list1='$(man5_MANS)'; \
+ list2=''; \
+ test -n "$(man5dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.5[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man5:
+ @$(NORMAL_UNINSTALL)
+ @list='$(man5_MANS)'; test -n "$(man5dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir)
+install-docDATA: $(doc_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
+ done
+
+uninstall-docDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
+install-htmldocDATA: $(htmldoc_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(htmldoc_DATA)'; test -n "$(htmldocdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(htmldocdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(htmldocdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldocdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldocdir)" || exit $$?; \
+ done
+
+uninstall-htmldocDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(htmldoc_DATA)'; test -n "$(htmldocdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(htmldocdir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+ rm -f $< $@
+ $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+ @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+ @$(am__set_TESTS_bases); \
+ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+ redo_bases=`for i in $$bases; do \
+ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+ done`; \
+ if test -n "$$redo_bases"; then \
+ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+ if $(am__make_dryrun); then :; else \
+ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+ fi; \
+ fi; \
+ if test -n "$$am__remaking_logs"; then \
+ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+ "recursion detected" >&2; \
+ else \
+ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+ fi; \
+ if $(am__make_dryrun); then :; else \
+ st=0; \
+ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+ for i in $$redo_bases; do \
+ test -f $$i.trs && test -r $$i.trs \
+ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+ test -f $$i.log && test -r $$i.log \
+ || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+ done; \
+ test $$st -eq 0 || exit 1; \
+ fi
+ @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+ ws='[ ]'; \
+ results=`for b in $$bases; do echo $$b.trs; done`; \
+ test -n "$$results" || results=/dev/null; \
+ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
+ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
+ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
+ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
+ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+ if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+ success=true; \
+ else \
+ success=false; \
+ fi; \
+ br='==================='; br=$$br$$br$$br$$br; \
+ result_count () \
+ { \
+ if test x"$$1" = x"--maybe-color"; then \
+ maybe_colorize=yes; \
+ elif test x"$$1" = x"--no-color"; then \
+ maybe_colorize=no; \
+ else \
+ echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+ fi; \
+ shift; \
+ desc=$$1 count=$$2; \
+ if test $$maybe_colorize = yes && test $$count -gt 0; then \
+ color_start=$$3 color_end=$$std; \
+ else \
+ color_start= color_end=; \
+ fi; \
+ echo "$${color_start}# $$desc $$count$${color_end}"; \
+ }; \
+ create_testsuite_report () \
+ { \
+ result_count $$1 "TOTAL:" $$all "$$brg"; \
+ result_count $$1 "PASS: " $$pass "$$grn"; \
+ result_count $$1 "SKIP: " $$skip "$$blu"; \
+ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+ result_count $$1 "FAIL: " $$fail "$$red"; \
+ result_count $$1 "XPASS:" $$xpass "$$red"; \
+ result_count $$1 "ERROR:" $$error "$$mgn"; \
+ }; \
+ { \
+ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
+ $(am__rst_title); \
+ create_testsuite_report --no-color; \
+ echo; \
+ echo ".. contents:: :depth: 2"; \
+ echo; \
+ for b in $$bases; do echo $$b; done \
+ | $(am__create_global_log); \
+ } >$(TEST_SUITE_LOG).tmp || exit 1; \
+ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
+ if $$success; then \
+ col="$$grn"; \
+ else \
+ col="$$red"; \
+ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
+ fi; \
+ echo "$${col}$$br$${std}"; \
+ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
+ echo "$${col}$$br$${std}"; \
+ create_testsuite_report --maybe-color; \
+ echo "$$col$$br$$std"; \
+ if $$success; then :; else \
+ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
+ if test -n "$(PACKAGE_BUGREPORT)"; then \
+ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+ fi; \
+ echo "$$col$$br$$std"; \
+ fi; \
+ $$success || exit 1
+
+check-TESTS:
+ @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
+ @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @set +e; $(am__set_TESTS_bases); \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+ exit $$?;
+recheck: all $(check_SCRIPTS)
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @set +e; $(am__set_TESTS_bases); \
+ bases=`for i in $$bases; do echo $$i; done \
+ | $(am__list_recheck_tests)` || exit 1; \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ log_list=`echo $$log_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+ am__force_recheck=am--force-recheck \
+ TEST_LOGS="$$log_list"; \
+ exit $$?
+check-missing-doc.log: check-missing-doc
+ @p='check-missing-doc'; \
+ b='check-missing-doc'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+.test.log:
+ @p='$<'; \
+ $(am__set_b); \
+ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@ @p='$<'; \
+@am__EXEEXT_TRUE@ $(am__set_b); \
+@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_SCRIPTS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(PROGRAMS) $(MANS) $(DATA) all-local
+installdirs:
+ for dir in "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(htmldocdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+ -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+ -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+ -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-docDATA install-htmldocDATA install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man3 install-man5
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-docDATA uninstall-htmldocDATA uninstall-man
+
+uninstall-man: uninstall-man3 uninstall-man5
+
+.MAKE: all check check-am install install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \
+ check-am clean clean-generic clean-libtool clean-local \
+ clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am \
+ install-docDATA install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am \
+ install-htmldocDATA install-info install-info-am install-man \
+ install-man3 install-man5 install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ recheck tags tags-am uninstall uninstall-am uninstall-docDATA \
+ uninstall-htmldocDATA uninstall-man uninstall-man3 \
+ uninstall-man5
+
+
+@USEDOCBOOK_TRUE@.fncs.sgml:
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(RM) $@; \
+@USEDOCBOOK_TRUE@ $(builddir)/edit-sgml$(EXEEXT) $(srcdir)/func.sgml < '$(srcdir)/$*.fncs' > $*.sgml
+@USEDOCBOOK_TRUE@.sgml.txt:
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(RM) $@; \
+@USEDOCBOOK_TRUE@ $(DOC2TXT) $*.sgml
+@USEDOCBOOK_TRUE@.sgml.pdf:
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(RM) $@; \
+@USEDOCBOOK_TRUE@ $(DOC2PDF) $*.sgml
+@USEDOCBOOK_TRUE@.sgml.html:
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(RM) $@; \
+@USEDOCBOOK_TRUE@ $(DOC2HTML) -u $*.sgml > $@
+@USEDOCBOOK_TRUE@fonts-conf.5: local-fontconfig-user.sgml version.sgml confdir.sgml
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(RM) $@; \
+@USEDOCBOOK_TRUE@ $(DOC2MAN) local-fontconfig-user.sgml && \
+@USEDOCBOOK_TRUE@ $(RM) manpage.*
+@USEDOCBOOK_TRUE@$(man3_MANS): func.refs
+@USEDOCBOOK_TRUE@func.refs: local-fontconfig-devel.sgml $(DOCS_DEPS)
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(RM) $@; \
+@USEDOCBOOK_TRUE@ $(DOC2MAN) -o devel-man local-fontconfig-devel.sgml && \
+@USEDOCBOOK_TRUE@ mv devel-man/manpage.refs func.refs && \
+@USEDOCBOOK_TRUE@ mv devel-man/*.3 . && \
+@USEDOCBOOK_TRUE@ $(RM) devel-man/manpage.* && \
+@USEDOCBOOK_TRUE@ rmdir devel-man || rm $@ || :
+@USEDOCBOOK_TRUE@confdir.sgml: $(srcdir)/confdir.sgml.in
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) sed -e 's,@CONFDIR\@,${CONFDIR},' $(srcdir)/$@.in | awk '{if (NR > 1) printf("\n"); printf("%s", $$0);}' > $@
+@USEDOCBOOK_TRUE@$(DOC_FUNCS_SGML): $(DOC_FUNCS_FNCS) edit-sgml$(EXEEXT) $(srcdir)/func.sgml
+@USEDOCBOOK_TRUE@$(TXT_FILES): $(DOCS_DEPS)
+@USEDOCBOOK_TRUE@$(PDF_FILES): $(DOCS_DEPS)
+@USEDOCBOOK_TRUE@$(HTML_FILES): $(DOCS_DEPS)
+@USEDOCBOOK_TRUE@$(HTML_DIR)/*: $(HTML_DIR)
+@USEDOCBOOK_TRUE@$(HTML_DIR): local-fontconfig-devel.sgml $(DOCS_DEPS)
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(RM) -r $@; \
+@USEDOCBOOK_TRUE@ $(DOC2HTML) -V '%use-id-as-filename%' -o $@ local-fontconfig-devel.sgml
+@USEDOCBOOK_TRUE@local-fontconfig-user.sgml: $(srcdir)/fontconfig-user.sgml
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(LN_S) $(srcdir)/fontconfig-user.sgml $@; \
+@USEDOCBOOK_TRUE@ [ ! -f $(builddir)/fontconfig-user.sgml ] && cp -a $(srcdir)/fontconfig-user.sgml $(builddir)/fontconfig-user.sgml || :
+@USEDOCBOOK_TRUE@local-fontconfig-devel.sgml: $(srcdir)/fontconfig-devel.sgml
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(LN_S) $(srcdir)/fontconfig-devel.sgml $@; \
+@USEDOCBOOK_TRUE@ [ ! -f $(builddir)/fontconfig-devel.sgml ] && cp -a $(srcdir)/fontconfig-devel.sgml $(builddir)/fontconfig-devel.sgml || :
+#
+@USEDOCBOOK_TRUE@all-local: $(BUILT_DOCS) $(HTML_DIR)/*
+@USEDOCBOOK_TRUE@clean-local:
+@USEDOCBOOK_TRUE@ $(RM) -r $(HTML_DIR) devel-man
+@USEDOCBOOK_TRUE@ [ "x$(builddir)" != "x$(srcdir)" ] && $(RM) $(builddir)/*.sgml || :
+@USEDOCBOOK_TRUE@dist-local-check-docs-enabled:
+@USEDOCBOOK_TRUE@ @true
+@USEDOCBOOK_FALSE@all-local:
+@USEDOCBOOK_FALSE@clean-local:
+@USEDOCBOOK_FALSE@dist-local-check-docs-enabled:
+@USEDOCBOOK_FALSE@ @echo "*** --enable-man must be used in order to make dist"
+@USEDOCBOOK_FALSE@ @false
+
+# force doc rebulid after configure
+dist-hook-local: dist-local-check-docs-enabled
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/doc/fcatomic.sgml b/doc/fcatomic.sgml
new file mode 100644
index 00000000..65c8fd3a
--- /dev/null
+++ b/doc/fcatomic.sgml
@@ -0,0 +1,408 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcAtomicCreate">
+ <refmeta>
+ <refentrytitle>FcAtomicCreate</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcAtomicCreate</refname>
+ <refpurpose>create an FcAtomic object</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcAtomic * <function>FcAtomicCreate</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>file</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Creates a data structure containing data needed to control access to <parameter>file</parameter>.
+Writing is done to a separate file. Once that file is complete, the original
+configuration file is atomically replaced so that reading process always see
+a consistent and complete file without the need to lock for reading.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcAtomicLock">
+ <refmeta>
+ <refentrytitle>FcAtomicLock</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcAtomicLock</refname>
+ <refpurpose>lock a file</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcAtomicLock</function></funcdef>
+ <paramdef>FcAtomic *<parameter>atomic</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Attempts to lock the file referenced by <parameter>atomic</parameter>.
+Returns FcFalse if the file is already locked, else returns FcTrue and
+leaves the file locked.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcAtomicNewFile">
+ <refmeta>
+ <refentrytitle>FcAtomicNewFile</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcAtomicNewFile</refname>
+ <refpurpose>return new temporary file name</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 * <function>FcAtomicNewFile</function></funcdef>
+ <paramdef>FcAtomic *<parameter>atomic</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the filename for writing a new version of the file referenced
+by <parameter>atomic</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcAtomicOrigFile">
+ <refmeta>
+ <refentrytitle>FcAtomicOrigFile</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcAtomicOrigFile</refname>
+ <refpurpose>return original file name</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 * <function>FcAtomicOrigFile</function></funcdef>
+ <paramdef>FcAtomic *<parameter>atomic</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the file referenced by <parameter>atomic</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcAtomicReplaceOrig">
+ <refmeta>
+ <refentrytitle>FcAtomicReplaceOrig</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcAtomicReplaceOrig</refname>
+ <refpurpose>replace original with new</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcAtomicReplaceOrig</function></funcdef>
+ <paramdef>FcAtomic *<parameter>atomic</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Replaces the original file referenced by <parameter>atomic</parameter> with
+the new file. Returns FcFalse if the file cannot be replaced due to
+permission issues in the filesystem. Otherwise returns FcTrue.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcAtomicDeleteNew">
+ <refmeta>
+ <refentrytitle>FcAtomicDeleteNew</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcAtomicDeleteNew</refname>
+ <refpurpose>delete new file</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcAtomicDeleteNew</function></funcdef>
+ <paramdef>FcAtomic *<parameter>atomic</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Deletes the new file. Used in error recovery to back out changes.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcAtomicUnlock">
+ <refmeta>
+ <refentrytitle>FcAtomicUnlock</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcAtomicUnlock</refname>
+ <refpurpose>unlock a file</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcAtomicUnlock</function></funcdef>
+ <paramdef>FcAtomic *<parameter>atomic</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Unlocks the file.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcAtomicDestroy">
+ <refmeta>
+ <refentrytitle>FcAtomicDestroy</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcAtomicDestroy</refname>
+ <refpurpose>destroy an FcAtomic object</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcAtomicDestroy</function></funcdef>
+ <paramdef>FcAtomic *<parameter>atomic</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Destroys <parameter>atomic</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcblanks.sgml b/doc/fcblanks.sgml
new file mode 100644
index 00000000..25dfdc18
--- /dev/null
+++ b/doc/fcblanks.sgml
@@ -0,0 +1,204 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcBlanksCreate">
+ <refmeta>
+ <refentrytitle>FcBlanksCreate</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcBlanksCreate</refname>
+ <refpurpose>Create an FcBlanks</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBlanks * <function>FcBlanksCreate</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Creates an empty FcBlanks object.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcBlanksDestroy">
+ <refmeta>
+ <refentrytitle>FcBlanksDestroy</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcBlanksDestroy</refname>
+ <refpurpose>Destroy and FcBlanks</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcBlanksDestroy</function></funcdef>
+ <paramdef>FcBlanks *<parameter>b</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Destroys an FcBlanks object, freeing any associated memory.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcBlanksAdd">
+ <refmeta>
+ <refentrytitle>FcBlanksAdd</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcBlanksAdd</refname>
+ <refpurpose>Add a character to an FcBlanks</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcBlanksAdd</function></funcdef>
+ <paramdef>FcBlanks *<parameter>b</parameter></paramdef>
+ <paramdef>FcChar32 <parameter>ucs4</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Adds a single character to an FcBlanks object, returning FcFalse
+if this process ran out of memory.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcBlanksIsMember">
+ <refmeta>
+ <refentrytitle>FcBlanksIsMember</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcBlanksIsMember</refname>
+ <refpurpose>Query membership in an FcBlanks</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcBlanksIsMember</function></funcdef>
+ <paramdef>FcBlanks *<parameter>b</parameter></paramdef>
+ <paramdef>FcChar32 <parameter>ucs4</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns whether the specified FcBlanks object contains the indicated Unicode
+value.
+ </para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fccache.sgml b/doc/fccache.sgml
new file mode 100644
index 00000000..8cc68308
--- /dev/null
+++ b/doc/fccache.sgml
@@ -0,0 +1,366 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCacheDir">
+ <refmeta>
+ <refentrytitle>FcCacheDir</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCacheDir</refname>
+ <refpurpose>Return directory of <parameter>cache</parameter></refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>const FcChar8 * <function>FcCacheDir</function></funcdef>
+ <paramdef>const FcCache *<parameter>cache</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+This function returns the directory from which the cache was constructed.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCacheCopySet">
+ <refmeta>
+ <refentrytitle>FcCacheCopySet</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCacheCopySet</refname>
+ <refpurpose>Returns a copy of the fontset from <parameter>cache</parameter></refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcFontSet * <function>FcCacheCopySet</function></funcdef>
+ <paramdef>const FcCache *<parameter>cache</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+The returned fontset contains each of the font patterns from
+<parameter>cache</parameter>. This fontset may be modified, but the patterns
+from the cache are read-only.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCacheSubdir">
+ <refmeta>
+ <refentrytitle>FcCacheSubdir</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCacheSubdir</refname>
+ <refpurpose>Return the <parameter>i</parameter>'th subdirectory.</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>const FcChar8 * <function>FcCacheSubdir</function></funcdef>
+ <paramdef>const FcCache *<parameter>cache</parameter></paramdef>
+ <paramdef>int<parameter>i</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+The set of subdirectories stored in a cache file are indexed by this
+function, <parameter>i</parameter> should range from 0 to
+<parameter>n</parameter>-1, where <parameter>n</parameter> is the return
+value from FcCacheNumSubdir.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCacheNumSubdir">
+ <refmeta>
+ <refentrytitle>FcCacheNumSubdir</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCacheNumSubdir</refname>
+ <refpurpose>Return the number of subdirectories in <parameter>cache</parameter>.</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>int <function>FcCacheNumSubdir</function></funcdef>
+ <paramdef>const FcCache *<parameter>cache</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+This returns the total number of subdirectories in the cache.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCacheNumFont">
+ <refmeta>
+ <refentrytitle>FcCacheNumFont</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCacheNumFont</refname>
+ <refpurpose>Returns the number of fonts in <parameter>cache</parameter>.</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>int <function>FcCacheNumFont</function></funcdef>
+ <paramdef>const FcCache *<parameter>cache</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+This returns the number of fonts which would be included in the return from
+FcCacheCopySet.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcDirCacheClean">
+ <refmeta>
+ <refentrytitle>FcDirCacheClean</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcDirCacheClean</refname>
+ <refpurpose>This tries to clean up the cache directory of <parameter>cache_dir</parameter>.
+This returns FcTrue if the operation is successfully complete. otherwise FcFalse.</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcDirCacheClean</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>cache_dir</parameter></paramdef>
+ <paramdef>FcBool<parameter>verbose</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.9.91</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCacheCreateTagFile">
+ <refmeta>
+ <refentrytitle>FcCacheCreateTagFile</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCacheCreateTagFile</refname>
+ <refpurpose>Create CACHEDIR.TAG at cache directory.</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcCacheCreateTagFile</function></funcdef>
+ <paramdef>const FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+This tries to create CACHEDIR.TAG file at the cache directory registered
+to <parameter>config</parameter>.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.9.91</para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fccharset.sgml b/doc/fccharset.sgml
new file mode 100644
index 00000000..dd426cbb
--- /dev/null
+++ b/doc/fccharset.sgml
@@ -0,0 +1,1019 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetCreate">
+ <refmeta>
+ <refentrytitle>FcCharSetCreate</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetCreate</refname>
+ <refpurpose>Create an empty character set</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcCharSet * <function>FcCharSetCreate</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcCharSetCreate</function> allocates and initializes a new empty
+character set object.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetDestroy">
+ <refmeta>
+ <refentrytitle>FcCharSetDestroy</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetDestroy</refname>
+ <refpurpose>Destroy a character set</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcCharSetDestroy</function></funcdef>
+ <paramdef>FcCharSet *<parameter>fcs</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcCharSetDestroy</function> decrements the reference count
+<parameter>fcs</parameter>. If the reference count becomes zero, all
+memory referenced is freed.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetAddChar">
+ <refmeta>
+ <refentrytitle>FcCharSetAddChar</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetAddChar</refname>
+ <refpurpose>Add a character to a charset</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcCharSetAddChar</function></funcdef>
+ <paramdef>FcCharSet *<parameter>fcs</parameter></paramdef>
+ <paramdef>FcChar32 <parameter>ucs4</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcCharSetAddChar</function> adds a single Unicode char to the set,
+returning FcFalse on failure, either as a result of a constant set or from
+running out of memory.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetDelChar">
+ <refmeta>
+ <refentrytitle>FcCharSetDelChar</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetDelChar</refname>
+ <refpurpose>Add a character to a charset</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcCharSetDelChar</function></funcdef>
+ <paramdef>FcCharSet *<parameter>fcs</parameter></paramdef>
+ <paramdef>FcChar32 <parameter>ucs4</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcCharSetDelChar</function> deletes a single Unicode char from the set,
+returning FcFalse on failure, either as a result of a constant set or from
+running out of memory.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.9.0</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetCopy">
+ <refmeta>
+ <refentrytitle>FcCharSetCopy</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetCopy</refname>
+ <refpurpose>Copy a charset</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcCharSet * <function>FcCharSetCopy</function></funcdef>
+ <paramdef>FcCharSet *<parameter>src</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Makes a copy of <parameter>src</parameter>; note that this may not actually do anything more
+than increment the reference count on <parameter>src</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetEqual">
+ <refmeta>
+ <refentrytitle>FcCharSetEqual</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetEqual</refname>
+ <refpurpose>Compare two charsets</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcCharSetEqual</function></funcdef>
+ <paramdef>const FcCharSet *<parameter>a</parameter></paramdef>
+ <paramdef>const FcCharSet *<parameter>b</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns whether <parameter>a</parameter> and <parameter>b</parameter>
+contain the same set of Unicode chars.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetIntersect">
+ <refmeta>
+ <refentrytitle>FcCharSetIntersect</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetIntersect</refname>
+ <refpurpose>Intersect charsets</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcCharSet * <function>FcCharSetIntersect</function></funcdef>
+ <paramdef>const FcCharSet *<parameter>a</parameter></paramdef>
+ <paramdef>const FcCharSet *<parameter>b</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns a set including only those chars found in both
+<parameter>a</parameter> and <parameter>b</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetUnion">
+ <refmeta>
+ <refentrytitle>FcCharSetUnion</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetUnion</refname>
+ <refpurpose>Add charsets</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcCharSet * <function>FcCharSetUnion</function></funcdef>
+ <paramdef>const FcCharSet *<parameter>a</parameter></paramdef>
+ <paramdef>const FcCharSet *<parameter>b</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns a set including only those chars found in either <parameter>a</parameter> or <parameter>b</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetSubtract">
+ <refmeta>
+ <refentrytitle>FcCharSetSubtract</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetSubtract</refname>
+ <refpurpose>Subtract charsets</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcCharSet * <function>FcCharSetSubtract</function></funcdef>
+ <paramdef>const FcCharSet *<parameter>a</parameter></paramdef>
+ <paramdef>const FcCharSet *<parameter>b</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns a set including only those chars found in <parameter>a</parameter> but not <parameter>b</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetMerge">
+ <refmeta>
+ <refentrytitle>FcCharSetMerge</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetMerge</refname>
+ <refpurpose>Merge charsets</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcCharSetMerge</function></funcdef>
+ <paramdef>FcCharSet *<parameter>a</parameter></paramdef>
+ <paramdef>const FcCharSet *<parameter>b</parameter></paramdef>
+ <paramdef>FcBool *<parameter>changed</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Adds all chars in <parameter>b</parameter> to <parameter>a</parameter>.
+In other words, this is an in-place version of FcCharSetUnion.
+If <parameter>changed</parameter> is not NULL, then it returns whether any new
+chars from <parameter>b</parameter> were added to <parameter>a</parameter>.
+Returns FcFalse on failure, either when <parameter>a</parameter> is a constant
+set or from running out of memory.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetHasChar">
+ <refmeta>
+ <refentrytitle>FcCharSetHasChar</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetHasChar</refname>
+ <refpurpose>Check a charset for a char</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcCharSetHasChar</function></funcdef>
+ <paramdef>const FcCharSet *<parameter>fcs</parameter></paramdef>
+ <paramdef>FcChar32 <parameter>ucs4</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns whether <parameter>fcs</parameter> contains the char <parameter>ucs4</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetCount">
+ <refmeta>
+ <refentrytitle>FcCharSetCount</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetCount</refname>
+ <refpurpose>Count entries in a charset</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar32 <function>FcCharSetCount</function></funcdef>
+ <paramdef>const FcCharSet *<parameter>a</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the total number of Unicode chars in <parameter>a</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetIntersectCount">
+ <refmeta>
+ <refentrytitle>FcCharSetIntersectCount</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetIntersectCount</refname>
+ <refpurpose>Intersect and count charsets</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar32 <function>FcCharSetIntersectCount</function></funcdef>
+ <paramdef>const FcCharSet *<parameter>a</parameter></paramdef>
+ <paramdef>const FcCharSet *<parameter>b</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the number of chars that are in both <parameter>a</parameter> and <parameter>b</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetSubtractCount">
+ <refmeta>
+ <refentrytitle>FcCharSetSubtractCount</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetSubtractCount</refname>
+ <refpurpose>Subtract and count charsets</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar32 <function>FcCharSetSubtractCount</function></funcdef>
+ <paramdef>const FcCharSet *<parameter>a</parameter></paramdef>
+ <paramdef>const FcCharSet *<parameter>b</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the number of chars that are in <parameter>a</parameter> but not in <parameter>b</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetIsSubset">
+ <refmeta>
+ <refentrytitle>FcCharSetIsSubset</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetIsSubset</refname>
+ <refpurpose>Test for charset inclusion</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcCharSetIsSubset</function></funcdef>
+ <paramdef>const FcCharSet *<parameter>a</parameter></paramdef>
+ <paramdef>const FcCharSet *<parameter>b</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns whether <parameter>a</parameter> is a subset of <parameter>b</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetFirstPage">
+ <refmeta>
+ <refentrytitle>FcCharSetFirstPage</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetFirstPage</refname>
+ <refpurpose>Start enumerating charset contents</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar32 <function>FcCharSetFirstPage</function></funcdef>
+ <paramdef>const FcCharSet *<parameter>a</parameter></paramdef>
+ <paramdef>FcChar32[FC_CHARSET_MAP_SIZE] <parameter>map</parameter></paramdef>
+ <paramdef>FcChar32 *<parameter>next</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Builds an array of bits in <parameter>map</parameter> marking the
+first page of Unicode coverage of <parameter>a</parameter>.
+<parameter>*next</parameter> is set to contains the base code point
+for the next page in <parameter>a</parameter>. Returns the base code
+point for the page, or <constant>FC_CHARSET_DONE</constant> if
+<parameter>a</parameter> contains no pages. As an example, if
+<function>FcCharSetFirstPage</function> returns
+<literal>0x300</literal> and fills <parameter>map</parameter> with
+<literallayout class="monospaced">
+0xffffffff 0xffffffff 0x01000008 0x44300002 0xffffd7f0 0xfffffffb 0xffff7fff 0xffff0003
+</literallayout>
+Then the page contains code points <literal>0x300</literal> through
+<literal>0x33f</literal> (the first 64 code points on the page)
+because <parameter>map[0]</parameter> and
+<parameter>map[1]</parameter> both have all their bits set. It also
+contains code points <literal>0x343</literal> (<parameter>0x300 + 32*2
++ (4-1)</parameter>) and <literal>0x35e</literal> (<parameter>0x300 +
+32*2 + (31-1)</parameter>) because <parameter>map[2]</parameter> has
+the 4th and 31st bits set. The code points represented by
+<literal>map[3]</literal> and later are left as an excercise for the
+reader ;).
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetNextPage">
+ <refmeta>
+ <refentrytitle>FcCharSetNextPage</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetNextPage</refname>
+ <refpurpose>Continue enumerating charset contents</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar32 <function>FcCharSetNextPage</function></funcdef>
+ <paramdef>const FcCharSet *<parameter>a</parameter></paramdef>
+ <paramdef>FcChar32[FC_CHARSET_MAP_SIZE] <parameter>map</parameter></paramdef>
+ <paramdef>FcChar32 *<parameter>next</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Builds an array of bits in <parameter>map</parameter> marking the
+Unicode coverage of <parameter>a</parameter> for page containing
+<parameter>*next</parameter> (see the
+<function>FcCharSetFirstPage</function> description for details).
+<parameter>*next</parameter> is set to contains the base code point
+for the next page in <parameter>a</parameter>. Returns the base of
+code point for the page, or <constant>FC_CHARSET_DONE</constant> if
+<parameter>a</parameter> does not contain
+<parameter>*next</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetCoverage">
+ <refmeta>
+ <refentrytitle>FcCharSetCoverage</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetCoverage</refname>
+ <refpurpose>DEPRECATED return coverage for a Unicode page</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar32 <function>FcCharSetCoverage</function></funcdef>
+ <paramdef>const FcCharSet *<parameter>a</parameter></paramdef>
+ <paramdef>FcChar32<parameter>page</parameter></paramdef>
+ <paramdef>FcChar32[8]<parameter>result</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+DEPRECATED
+This function returns a bitmask in <parameter>result</parameter> which
+indicates which code points in
+<parameter>page</parameter> are included in <parameter>a</parameter>.
+<function>FcCharSetCoverage</function> returns the next page in the charset which has any
+coverage.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcCharSetNew">
+ <refmeta>
+ <refentrytitle>FcCharSetNew</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcCharSetNew</refname>
+ <refpurpose>DEPRECATED alias for FcCharSetCreate</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcCharSet * <function>FcCharSetNew</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcCharSetNew</function> is a DEPRECATED alias for FcCharSetCreate.
+ </para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcconfig.fncs b/doc/fcconfig.fncs
index 24d7121e..af328fc7 100644
--- a/doc/fcconfig.fncs
+++ b/doc/fcconfig.fncs
@@ -59,7 +59,8 @@ cause a new configuration to be created for use as current configuration.
@PURPOSE@ Set configuration as default
@DESC@
Sets the current default configuration to <parameter>config</parameter>. Implicitly calls
-FcConfigBuildFonts if necessary, returning FcFalse if that call fails.
+FcConfigBuildFonts if necessary, and FcConfigReference() to inrease the reference count
+in <parameter>config</parameter> since 2.12.0, returning FcFalse if that call fails.
@@
@RET@ FcConfig *
@@ -218,8 +219,9 @@ If <parameter>config</parameter> is NULL, the current configuration is used.
@PURPOSE@ Add font file to font database
@DESC@
Adds an application-specific font to the configuration. Returns FcFalse
-if the fonts cannot be added (due to allocation failure). Otherwise returns FcTrue.
-If <parameter>config</parameter> is NULL, the current configuration is used.
+if the fonts cannot be added (due to allocation failure or no fonts found).
+Otherwise returns FcTrue. If <parameter>config</parameter> is NULL,
+the current configuration is used.
@@
@RET@ FcBool
@@ -230,8 +232,9 @@ If <parameter>config</parameter> is NULL, the current configuration is used.
@DESC@
Scans the specified directory for fonts, adding each one found to the
application-specific set of fonts. Returns FcFalse
-if the fonts cannot be added (due to allocation failure). Otherwise returns FcTrue.
-If <parameter>config</parameter> is NULL, the current configuration is used.
+if the fonts cannot be added (due to allocation failure or no fonts found).
+Otherwise returns FcTrue. If <parameter>config</parameter> is NULL,
+the current configuration is used.
@@
@RET@ void
diff --git a/doc/fcconfig.sgml b/doc/fcconfig.sgml
new file mode 100644
index 00000000..448c5018
--- /dev/null
+++ b/doc/fcconfig.sgml
@@ -0,0 +1,1682 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigCreate">
+ <refmeta>
+ <refentrytitle>FcConfigCreate</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigCreate</refname>
+ <refpurpose>Create a configuration</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcConfig * <function>FcConfigCreate</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Creates an empty configuration.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigReference">
+ <refmeta>
+ <refentrytitle>FcConfigReference</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigReference</refname>
+ <refpurpose>Increment config reference count</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcConfig * <function>FcConfigReference</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Add another reference to <parameter>config</parameter>. Configs are freed only
+when the reference count reaches zero.
+If <parameter>config</parameter> is NULL, the current configuration is used.
+In that case this function will be similar to FcConfigGetCurrent() except that
+it increments the reference count before returning and the user is responsible
+for destroying the configuration when not needed anymore.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigDestroy">
+ <refmeta>
+ <refentrytitle>FcConfigDestroy</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigDestroy</refname>
+ <refpurpose>Destroy a configuration</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcConfigDestroy</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Decrements the config reference count. If all references are gone, destroys
+the configuration and any data associated with it.
+Note that calling this function with the return from FcConfigGetCurrent will
+cause a new configuration to be created for use as current configuration.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigSetCurrent">
+ <refmeta>
+ <refentrytitle>FcConfigSetCurrent</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigSetCurrent</refname>
+ <refpurpose>Set configuration as default</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcConfigSetCurrent</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Sets the current default configuration to <parameter>config</parameter>. Implicitly calls
+FcConfigBuildFonts if necessary, and FcConfigReference() to inrease the reference count
+in <parameter>config</parameter> since 2.12.0, returning FcFalse if that call fails.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigGetCurrent">
+ <refmeta>
+ <refentrytitle>FcConfigGetCurrent</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigGetCurrent</refname>
+ <refpurpose>Return current configuration</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcConfig * <function>FcConfigGetCurrent</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the current default configuration.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigUptoDate">
+ <refmeta>
+ <refentrytitle>FcConfigUptoDate</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigUptoDate</refname>
+ <refpurpose>Check timestamps on config files</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcConfigUptoDate</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Checks all of the files related to <parameter>config</parameter> and returns
+whether any of them has been modified since the configuration was created.
+If <parameter>config</parameter> is NULL, the current configuration is used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigHome">
+ <refmeta>
+ <refentrytitle>FcConfigHome</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigHome</refname>
+ <refpurpose>return the current home directory.</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 * <function>FcConfigHome</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Return the current user's home directory, if it is available, and if using it
+is enabled, and NULL otherwise.
+See also <function>FcConfigEnableHome</function>).
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigEnableHome">
+ <refmeta>
+ <refentrytitle>FcConfigEnableHome</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigEnableHome</refname>
+ <refpurpose>controls use of the home directory.</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcConfigEnableHome</function></funcdef>
+ <paramdef>FcBool <parameter>enable</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+If <parameter>enable</parameter> is FcTrue, then Fontconfig will use various
+files which are specified relative to the user's home directory (using the ~
+notation in the configuration). When <parameter>enable</parameter> is
+FcFalse, then all use of the home directory in these contexts will be
+disabled. The previous setting of the value is returned.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigBuildFonts">
+ <refmeta>
+ <refentrytitle>FcConfigBuildFonts</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigBuildFonts</refname>
+ <refpurpose>Build font database</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcConfigBuildFonts</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Builds the set of available fonts for the given configuration. Note that
+any changes to the configuration after this call have indeterminate effects.
+Returns FcFalse if this operation runs out of memory.
+If <parameter>config</parameter> is NULL, the current configuration is used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigGetConfigDirs">
+ <refmeta>
+ <refentrytitle>FcConfigGetConfigDirs</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigGetConfigDirs</refname>
+ <refpurpose>Get config directories</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcStrList * <function>FcConfigGetConfigDirs</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the list of font directories specified in the configuration files
+for <parameter>config</parameter>. Does not include any subdirectories.
+If <parameter>config</parameter> is NULL, the current configuration is used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigGetFontDirs">
+ <refmeta>
+ <refentrytitle>FcConfigGetFontDirs</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigGetFontDirs</refname>
+ <refpurpose>Get font directories</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcStrList * <function>FcConfigGetFontDirs</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the list of font directories in <parameter>config</parameter>. This includes the
+configured font directories along with any directories below those in the
+filesystem.
+If <parameter>config</parameter> is NULL, the current configuration is used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigGetConfigFiles">
+ <refmeta>
+ <refentrytitle>FcConfigGetConfigFiles</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigGetConfigFiles</refname>
+ <refpurpose>Get config files</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcStrList * <function>FcConfigGetConfigFiles</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the list of known configuration files used to generate <parameter>config</parameter>.
+If <parameter>config</parameter> is NULL, the current configuration is used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigGetCache">
+ <refmeta>
+ <refentrytitle>FcConfigGetCache</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigGetCache</refname>
+ <refpurpose>DEPRECATED used to return per-user cache filename</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 * <function>FcConfigGetCache</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+With fontconfig no longer using per-user cache files, this function now
+simply returns NULL to indicate that no per-user file exists.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigGetCacheDirs">
+ <refmeta>
+ <refentrytitle>FcConfigGetCacheDirs</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigGetCacheDirs</refname>
+ <refpurpose>return the list of directories searched for cache files</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcStrList * <function>FcConfigGetCacheDirs</function></funcdef>
+ <paramdef>const FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcConfigGetCacheDirs</function> returns a string list containing
+all of the directories that fontconfig will search when attempting to load a
+cache file for a font directory.
+If <parameter>config</parameter> is NULL, the current configuration is used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigGetFonts">
+ <refmeta>
+ <refentrytitle>FcConfigGetFonts</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigGetFonts</refname>
+ <refpurpose>Get config font set</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcFontSet * <function>FcConfigGetFonts</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>FcSetName <parameter>set</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns one of the two sets of fonts from the configuration as specified
+by <parameter>set</parameter>. This font set is owned by the library and must
+not be modified or freed.
+If <parameter>config</parameter> is NULL, the current configuration is used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigGetBlanks">
+ <refmeta>
+ <refentrytitle>FcConfigGetBlanks</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigGetBlanks</refname>
+ <refpurpose>Get config blanks</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBlanks * <function>FcConfigGetBlanks</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the FcBlanks object associated with the given configuration, if no
+blanks were present in the configuration, this function will return 0.
+The returned FcBlanks object if not NULL, is valid as long as the owning
+FcConfig is alive.
+If <parameter>config</parameter> is NULL, the current configuration is used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigGetRescanInterval">
+ <refmeta>
+ <refentrytitle>FcConfigGetRescanInterval</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigGetRescanInterval</refname>
+ <refpurpose>Get config rescan interval</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>int <function>FcConfigGetRescanInterval</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the interval between automatic checks of the configuration (in
+seconds) specified in <parameter>config</parameter>. The configuration is checked during
+a call to FcFontList when this interval has passed since the last check.
+An interval setting of zero disables automatic checks.
+If <parameter>config</parameter> is NULL, the current configuration is used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigSetRescanInterval">
+ <refmeta>
+ <refentrytitle>FcConfigSetRescanInterval</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigSetRescanInterval</refname>
+ <refpurpose>Set config rescan interval</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcConfigSetRescanInterval</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>int <parameter>rescanInterval</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Sets the rescan interval. Returns FcFalse if the interval cannot be set (due
+to allocation failure). Otherwise returns FcTrue.
+An interval setting of zero disables automatic checks.
+If <parameter>config</parameter> is NULL, the current configuration is used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigAppFontAddFile">
+ <refmeta>
+ <refentrytitle>FcConfigAppFontAddFile</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigAppFontAddFile</refname>
+ <refpurpose>Add font file to font database</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcConfigAppFontAddFile</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>file</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Adds an application-specific font to the configuration. Returns FcFalse
+if the fonts cannot be added (due to allocation failure or no fonts found).
+Otherwise returns FcTrue. If <parameter>config</parameter> is NULL,
+the current configuration is used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigAppFontAddDir">
+ <refmeta>
+ <refentrytitle>FcConfigAppFontAddDir</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigAppFontAddDir</refname>
+ <refpurpose>Add fonts from directory to font database</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcConfigAppFontAddDir</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>dir</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Scans the specified directory for fonts, adding each one found to the
+application-specific set of fonts. Returns FcFalse
+if the fonts cannot be added (due to allocation failure or no fonts found).
+Otherwise returns FcTrue. If <parameter>config</parameter> is NULL,
+the current configuration is used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigAppFontClear">
+ <refmeta>
+ <refentrytitle>FcConfigAppFontClear</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigAppFontClear</refname>
+ <refpurpose>Remove all app fonts from font database</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcConfigAppFontClear</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Clears the set of application-specific fonts.
+If <parameter>config</parameter> is NULL, the current configuration is used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigSubstituteWithPat">
+ <refmeta>
+ <refentrytitle>FcConfigSubstituteWithPat</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigSubstituteWithPat</refname>
+ <refpurpose>Execute substitutions</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcConfigSubstituteWithPat</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>FcPattern *<parameter>p_pat</parameter></paramdef>
+ <paramdef>FcMatchKind <parameter>kind</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Performs the sequence of pattern modification operations, if <parameter>kind</parameter> is
+FcMatchPattern, then those tagged as pattern operations are applied, else
+if <parameter>kind</parameter> is FcMatchFont, those tagged as font operations are applied and
+p_pat is used for &lt;test&gt; elements with target=pattern. Returns FcFalse
+if the substitution cannot be performed (due to allocation failure). Otherwise returns FcTrue.
+If <parameter>config</parameter> is NULL, the current configuration is used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigSubstitute">
+ <refmeta>
+ <refentrytitle>FcConfigSubstitute</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigSubstitute</refname>
+ <refpurpose>Execute substitutions</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcConfigSubstitute</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>FcMatchKind <parameter>kind</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Calls FcConfigSubstituteWithPat setting p_pat to NULL. Returns FcFalse
+if the substitution cannot be performed (due to allocation failure). Otherwise returns FcTrue.
+If <parameter>config</parameter> is NULL, the current configuration is used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFontMatch">
+ <refmeta>
+ <refentrytitle>FcFontMatch</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFontMatch</refname>
+ <refpurpose>Return best font</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcPattern * <function>FcFontMatch</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>FcResult *<parameter>result</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Finds the font in <parameter>sets</parameter> most closely matching
+<parameter>pattern</parameter> and returns the result of
+<function>FcFontRenderPrepare</function> for that font and the provided
+pattern. This function should be called only after
+<function>FcConfigSubstitute</function> and
+<function>FcDefaultSubstitute</function> have been called for
+<parameter>p</parameter>; otherwise the results will not be correct.
+If <parameter>config</parameter> is NULL, the current configuration is used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFontSort">
+ <refmeta>
+ <refentrytitle>FcFontSort</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFontSort</refname>
+ <refpurpose>Return list of matching fonts</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcFontSet * <function>FcFontSort</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>FcBool <parameter>trim</parameter></paramdef>
+ <paramdef>FcCharSet **<parameter>csp</parameter></paramdef>
+ <paramdef>FcResult *<parameter>result</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the list of fonts sorted by closeness to <parameter>p</parameter>. If <parameter>trim</parameter> is FcTrue,
+elements in the list which don't include Unicode coverage not provided by
+earlier elements in the list are elided. The union of Unicode coverage of
+all of the fonts is returned in <parameter>csp</parameter>, if <parameter>csp</parameter> is not NULL. This function
+should be called only after FcConfigSubstitute and FcDefaultSubstitute have
+been called for <parameter>p</parameter>; otherwise the results will not be correct.
+ </para><para>
+The returned FcFontSet references FcPattern structures which may be shared
+by the return value from multiple FcFontSort calls, applications must not
+modify these patterns. Instead, they should be passed, along with <parameter>p</parameter> to
+<function>FcFontRenderPrepare</function> which combines them into a complete pattern.
+ </para><para>
+The FcFontSet returned by FcFontSort is destroyed by calling FcFontSetDestroy.
+If <parameter>config</parameter> is NULL, the current configuration is used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFontRenderPrepare">
+ <refmeta>
+ <refentrytitle>FcFontRenderPrepare</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFontRenderPrepare</refname>
+ <refpurpose>Prepare pattern for loading font file</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcPattern * <function>FcFontRenderPrepare</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>FcPattern *<parameter>pat</parameter></paramdef>
+ <paramdef>FcPattern *<parameter>font</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Creates a new pattern consisting of elements of <parameter>font</parameter> not appearing
+in <parameter>pat</parameter>, elements of <parameter>pat</parameter> not appearing in <parameter>font</parameter> and the best matching
+value from <parameter>pat</parameter> for elements appearing in both. The result is passed to
+FcConfigSubstituteWithPat with <parameter>kind</parameter> FcMatchFont and then returned.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFontList">
+ <refmeta>
+ <refentrytitle>FcFontList</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFontList</refname>
+ <refpurpose>List fonts</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcFontSet * <function>FcFontList</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>FcObjectSet *<parameter>os</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Selects fonts matching <parameter>p</parameter>, creates patterns from those fonts containing
+only the objects in <parameter>os</parameter> and returns the set of unique such patterns.
+If <parameter>config</parameter> is NULL, the default configuration is checked
+to be up to date, and used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigFilename">
+ <refmeta>
+ <refentrytitle>FcConfigFilename</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigFilename</refname>
+ <refpurpose>Find a config file</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 * <function>FcConfigFilename</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>name</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Given the specified external entity name, return the associated filename.
+This provides applications a way to convert various configuration file
+references into filename form.
+ </para><para>
+A null or empty <parameter>name</parameter> indicates that the default configuration file should
+be used; which file this references can be overridden with the
+FONTCONFIG_FILE environment variable. Next, if the name starts with <parameter>~</parameter>, it
+refers to a file in the current users home directory. Otherwise if the name
+doesn't start with '/', it refers to a file in the default configuration
+directory; the built-in default directory can be overridden with the
+FONTCONFIG_PATH environment variable.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigParseAndLoad">
+ <refmeta>
+ <refentrytitle>FcConfigParseAndLoad</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigParseAndLoad</refname>
+ <refpurpose>load a configuration file</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcConfigParseAndLoad</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>file</parameter></paramdef>
+ <paramdef>FcBool <parameter>complain</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Walks the configuration in 'file' and constructs the internal representation
+in 'config'. Any include files referenced from within 'file' will be loaded
+and parsed. If 'complain' is FcFalse, no warning will be displayed if
+'file' does not exist. Error and warning messages will be output to stderr.
+Returns FcFalse if some error occurred while loading the file, either a
+parse error, semantic error or allocation failure. Otherwise returns FcTrue.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigGetSysRoot">
+ <refmeta>
+ <refentrytitle>FcConfigGetSysRoot</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigGetSysRoot</refname>
+ <refpurpose>Obtain the system root directory</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>const FcChar8 * <function>FcConfigGetSysRoot</function></funcdef>
+ <paramdef>const FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Obtrains the system root directory in 'config' if available.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.10.92</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcConfigSetSysRoot">
+ <refmeta>
+ <refentrytitle>FcConfigSetSysRoot</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigSetSysRoot</refname>
+ <refpurpose>Set the system root directory</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcConfigSetSysRoot</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>sysroot</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Set 'sysroot' as the system root directory. fontconfig prepend 'sysroot'
+to the cache directories in order to allow people to generate caches at
+the build time. Note that this causes changing current config. i.e.
+this function calls FcConfigSetCurrent() internally.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.10.92</para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcconstant.sgml b/doc/fcconstant.sgml
new file mode 100644
index 00000000..28097a54
--- /dev/null
+++ b/doc/fcconstant.sgml
@@ -0,0 +1,204 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcNameRegisterConstants">
+ <refmeta>
+ <refentrytitle>FcNameRegisterConstants</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcNameRegisterConstants</refname>
+ <refpurpose>Register symbolic constants</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcNameRegisterConstants</function></funcdef>
+ <paramdef>const FcConstant *<parameter>consts</parameter></paramdef>
+ <paramdef>int <parameter>nconsts</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Deprecated. Does nothing. Returns FcFalse.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcNameUnregisterConstants">
+ <refmeta>
+ <refentrytitle>FcNameUnregisterConstants</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcNameUnregisterConstants</refname>
+ <refpurpose>Unregister symbolic constants</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcNameUnregisterConstants</function></funcdef>
+ <paramdef>const FcConstant *<parameter>consts</parameter></paramdef>
+ <paramdef>int <parameter>nconsts</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Deprecated. Does nothing. Returns FcFalse.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcNameGetConstant">
+ <refmeta>
+ <refentrytitle>FcNameGetConstant</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcNameGetConstant</refname>
+ <refpurpose>Lookup symbolic constant</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>const FcConstant * <function>FcNameGetConstant</function></funcdef>
+ <paramdef>FcChar8 *<parameter>string</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Return the FcConstant structure related to symbolic constant <parameter>string</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcNameConstant">
+ <refmeta>
+ <refentrytitle>FcNameConstant</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcNameConstant</refname>
+ <refpurpose>Get the value for a symbolic constant</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcNameConstant</function></funcdef>
+ <paramdef>FcChar8 *<parameter>string</parameter></paramdef>
+ <paramdef>int *<parameter>result</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns whether a symbolic constant with name <parameter>string</parameter> is registered,
+placing the value of the constant in <parameter>result</parameter> if present.
+ </para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcdircache.sgml b/doc/fcdircache.sgml
new file mode 100644
index 00000000..154ec41e
--- /dev/null
+++ b/doc/fcdircache.sgml
@@ -0,0 +1,374 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcDirCacheUnlink">
+ <refmeta>
+ <refentrytitle>FcDirCacheUnlink</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcDirCacheUnlink</refname>
+ <refpurpose>Remove all caches related to <parameter>dir</parameter></refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcDirCacheUnlink</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>dir</parameter></paramdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Scans the cache directories in <parameter>config</parameter>, removing any
+instances of the cache file for <parameter>dir</parameter>. Returns FcFalse
+when some internal error occurs (out of memory, etc). Errors actually
+unlinking any files are ignored.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcDirCacheValid">
+ <refmeta>
+ <refentrytitle>FcDirCacheValid</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcDirCacheValid</refname>
+ <refpurpose>check directory cache</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcDirCacheValid</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>dir</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns FcTrue if <parameter>dir</parameter> has an associated valid cache
+file, else returns FcFalse
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcDirCacheLoad">
+ <refmeta>
+ <refentrytitle>FcDirCacheLoad</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcDirCacheLoad</refname>
+ <refpurpose>load a directory cache</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcCache * <function>FcDirCacheLoad</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>dir</parameter></paramdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>FcChar8 **<parameter>cache_file</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Loads the cache related to <parameter>dir</parameter>. If no cache file
+exists, returns NULL. The name of the cache file is returned in
+<parameter>cache_file</parameter>, unless that is NULL. See also
+FcDirCacheRead.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcDirCacheRescan">
+ <refmeta>
+ <refentrytitle>FcDirCacheRescan</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcDirCacheRescan</refname>
+ <refpurpose>Re-scan a directory cache</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcCache * <function>FcDirCacheRescan</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>dir</parameter></paramdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Re-scan directories only at <parameter>dir</parameter> and update the cache.
+returns NULL if failed.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.11.1</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcDirCacheRead">
+ <refmeta>
+ <refentrytitle>FcDirCacheRead</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcDirCacheRead</refname>
+ <refpurpose>read or construct a directory cache</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcCache * <function>FcDirCacheRead</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>dir</parameter></paramdef>
+ <paramdef>FcBool <parameter>force</parameter></paramdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+This returns a cache for <parameter>dir</parameter>. If
+<parameter>force</parameter> is FcFalse, then an existing, valid cache file
+will be used. Otherwise, a new cache will be created by scanning the
+directory and that returned.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcDirCacheLoadFile">
+ <refmeta>
+ <refentrytitle>FcDirCacheLoadFile</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcDirCacheLoadFile</refname>
+ <refpurpose>load a cache file</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcCache * <function>FcDirCacheLoadFile</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>cache_file</parameter></paramdef>
+ <paramdef>struct stat *<parameter>file_stat</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+This function loads a directory cache from
+<parameter>cache_file</parameter>. If <parameter>file_stat</parameter> is
+non-NULL, it will be filled with the results of stat(2) on the cache file.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcDirCacheUnload">
+ <refmeta>
+ <refentrytitle>FcDirCacheUnload</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcDirCacheUnload</refname>
+ <refpurpose>unload a cache file</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcDirCacheUnload</function></funcdef>
+ <paramdef>FcCache *<parameter>cache</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+This function dereferences <parameter>cache</parameter>. When no other
+references to it remain, all memory associated with the cache will be freed.
+ </para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcfile.sgml b/doc/fcfile.sgml
new file mode 100644
index 00000000..0703d09a
--- /dev/null
+++ b/doc/fcfile.sgml
@@ -0,0 +1,232 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFileScan">
+ <refmeta>
+ <refentrytitle>FcFileScan</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFileScan</refname>
+ <refpurpose>scan a font file</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcFileScan</function></funcdef>
+ <paramdef>FcFontSet *<parameter>set</parameter></paramdef>
+ <paramdef>FcStrSet *<parameter>dirs</parameter></paramdef>
+ <paramdef>FcFileCache *<parameter>cache</parameter></paramdef>
+ <paramdef>FcBlanks *<parameter>blanks</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>file</parameter></paramdef>
+ <paramdef>FcBool <parameter>force</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Scans a single file and adds all fonts found to <parameter>set</parameter>.
+If <parameter>force</parameter> is FcTrue, then the file is scanned even if
+associated information is found in <parameter>cache</parameter>. If
+<parameter>file</parameter> is a directory, it is added to
+<parameter>dirs</parameter>. Whether fonts are found depends on fontconfig
+policy as well as the current configuration. Internally, fontconfig will
+ignore BDF and PCF fonts which are not in Unicode (or the effectively
+equivalent ISO Latin-1) encoding as those are not usable by Unicode-based
+applications. The configuration can ignore fonts based on filename or
+contents of the font file itself. Returns FcFalse if any of the fonts cannot be
+added (due to allocation failure). Otherwise returns FcTrue.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFileIsDir">
+ <refmeta>
+ <refentrytitle>FcFileIsDir</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFileIsDir</refname>
+ <refpurpose>check whether a file is a directory</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcFileIsDir</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>file</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns FcTrue if <parameter>file</parameter> is a directory, otherwise
+returns FcFalse.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcDirScan">
+ <refmeta>
+ <refentrytitle>FcDirScan</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcDirScan</refname>
+ <refpurpose>scan a font directory without caching it</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcDirScan</function></funcdef>
+ <paramdef>FcFontSet *<parameter>set</parameter></paramdef>
+ <paramdef>FcStrSet *<parameter>dirs</parameter></paramdef>
+ <paramdef>FcFileCache *<parameter>cache</parameter></paramdef>
+ <paramdef>FcBlanks *<parameter>blanks</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>dir</parameter></paramdef>
+ <paramdef>FcBool <parameter>force</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+If <parameter>cache</parameter> is not zero or if <parameter>force</parameter>
+is FcFalse, this function currently returns FcFalse. Otherwise, it scans an
+entire directory and adds all fonts found to <parameter>set</parameter>.
+Any subdirectories found are added to <parameter>dirs</parameter>. Calling
+this function does not create any cache files. Use FcDirCacheRead() if
+caching is desired.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcDirSave">
+ <refmeta>
+ <refentrytitle>FcDirSave</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcDirSave</refname>
+ <refpurpose>DEPRECATED: formerly used to save a directory cache</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcDirSave</function></funcdef>
+ <paramdef>FcFontSet *<parameter>set</parameter></paramdef>
+ <paramdef>FcStrSet *<parameter>dirs</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>dir</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+This function now does nothing aside from returning FcFalse. It used to creates the
+per-directory cache file for <parameter>dir</parameter> and populates it
+with the fonts in <parameter>set</parameter> and subdirectories in
+<parameter>dirs</parameter>. All of this functionality is now automatically
+managed by FcDirCacheLoad and FcDirCacheRead.
+ </para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcfontset.sgml b/doc/fcfontset.sgml
new file mode 100644
index 00000000..bb6cd078
--- /dev/null
+++ b/doc/fcfontset.sgml
@@ -0,0 +1,454 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFontSetCreate">
+ <refmeta>
+ <refentrytitle>FcFontSetCreate</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFontSetCreate</refname>
+ <refpurpose>Create a font set</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcFontSet * <function>FcFontSetCreate</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Creates an empty font set.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFontSetDestroy">
+ <refmeta>
+ <refentrytitle>FcFontSetDestroy</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFontSetDestroy</refname>
+ <refpurpose>Destroy a font set</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcFontSetDestroy</function></funcdef>
+ <paramdef>FcFontSet *<parameter>s</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Destroys a font set. Note that this destroys any referenced patterns as
+well.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFontSetAdd">
+ <refmeta>
+ <refentrytitle>FcFontSetAdd</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFontSetAdd</refname>
+ <refpurpose>Add to a font set</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcFontSetAdd</function></funcdef>
+ <paramdef>FcFontSet *<parameter>s</parameter></paramdef>
+ <paramdef>FcPattern *<parameter>font</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Adds a pattern to a font set. Note that the pattern is not copied before
+being inserted into the set. Returns FcFalse if the pattern cannot be
+inserted into the set (due to allocation failure). Otherwise returns FcTrue.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFontSetList">
+ <refmeta>
+ <refentrytitle>FcFontSetList</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFontSetList</refname>
+ <refpurpose>List fonts from a set of font sets</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcFontSet * <function>FcFontSetList</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>FcFontSet **<parameter>sets</parameter></paramdef>
+ <paramdef>int<parameter>nsets</parameter></paramdef>
+ <paramdef>FcPattern *<parameter>pattern</parameter></paramdef>
+ <paramdef>FcObjectSet *<parameter>object_set</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Selects fonts matching <parameter>pattern</parameter> from
+<parameter>sets</parameter>, creates patterns from those
+fonts containing only the objects in <parameter>object_set</parameter> and returns
+the set of unique such patterns.
+If <parameter>config</parameter> is NULL, the default configuration is checked
+to be up to date, and used.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFontSetMatch">
+ <refmeta>
+ <refentrytitle>FcFontSetMatch</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFontSetMatch</refname>
+ <refpurpose>Return the best font from a set of font sets</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcPattern * <function>FcFontSetMatch</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>FcFontSet **<parameter>sets</parameter></paramdef>
+ <paramdef>int<parameter>nsets</parameter></paramdef>
+ <paramdef>FcPattern *<parameter>pattern</parameter></paramdef>
+ <paramdef>FcResult *<parameter>result</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Finds the font in <parameter>sets</parameter> most closely matching
+<parameter>pattern</parameter> and returns the result of
+<function>FcFontRenderPrepare</function> for that font and the provided
+pattern. This function should be called only after
+<function>FcConfigSubstitute</function> and
+<function>FcDefaultSubstitute</function> have been called for
+<parameter>pattern</parameter>; otherwise the results will not be correct.
+If <parameter>config</parameter> is NULL, the current configuration is used.
+Returns NULL if an error occurs during this process.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFontSetPrint">
+ <refmeta>
+ <refentrytitle>FcFontSetPrint</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFontSetPrint</refname>
+ <refpurpose>Print a set of patterns to stdout</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcFontSetPrint</function></funcdef>
+ <paramdef>FcFontSet *<parameter>set</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+This function is useful for diagnosing font related issues, printing the
+complete contents of every pattern in <parameter>set</parameter>. The format
+of the output is designed to be of help to users and developers, and may
+change at any time.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFontSetSort">
+ <refmeta>
+ <refentrytitle>FcFontSetSort</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFontSetSort</refname>
+ <refpurpose>Add to a font set</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef> <function>FcFontSetSort</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>FcFontSet **<parameter>sets</parameter></paramdef>
+ <paramdef>int<parameter>nsets</parameter></paramdef>
+ <paramdef>FcPattern *<parameter>pattern</parameter></paramdef>
+ <paramdef>FcBool <parameter>trim</parameter></paramdef>
+ <paramdef>FcCharSet **<parameter>csp</parameter></paramdef>
+ <paramdef>FcResult *<parameter>result</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the list of fonts from <parameter>sets</parameter>
+sorted by closeness to <parameter>pattern</parameter>.
+If <parameter>trim</parameter> is FcTrue,
+elements in the list which don't include Unicode coverage not provided by
+earlier elements in the list are elided. The union of Unicode coverage of
+all of the fonts is returned in <parameter>csp</parameter>,
+if <parameter>csp</parameter> is not NULL. This function
+should be called only after FcConfigSubstitute and FcDefaultSubstitute have
+been called for <parameter>p</parameter>;
+otherwise the results will not be correct.
+ </para><para>
+The returned FcFontSet references FcPattern structures which may be shared
+by the return value from multiple FcFontSort calls, applications cannot
+modify these patterns. Instead, they should be passed, along with
+<parameter>pattern</parameter> to
+<function>FcFontRenderPrepare</function> which combines them into a complete pattern.
+ </para><para>
+The FcFontSet returned by FcFontSetSort is destroyed by calling FcFontSetDestroy.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFontSetSortDestroy">
+ <refmeta>
+ <refentrytitle>FcFontSetSortDestroy</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFontSetSortDestroy</refname>
+ <refpurpose>DEPRECATED destroy a font set</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef> <function>FcFontSetSortDestroy</function></funcdef>
+ <paramdef>FcFontSet *<parameter>set</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+This function is DEPRECATED. <function>FcFontSetSortDestroy</function>
+destroys <parameter>set</parameter> by calling
+<function>FcFontSetDestroy</function>. Applications should use
+<function>FcFontSetDestroy</function> directly instead.
+ </para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcformat.sgml b/doc/fcformat.sgml
new file mode 100644
index 00000000..8f7a337f
--- /dev/null
+++ b/doc/fcformat.sgml
@@ -0,0 +1,328 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternFormat">
+ <refmeta>
+ <refentrytitle>FcPatternFormat</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternFormat</refname>
+ <refpurpose>Format a pattern into a string according to a format specifier</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 * <function>FcPatternFormat</function></funcdef>
+ <paramdef>FcPattern *<parameter>pat</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>format</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Converts given pattern <parameter>pat</parameter> into text described by
+the format specifier <parameter>format</parameter>.
+The return value refers to newly allocated memory which should be freed by the
+caller using free(), or NULL if <parameter>format</parameter> is invalid.
+
+</para><para>
+
+The format is loosely modeled after printf-style format string.
+The format string is composed of zero or more directives: ordinary
+characters (not "%"), which are copied unchanged to the output stream;
+and tags which are interpreted to construct text from the pattern in a
+variety of ways (explained below).
+Special characters can be escaped
+using backslash. C-string style special characters like \n and \r are
+also supported (this is useful when the format string is not a C string
+literal).
+It is advisable to always escape curly braces that
+are meant to be copied to the output as ordinary characters.
+
+</para><para>
+
+Each tag is introduced by the character "%",
+followed by an optional minimum field width,
+followed by tag contents in curly braces ({}).
+If the minimum field width value is provided the tag
+will be expanded and the result padded to achieve the minimum width.
+If the minimum field width is positive, the padding will right-align
+the text. Negative field width will left-align.
+The rest of this section describes various supported tag contents
+and their expansion.
+
+</para><para>
+
+A <firstterm>simple</firstterm> tag
+is one where the content is an identifier. When simple
+tags are expanded, the named identifier will be looked up in
+<parameter>pattern</parameter> and the resulting list of values returned,
+joined together using comma. For example, to print the family name and style of the
+pattern, use the format "%{family} %{style}\n". To extend the family column
+to forty characters use "%-40{family}%{style}\n".
+
+</para><para>
+
+Simple tags expand to list of all values for an element. To only choose
+one of the values, one can index using the syntax "%{elt[idx]}". For example,
+to get the first family name only, use "%{family[0]}".
+
+</para><para>
+
+If a simple tag ends with "=" and the element is found in the pattern, the
+name of the element followed by "=" will be output before the list of values.
+For example, "%{weight=}" may expand to the string "weight=80". Or to the empty
+string if <parameter>pattern</parameter> does not have weight set.
+
+</para><para>
+
+If a simple tag starts with ":" and the element is found in the pattern, ":"
+will be printed first. For example, combining this with the =, the format
+"%{:weight=}" may expand to ":weight=80" or to the empty string
+if <parameter>pattern</parameter> does not have weight set.
+
+</para><para>
+
+If a simple tag contains the string ":-", the rest of the the tag contents
+will be used as a default string. The default string is output if the element
+is not found in the pattern. For example, the format
+"%{:weight=:-123}" may expand to ":weight=80" or to the string
+":weight=123" if <parameter>pattern</parameter> does not have weight set.
+
+</para><para>
+
+A <firstterm>count</firstterm> tag
+is one that starts with the character "#" followed by an element
+name, and expands to the number of values for the element in the pattern.
+For example, "%{#family}" expands to the number of family names
+<parameter>pattern</parameter> has set, which may be zero.
+
+</para><para>
+
+A <firstterm>sub-expression</firstterm> tag
+is one that expands a sub-expression. The tag contents
+are the sub-expression to expand placed inside another set of curly braces.
+Sub-expression tags are useful for aligning an entire sub-expression, or to
+apply converters (explained later) to the entire sub-expression output.
+For example, the format "%40{{%{family} %{style}}}" expands the sub-expression
+to construct the family name followed by the style, then takes the entire
+string and pads it on the left to be at least forty characters.
+
+</para><para>
+
+A <firstterm>filter-out</firstterm> tag
+is one starting with the character "-" followed by a
+comma-separated list of element names, followed by a sub-expression enclosed
+in curly braces. The sub-expression will be expanded but with a pattern that
+has the listed elements removed from it.
+For example, the format "%{-size,pixelsize{sub-expr}}" will expand "sub-expr"
+with <parameter>pattern</parameter> sans the size and pixelsize elements.
+
+</para><para>
+
+A <firstterm>filter-in</firstterm> tag
+is one starting with the character "+" followed by a
+comma-separated list of element names, followed by a sub-expression enclosed
+in curly braces. The sub-expression will be expanded but with a pattern that
+only has the listed elements from the surrounding pattern.
+For example, the format "%{+family,familylang{sub-expr}}" will expand "sub-expr"
+with a sub-pattern consisting only the family and family lang elements of
+<parameter>pattern</parameter>.
+
+</para><para>
+
+A <firstterm>conditional</firstterm> tag
+is one starting with the character "?" followed by a
+comma-separated list of element conditions, followed by two sub-expression
+enclosed in curly braces. An element condition can be an element name,
+in which case it tests whether the element is defined in pattern, or
+the character "!" followed by an element name, in which case the test
+is negated. The conditional passes if all the element conditions pass.
+The tag expands the first sub-expression if the conditional passes, and
+expands the second sub-expression otherwise.
+For example, the format "%{?size,dpi,!pixelsize{pass}{fail}}" will expand
+to "pass" if <parameter>pattern</parameter> has size and dpi elements but
+no pixelsize element, and to "fail" otherwise.
+
+</para><para>
+
+An <firstterm>enumerate</firstterm> tag
+is one starting with the string "[]" followed by a
+comma-separated list of element names, followed by a sub-expression enclosed
+in curly braces. The list of values for the named elements are walked in
+parallel and the sub-expression expanded each time with a pattern just having
+a single value for those elements, starting from the first value and
+continuing as long as any of those elements has a value.
+For example, the format "%{[]family,familylang{%{family} (%{familylang})\n}}"
+will expand the pattern "%{family} (%{familylang})\n" with a pattern
+having only the first value of the family and familylang elements, then expands
+it with the second values, then the third, etc.
+
+</para><para>
+
+As a special case, if an enumerate tag has only one element, and that element
+has only one value in the pattern, and that value is of type FcLangSet, the
+individual languages in the language set are enumerated.
+
+</para><para>
+
+A <firstterm>builtin</firstterm> tag
+is one starting with the character "=" followed by a builtin
+name. The following builtins are defined:
+
+<variablelist>
+
+<varlistentry><term>
+unparse
+</term><listitem><para>
+Expands to the result of calling FcNameUnparse() on the pattern.
+</para></listitem></varlistentry>
+
+<varlistentry><term>
+fcmatch
+</term><listitem><para>
+Expands to the output of the default output format of the fc-match
+command on the pattern, without the final newline.
+</para></listitem></varlistentry>
+
+<varlistentry><term>
+fclist
+</term><listitem><para>
+Expands to the output of the default output format of the fc-list
+command on the pattern, without the final newline.
+</para></listitem></varlistentry>
+
+<varlistentry><term>
+fccat
+</term><listitem><para>
+Expands to the output of the default output format of the fc-cat
+command on the pattern, without the final newline.
+</para></listitem></varlistentry>
+
+<varlistentry><term>
+pkgkit
+</term><listitem><para>
+Expands to the list of PackageKit font() tags for the pattern.
+Currently this includes tags for each family name, and each language
+from the pattern, enumerated and sanitized into a set of tags terminated
+by newline. Package management systems can use these tags to tag their
+packages accordingly.
+</para></listitem></varlistentry>
+
+</variablelist>
+
+For example, the format "%{+family,style{%{=unparse}}}\n" will expand
+to an unparsed name containing only the family and style element values
+from <parameter>pattern</parameter>.
+
+</para><para>
+
+The contents of any tag can be followed by a set of zero or more
+<firstterm>converter</firstterm>s. A converter is specified by the
+character "|" followed by the converter name and arguments. The
+following converters are defined:
+
+<variablelist>
+
+<varlistentry><term>
+basename
+</term><listitem><para>
+Replaces text with the results of calling FcStrBasename() on it.
+</para></listitem></varlistentry>
+
+<varlistentry><term>
+dirname
+</term><listitem><para>
+Replaces text with the results of calling FcStrDirname() on it.
+</para></listitem></varlistentry>
+
+<varlistentry><term>
+downcase
+</term><listitem><para>
+Replaces text with the results of calling FcStrDowncase() on it.
+</para></listitem></varlistentry>
+
+<varlistentry><term>
+shescape
+</term><listitem><para>
+Escapes text for one level of shell expansion.
+(Escapes single-quotes, also encloses text in single-quotes.)
+</para></listitem></varlistentry>
+
+<varlistentry><term>
+cescape
+</term><listitem><para>
+Escapes text such that it can be used as part of a C string literal.
+(Escapes backslash and double-quotes.)
+</para></listitem></varlistentry>
+
+<varlistentry><term>
+xmlescape
+</term><listitem><para>
+Escapes text such that it can be used in XML and HTML.
+(Escapes less-than, greater-than, and ampersand.)
+</para></listitem></varlistentry>
+
+<varlistentry><term>
+delete(<parameter>chars</parameter>)
+</term><listitem><para>
+Deletes all occurrences of each of the characters in <parameter>chars</parameter>
+from the text.
+FIXME: This converter is not UTF-8 aware yet.
+</para></listitem></varlistentry>
+
+<varlistentry><term>
+escape(<parameter>chars</parameter>)
+</term><listitem><para>
+Escapes all occurrences of each of the characters in <parameter>chars</parameter>
+by prepending it by the first character in <parameter>chars</parameter>.
+FIXME: This converter is not UTF-8 aware yet.
+</para></listitem></varlistentry>
+
+<varlistentry><term>
+translate(<parameter>from</parameter>,<parameter>to</parameter>)
+</term><listitem><para>
+Translates all occurrences of each of the characters in <parameter>from</parameter>
+by replacing them with their corresponding character in <parameter>to</parameter>.
+If <parameter>to</parameter> has fewer characters than
+<parameter>from</parameter>, it will be extended by repeating its last
+character.
+FIXME: This converter is not UTF-8 aware yet.
+</para></listitem></varlistentry>
+
+</variablelist>
+
+For example, the format "%{family|downcase|delete( )}\n" will expand
+to the values of the family element in <parameter>pattern</parameter>,
+lower-cased and with spaces removed.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.9.0</para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcfreetype.sgml b/doc/fcfreetype.sgml
new file mode 100644
index 00000000..12eb4f42
--- /dev/null
+++ b/doc/fcfreetype.sgml
@@ -0,0 +1,283 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFreeTypeCharIndex">
+ <refmeta>
+ <refentrytitle>FcFreeTypeCharIndex</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFreeTypeCharIndex</refname>
+ <refpurpose>map Unicode to glyph id</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig.h&gt;
+#include &lt;fcfreetype.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FT_UInt <function>FcFreeTypeCharIndex</function></funcdef>
+ <paramdef>FT_Face <parameter>face</parameter></paramdef>
+ <paramdef>FcChar32 <parameter>ucs4</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Maps a Unicode char to a glyph index. This function uses information from
+several possible underlying encoding tables to work around broken fonts.
+As a result, this function isn't designed to be used in performance
+sensitive areas; results from this function are intended to be cached by
+higher level functions.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFreeTypeCharSet">
+ <refmeta>
+ <refentrytitle>FcFreeTypeCharSet</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFreeTypeCharSet</refname>
+ <refpurpose>compute Unicode coverage</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig.h&gt;
+#include &lt;fcfreetype.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcCharSet * <function>FcFreeTypeCharSet</function></funcdef>
+ <paramdef>FT_Face <parameter>face</parameter></paramdef>
+ <paramdef>FcBlanks *<parameter>blanks</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Scans a FreeType face and returns the set of encoded Unicode chars. This scans
+several encoding tables to build as complete a list as possible.
+If 'blanks' is not 0, the glyphs in the font are examined and any blank glyphs
+not in 'blanks' are not placed in the returned FcCharSet.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFreeTypeCharSetAndSpacing">
+ <refmeta>
+ <refentrytitle>FcFreeTypeCharSetAndSpacing</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFreeTypeCharSetAndSpacing</refname>
+ <refpurpose>compute Unicode coverage and spacing type</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig.h&gt;
+#include &lt;fcfreetype.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcCharSet * <function>FcFreeTypeCharSetAndSpacing</function></funcdef>
+ <paramdef>FT_Face <parameter>face</parameter></paramdef>
+ <paramdef>FcBlanks *<parameter>blanks</parameter></paramdef>
+ <paramdef>int *<parameter>spacing</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Scans a FreeType face and returns the set of encoded Unicode chars.
+This scans
+several encoding tables to build as complete a list as possible.
+If 'blanks' is not 0, the glyphs in the font are examined and any blank glyphs
+not in 'blanks' are not placed in the returned FcCharSet.
+<parameter>spacing</parameter> receives the computed spacing type of the
+font, one of FC_MONO for a font where all glyphs have the same width,
+FC_DUAL, where the font has glyphs in precisely two widths, one twice as
+wide as the other, or FC_PROPORTIONAL where the font has glyphs of many
+widths.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFreeTypeQuery">
+ <refmeta>
+ <refentrytitle>FcFreeTypeQuery</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFreeTypeQuery</refname>
+ <refpurpose>compute pattern from font file (and index)</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig.h&gt;
+#include &lt;fcfreetype.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcPattern * <function>FcFreeTypeQuery</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>file</parameter></paramdef>
+ <paramdef>int <parameter>id</parameter></paramdef>
+ <paramdef>FcBlanks *<parameter>blanks</parameter></paramdef>
+ <paramdef>int *<parameter>count</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Constructs a pattern representing the 'id'th font in 'file'. The number
+of fonts in 'file' is returned in 'count'.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFreeTypeQueryFace">
+ <refmeta>
+ <refentrytitle>FcFreeTypeQueryFace</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFreeTypeQueryFace</refname>
+ <refpurpose>compute pattern from FT_Face</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig.h&gt;
+#include &lt;fcfreetype.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcPattern * <function>FcFreeTypeQueryFace</function></funcdef>
+ <paramdef>const FT_Face <parameter>face</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>file</parameter></paramdef>
+ <paramdef>int <parameter>id</parameter></paramdef>
+ <paramdef>FcBlanks *<parameter>blanks</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Constructs a pattern representing 'face'. 'file' and 'id' are used solely as
+data for pattern elements (FC_FILE, FC_INDEX and sometimes FC_FAMILY).
+ </para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcinit.sgml b/doc/fcinit.sgml
new file mode 100644
index 00000000..13a65432
--- /dev/null
+++ b/doc/fcinit.sgml
@@ -0,0 +1,364 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcInitLoadConfig">
+ <refmeta>
+ <refentrytitle>FcInitLoadConfig</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcInitLoadConfig</refname>
+ <refpurpose>load configuration</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcConfig * <function>FcInitLoadConfig</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Loads the default configuration file and returns the resulting configuration.
+Does not load any font information.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcInitLoadConfigAndFonts">
+ <refmeta>
+ <refentrytitle>FcInitLoadConfigAndFonts</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcInitLoadConfigAndFonts</refname>
+ <refpurpose>load configuration and font data</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcConfig * <function>FcInitLoadConfigAndFonts</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Loads the default configuration file and builds information about the
+available fonts. Returns the resulting configuration.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcInit">
+ <refmeta>
+ <refentrytitle>FcInit</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcInit</refname>
+ <refpurpose>initialize fontconfig library</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcInit</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Loads the default configuration file and the fonts referenced therein and
+sets the default configuration to that result. Returns whether this
+process succeeded or not. If the default configuration has already
+been loaded, this routine does nothing and returns FcTrue.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcFini">
+ <refmeta>
+ <refentrytitle>FcFini</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFini</refname>
+ <refpurpose>finalize fontconfig library</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcFini</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Frees all data structures allocated by previous calls to fontconfig
+functions. Fontconfig returns to an uninitialized state, requiring a
+new call to one of the FcInit functions before any other fontconfig
+function may be called.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcGetVersion">
+ <refmeta>
+ <refentrytitle>FcGetVersion</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcGetVersion</refname>
+ <refpurpose>library version number</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>int <function>FcGetVersion</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the version number of the library.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcInitReinitialize">
+ <refmeta>
+ <refentrytitle>FcInitReinitialize</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcInitReinitialize</refname>
+ <refpurpose>re-initialize library</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcInitReinitialize</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Forces the default configuration file to be reloaded and resets the default
+configuration. Returns FcFalse if the configuration cannot be reloaded (due
+to configuration file errors, allocation failures or other issues) and leaves the
+existing configuration unchanged. Otherwise returns FcTrue.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcInitBringUptoDate">
+ <refmeta>
+ <refentrytitle>FcInitBringUptoDate</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcInitBringUptoDate</refname>
+ <refpurpose>reload configuration files if needed</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcInitBringUptoDate</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Checks the rescan interval in the default configuration, checking the
+configuration if the interval has passed and reloading the configuration if
+when any changes are detected. Returns FcFalse if the configuration cannot
+be reloaded (see FcInitReinitialize). Otherwise returns FcTrue.
+ </para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fclangset.sgml b/doc/fclangset.sgml
new file mode 100644
index 00000000..a340755b
--- /dev/null
+++ b/doc/fclangset.sgml
@@ -0,0 +1,904 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcLangSetCreate">
+ <refmeta>
+ <refentrytitle>FcLangSetCreate</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcLangSetCreate</refname>
+ <refpurpose>create a langset object</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcLangSet * <function>FcLangSetCreate</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcLangSetCreate</function> creates a new FcLangSet object.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcLangSetDestroy">
+ <refmeta>
+ <refentrytitle>FcLangSetDestroy</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcLangSetDestroy</refname>
+ <refpurpose>destroy a langset object</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcLangSetDestroy</function></funcdef>
+ <paramdef>FcLangSet *<parameter>ls</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcLangSetDestroy</function> destroys a FcLangSet object, freeing
+all memory associated with it.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcLangSetCopy">
+ <refmeta>
+ <refentrytitle>FcLangSetCopy</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcLangSetCopy</refname>
+ <refpurpose>copy a langset object</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcLangSet * <function>FcLangSetCopy</function></funcdef>
+ <paramdef>const FcLangSet *<parameter>ls</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcLangSetCopy</function> creates a new FcLangSet object and
+populates it with the contents of <parameter>ls</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcLangSetAdd">
+ <refmeta>
+ <refentrytitle>FcLangSetAdd</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcLangSetAdd</refname>
+ <refpurpose>add a language to a langset</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcLangSetAdd</function></funcdef>
+ <paramdef>FcLangSet *<parameter>ls</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>lang</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<parameter>lang</parameter> is added to <parameter>ls</parameter>.
+<parameter>lang</parameter> should be of the form Ll-Tt where Ll is a
+two or three letter language from ISO 639 and Tt is a territory from ISO
+3166.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcLangSetDel">
+ <refmeta>
+ <refentrytitle>FcLangSetDel</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcLangSetDel</refname>
+ <refpurpose>delete a language from a langset</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcLangSetDel</function></funcdef>
+ <paramdef>FcLangSet *<parameter>ls</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>lang</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<parameter>lang</parameter> is removed from <parameter>ls</parameter>.
+<parameter>lang</parameter> should be of the form Ll-Tt where Ll is a
+two or three letter language from ISO 639 and Tt is a territory from ISO
+3166.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.9.0</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcLangSetUnion">
+ <refmeta>
+ <refentrytitle>FcLangSetUnion</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcLangSetUnion</refname>
+ <refpurpose>Add langsets</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcLangSet * <function>FcLangSetUnion</function></funcdef>
+ <paramdef>const FcLangSet *<parameter>ls_a</parameter></paramdef>
+ <paramdef>const FcLangSet *<parameter>ls_b</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns a set including only those languages found in either <parameter>ls_a</parameter> or <parameter>ls_b</parameter>.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.9.0</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcLangSetSubtract">
+ <refmeta>
+ <refentrytitle>FcLangSetSubtract</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcLangSetSubtract</refname>
+ <refpurpose>Subtract langsets</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcLangSet * <function>FcLangSetSubtract</function></funcdef>
+ <paramdef>const FcLangSet *<parameter>ls_a</parameter></paramdef>
+ <paramdef>const FcLangSet *<parameter>ls_b</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns a set including only those languages found in <parameter>ls_a</parameter> but not in <parameter>ls_b</parameter>.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.9.0</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcLangSetCompare">
+ <refmeta>
+ <refentrytitle>FcLangSetCompare</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcLangSetCompare</refname>
+ <refpurpose>compare language sets</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcLangResult <function>FcLangSetCompare</function></funcdef>
+ <paramdef>const FcLangSet *<parameter>ls_a</parameter></paramdef>
+ <paramdef>const FcLangSet *<parameter>ls_b</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcLangSetCompare</function> compares language coverage for
+<parameter>ls_a</parameter> and <parameter>ls_b</parameter>. If they share
+any language and territory pair, this function returns FcLangEqual. If they
+share a language but differ in which territory that language is for, this
+function returns FcLangDifferentTerritory. If they share no languages in
+common, this function returns FcLangDifferentLang.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcLangSetContains">
+ <refmeta>
+ <refentrytitle>FcLangSetContains</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcLangSetContains</refname>
+ <refpurpose>check langset subset relation</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcLangSetContains</function></funcdef>
+ <paramdef>const FcLangSet *<parameter>ls_a</parameter></paramdef>
+ <paramdef>const FcLangSet *<parameter>ls_b</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcLangSetContains</function> returns FcTrue if
+<parameter>ls_a</parameter> contains every language in
+<parameter>ls_b</parameter>. <parameter>ls_a</parameter> will 'contain' a
+language from <parameter>ls_b</parameter> if <parameter>ls_a</parameter>
+has exactly the language, or either the language or
+<parameter>ls_a</parameter> has no territory.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcLangSetEqual">
+ <refmeta>
+ <refentrytitle>FcLangSetEqual</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcLangSetEqual</refname>
+ <refpurpose>test for matching langsets</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcLangSetEqual</function></funcdef>
+ <paramdef>const FcLangSet *<parameter>ls_a</parameter></paramdef>
+ <paramdef>const FcLangSet *<parameter>ls_b</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns FcTrue if and only if <parameter>ls_a</parameter> supports precisely
+the same language and territory combinations as <parameter>ls_b</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcLangSetHash">
+ <refmeta>
+ <refentrytitle>FcLangSetHash</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcLangSetHash</refname>
+ <refpurpose>return a hash value for a langset</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar32 <function>FcLangSetHash</function></funcdef>
+ <paramdef>const FcLangSet *<parameter>ls</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+This function returns a value which depends solely on the languages
+supported by <parameter>ls</parameter>. Any language which equals
+<parameter>ls</parameter> will have the same result from
+<function>FcLangSetHash</function>. However, two langsets with the same hash
+value may not be equal.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcLangSetHasLang">
+ <refmeta>
+ <refentrytitle>FcLangSetHasLang</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcLangSetHasLang</refname>
+ <refpurpose>test langset for language support</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcLangResult <function>FcLangSetHasLang</function></funcdef>
+ <paramdef>const FcLangSet *<parameter>ls</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>lang</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcLangSetHasLang</function> checks whether
+<parameter>ls</parameter> supports <parameter>lang</parameter>. If
+<parameter>ls</parameter> has a matching language and territory pair,
+this function returns FcLangEqual. If <parameter>ls</parameter> has
+a matching language but differs in which territory that language is for, this
+function returns FcLangDifferentTerritory. If <parameter>ls</parameter>
+has no matching language, this function returns FcLangDifferentLang.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcGetDefaultLangs">
+ <refmeta>
+ <refentrytitle>FcGetDefaultLangs</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcGetDefaultLangs</refname>
+ <refpurpose>Get the default languages list</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcStrSet * <function>FcGetDefaultLangs</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns a string set of the default languages according to the environment variables on the system.
+This function looks for them in order of FC_LANG, LC_ALL, LC_CTYPE and LANG then.
+If there are no valid values in those environment variables, "en" will be set as fallback.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.9.91</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcLangSetGetLangs">
+ <refmeta>
+ <refentrytitle>FcLangSetGetLangs</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcLangSetGetLangs</refname>
+ <refpurpose>get the list of languages in the langset</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcStrSet * <function>FcLangSetGetLangs</function></funcdef>
+ <paramdef>const FcLangSet *<parameter>ls</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns a string set of all languages in <parameter>langset</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcGetLangs">
+ <refmeta>
+ <refentrytitle>FcGetLangs</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcGetLangs</refname>
+ <refpurpose>Get list of languages</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcStrSet * <function>FcGetLangs</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns a string set of all known languages.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcLangNormalize">
+ <refmeta>
+ <refentrytitle>FcLangNormalize</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcLangNormalize</refname>
+ <refpurpose>Normalize the language string</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 * <function>FcLangNormalize</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>lang</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns a string to make <parameter>lang</parameter> suitable on fontconfig.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.10.91</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcLangGetCharSet">
+ <refmeta>
+ <refentrytitle>FcLangGetCharSet</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcLangGetCharSet</refname>
+ <refpurpose>Get character map for a language</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>const FcCharSet * <function>FcLangGetCharSet</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>lang</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the FcCharMap for a language.
+ </para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcmatrix.sgml b/doc/fcmatrix.sgml
new file mode 100644
index 00000000..65ff64a1
--- /dev/null
+++ b/doc/fcmatrix.sgml
@@ -0,0 +1,386 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcMatrixInit">
+ <refmeta>
+ <refentrytitle>FcMatrixInit</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcMatrixInit</refname>
+ <refpurpose>initialize an FcMatrix structure</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcMatrixInit</function></funcdef>
+ <paramdef>FcMatrix *<parameter>matrix</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcMatrixInit</function> initializes <parameter>matrix</parameter>
+to the identity matrix.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcMatrixCopy">
+ <refmeta>
+ <refentrytitle>FcMatrixCopy</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcMatrixCopy</refname>
+ <refpurpose>Copy a matrix</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcMatrixCopy</function></funcdef>
+ <paramdef>const FcMatrix *<parameter>matrix</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcMatrixCopy</function> allocates a new FcMatrix
+and copies <parameter>mat</parameter> into it.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcMatrixEqual">
+ <refmeta>
+ <refentrytitle>FcMatrixEqual</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcMatrixEqual</refname>
+ <refpurpose>Compare two matrices</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcMatrixEqual</function></funcdef>
+ <paramdef>const FcMatrix *<parameter>matrix1</parameter></paramdef>
+ <paramdef>const FcMatrix *<parameter>matrix2</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcMatrixEqual</function> compares <parameter>matrix1</parameter>
+and <parameter>matrix2</parameter> returning FcTrue when they are equal and
+FcFalse when they are not.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcMatrixMultiply">
+ <refmeta>
+ <refentrytitle>FcMatrixMultiply</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcMatrixMultiply</refname>
+ <refpurpose>Multiply matrices</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcMatrixMultiply</function></funcdef>
+ <paramdef>FcMatrix *<parameter>result</parameter></paramdef>
+ <paramdef>const FcMatrix *<parameter>matrix1</parameter></paramdef>
+ <paramdef>const FcMatrix *<parameter>matrix2</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcMatrixMultiply</function> multiplies
+<parameter>matrix1</parameter> and <parameter>matrix2</parameter> storing
+the result in <parameter>result</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcMatrixRotate">
+ <refmeta>
+ <refentrytitle>FcMatrixRotate</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcMatrixRotate</refname>
+ <refpurpose>Rotate a matrix</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcMatrixRotate</function></funcdef>
+ <paramdef>FcMatrix *<parameter>matrix</parameter></paramdef>
+ <paramdef>double <parameter>cos</parameter></paramdef>
+ <paramdef>double <parameter>sin</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcMatrixRotate</function> rotates <parameter>matrix</parameter>
+by the angle who's sine is <parameter>sin</parameter> and cosine is
+<parameter>cos</parameter>. This is done by multiplying by the
+matrix:
+<programlisting>
+ cos -sin
+ sin cos
+</programlisting>
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcMatrixScale">
+ <refmeta>
+ <refentrytitle>FcMatrixScale</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcMatrixScale</refname>
+ <refpurpose>Scale a matrix</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcMatrixScale</function></funcdef>
+ <paramdef>FcMatrix *<parameter>matrix</parameter></paramdef>
+ <paramdef>double <parameter>sx</parameter></paramdef>
+ <paramdef>double <parameter>dy</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcMatrixScale</function> multiplies <parameter>matrix</parameter>
+x values by <parameter>sx</parameter> and y values by
+<parameter>dy</parameter>. This is done by multiplying by
+the matrix:
+<programlisting>
+ sx 0
+ 0 dy
+</programlisting>
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcMatrixShear">
+ <refmeta>
+ <refentrytitle>FcMatrixShear</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcMatrixShear</refname>
+ <refpurpose>Shear a matrix</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcMatrixShear</function></funcdef>
+ <paramdef>FcMatrix *<parameter>matrix</parameter></paramdef>
+ <paramdef>double <parameter>sh</parameter></paramdef>
+ <paramdef>double <parameter>sv</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcMatrixShare</function> shears <parameter>matrix</parameter>
+horizontally by <parameter>sh</parameter> and vertically by
+<parameter>sv</parameter>. This is done by multiplying by
+the matrix:
+<programlisting>
+ 1 sh
+ sv 1
+</programlisting>
+ </para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcobjectset.sgml b/doc/fcobjectset.sgml
new file mode 100644
index 00000000..ccc70779
--- /dev/null
+++ b/doc/fcobjectset.sgml
@@ -0,0 +1,218 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcObjectSetCreate">
+ <refmeta>
+ <refentrytitle>FcObjectSetCreate</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcObjectSetCreate</refname>
+ <refpurpose>Create an object set</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcObjectSet * <function>FcObjectSetCreate</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Creates an empty set.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcObjectSetAdd">
+ <refmeta>
+ <refentrytitle>FcObjectSetAdd</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcObjectSetAdd</refname>
+ <refpurpose>Add to an object set</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcObjectSetAdd</function></funcdef>
+ <paramdef>FcObjectSet *<parameter>os</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Adds a property name to the set. Returns FcFalse if the property name cannot be
+inserted into the set (due to allocation failure). Otherwise returns FcTrue.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcObjectSetDestroy">
+ <refmeta>
+ <refentrytitle>FcObjectSetDestroy</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcObjectSetDestroy</refname>
+ <refpurpose>Destroy an object set</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcObjectSetDestroy</function></funcdef>
+ <paramdef>FcObjectSet *<parameter>os</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Destroys an object set.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcObjectSetBuild">
+ <refmeta>
+ <refentrytitle>FcObjectSetBuild</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcObjectSetBuild</refname>
+ <refname>FcObjectSetVaBuild</refname>
+ <refname>FcObjectSetVapBuild</refname>
+ <refpurpose>Build object set from args</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcObjectSet * <function>FcObjectSetBuild</function></funcdef>
+ <paramdef>const char *<parameter>first</parameter></paramdef>
+ <paramdef>...<parameter></parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcObjectSet * <function>FcObjectSetVaBuild</function></funcdef>
+ <paramdef>const char *<parameter>first</parameter></paramdef>
+ <paramdef>va_list <parameter>va</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>void <function>FcObjectSetVapBuild</function></funcdef>
+ <paramdef>FcObjectSet *<parameter>result</parameter></paramdef>
+ <paramdef>const char *<parameter>first</parameter></paramdef>
+ <paramdef>va_list <parameter>va</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+These build an object set from a null-terminated list of property names.
+FcObjectSetVapBuild is a macro version of FcObjectSetVaBuild which returns
+the result in the <parameter>result</parameter> variable directly.
+ </para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcobjecttype.sgml b/doc/fcobjecttype.sgml
new file mode 100644
index 00000000..a9de5066
--- /dev/null
+++ b/doc/fcobjecttype.sgml
@@ -0,0 +1,152 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcNameRegisterObjectTypes">
+ <refmeta>
+ <refentrytitle>FcNameRegisterObjectTypes</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcNameRegisterObjectTypes</refname>
+ <refpurpose>Register object types</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcNameRegisterObjectTypes</function></funcdef>
+ <paramdef>const FcObjectType *<parameter>types</parameter></paramdef>
+ <paramdef>int <parameter>ntype</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Deprecated. Does nothing. Returns FcFalse.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcNameUnregisterObjectTypes">
+ <refmeta>
+ <refentrytitle>FcNameUnregisterObjectTypes</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcNameUnregisterObjectTypes</refname>
+ <refpurpose>Unregister object types</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcNameUnregisterObjectTypes</function></funcdef>
+ <paramdef>const FcObjectType *<parameter>types</parameter></paramdef>
+ <paramdef>int <parameter>ntype</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Deprecated. Does nothing. Returns FcFalse.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcNameGetObjectType">
+ <refmeta>
+ <refentrytitle>FcNameGetObjectType</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcNameGetObjectType</refname>
+ <refpurpose>Lookup an object type</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>const FcObjectType * <function>FcNameGetObjectType</function></funcdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Return the object type for the pattern element named <parameter>object</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcpattern.fncs b/doc/fcpattern.fncs
index 1df1c4f6..1049d77a 100644
--- a/doc/fcpattern.fncs
+++ b/doc/fcpattern.fncs
@@ -181,12 +181,21 @@ values added to the list have binding <parameter>weak</parameter> instead of <pa
@TYPE2+++++++@ const char * @ARG2+++++++@ object
@TYPE3+++++++@ const FcLangSet * @ARG3+++++++@ l
+@PROTOTYPE++++++++@
+@RET++++++++@ FcBool
+@FUNC++++++++@ FcPatternAddRange
+@TYPE1++++++++@ FcPattern * @ARG1++++++++@ p
+@TYPE2++++++++@ const char * @ARG2++++++++@ object
+@TYPE3++++++++@ const FcRange * @ARG3++++++++@ r
+
@PURPOSE@ Add a typed value to a pattern
@DESC@
These are all convenience functions that insert objects of the specified
type into the pattern. Use these in preference to FcPatternAdd as they
will provide compile-time typechecking. These all append values to
any existing list of values.
+
+<function>FcPatternAddRange</function> are available since 2.11.91.
@@
@RET@ FcResult
@@ -257,16 +266,24 @@ within the pattern directly. Applications must not free this value.
@FUNC++++++@ FcPatternGetFTFace
@TYPE1++++++@ FcPattern * @ARG1++++++@ p
@TYPE2++++++@ const char * @ARG2++++++@ object
-@TYPE3+++++@ int% @ARG3+++++@ n
-@TYPE3++++++@ FT_Face * @ARG3++++++@ f
+@TYPE3++++++@ int% @ARG3++++++@ n
+@TYPE4++++++@ FT_Face * @ARG4++++++@ f
@PROTOTYPE+++++++@
@RET+++++++@ FcResult
@FUNC+++++++@ FcPatternGetLangSet
@TYPE1+++++++@ FcPattern * @ARG1+++++++@ p
@TYPE2+++++++@ const char * @ARG2+++++++@ object
-@TYPE3+++++@ int% @ARG3+++++@ n
-@TYPE3+++++++@ FcLangSet ** @ARG3+++++++@ l
+@TYPE3+++++++@ int% @ARG3+++++++@ n
+@TYPE4+++++++@ FcLangSet ** @ARG4+++++++@ l
+
+@PROTOTYPE++++++++@
+@RET++++++++@ FcResult
+@FUNC++++++++@ FcPatternGetRange
+@TYPE1++++++++@ FcPattern * @ARG1++++++++@ p
+@TYPE2++++++++@ const char * @ARG2++++++++@ object
+@TYPE3++++++++@ int% @ARG3++++++++@ n
+@TYPE4++++++++@ FcRange ** @ARG4++++++++@ r
@PURPOSE@ Return a typed value from a pattern
@DESC@
@@ -275,6 +292,8 @@ returned data is of the expected type. They return FcResultTypeMismatch if
this is not the case. Note that these (like FcPatternGet) do not make a
copy of any data structure referenced by the return value. Use these
in preference to FcPatternGet to provide compile-time typechecking.
+
+<function>FcPatternGetRange</function> are available since 2.11.91.
@@
@RET@ FcPattern *
diff --git a/doc/fcpattern.sgml b/doc/fcpattern.sgml
new file mode 100644
index 00000000..7e31ea3c
--- /dev/null
+++ b/doc/fcpattern.sgml
@@ -0,0 +1,1228 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternCreate">
+ <refmeta>
+ <refentrytitle>FcPatternCreate</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternCreate</refname>
+ <refpurpose>Create a pattern</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcPattern * <function>FcPatternCreate</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Creates a pattern with no properties; used to build patterns from scratch.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternDuplicate">
+ <refmeta>
+ <refentrytitle>FcPatternDuplicate</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternDuplicate</refname>
+ <refpurpose>Copy a pattern</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcPattern * <function>FcPatternDuplicate</function></funcdef>
+ <paramdef>const FcPattern *<parameter>p</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Copy a pattern, returning a new pattern that matches
+<parameter>p</parameter>. Each pattern may be modified without affecting the
+other.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternReference">
+ <refmeta>
+ <refentrytitle>FcPatternReference</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternReference</refname>
+ <refpurpose>Increment pattern reference count</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcPatternReference</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Add another reference to <parameter>p</parameter>. Patterns are freed only
+when the reference count reaches zero.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternDestroy">
+ <refmeta>
+ <refentrytitle>FcPatternDestroy</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternDestroy</refname>
+ <refpurpose>Destroy a pattern</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcPatternDestroy</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Decrement the pattern reference count. If all references are gone, destroys
+the pattern, in the process destroying all related values.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternEqual">
+ <refmeta>
+ <refentrytitle>FcPatternEqual</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternEqual</refname>
+ <refpurpose>Compare patterns</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcPatternEqual</function></funcdef>
+ <paramdef>const FcPattern *<parameter>pa</parameter></paramdef>
+ <paramdef>const FcPattern *<parameter>pb</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns whether <parameter>pa</parameter> and <parameter>pb</parameter> are exactly alike.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternEqualSubset">
+ <refmeta>
+ <refentrytitle>FcPatternEqualSubset</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternEqualSubset</refname>
+ <refpurpose>Compare portions of patterns</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcPatternEqualSubset</function></funcdef>
+ <paramdef>const FcPattern *<parameter>pa</parameter></paramdef>
+ <paramdef>const FcPattern *<parameter>pb</parameter></paramdef>
+ <paramdef>const FcObjectSet *<parameter>os</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns whether <parameter>pa</parameter> and <parameter>pb</parameter> have exactly the same values for all of the
+objects in <parameter>os</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternFilter">
+ <refmeta>
+ <refentrytitle>FcPatternFilter</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternFilter</refname>
+ <refpurpose>Filter the objects of pattern</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcPattern * <function>FcPatternFilter</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const FcObjectSet *<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns a new pattern that only has those objects from
+<parameter>p</parameter> that are in <parameter>os</parameter>.
+If <parameter>os</parameter> is NULL, a duplicate of
+<parameter>p</parameter> is returned.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternHash">
+ <refmeta>
+ <refentrytitle>FcPatternHash</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternHash</refname>
+ <refpurpose>Compute a pattern hash value</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar32 <function>FcPatternHash</function></funcdef>
+ <paramdef>const FcPattern *<parameter>p</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns a 32-bit number which is the same for any two patterns which are
+equal.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternAdd">
+ <refmeta>
+ <refentrytitle>FcPatternAdd</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternAdd</refname>
+ <refpurpose>Add a value to a pattern</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcPatternAdd</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>FcValue <parameter>value</parameter></paramdef>
+ <paramdef>FcBool <parameter>append</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Adds a single value to the list of values associated with the property named
+`object<parameter>. If `append</parameter> is FcTrue, the value is added at the end of any
+existing list, otherwise it is inserted at the beginning. `value' is saved
+(with FcValueSave) when inserted into the pattern so that the library
+retains no reference to any application-supplied data structure.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternAddWeak">
+ <refmeta>
+ <refentrytitle>FcPatternAddWeak</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternAddWeak</refname>
+ <refpurpose>Add a value to a pattern with weak binding</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcPatternAddWeak</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>FcValue <parameter>value</parameter></paramdef>
+ <paramdef>FcBool <parameter>append</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+FcPatternAddWeak is essentially the same as FcPatternAdd except that any
+values added to the list have binding <parameter>weak</parameter> instead of <parameter>strong</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternAdd-Type">
+ <refmeta>
+ <refentrytitle>FcPatternAdd-Type</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternAddInteger</refname>
+ <refname>FcPatternAddDouble</refname>
+ <refname>FcPatternAddString</refname>
+ <refname>FcPatternAddMatrix</refname>
+ <refname>FcPatternAddCharSet</refname>
+ <refname>FcPatternAddBool</refname>
+ <refname>FcPatternAddFTFace</refname>
+ <refname>FcPatternAddLangSet</refname>
+ <refname>FcPatternAddRange</refname>
+ <refpurpose>Add a typed value to a pattern</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcPatternAddInteger</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>int <parameter>i</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcBool <function>FcPatternAddDouble</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>double <parameter>d</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcBool <function>FcPatternAddString</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>s</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcBool <function>FcPatternAddMatrix</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>const FcMatrix *<parameter>m</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcBool <function>FcPatternAddCharSet</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>const FcCharSet *<parameter>c</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcBool <function>FcPatternAddBool</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>FcBool <parameter>b</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcBool <function>FcPatternAddFTFace</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>const FT_Face<parameter>f</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcBool <function>FcPatternAddLangSet</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>const FcLangSet *<parameter>l</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcBool <function>FcPatternAddRange</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>const FcRange *<parameter>r</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+These are all convenience functions that insert objects of the specified
+type into the pattern. Use these in preference to FcPatternAdd as they
+will provide compile-time typechecking. These all append values to
+any existing list of values.
+
+<function>FcPatternAddRange</function> are available since 2.11.91.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternGet">
+ <refmeta>
+ <refentrytitle>FcPatternGet</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternGet</refname>
+ <refpurpose>Return a value from a pattern</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcResult <function>FcPatternGet</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>int <parameter>id</parameter></paramdef>
+ <paramdef>FcValue *<parameter>v</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns in <parameter>v</parameter> the <parameter>id</parameter>'th value
+associated with the property <parameter>object</parameter>.
+The value returned is not a copy, but rather refers to the data stored
+within the pattern directly. Applications must not free this value.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternGet-Type">
+ <refmeta>
+ <refentrytitle>FcPatternGet-Type</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternGetInteger</refname>
+ <refname>FcPatternGetDouble</refname>
+ <refname>FcPatternGetString</refname>
+ <refname>FcPatternGetMatrix</refname>
+ <refname>FcPatternGetCharSet</refname>
+ <refname>FcPatternGetBool</refname>
+ <refname>FcPatternGetFTFace</refname>
+ <refname>FcPatternGetLangSet</refname>
+ <refname>FcPatternGetRange</refname>
+ <refpurpose>Return a typed value from a pattern</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcResult <function>FcPatternGetInteger</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>int <parameter>n</parameter></paramdef>
+ <paramdef>int *<parameter>i</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcResult <function>FcPatternGetDouble</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>int <parameter>n</parameter></paramdef>
+ <paramdef>double *<parameter>d</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcResult <function>FcPatternGetString</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>int <parameter>n</parameter></paramdef>
+ <paramdef>FcChar8 **<parameter>s</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcResult <function>FcPatternGetMatrix</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>int <parameter>n</parameter></paramdef>
+ <paramdef>FcMatrix **<parameter>s</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcResult <function>FcPatternGetCharSet</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>int <parameter>n</parameter></paramdef>
+ <paramdef>FcCharSet **<parameter>c</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcResult <function>FcPatternGetBool</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>int <parameter>n</parameter></paramdef>
+ <paramdef>FcBool *<parameter>b</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcResult <function>FcPatternGetFTFace</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>int <parameter>n</parameter></paramdef>
+ <paramdef>FT_Face *<parameter>f</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcResult <function>FcPatternGetLangSet</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>int <parameter>n</parameter></paramdef>
+ <paramdef>FcLangSet **<parameter>l</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcResult <function>FcPatternGetRange</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>int <parameter>n</parameter></paramdef>
+ <paramdef>FcRange **<parameter>r</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+These are convenience functions that call FcPatternGet and verify that the
+returned data is of the expected type. They return FcResultTypeMismatch if
+this is not the case. Note that these (like FcPatternGet) do not make a
+copy of any data structure referenced by the return value. Use these
+in preference to FcPatternGet to provide compile-time typechecking.
+
+<function>FcPatternGetRange</function> are available since 2.11.91.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternBuild">
+ <refmeta>
+ <refentrytitle>FcPatternBuild</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternBuild</refname>
+ <refname>FcPatternVaBuild</refname>
+ <refname>FcPatternVapBuild</refname>
+ <refpurpose>Create patterns from arguments</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcPattern * <function>FcPatternBuild</function></funcdef>
+ <paramdef>FcPattern *<parameter>pattern</parameter></paramdef>
+ <paramdef>...<parameter></parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>FcPattern * <function>FcPatternVaBuild</function></funcdef>
+ <paramdef>FcPattern *<parameter>pattern</parameter></paramdef>
+ <paramdef>va_list <parameter>va</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>void <function>FcPatternVapBuild</function></funcdef>
+ <paramdef>FcPattern *<parameter>result</parameter></paramdef>
+ <paramdef>FcPattern *<parameter>pattern</parameter></paramdef>
+ <paramdef>va_list <parameter>va</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Builds a pattern using a list of objects, types and values. Each
+value to be entered in the pattern is specified with three arguments:
+</para>
+<orderedlist>
+<listitem><para>
+Object name, a string describing the property to be added.
+</para></listitem><listitem><para>
+Object type, one of the FcType enumerated values
+</para></listitem><listitem><para>
+Value, not an FcValue, but the raw type as passed to any of the
+FcPatternAdd&lt;type&gt; functions. Must match the type of the second
+argument.
+</para></listitem>
+</orderedlist>
+<para>
+The argument list is terminated by a null object name, no object type nor
+value need be passed for this. The values are added to `pattern', if
+`pattern' is null, a new pattern is created. In either case, the pattern is
+returned. Example
+</para>
+<programlisting>
+pattern = FcPatternBuild (0, FC_FAMILY, FcTypeString, "Times", (char *) 0);
+</programlisting>
+<para>
+FcPatternVaBuild is used when the arguments are already in the form of a
+varargs value. FcPatternVapBuild is a macro version of FcPatternVaBuild
+which returns its result directly in the <parameter>result</parameter>
+variable.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternDel">
+ <refmeta>
+ <refentrytitle>FcPatternDel</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternDel</refname>
+ <refpurpose>Delete a property from a pattern</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcPatternDel</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Deletes all values associated with the property `object', returning
+whether the property existed or not.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternRemove">
+ <refmeta>
+ <refentrytitle>FcPatternRemove</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternRemove</refname>
+ <refpurpose>Remove one object of the specified type from the pattern</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcPatternRemove</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>int <parameter>id</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Removes the value associated with the property `object' at position `id', returning
+whether the property existed and had a value at that position or not.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcPatternPrint">
+ <refmeta>
+ <refentrytitle>FcPatternPrint</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternPrint</refname>
+ <refpurpose>Print a pattern for debugging</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcPatternPrint</function></funcdef>
+ <paramdef>const FcPattern *<parameter>p</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Prints an easily readable version of the pattern to stdout. There is
+no provision for reparsing data in this format, it's just for diagnostics
+and debugging.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcDefaultSubstitute">
+ <refmeta>
+ <refentrytitle>FcDefaultSubstitute</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcDefaultSubstitute</refname>
+ <refpurpose>Perform default substitutions in a pattern</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcDefaultSubstitute</function></funcdef>
+ <paramdef>FcPattern *<parameter>pattern</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Supplies default values for underspecified font patterns:
+<itemizedlist>
+<listitem><para>
+Patterns without a specified style or weight are set to Medium
+</para></listitem>
+<listitem><para>
+Patterns without a specified style or slant are set to Roman
+</para></listitem>
+<listitem><para>
+Patterns without a specified pixel size are given one computed from any
+specified point size (default 12), dpi (default 75) and scale (default 1).
+</para></listitem>
+</itemizedlist>
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcNameParse">
+ <refmeta>
+ <refentrytitle>FcNameParse</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcNameParse</refname>
+ <refpurpose>Parse a pattern string</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcPattern * <function>FcNameParse</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>name</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Converts <parameter>name</parameter> from the standard text format described above into a pattern.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcNameUnparse">
+ <refmeta>
+ <refentrytitle>FcNameUnparse</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcNameUnparse</refname>
+ <refpurpose>Convert a pattern back into a string that can be parsed</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 * <function>FcNameUnparse</function></funcdef>
+ <paramdef>FcPattern *<parameter>pat</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Converts the given pattern into the standard text format described above.
+The return value is not static, but instead refers to newly allocated memory
+which should be freed by the caller using free().
+ </para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcrange.fncs b/doc/fcrange.fncs
new file mode 100644
index 00000000..ba76f65b
--- /dev/null
+++ b/doc/fcrange.fncs
@@ -0,0 +1,75 @@
+/*
+ * fontconfig/doc/fcrange.fncs
+ *
+ * Copyright © 2003 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. The authors make no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+@RET@ FcRange *
+@FUNC@ FcRangeCopy
+@TYPE1@ const FcRange * @ARG1@ range
+@PURPOSE@ Copy a range object
+@DESC@
+<function>FcRangeCopy</function> creates a new FcRange object and
+populates it with the contents of <parameter>range</parameter>.
+@SINCE@ 2.11.91
+@@
+
+@RET@ FcRange *
+@FUNC@ FcRangeCreateDouble
+@TYPE1@ double @ARG1@ begin
+@TYPE2@ double @ARG2@ end
+@PURPOSE@ create a range object for double
+@DESC@
+<function>FcRangeCreateDouble</function> creates a new FcRange object with
+double sized value.
+@SINCE@ 2.11.91
+@@
+
+@RET@ FcRange *
+@FUNC@ FcRangeCreateInteger
+@TYPE1@ int @ARG1@ begin
+@TYPE2@ int @ARG2@ end
+@PURPOSE@ create a range object for integer
+@DESC@
+<function>FcRangeCreateInteger</function> creates a new FcRange object with
+integer sized value.
+@SINCE@ 2.11.91
+@@
+
+@RET@ void
+@FUNC@ FcRangeDestroy
+@TYPE1@ FcRange * @ARG1@ range
+@PURPOSE@ destroy a range object
+@DESC@
+<function>FcRangeDestroy</function> destroys a FcRange object, freeing
+all memory associated with it.
+@SINCE@ 2.11.91
+@@
+
+@RET@ FcBool
+@FUNC@ FcRangeGetDouble
+@TYPE1@ const FcRange * @ARG1@ range
+@TYPE2@ double * @ARG2@ begin
+@TYPE3@ double * @ARG3@ end
+@PURPOSE@ Get the range in double
+@DESC@
+Returns in <parameter>begin</parameter> and <parameter>end</parameter> as the range.
+@SINCE@ 2.11.91
+@@
diff --git a/doc/fcrange.sgml b/doc/fcrange.sgml
new file mode 100644
index 00000000..08d6be0b
--- /dev/null
+++ b/doc/fcrange.sgml
@@ -0,0 +1,273 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcRangeCopy">
+ <refmeta>
+ <refentrytitle>FcRangeCopy</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcRangeCopy</refname>
+ <refpurpose>Copy a range object</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcRange * <function>FcRangeCopy</function></funcdef>
+ <paramdef>const FcRange *<parameter>range</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcRangeCopy</function> creates a new FcRange object and
+populates it with the contents of <parameter>range</parameter>.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.11.91</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcRangeCreateDouble">
+ <refmeta>
+ <refentrytitle>FcRangeCreateDouble</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcRangeCreateDouble</refname>
+ <refpurpose>create a range object for double</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcRange * <function>FcRangeCreateDouble</function></funcdef>
+ <paramdef>double<parameter>begin</parameter></paramdef>
+ <paramdef>double<parameter>end</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcRangeCreateDouble</function> creates a new FcRange object with
+double sized value.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.11.91</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcRangeCreateInteger">
+ <refmeta>
+ <refentrytitle>FcRangeCreateInteger</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcRangeCreateInteger</refname>
+ <refpurpose>create a range object for integer</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcRange * <function>FcRangeCreateInteger</function></funcdef>
+ <paramdef>int<parameter>begin</parameter></paramdef>
+ <paramdef>int<parameter>end</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcRangeCreateInteger</function> creates a new FcRange object with
+integer sized value.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.11.91</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcRangeDestroy">
+ <refmeta>
+ <refentrytitle>FcRangeDestroy</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcRangeDestroy</refname>
+ <refpurpose>destroy a range object</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcRangeDestroy</function></funcdef>
+ <paramdef>FcRange *<parameter>range</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcRangeDestroy</function> destroys a FcRange object, freeing
+all memory associated with it.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.11.91</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcRangeGetDouble">
+ <refmeta>
+ <refentrytitle>FcRangeGetDouble</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcRangeGetDouble</refname>
+ <refpurpose>Get the range in double</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcRangeGetDouble</function></funcdef>
+ <paramdef>const FcRange *<parameter>range</parameter></paramdef>
+ <paramdef>double *<parameter>begin</parameter></paramdef>
+ <paramdef>double *<parameter>end</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns in <parameter>begin</parameter> and <parameter>end</parameter> as the range.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.11.91</para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcstring.sgml b/doc/fcstring.sgml
new file mode 100644
index 00000000..4b511f4e
--- /dev/null
+++ b/doc/fcstring.sgml
@@ -0,0 +1,1018 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcUtf8ToUcs4">
+ <refmeta>
+ <refentrytitle>FcUtf8ToUcs4</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcUtf8ToUcs4</refname>
+ <refpurpose>convert UTF-8 to UCS4</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>int <function>FcUtf8ToUcs4</function></funcdef>
+ <paramdef>FcChar8 *<parameter>src</parameter></paramdef>
+ <paramdef>FcChar32 *<parameter>dst</parameter></paramdef>
+ <paramdef>int <parameter>len</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Converts the next Unicode char from <parameter>src</parameter> into
+<parameter>dst</parameter> and returns the number of bytes containing the
+char. <parameter>src</parameter> must be at least
+<parameter>len</parameter> bytes long.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcUcs4ToUtf8">
+ <refmeta>
+ <refentrytitle>FcUcs4ToUtf8</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcUcs4ToUtf8</refname>
+ <refpurpose>convert UCS4 to UTF-8</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>int <function>FcUcs4ToUtf8</function></funcdef>
+ <paramdef>FcChar32 <parameter>src</parameter></paramdef>
+ <paramdef>FcChar8 <parameter>dst[FC_UTF8_MAX_LEN]</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Converts the Unicode char from <parameter>src</parameter> into
+<parameter>dst</parameter> and returns the number of bytes needed to encode
+the char.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcUtf8Len">
+ <refmeta>
+ <refentrytitle>FcUtf8Len</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcUtf8Len</refname>
+ <refpurpose>count UTF-8 encoded chars</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcUtf8Len</function></funcdef>
+ <paramdef>FcChar8 *<parameter>src</parameter></paramdef>
+ <paramdef>int <parameter>len</parameter></paramdef>
+ <paramdef>int *<parameter>nchar</parameter></paramdef>
+ <paramdef>int *<parameter>wchar</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Counts the number of Unicode chars in <parameter>len</parameter> bytes of
+<parameter>src</parameter>. Places that count in
+<parameter>nchar</parameter>. <parameter>wchar</parameter> contains 1, 2 or
+4 depending on the number of bytes needed to hold the largest Unicode char
+counted. The return value indicates whether <parameter>src</parameter> is a
+well-formed UTF8 string.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcUtf16ToUcs4">
+ <refmeta>
+ <refentrytitle>FcUtf16ToUcs4</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcUtf16ToUcs4</refname>
+ <refpurpose>convert UTF-16 to UCS4</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>int <function>FcUtf16ToUcs4</function></funcdef>
+ <paramdef>FcChar8 *<parameter>src</parameter></paramdef>
+ <paramdef>FcEndian <parameter>endian</parameter></paramdef>
+ <paramdef>FcChar32 *<parameter>dst</parameter></paramdef>
+ <paramdef>int <parameter>len</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Converts the next Unicode char from <parameter>src</parameter> into
+<parameter>dst</parameter> and returns the number of bytes containing the
+char. <parameter>src</parameter> must be at least <parameter>len</parameter>
+bytes long. Bytes of <parameter>src</parameter> are combined into 16-bit
+units according to <parameter>endian</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcUtf16Len">
+ <refmeta>
+ <refentrytitle>FcUtf16Len</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcUtf16Len</refname>
+ <refpurpose>count UTF-16 encoded chars</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcUtf16Len</function></funcdef>
+ <paramdef>FcChar8 *<parameter>src</parameter></paramdef>
+ <paramdef>FcEndian <parameter>endian</parameter></paramdef>
+ <paramdef>int <parameter>len</parameter></paramdef>
+ <paramdef>int *<parameter>nchar</parameter></paramdef>
+ <paramdef>int *<parameter>wchar</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Counts the number of Unicode chars in <parameter>len</parameter> bytes of
+<parameter>src</parameter>. Bytes of <parameter>src</parameter> are
+combined into 16-bit units according to <parameter>endian</parameter>.
+Places that count in <parameter>nchar</parameter>.
+<parameter>wchar</parameter> contains 1, 2 or 4 depending on the number of
+bytes needed to hold the largest Unicode char counted. The return value
+indicates whether <parameter>string</parameter> is a well-formed UTF16
+string.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcIsLower">
+ <refmeta>
+ <refentrytitle>FcIsLower</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcIsLower</refname>
+ <refpurpose>check for lower case ASCII character</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcIsLower</function></funcdef>
+ <paramdef>FcChar8<parameter>c</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+This macro checks whether <parameter>c</parameter> is an lower case ASCII
+letter.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcIsUpper">
+ <refmeta>
+ <refentrytitle>FcIsUpper</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcIsUpper</refname>
+ <refpurpose>check for upper case ASCII character</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcIsUpper</function></funcdef>
+ <paramdef>FcChar8<parameter>c</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+This macro checks whether <parameter>c</parameter> is a upper case ASCII
+letter.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcToLower">
+ <refmeta>
+ <refentrytitle>FcToLower</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcToLower</refname>
+ <refpurpose>convert upper case ASCII to lower case</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 <function>FcToLower</function></funcdef>
+ <paramdef>FcChar8<parameter>c</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+This macro converts upper case ASCII <parameter>c</parameter> to the
+equivalent lower case letter.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrCopy">
+ <refmeta>
+ <refentrytitle>FcStrCopy</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrCopy</refname>
+ <refpurpose>duplicate a string</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 * <function>FcStrCopy</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>s</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Allocates memory, copies <parameter>s</parameter> and returns the resulting
+buffer. Yes, this is <function>strdup</function>, but that function isn't
+available on every platform.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrDowncase">
+ <refmeta>
+ <refentrytitle>FcStrDowncase</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrDowncase</refname>
+ <refpurpose>create a lower case translation of a string</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 * <function>FcStrDowncase</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>s</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Allocates memory, copies <parameter>s</parameter>, converting upper case
+letters to lower case and returns the allocated buffer.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrCopyFilename">
+ <refmeta>
+ <refentrytitle>FcStrCopyFilename</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrCopyFilename</refname>
+ <refpurpose>create a complete path from a filename</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 * <function>FcStrCopyFilename</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>s</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcStrCopyFilename</function> constructs an absolute pathname from
+<parameter>s</parameter>. It converts any leading '~' characters in
+to the value of the HOME environment variable, and any relative paths are
+converted to absolute paths using the current working directory. Sequences
+of '/' characters are converted to a single '/', and names containing the
+current directory '.' or parent directory '..' are correctly reconstructed.
+Returns NULL if '~' is the leading character and HOME is unset or disabled
+(see <function>FcConfigEnableHome</function>).
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrCmp">
+ <refmeta>
+ <refentrytitle>FcStrCmp</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrCmp</refname>
+ <refpurpose>compare UTF-8 strings</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>int <function>FcStrCmp</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>s1</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>s2</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the usual &lt;0, 0, &gt;0 result of comparing
+<parameter>s1</parameter> and <parameter>s2</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrCmpIgnoreCase">
+ <refmeta>
+ <refentrytitle>FcStrCmpIgnoreCase</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrCmpIgnoreCase</refname>
+ <refpurpose>compare UTF-8 strings ignoring case</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>int <function>FcStrCmpIgnoreCase</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>s1</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>s2</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the usual &lt;0, 0, &gt;0 result of comparing
+<parameter>s1</parameter> and <parameter>s2</parameter>. This test is
+case-insensitive for all proper UTF-8 encoded strings.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrStr">
+ <refmeta>
+ <refentrytitle>FcStrStr</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrStr</refname>
+ <refpurpose>locate UTF-8 substring</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 * <function>FcStrStr</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>s1</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>s2</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the location of <parameter>s2</parameter> in
+<parameter>s1</parameter>. Returns NULL if <parameter>s2</parameter>
+is not present in <parameter>s1</parameter>. This test will operate properly
+with UTF8 encoded strings.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrStrIgnoreCase">
+ <refmeta>
+ <refentrytitle>FcStrStrIgnoreCase</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrStrIgnoreCase</refname>
+ <refpurpose>locate UTF-8 substring ignoring ASCII case</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 * <function>FcStrStrIgnoreCase</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>s1</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>s2</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the location of <parameter>s2</parameter> in
+<parameter>s1</parameter>, ignoring case. Returns NULL if
+<parameter>s2</parameter> is not present in <parameter>s1</parameter>.
+This test is case-insensitive for all proper UTF-8 encoded strings.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrPlus">
+ <refmeta>
+ <refentrytitle>FcStrPlus</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrPlus</refname>
+ <refpurpose>concatenate two strings</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 * <function>FcStrPlus</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>s1</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>s2</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+This function allocates new storage and places the concatenation of
+<parameter>s1</parameter> and <parameter>s2</parameter> there, returning the
+new string.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrFree">
+ <refmeta>
+ <refentrytitle>FcStrFree</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrFree</refname>
+ <refpurpose>free a string</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcStrFree</function></funcdef>
+ <paramdef>FcChar8 *<parameter>s</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+This is just a wrapper around free(3) which helps track memory usage of
+strings within the fontconfig library.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrDirname">
+ <refmeta>
+ <refentrytitle>FcStrDirname</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrDirname</refname>
+ <refpurpose>directory part of filename</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 * <function>FcStrDirname</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>file</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the directory containing <parameter>file</parameter>. This
+is returned in newly allocated storage which should be freed when no longer
+needed.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrBasename">
+ <refmeta>
+ <refentrytitle>FcStrBasename</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrBasename</refname>
+ <refpurpose>last component of filename</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 * <function>FcStrBasename</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>file</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the filename of <parameter>file</parameter> stripped of any leading
+directory names. This is returned in newly allocated storage which should
+be freed when no longer needed.
+ </para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcstrset.sgml b/doc/fcstrset.sgml
new file mode 100644
index 00000000..c6aa4930
--- /dev/null
+++ b/doc/fcstrset.sgml
@@ -0,0 +1,564 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrSetCreate">
+ <refmeta>
+ <refentrytitle>FcStrSetCreate</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrSetCreate</refname>
+ <refpurpose>create a string set</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcStrSet * <function>FcStrSetCreate</function></funcdef>
+ <paramdef>void<parameter></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Create an empty set.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrSetMember">
+ <refmeta>
+ <refentrytitle>FcStrSetMember</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrSetMember</refname>
+ <refpurpose>check set for membership</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcStrSetMember</function></funcdef>
+ <paramdef>FcStrSet *<parameter>set</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>s</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns whether <parameter>s</parameter> is a member of
+<parameter>set</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrSetEqual">
+ <refmeta>
+ <refentrytitle>FcStrSetEqual</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrSetEqual</refname>
+ <refpurpose>check sets for equality</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcStrSetEqual</function></funcdef>
+ <paramdef>FcStrSet *<parameter>set_a</parameter></paramdef>
+ <paramdef>FcStrSet *<parameter>set_b</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns whether <parameter>set_a</parameter> contains precisely the same
+strings as <parameter>set_b</parameter>. Ordering of strings within the two
+sets is not considered.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrSetAdd">
+ <refmeta>
+ <refentrytitle>FcStrSetAdd</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrSetAdd</refname>
+ <refpurpose>add to a string set</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcStrSetAdd</function></funcdef>
+ <paramdef>FcStrSet *<parameter>set</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>s</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Adds a copy of <parameter>s</parameter> to <parameter>set</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrSetAddFilename">
+ <refmeta>
+ <refentrytitle>FcStrSetAddFilename</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrSetAddFilename</refname>
+ <refpurpose>add a filename to a string set</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcStrSetAddFilename</function></funcdef>
+ <paramdef>FcStrSet *<parameter>set</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>s</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Adds a copy <parameter>s</parameter> to <parameter>set</parameter>, The copy
+is created with FcStrCopyFilename so that leading '~' values are replaced
+with the value of the HOME environment variable.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrSetDel">
+ <refmeta>
+ <refentrytitle>FcStrSetDel</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrSetDel</refname>
+ <refpurpose>delete from a string set</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcStrSetDel</function></funcdef>
+ <paramdef>FcStrSet *<parameter>set</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>s</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Removes <parameter>s</parameter> from <parameter>set</parameter>, returning
+FcTrue if <parameter>s</parameter> was a member else FcFalse.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrSetDestroy">
+ <refmeta>
+ <refentrytitle>FcStrSetDestroy</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrSetDestroy</refname>
+ <refpurpose>destroy a string set</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcStrSetDestroy</function></funcdef>
+ <paramdef>FcStrSet *<parameter>set</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Destroys <parameter>set</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrListCreate">
+ <refmeta>
+ <refentrytitle>FcStrListCreate</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrListCreate</refname>
+ <refpurpose>create a string iterator</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcStrList * <function>FcStrListCreate</function></funcdef>
+ <paramdef>FcStrSet *<parameter>set</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Creates an iterator to list the strings in <parameter>set</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrListFirst">
+ <refmeta>
+ <refentrytitle>FcStrListFirst</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrListFirst</refname>
+ <refpurpose>get first string in iteration</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcStrListFirst</function></funcdef>
+ <paramdef>FcStrList *<parameter>list</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the first string in <parameter>list</parameter>.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.11.0</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrListNext">
+ <refmeta>
+ <refentrytitle>FcStrListNext</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrListNext</refname>
+ <refpurpose>get next string in iteration</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcChar8 * <function>FcStrListNext</function></funcdef>
+ <paramdef>FcStrList *<parameter>list</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns the next string in <parameter>list</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcStrListDone">
+ <refmeta>
+ <refentrytitle>FcStrListDone</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcStrListDone</refname>
+ <refpurpose>destroy a string iterator</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcStrListDone</function></funcdef>
+ <paramdef>FcStrList *<parameter>list</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Destroys the enumerator <parameter>list</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcvalue.sgml b/doc/fcvalue.sgml
new file mode 100644
index 00000000..51dbbe35
--- /dev/null
+++ b/doc/fcvalue.sgml
@@ -0,0 +1,207 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcValueDestroy">
+ <refmeta>
+ <refentrytitle>FcValueDestroy</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcValueDestroy</refname>
+ <refpurpose>Free a value</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcValueDestroy</function></funcdef>
+ <paramdef>FcValue <parameter>v</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Frees any memory referenced by <parameter>v</parameter>. Values of type FcTypeString,
+FcTypeMatrix and FcTypeCharSet reference memory, the other types do not.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcValueSave">
+ <refmeta>
+ <refentrytitle>FcValueSave</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcValueSave</refname>
+ <refpurpose>Copy a value</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcValue <function>FcValueSave</function></funcdef>
+ <paramdef>FcValue <parameter>v</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns a copy of <parameter>v</parameter> duplicating any object referenced by it so that <parameter>v</parameter>
+may be safely destroyed without harming the new value.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcValuePrint">
+ <refmeta>
+ <refentrytitle>FcValuePrint</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcValuePrint</refname>
+ <refpurpose>Print a value to stdout</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcValuePrint</function></funcdef>
+ <paramdef>FcValue <parameter>v</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Prints a human-readable representation of <parameter>v</parameter> to
+stdout. The format should not be considered part of the library
+specification as it may change in the future.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcValueEqual">
+ <refmeta>
+ <refentrytitle>FcValueEqual</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcValueEqual</refname>
+ <refpurpose>Test two values for equality</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcValueEqual</function></funcdef>
+ <paramdef>FcValue <parameter>v_a</parameter></paramdef>
+ <paramdef>FcValue <parameter>v_b</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Compares two values. Integers and Doubles are compared as numbers; otherwise
+the two values have to be the same type to be considered equal. Strings are
+compared ignoring case.
+ </para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fcweight.fncs b/doc/fcweight.fncs
new file mode 100644
index 00000000..2872dd66
--- /dev/null
+++ b/doc/fcweight.fncs
@@ -0,0 +1,47 @@
+/*
+ * fontconfig/doc/fcweight.fncs
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. The authors make no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+@RET@ int
+@FUNC@ FcWeightFromOpenType
+@TYPE1@ int @ARG1@ ot_weight
+@PURPOSE@ Convert from OpenType weight values to fontconfig ones
+@DESC@
+<function>FcWeightFromOpenType</function> returns an integer value
+to use with FC_WEIGHT, from an integer in the 1..1000 range, resembling
+the numbers from OpenType specification's OS/2 usWeight numbers, which
+are also similar to CSS font-weight numbers. If input is negative,
+zero, or greater than 1000, returns -1. This function linearly interpolates
+between various FC_WEIGHT_* constants. As such, the returned value does not
+necessarily match any of the predefined constants.
+@SINCE@ 2.11.91
+@@
+
+@RET@ int
+@FUNC@ FcWeightToOpenType
+@TYPE1@ int @ARG1@ ot_weight
+@PURPOSE@ Convert from fontconfig weight values to OpenType ones
+@DESC@
+<function>FcWeightToOpenType</function> is the inverse of
+<function>FcWeightFromOpenType</function>. If the input is less than
+FC_WEIGHT_THIN or greater than FC_WEIGHT_EXTRABLACK, returns -1. Otherwise
+returns a number in the range 1 to 1000.
+@SINCE@ 2.11.91
+@@
diff --git a/doc/fcweight.sgml b/doc/fcweight.sgml
new file mode 100644
index 00000000..a8a235f6
--- /dev/null
+++ b/doc/fcweight.sgml
@@ -0,0 +1,115 @@
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcWeightFromOpenType">
+ <refmeta>
+ <refentrytitle>FcWeightFromOpenType</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcWeightFromOpenType</refname>
+ <refpurpose>Convert from OpenType weight values to fontconfig ones</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>int <function>FcWeightFromOpenType</function></funcdef>
+ <paramdef>int<parameter>ot_weight</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcWeightFromOpenType</function> returns an integer value
+to use with FC_WEIGHT, from an integer in the 1..1000 range, resembling
+the numbers from OpenType specification's OS/2 usWeight numbers, which
+are also similar to CSS font-weight numbers. If input is negative,
+zero, or greater than 1000, returns -1. This function linearly interpolates
+between various FC_WEIGHT_* constants. As such, the returned value does not
+necessarily match any of the predefined constants.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.11.91</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ Copyright © 2003 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ -->
+ <refentry id="FcWeightToOpenType">
+ <refmeta>
+ <refentrytitle>FcWeightToOpenType</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcWeightToOpenType</refname>
+ <refpurpose>Convert from fontconfig weight values to OpenType ones</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>int <function>FcWeightToOpenType</function></funcdef>
+ <paramdef>int<parameter>ot_weight</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcWeightToOpenType</function> is the inverse of
+<function>FcWeightFromOpenType</function>. If the input is less than
+FC_WEIGHT_THIN or greater than FC_WEIGHT_EXTRABLACK, returns -1. Otherwise
+returns a number in the range 1 to 1000.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.11.91</para>
+ </refsect1>
+ </refentry>
diff --git a/doc/fontconfig-devel.pdf b/doc/fontconfig-devel.pdf
new file mode 100644
index 00000000..79de82c1
--- /dev/null
+++ b/doc/fontconfig-devel.pdf
Binary files differ
diff --git a/doc/fontconfig-devel.sgml b/doc/fontconfig-devel.sgml
index 7306d792..0fa4605b 100644
--- a/doc/fontconfig-devel.sgml
+++ b/doc/fontconfig-devel.sgml
@@ -16,9 +16,11 @@
<!ENTITY fcobjectset SYSTEM "fcobjectset.sgml">
<!ENTITY fcobjecttype SYSTEM "fcobjecttype.sgml">
<!ENTITY fcpattern SYSTEM "fcpattern.sgml">
+<!ENTITY fcrange SYSTEM "fcrange.sgml">
<!ENTITY fcstring SYSTEM "fcstring.sgml">
<!ENTITY fcstrset SYSTEM "fcstrset.sgml">
<!ENTITY fcvalue SYSTEM "fcvalue.sgml">
+<!ENTITY fcweight SYSTEM "fcweight.sgml">
<!ENTITY version SYSTEM "version.sgml">
]>
<!--
@@ -175,6 +177,7 @@ convenience for the application's rendering mechanism.
scalable FC_SCALABLE Bool Whether glyphs can be scaled
scale FC_SCALE Double Scale factor for point->pixel
conversions
+ color FC_COLOR Bool Whether any glyphs have color
dpi FC_DPI Double Target dots per inch
rgba FC_RGBA Int unknown, rgb, bgr, vrgb,
vbgr, none - subpixel geometry
@@ -188,8 +191,13 @@ convenience for the application's rendering mechanism.
fontversion FC_FONTVERSION Int Version number of the font
capability FC_CAPABILITY String List of layout capabilities in
the font
+ fontformat FC_FONTFORMAT String String name of the font format
embolden FC_EMBOLDEN Bool Rasterizer should
synthetically embolden the font
+ embeddedbitmap FC_EMBEDDED_BITMAP Bool Use the embedded bitmap instead
+ of the outline
+ decorative FC_DECORATIVE Bool Whether the style is a decorative
+ variant
fontfeatures FC_FONT_FEATURES String List of extra feature tags in
OpenType to be enabled
namelang FC_NAMELANG String Language name to be used for the
@@ -197,7 +205,7 @@ convenience for the application's rendering mechanism.
stylelang and fullnamelang
prgname FC_PRGNAME String Name of the running program
hash FC_HASH String SHA256 hash value of the font data
- with "sha256:" prefix.
+ with "sha256:" prefix (deprecated)
postscriptname FC_POSTSCRIPT_NAME String Font name in PostScript
</programlisting>
</sect2>
@@ -508,6 +516,12 @@ FcMatrix structures hold an affine transformation in matrix form.
</para>
&fcmatrix;
</sect2>
+ <sect2><title>FcRange</title>
+ <para>
+An FcRange holds two variables to indicate a range in between.
+ </para>
+ &fcrange;
+ </sect2>
<sect2><title>FcConfig</title>
<para>
An FcConfig object holds the internal representation of a configuration.
@@ -529,6 +543,12 @@ Provides for application-specified symbolic constants for font names.
</para>
&fcconstant;
</sect2>
+ <sect2><title>FcWeight</title>
+ <para>
+Maps weights to and from OpenType weights.
+ </para>
+ &fcweight;
+ </sect2>
<sect2><title>FcBlanks</title>
<para>
An FcBlanks object holds a list of Unicode chars which are expected to
diff --git a/doc/fontconfig-devel.txt b/doc/fontconfig-devel.txt
new file mode 100644
index 00000000..7150dfe3
--- /dev/null
+++ b/doc/fontconfig-devel.txt
@@ -0,0 +1,4887 @@
+Fontconfig Developers Reference, Version 2.11.93
+
+ Copyright © 2002 Keith Packard
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby
+ granted without fee, provided that the above copyright notice
+ appear in all copies and that both that copyright notice and
+ this permission notice appear in supporting documentation, and
+ that the name of the author(s) not be used in advertising or
+ publicity pertaining to distribution of the software without
+ specific, written prior permission. The authors make no
+ representations about the suitability of this software for any
+ purpose. It is provided "as is" without express or implied
+ warranty.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+ SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS, IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY
+ SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+ IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+ THIS SOFTWARE.
+ _______________________________________________
+
+ Table of Contents
+ DESCRIPTION
+ FUNCTIONAL OVERVIEW
+ Datatypes
+ FUNCTIONS
+
+DESCRIPTION
+
+ Fontconfig is a library designed to provide system-wide font
+ configuration, customization and application access.
+ __________________________________________________________
+
+FUNCTIONAL OVERVIEW
+
+ Fontconfig contains two essential modules, the configuration
+ module which builds an internal configuration from XML files
+ and the matching module which accepts font patterns and returns
+ the nearest matching font.
+ __________________________________________________________
+
+FONT CONFIGURATION
+
+ The configuration module consists of the FcConfig datatype,
+ libexpat and FcConfigParse which walks over an XML tree and
+ amends a configuration with data found within. From an external
+ perspective, configuration of the library consists of
+ generating a valid XML tree and feeding that to FcConfigParse.
+ The only other mechanism provided to applications for changing
+ the running configuration is to add fonts and directories to
+ the list of application-provided font files.
+
+ The intent is to make font configurations relatively static,
+ and shared by as many applications as possible. It is hoped
+ that this will lead to more stable font selection when passing
+ names from one application to another. XML was chosen as a
+ configuration file format because it provides a format which is
+ easy for external agents to edit while retaining the correct
+ structure and syntax.
+
+ Font configuration is separate from font matching; applications
+ needing to do their own matching can access the available fonts
+ from the library and perform private matching. The intent is to
+ permit applications to pick and choose appropriate
+ functionality from the library instead of forcing them to
+ choose between this library and a private configuration
+ mechanism. The hope is that this will ensure that configuration
+ of fonts for all applications can be centralized in one place.
+ Centralizing font configuration will simplify and regularize
+ font installation and customization.
+ __________________________________________________________
+
+FONT PROPERTIES
+
+ While font patterns may contain essentially any properties,
+ there are some well known properties with associated types.
+ Fontconfig uses some of these properties for font matching and
+ font completion. Others are provided as a convenience for the
+ application's rendering mechanism.
+ Property Definitions
+
+ Property C Preprocessor Symbol Type Description
+ ----------------------------------------------------
+ family FC_FAMILY String Font family names
+ familylang FC_FAMILYLANG String Language corresponding
+ to
+ each family name
+ style FC_STYLE String Font style. Overrides
+weight
+ and slant
+ stylelang FC_STYLELANG String Language corresponding
+ to
+ each style name
+ fullname FC_FULLNAME String Font face full name wh
+ere
+ different from family
+and
+ family + style
+ fullnamelang FC_FULLNAMELANG String Language corresponding
+ to
+ each fullname
+ slant FC_SLANT Int Italic, oblique or rom
+an
+ weight FC_WEIGHT Int Light, medium, demibol
+d,
+ bold or black
+ size FC_SIZE Double Point size
+ width FC_WIDTH Int Condensed, normal or e
+xpanded
+ aspect FC_ASPECT Double Stretches glyphs horiz
+ontally
+ before hinting
+ pixelsize FC_PIXEL_SIZE Double Pixel size
+ spacing FC_SPACING Int Proportional, dual-wid
+th,
+ monospace or charcell
+ foundry FC_FOUNDRY String Font foundry name
+ antialias FC_ANTIALIAS Bool Whether glyphs can be
+ antialiased
+ hinting FC_HINTING Bool Whether the rasterizer
+ should
+ use hinting
+ hintstyle FC_HINT_STYLE Int Automatic hinting styl
+e
+ verticallayout FC_VERTICAL_LAYOUT Bool Use vertical layout
+ autohint FC_AUTOHINT Bool Use autohinter instead
+ of
+ normal hinter
+ globaladvance FC_GLOBAL_ADVANCE Bool Use font global advanc
+e data (deprecated)
+ file FC_FILE String The filename holding t
+he font
+ index FC_INDEX Int The index of the font
+within
+ the file
+ ftface FC_FT_FACE FT_Face Use the specified Free
+Type
+ face object
+ rasterizer FC_RASTERIZER String Which rasterizer is in
+ use (deprecated)
+ outline FC_OUTLINE Bool Whether the glyphs are
+ outlines
+ scalable FC_SCALABLE Bool Whether glyphs can be
+scaled
+ scale FC_SCALE Double Scale factor for point
+->pixel
+ conversions
+ color FC_COLOR Bool Whether any glyphs hav
+e color
+ dpi FC_DPI Double Target dots per inch
+ rgba FC_RGBA Int unknown, rgb, bgr, vrg
+b,
+ vbgr, none - subpixel
+geometry
+ lcdfilter FC_LCD_FILTER Int Type of LCD filter
+ minspace FC_MINSPACE Bool Eliminate leading from
+ line
+ spacing
+ charset FC_CHARSET CharSet Unicode chars encoded
+by
+ the font
+ lang FC_LANG LangSet Set of RFC-3066-style
+ languages this font su
+pports
+ fontversion FC_FONTVERSION Int Version number of the
+font
+ capability FC_CAPABILITY String List of layout capabil
+ities in
+ the font
+ fontformat FC_FONTFORMAT String String name of the fon
+t format
+ embolden FC_EMBOLDEN Bool Rasterizer should
+ synthetically embolden
+ the font
+ embeddedbitmap FC_EMBEDDED_BITMAP Bool Use the embedded bitma
+p instead
+ of the outline
+ decorative FC_DECORATIVE Bool Whether the style is a
+ decorative
+ variant
+ fontfeatures FC_FONT_FEATURES String List of extra feature
+tags in
+ OpenType to be enabled
+ namelang FC_NAMELANG String Language name to be us
+ed for the
+ default value of famil
+ylang,
+ stylelang and fullname
+lang
+ prgname FC_PRGNAME String Name of the running pr
+ogram
+ hash FC_HASH String SHA256 hash value of t
+he font data
+ with "sha256:" prefix
+(deprecated)
+ postscriptname FC_POSTSCRIPT_NAME String Font name in PostScrip
+t
+ __________________________________________________________
+
+Datatypes
+
+ Fontconfig uses abstract data types to hide internal
+ implementation details for most data structures. A few
+ structures are exposed where appropriate.
+ __________________________________________________________
+
+FcChar8, FcChar16, FcChar32, FcBool
+
+ These are primitive data types; the FcChar* types hold
+ precisely the number of bits stated (if supported by the C
+ implementation). FcBool holds one of two C preprocessor
+ symbols: FcFalse or FcTrue.
+ __________________________________________________________
+
+FcMatrix
+
+ An FcMatrix holds an affine transformation, usually used to
+ reshape glyphs. A small set of matrix operations are provided
+ to manipulate these.
+ typedef struct _FcMatrix {
+ double xx, xy, yx, yy;
+ } FcMatrix;
+ __________________________________________________________
+
+FcCharSet
+
+ An FcCharSet is an abstract type that holds the set of encoded
+ Unicode chars in a font. Operations to build and compare these
+ sets are provided.
+ __________________________________________________________
+
+FcLangSet
+
+ An FcLangSet is an abstract type that holds the set of
+ languages supported by a font. Operations to build and compare
+ these sets are provided. These are computed for a font based on
+ orthographic information built into the fontconfig library.
+ Fontconfig has orthographies for all of the ISO 639-1 languages
+ except for MS, NA, PA, PS, QU, RN, RW, SD, SG, SN, SU and ZA.
+ If you have orthographic information for any of these
+ languages, please submit them.
+ __________________________________________________________
+
+FcLangResult
+
+ An FcLangResult is an enumeration used to return the results of
+ comparing two language strings or FcLangSet objects.
+ FcLangEqual means the objects match language and territory.
+ FcLangDifferentTerritory means the objects match in language
+ but differ in territory. FcLangDifferentLang means the objects
+ differ in language.
+ __________________________________________________________
+
+FcType
+
+ Tags the kind of data stored in an FcValue.
+ __________________________________________________________
+
+FcValue
+
+ An FcValue object holds a single value with one of a number of
+ different types. The 'type' tag indicates which member is
+ valid.
+ typedef struct _FcValue {
+ FcType type;
+ union {
+ const FcChar8 *s;
+ int i;
+ FcBool b;
+ double d;
+ const FcMatrix *m;
+ const FcCharSet *c;
+ void *f;
+ const FcLangSet *l;
+ } u;
+ } FcValue;
+
+ FcValue Members
+
+ Type Union member Datatype
+ --------------------------------
+ FcTypeVoid (none) (none)
+ FcTypeInteger i int
+ FcTypeDouble d double
+ FcTypeString s FcChar8 *
+ FcTypeBool b b
+ FcTypeMatrix m FcMatrix *
+ FcTypeCharSet c FcCharSet *
+ FcTypeFTFace f void * (FT_Face)
+ FcTypeLangSet l FcLangSet *
+ __________________________________________________________
+
+FcPattern
+
+ holds a set of names with associated value lists; each name
+ refers to a property of a font. FcPatterns are used as inputs
+ to the matching code as well as holding information about
+ specific fonts. Each property can hold one or more values;
+ conventionally all of the same type, although the interface
+ doesn't demand that.
+ __________________________________________________________
+
+FcFontSet
+
+ typedef struct _FcFontSet {
+ int nfont;
+ int sfont;
+ FcPattern **fonts;
+ } FcFontSet;
+
+ An FcFontSet contains a list of FcPatterns. Internally
+ fontconfig uses this data structure to hold sets of fonts.
+ Externally, fontconfig returns the results of listing fonts in
+ this format. 'nfont' holds the number of patterns in the
+ 'fonts' array; 'sfont' is used to indicate the size of that
+ array.
+ __________________________________________________________
+
+FcStrSet, FcStrList
+
+ FcStrSet holds a list of strings that can be appended to and
+ enumerated. Its unique characteristic is that the enumeration
+ works even while strings are appended during enumeration.
+ FcStrList is used during enumeration to safely and correctly
+ walk the list of strings even while that list is edited in the
+ middle of enumeration.
+ __________________________________________________________
+
+FcObjectSet
+
+ typedef struct _FcObjectSet {
+ int nobject;
+ int sobject;
+ const char **objects;
+ } FcObjectSet;
+
+ holds a set of names and is used to specify which fields from
+ fonts are placed in the the list of returned patterns when
+ listing fonts.
+ __________________________________________________________
+
+FcObjectType
+
+ typedef struct _FcObjectType {
+ const char *object;
+ FcType type;
+ } FcObjectType;
+
+ marks the type of a pattern element generated when parsing font
+ names. Applications can add new object types so that font names
+ may contain the new elements.
+ __________________________________________________________
+
+FcConstant
+
+ typedef struct _FcConstant {
+ const FcChar8 *name;
+ const char *object;
+ int value;
+ } FcConstant;
+
+ Provides for symbolic constants for new pattern elements. When
+ 'name' is seen in a font name, an 'object' element is created
+ with value 'value'.
+ __________________________________________________________
+
+FcBlanks
+
+ holds a list of Unicode chars which are expected to be blank;
+ unexpectedly blank chars are assumed to be invalid and are
+ elided from the charset associated with the font.
+ __________________________________________________________
+
+FcFileCache
+
+ holds the per-user cache information for use while loading the
+ font database. This is built automatically for the current
+ configuration when that is loaded. Applications must always
+ pass '0' when one is requested.
+ __________________________________________________________
+
+FcConfig
+
+ holds a complete configuration of the library; there is one
+ default configuration, other can be constructed from XML data
+ structures. All public entry points that need global data can
+ take an optional FcConfig* argument; passing 0 uses the default
+ configuration. FcConfig objects hold two sets of fonts, the
+ first contains those specified by the configuration, the second
+ set holds those added by the application at run-time.
+ Interfaces that need to reference a particular set use one of
+ the FcSetName enumerated values.
+ __________________________________________________________
+
+FcSetName
+
+ Specifies one of the two sets of fonts available in a
+ configuration; FcSetSystem for those fonts specified in the
+ configuration and FcSetApplication which holds fonts provided
+ by the application.
+ __________________________________________________________
+
+FcResult
+
+ Used as a return type for functions manipulating FcPattern
+ objects.
+ FcResult Values
+ Result Code Meaning
+ -----------------------------------------------------------
+ FcResultMatch Object exists with the specified ID
+ FcResultNoMatch Object doesn't exist at all
+ FcResultTypeMismatch Object exists, but the type doesn't matc
+h
+ FcResultNoId Object exists, but has fewer values
+ than specified
+ FcResultOutOfMemory malloc failed
+ __________________________________________________________
+
+FcAtomic
+
+ Used for locking access to configuration files. Provides a safe
+ way to update configuration files.
+ __________________________________________________________
+
+FcCache
+
+ Holds information about the fonts contained in a single
+ directory. Normal applications need not worry about this as
+ caches for font access are automatically managed by the
+ library. Applications dealing with cache management may want to
+ use some of these objects in their work, however the included
+ 'fc-cache' program generally suffices for all of that.
+ __________________________________________________________
+
+FUNCTIONS
+
+ These are grouped by functionality, often using the main data
+ type being manipulated.
+ __________________________________________________________
+
+Initialization
+
+ Table of Contents
+ FcInitLoadConfig -- load configuration
+ FcInitLoadConfigAndFonts -- load configuration and font data
+ FcInit -- initialize fontconfig library
+ FcFini -- finalize fontconfig library
+ FcGetVersion -- library version number
+ FcInitReinitialize -- re-initialize library
+ FcInitBringUptoDate -- reload configuration files if needed
+
+ These functions provide some control over how the library is
+ initialized.
+
+FcInitLoadConfig
+
+Name
+
+ FcInitLoadConfig -- load configuration
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcConfig * FcInitLoadConfig(void);
+
+Description
+
+ Loads the default configuration file and returns the resulting
+ configuration. Does not load any font information.
+
+FcInitLoadConfigAndFonts
+
+Name
+
+ FcInitLoadConfigAndFonts -- load configuration and font data
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcConfig * FcInitLoadConfigAndFonts(void);
+
+Description
+
+ Loads the default configuration file and builds information
+ about the available fonts. Returns the resulting configuration.
+
+FcInit
+
+Name
+
+ FcInit -- initialize fontconfig library
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcInit(void);
+
+Description
+
+ Loads the default configuration file and the fonts referenced
+ therein and sets the default configuration to that result.
+ Returns whether this process succeeded or not. If the default
+ configuration has already been loaded, this routine does
+ nothing and returns FcTrue.
+
+FcFini
+
+Name
+
+ FcFini -- finalize fontconfig library
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcFini(void);
+
+Description
+
+ Frees all data structures allocated by previous calls to
+ fontconfig functions. Fontconfig returns to an uninitialized
+ state, requiring a new call to one of the FcInit functions
+ before any other fontconfig function may be called.
+
+FcGetVersion
+
+Name
+
+ FcGetVersion -- library version number
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ int FcGetVersion(void);
+
+Description
+
+ Returns the version number of the library.
+
+FcInitReinitialize
+
+Name
+
+ FcInitReinitialize -- re-initialize library
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcInitReinitialize(void);
+
+Description
+
+ Forces the default configuration file to be reloaded and resets
+ the default configuration. Returns FcFalse if the configuration
+ cannot be reloaded (due to configuration file errors,
+ allocation failures or other issues) and leaves the existing
+ configuration unchanged. Otherwise returns FcTrue.
+
+FcInitBringUptoDate
+
+Name
+
+ FcInitBringUptoDate -- reload configuration files if needed
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcInitBringUptoDate(void);
+
+Description
+
+ Checks the rescan interval in the default configuration,
+ checking the configuration if the interval has passed and
+ reloading the configuration if when any changes are detected.
+ Returns FcFalse if the configuration cannot be reloaded (see
+ FcInitReinitialize). Otherwise returns FcTrue.
+ __________________________________________________________
+
+FcPattern
+
+ Table of Contents
+ FcPatternCreate -- Create a pattern
+ FcPatternDuplicate -- Copy a pattern
+ FcPatternReference -- Increment pattern reference count
+ FcPatternDestroy -- Destroy a pattern
+ FcPatternEqual -- Compare patterns
+ FcPatternEqualSubset -- Compare portions of patterns
+ FcPatternFilter -- Filter the objects of pattern
+ FcPatternHash -- Compute a pattern hash value
+ FcPatternAdd -- Add a value to a pattern
+ FcPatternAddWeak -- Add a value to a pattern with weak binding
+ FcPatternAdd-Type -- Add a typed value to a pattern
+ FcPatternGet -- Return a value from a pattern
+ FcPatternGet-Type -- Return a typed value from a pattern
+ FcPatternBuild -- Create patterns from arguments
+ FcPatternDel -- Delete a property from a pattern
+ FcPatternRemove -- Remove one object of the specified type from
+ the pattern
+
+ FcPatternPrint -- Print a pattern for debugging
+ FcDefaultSubstitute -- Perform default substitutions in a
+ pattern
+
+ FcNameParse -- Parse a pattern string
+ FcNameUnparse -- Convert a pattern back into a string that can
+ be parsed
+
+ FcPatternFormat -- Format a pattern into a string according to
+ a format specifier
+
+ An FcPattern is an opaque type that holds both patterns to
+ match against the available fonts, as well as the information
+ about each font.
+
+FcPatternCreate
+
+Name
+
+ FcPatternCreate -- Create a pattern
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcPattern * FcPatternCreate(void);
+
+Description
+
+ Creates a pattern with no properties; used to build patterns
+ from scratch.
+
+FcPatternDuplicate
+
+Name
+
+ FcPatternDuplicate -- Copy a pattern
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcPattern * FcPatternDuplicate(const FcPattern *p);
+
+Description
+
+ Copy a pattern, returning a new pattern that matches p. Each
+ pattern may be modified without affecting the other.
+
+FcPatternReference
+
+Name
+
+ FcPatternReference -- Increment pattern reference count
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcPatternReference(FcPattern *p);
+
+Description
+
+ Add another reference to p. Patterns are freed only when the
+ reference count reaches zero.
+
+FcPatternDestroy
+
+Name
+
+ FcPatternDestroy -- Destroy a pattern
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcPatternDestroy(FcPattern *p);
+
+Description
+
+ Decrement the pattern reference count. If all references are
+ gone, destroys the pattern, in the process destroying all
+ related values.
+
+FcPatternEqual
+
+Name
+
+ FcPatternEqual -- Compare patterns
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcPatternEqual(const FcPattern *pa, const FcPattern
+ *pb);
+
+Description
+
+ Returns whether pa and pb are exactly alike.
+
+FcPatternEqualSubset
+
+Name
+
+ FcPatternEqualSubset -- Compare portions of patterns
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcPatternEqualSubset(const FcPattern *pa, const
+ FcPattern *pb, const FcObjectSet *os);
+
+Description
+
+ Returns whether pa and pb have exactly the same values for all
+ of the objects in os.
+
+FcPatternFilter
+
+Name
+
+ FcPatternFilter -- Filter the objects of pattern
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcPattern * FcPatternFilter(FcPattern *p, const FcObjectSet *);
+
+Description
+
+ Returns a new pattern that only has those objects from p that
+ are in os. If os is NULL, a duplicate of p is returned.
+
+FcPatternHash
+
+Name
+
+ FcPatternHash -- Compute a pattern hash value
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar32 FcPatternHash(const FcPattern *p);
+
+Description
+
+ Returns a 32-bit number which is the same for any two patterns
+ which are equal.
+
+FcPatternAdd
+
+Name
+
+ FcPatternAdd -- Add a value to a pattern
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcPatternAdd(FcPattern *p, const char *object, FcValue
+ value, FcBool append);
+
+Description
+
+ Adds a single value to the list of values associated with the
+ property named `object. If `append is FcTrue, the value is
+ added at the end of any existing list, otherwise it is inserted
+ at the beginning. `value' is saved (with FcValueSave) when
+ inserted into the pattern so that the library retains no
+ reference to any application-supplied data structure.
+
+FcPatternAddWeak
+
+Name
+
+ FcPatternAddWeak -- Add a value to a pattern with weak binding
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcPatternAddWeak(FcPattern *p, const char *object,
+ FcValue value, FcBool append);
+
+Description
+
+ FcPatternAddWeak is essentially the same as FcPatternAdd except
+ that any values added to the list have binding weak instead of
+ strong.
+
+FcPatternAdd-Type
+
+Name
+
+ FcPatternAddInteger, FcPatternAddDouble, FcPatternAddString,
+ FcPatternAddMatrix, FcPatternAddCharSet, FcPatternAddBool,
+ FcPatternAddFTFace, FcPatternAddLangSet,
+ FcPatternAddRange -- Add a typed value to a pattern
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcPatternAddInteger(FcPattern *p, const char *object,
+ int i);
+
+ FcBool FcPatternAddDouble(FcPattern *p, const char *object,
+ double d);
+
+ FcBool FcPatternAddString(FcPattern *p, const char *object,
+ const FcChar8 *s);
+
+ FcBool FcPatternAddMatrix(FcPattern *p, const char *object,
+ const FcMatrix *m);
+
+ FcBool FcPatternAddCharSet(FcPattern *p, const char *object,
+ const FcCharSet *c);
+
+ FcBool FcPatternAddBool(FcPattern *p, const char *object,
+ FcBool b);
+
+ FcBool FcPatternAddFTFace(FcPattern *p, const char *object,
+ const FT_Facef);
+
+ FcBool FcPatternAddLangSet(FcPattern *p, const char *object,
+ const FcLangSet *l);
+
+ FcBool FcPatternAddRange(FcPattern *p, const char *object,
+ const FcRange *r);
+
+Description
+
+ These are all convenience functions that insert objects of the
+ specified type into the pattern. Use these in preference to
+ FcPatternAdd as they will provide compile-time typechecking.
+ These all append values to any existing list of values.
+ FcPatternAddRange are available since 2.11.91.
+
+FcPatternGet
+
+Name
+
+ FcPatternGet -- Return a value from a pattern
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcResult FcPatternGet(FcPattern *p, const char *object, int id,
+ FcValue *v);
+
+Description
+
+ Returns in v the id'th value associated with the property
+ object. The value returned is not a copy, but rather refers to
+ the data stored within the pattern directly. Applications must
+ not free this value.
+
+FcPatternGet-Type
+
+Name
+
+ FcPatternGetInteger, FcPatternGetDouble, FcPatternGetString,
+ FcPatternGetMatrix, FcPatternGetCharSet, FcPatternGetBool,
+ FcPatternGetFTFace, FcPatternGetLangSet,
+ FcPatternGetRange -- Return a typed value from a pattern
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcResult FcPatternGetInteger(FcPattern *p, const char *object,
+ int n, int *i);
+
+ FcResult FcPatternGetDouble(FcPattern *p, const char *object,
+ int n, double *d);
+
+ FcResult FcPatternGetString(FcPattern *p, const char *object,
+ int n, FcChar8 **s);
+
+ FcResult FcPatternGetMatrix(FcPattern *p, const char *object,
+ int n, FcMatrix **s);
+
+ FcResult FcPatternGetCharSet(FcPattern *p, const char *object,
+ int n, FcCharSet **c);
+
+ FcResult FcPatternGetBool(FcPattern *p, const char *object, int
+ n, FcBool *b);
+
+ FcResult FcPatternGetFTFace(FcPattern *p, const char *object,
+ int n, FT_Face *f);
+
+ FcResult FcPatternGetLangSet(FcPattern *p, const char *object,
+ int n, FcLangSet **l);
+
+ FcResult FcPatternGetRange(FcPattern *p, const char *object,
+ int n, FcRange **r);
+
+Description
+
+ These are convenience functions that call FcPatternGet and
+ verify that the returned data is of the expected type. They
+ return FcResultTypeMismatch if this is not the case. Note that
+ these (like FcPatternGet) do not make a copy of any data
+ structure referenced by the return value. Use these in
+ preference to FcPatternGet to provide compile-time
+ typechecking. FcPatternGetRange are available since 2.11.91.
+
+FcPatternBuild
+
+Name
+
+ FcPatternBuild, FcPatternVaBuild, FcPatternVapBuild -- Create
+ patterns from arguments
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcPattern * FcPatternBuild(FcPattern *pattern, ...);
+
+ FcPattern * FcPatternVaBuild(FcPattern *pattern, va_list va);
+
+ void FcPatternVapBuild(FcPattern *result, FcPattern *pattern,
+ va_list va);
+
+Description
+
+ Builds a pattern using a list of objects, types and values.
+ Each value to be entered in the pattern is specified with three
+ arguments:
+
+ 1. Object name, a string describing the property to be added.
+ 2. Object type, one of the FcType enumerated values
+ 3. Value, not an FcValue, but the raw type as passed to any of
+ the FcPatternAdd<type> functions. Must match the type of
+ the second argument.
+
+ The argument list is terminated by a null object name, no
+ object type nor value need be passed for this. The values are
+ added to `pattern', if `pattern' is null, a new pattern is
+ created. In either case, the pattern is returned. Example
+pattern = FcPatternBuild (0, FC_FAMILY, FcTypeString, "Times", (char *)
+0);
+
+ FcPatternVaBuild is used when the arguments are already in the
+ form of a varargs value. FcPatternVapBuild is a macro version
+ of FcPatternVaBuild which returns its result directly in the
+ result variable.
+
+FcPatternDel
+
+Name
+
+ FcPatternDel -- Delete a property from a pattern
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcPatternDel(FcPattern *p, const char *object);
+
+Description
+
+ Deletes all values associated with the property `object',
+ returning whether the property existed or not.
+
+FcPatternRemove
+
+Name
+
+ FcPatternRemove -- Remove one object of the specified type from
+ the pattern
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcPatternRemove(FcPattern *p, const char *object, int
+ id);
+
+Description
+
+ Removes the value associated with the property `object' at
+ position `id', returning whether the property existed and had a
+ value at that position or not.
+
+FcPatternPrint
+
+Name
+
+ FcPatternPrint -- Print a pattern for debugging
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcPatternPrint(const FcPattern *p);
+
+Description
+
+ Prints an easily readable version of the pattern to stdout.
+ There is no provision for reparsing data in this format, it's
+ just for diagnostics and debugging.
+
+FcDefaultSubstitute
+
+Name
+
+ FcDefaultSubstitute -- Perform default substitutions in a
+ pattern
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcDefaultSubstitute(FcPattern *pattern);
+
+Description
+
+ Supplies default values for underspecified font patterns:
+
+ * Patterns without a specified style or weight are set to
+ Medium
+ * Patterns without a specified style or slant are set to
+ Roman
+ * Patterns without a specified pixel size are given one
+ computed from any specified point size (default 12), dpi
+ (default 75) and scale (default 1).
+
+FcNameParse
+
+Name
+
+ FcNameParse -- Parse a pattern string
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcPattern * FcNameParse(const FcChar8 *name);
+
+Description
+
+ Converts name from the standard text format described above
+ into a pattern.
+
+FcNameUnparse
+
+Name
+
+ FcNameUnparse -- Convert a pattern back into a string that can
+ be parsed
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 * FcNameUnparse(FcPattern *pat);
+
+Description
+
+ Converts the given pattern into the standard text format
+ described above. The return value is not static, but instead
+ refers to newly allocated memory which should be freed by the
+ caller using free().
+
+FcPatternFormat
+
+Name
+
+ FcPatternFormat -- Format a pattern into a string according to
+ a format specifier
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 * FcPatternFormat(FcPattern *pat, const FcChar8
+ *format);
+
+Description
+
+ Converts given pattern pat into text described by the format
+ specifier format. The return value refers to newly allocated
+ memory which should be freed by the caller using free(), or
+ NULL if format is invalid.
+
+ The format is loosely modeled after printf-style format string.
+ The format string is composed of zero or more directives:
+ ordinary characters (not "%"), which are copied unchanged to
+ the output stream; and tags which are interpreted to construct
+ text from the pattern in a variety of ways (explained below).
+ Special characters can be escaped using backslash. C-string
+ style special characters like \n and \r are also supported
+ (this is useful when the format string is not a C string
+ literal). It is advisable to always escape curly braces that
+ are meant to be copied to the output as ordinary characters.
+
+ Each tag is introduced by the character "%", followed by an
+ optional minimum field width, followed by tag contents in curly
+ braces ({}). If the minimum field width value is provided the
+ tag will be expanded and the result padded to achieve the
+ minimum width. If the minimum field width is positive, the
+ padding will right-align the text. Negative field width will
+ left-align. The rest of this section describes various
+ supported tag contents and their expansion.
+
+ A simple tag is one where the content is an identifier. When
+ simple tags are expanded, the named identifier will be looked
+ up in pattern and the resulting list of values returned, joined
+ together using comma. For example, to print the family name and
+ style of the pattern, use the format "%{family} %{style}\n". To
+ extend the family column to forty characters use
+ "%-40{family}%{style}\n".
+
+ Simple tags expand to list of all values for an element. To
+ only choose one of the values, one can index using the syntax
+ "%{elt[idx]}". For example, to get the first family name only,
+ use "%{family[0]}".
+
+ If a simple tag ends with "=" and the element is found in the
+ pattern, the name of the element followed by "=" will be output
+ before the list of values. For example, "%{weight=}" may expand
+ to the string "weight=80". Or to the empty string if pattern
+ does not have weight set.
+
+ If a simple tag starts with ":" and the element is found in the
+ pattern, ":" will be printed first. For example, combining this
+ with the =, the format "%{:weight=}" may expand to ":weight=80"
+ or to the empty string if pattern does not have weight set.
+
+ If a simple tag contains the string ":-", the rest of the the
+ tag contents will be used as a default string. The default
+ string is output if the element is not found in the pattern.
+ For example, the format "%{:weight=:-123}" may expand to
+ ":weight=80" or to the string ":weight=123" if pattern does not
+ have weight set.
+
+ A count tag is one that starts with the character "#" followed
+ by an element name, and expands to the number of values for the
+ element in the pattern. For example, "%{#family}" expands to
+ the number of family names pattern has set, which may be zero.
+
+ A sub-expression tag is one that expands a sub-expression. The
+ tag contents are the sub-expression to expand placed inside
+ another set of curly braces. Sub-expression tags are useful for
+ aligning an entire sub-expression, or to apply converters
+ (explained later) to the entire sub-expression output. For
+ example, the format "%40{{%{family} %{style}}}" expands the
+ sub-expression to construct the family name followed by the
+ style, then takes the entire string and pads it on the left to
+ be at least forty characters.
+
+ A filter-out tag is one starting with the character "-"
+ followed by a comma-separated list of element names, followed
+ by a sub-expression enclosed in curly braces. The
+ sub-expression will be expanded but with a pattern that has the
+ listed elements removed from it. For example, the format
+ "%{-size,pixelsize{sub-expr}}" will expand "sub-expr" with
+ pattern sans the size and pixelsize elements.
+
+ A filter-in tag is one starting with the character "+" followed
+ by a comma-separated list of element names, followed by a
+ sub-expression enclosed in curly braces. The sub-expression
+ will be expanded but with a pattern that only has the listed
+ elements from the surrounding pattern. For example, the format
+ "%{+family,familylang{sub-expr}}" will expand "sub-expr" with a
+ sub-pattern consisting only the family and family lang elements
+ of pattern.
+
+ A conditional tag is one starting with the character "?"
+ followed by a comma-separated list of element conditions,
+ followed by two sub-expression enclosed in curly braces. An
+ element condition can be an element name, in which case it
+ tests whether the element is defined in pattern, or the
+ character "!" followed by an element name, in which case the
+ test is negated. The conditional passes if all the element
+ conditions pass. The tag expands the first sub-expression if
+ the conditional passes, and expands the second sub-expression
+ otherwise. For example, the format
+ "%{?size,dpi,!pixelsize{pass}{fail}}" will expand to "pass" if
+ pattern has size and dpi elements but no pixelsize element, and
+ to "fail" otherwise.
+
+ An enumerate tag is one starting with the string "[]" followed
+ by a comma-separated list of element names, followed by a
+ sub-expression enclosed in curly braces. The list of values for
+ the named elements are walked in parallel and the
+ sub-expression expanded each time with a pattern just having a
+ single value for those elements, starting from the first value
+ and continuing as long as any of those elements has a value.
+ For example, the format "%{[]family,familylang{%{family}
+ (%{familylang})\n}}" will expand the pattern "%{family}
+ (%{familylang})\n" with a pattern having only the first value
+ of the family and familylang elements, then expands it with the
+ second values, then the third, etc.
+
+ As a special case, if an enumerate tag has only one element,
+ and that element has only one value in the pattern, and that
+ value is of type FcLangSet, the individual languages in the
+ language set are enumerated.
+
+ A builtin tag is one starting with the character "=" followed
+ by a builtin name. The following builtins are defined:
+
+ unparse
+ Expands to the result of calling FcNameUnparse() on the
+ pattern.
+
+ fcmatch
+ Expands to the output of the default output format of
+ the fc-match command on the pattern, without the final
+ newline.
+
+ fclist
+ Expands to the output of the default output format of
+ the fc-list command on the pattern, without the final
+ newline.
+
+ fccat
+ Expands to the output of the default output format of
+ the fc-cat command on the pattern, without the final
+ newline.
+
+ pkgkit
+ Expands to the list of PackageKit font() tags for the
+ pattern. Currently this includes tags for each family
+ name, and each language from the pattern, enumerated and
+ sanitized into a set of tags terminated by newline.
+ Package management systems can use these tags to tag
+ their packages accordingly.
+
+ For example, the format "%{+family,style{%{=unparse}}}\n" will
+ expand to an unparsed name containing only the family and style
+ element values from pattern.
+
+ The contents of any tag can be followed by a set of zero or
+ more converters. A converter is specified by the character "|"
+ followed by the converter name and arguments. The following
+ converters are defined:
+
+ basename
+ Replaces text with the results of calling
+ FcStrBasename() on it.
+
+ dirname
+ Replaces text with the results of calling FcStrDirname()
+ on it.
+
+ downcase
+ Replaces text with the results of calling
+ FcStrDowncase() on it.
+
+ shescape
+ Escapes text for one level of shell expansion. (Escapes
+ single-quotes, also encloses text in single-quotes.)
+
+ cescape
+ Escapes text such that it can be used as part of a C
+ string literal. (Escapes backslash and double-quotes.)
+
+ xmlescape
+ Escapes text such that it can be used in XML and HTML.
+ (Escapes less-than, greater-than, and ampersand.)
+
+ delete(chars)
+ Deletes all occurrences of each of the characters in
+ chars from the text. FIXME: This converter is not UTF-8
+ aware yet.
+
+ escape(chars)
+ Escapes all occurrences of each of the characters in
+ chars by prepending it by the first character in chars.
+ FIXME: This converter is not UTF-8 aware yet.
+
+ translate(from,to)
+ Translates all occurrences of each of the characters in
+ from by replacing them with their corresponding
+ character in to. If to has fewer characters than from,
+ it will be extended by repeating its last character.
+ FIXME: This converter is not UTF-8 aware yet.
+
+ For example, the format "%{family|downcase|delete( )}\n" will
+ expand to the values of the family element in pattern,
+ lower-cased and with spaces removed.
+
+Since
+
+ version 2.9.0
+ __________________________________________________________
+
+FcFontSet
+
+ Table of Contents
+ FcFontSetCreate -- Create a font set
+ FcFontSetDestroy -- Destroy a font set
+ FcFontSetAdd -- Add to a font set
+ FcFontSetList -- List fonts from a set of font sets
+ FcFontSetMatch -- Return the best font from a set of font sets
+ FcFontSetPrint -- Print a set of patterns to stdout
+ FcFontSetSort -- Add to a font set
+ FcFontSetSortDestroy -- DEPRECATED destroy a font set
+
+ An FcFontSet simply holds a list of patterns; these are used to
+ return the results of listing available fonts.
+
+FcFontSetCreate
+
+Name
+
+ FcFontSetCreate -- Create a font set
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcFontSet * FcFontSetCreate(void);
+
+Description
+
+ Creates an empty font set.
+
+FcFontSetDestroy
+
+Name
+
+ FcFontSetDestroy -- Destroy a font set
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcFontSetDestroy(FcFontSet *s);
+
+Description
+
+ Destroys a font set. Note that this destroys any referenced
+ patterns as well.
+
+FcFontSetAdd
+
+Name
+
+ FcFontSetAdd -- Add to a font set
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcFontSetAdd(FcFontSet *s, FcPattern *font);
+
+Description
+
+ Adds a pattern to a font set. Note that the pattern is not
+ copied before being inserted into the set. Returns FcFalse if
+ the pattern cannot be inserted into the set (due to allocation
+ failure). Otherwise returns FcTrue.
+
+FcFontSetList
+
+Name
+
+ FcFontSetList -- List fonts from a set of font sets
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcFontSet * FcFontSetList(FcConfig *config, FcFontSet **sets,
+ intnsets, FcPattern *pattern, FcObjectSet *object_set);
+
+Description
+
+ Selects fonts matching pattern from sets, creates patterns from
+ those fonts containing only the objects in object_set and
+ returns the set of unique such patterns. If config is NULL, the
+ default configuration is checked to be up to date, and used.
+
+FcFontSetMatch
+
+Name
+
+ FcFontSetMatch -- Return the best font from a set of font sets
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcPattern * FcFontSetMatch(FcConfig *config, FcFontSet **sets,
+ intnsets, FcPattern *pattern, FcResult *result);
+
+Description
+
+ Finds the font in sets most closely matching pattern and
+ returns the result of FcFontRenderPrepare for that font and the
+ provided pattern. This function should be called only after
+ FcConfigSubstitute and FcDefaultSubstitute have been called for
+ pattern; otherwise the results will not be correct. If config
+ is NULL, the current configuration is used. Returns NULL if an
+ error occurs during this process.
+
+FcFontSetPrint
+
+Name
+
+ FcFontSetPrint -- Print a set of patterns to stdout
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcFontSetPrint(FcFontSet *set);
+
+Description
+
+ This function is useful for diagnosing font related issues,
+ printing the complete contents of every pattern in set. The
+ format of the output is designed to be of help to users and
+ developers, and may change at any time.
+
+FcFontSetSort
+
+Name
+
+ FcFontSetSort -- Add to a font set
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcFontSetSort(FcConfig *config, FcFontSet **sets, intnsets,
+ FcPattern *pattern, FcBool trim, FcCharSet **csp, FcResult
+ *result);
+
+Description
+
+ Returns the list of fonts from sets sorted by closeness to
+ pattern. If trim is FcTrue, elements in the list which don't
+ include Unicode coverage not provided by earlier elements in
+ the list are elided. The union of Unicode coverage of all of
+ the fonts is returned in csp, if csp is not NULL. This function
+ should be called only after FcConfigSubstitute and
+ FcDefaultSubstitute have been called for p; otherwise the
+ results will not be correct.
+
+ The returned FcFontSet references FcPattern structures which
+ may be shared by the return value from multiple FcFontSort
+ calls, applications cannot modify these patterns. Instead, they
+ should be passed, along with pattern to FcFontRenderPrepare
+ which combines them into a complete pattern.
+
+ The FcFontSet returned by FcFontSetSort is destroyed by calling
+ FcFontSetDestroy.
+
+FcFontSetSortDestroy
+
+Name
+
+ FcFontSetSortDestroy -- DEPRECATED destroy a font set
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcFontSetSortDestroy(FcFontSet *set);
+
+Description
+
+ This function is DEPRECATED. FcFontSetSortDestroy destroys set
+ by calling FcFontSetDestroy. Applications should use
+ FcFontSetDestroy directly instead.
+ __________________________________________________________
+
+FcObjectSet
+
+ Table of Contents
+ FcObjectSetCreate -- Create an object set
+ FcObjectSetAdd -- Add to an object set
+ FcObjectSetDestroy -- Destroy an object set
+ FcObjectSetBuild -- Build object set from args
+
+ An FcObjectSet holds a list of pattern property names; it is
+ used to indicate which properties are to be returned in the
+ patterns from FcFontList.
+
+FcObjectSetCreate
+
+Name
+
+ FcObjectSetCreate -- Create an object set
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcObjectSet * FcObjectSetCreate(void);
+
+Description
+
+ Creates an empty set.
+
+FcObjectSetAdd
+
+Name
+
+ FcObjectSetAdd -- Add to an object set
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcObjectSetAdd(FcObjectSet *os, const char *object);
+
+Description
+
+ Adds a property name to the set. Returns FcFalse if the
+ property name cannot be inserted into the set (due to
+ allocation failure). Otherwise returns FcTrue.
+
+FcObjectSetDestroy
+
+Name
+
+ FcObjectSetDestroy -- Destroy an object set
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcObjectSetDestroy(FcObjectSet *os);
+
+Description
+
+ Destroys an object set.
+
+FcObjectSetBuild
+
+Name
+
+ FcObjectSetBuild, FcObjectSetVaBuild,
+ FcObjectSetVapBuild -- Build object set from args
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcObjectSet * FcObjectSetBuild(const char *first, ...);
+
+ FcObjectSet * FcObjectSetVaBuild(const char *first, va_list
+ va);
+
+ void FcObjectSetVapBuild(FcObjectSet *result, const char
+ *first, va_list va);
+
+Description
+
+ These build an object set from a null-terminated list of
+ property names. FcObjectSetVapBuild is a macro version of
+ FcObjectSetVaBuild which returns the result in the result
+ variable directly.
+ __________________________________________________________
+
+FreeType specific functions
+
+ Table of Contents
+ FcFreeTypeCharIndex -- map Unicode to glyph id
+ FcFreeTypeCharSet -- compute Unicode coverage
+ FcFreeTypeCharSetAndSpacing -- compute Unicode coverage and
+ spacing type
+
+ FcFreeTypeQuery -- compute pattern from font file (and index)
+ FcFreeTypeQueryFace -- compute pattern from FT_Face
+
+ While the fontconfig library doesn't insist that FreeType be
+ used as the rasterization mechanism for fonts, it does provide
+ some convenience functions.
+
+FcFreeTypeCharIndex
+
+Name
+
+ FcFreeTypeCharIndex -- map Unicode to glyph id
+
+Synopsis
+
+#include <fontconfig.h>
+#include <fcfreetype.h>
+
+ FT_UInt FcFreeTypeCharIndex(FT_Face face, FcChar32 ucs4);
+
+Description
+
+ Maps a Unicode char to a glyph index. This function uses
+ information from several possible underlying encoding tables to
+ work around broken fonts. As a result, this function isn't
+ designed to be used in performance sensitive areas; results
+ from this function are intended to be cached by higher level
+ functions.
+
+FcFreeTypeCharSet
+
+Name
+
+ FcFreeTypeCharSet -- compute Unicode coverage
+
+Synopsis
+
+#include <fontconfig.h>
+#include <fcfreetype.h>
+
+ FcCharSet * FcFreeTypeCharSet(FT_Face face, FcBlanks *blanks);
+
+Description
+
+ Scans a FreeType face and returns the set of encoded Unicode
+ chars. This scans several encoding tables to build as complete
+ a list as possible. If 'blanks' is not 0, the glyphs in the
+ font are examined and any blank glyphs not in 'blanks' are not
+ placed in the returned FcCharSet.
+
+FcFreeTypeCharSetAndSpacing
+
+Name
+
+ FcFreeTypeCharSetAndSpacing -- compute Unicode coverage and
+ spacing type
+
+Synopsis
+
+#include <fontconfig.h>
+#include <fcfreetype.h>
+
+ FcCharSet * FcFreeTypeCharSetAndSpacing(FT_Face face, FcBlanks
+ *blanks, int *spacing);
+
+Description
+
+ Scans a FreeType face and returns the set of encoded Unicode
+ chars. This scans several encoding tables to build as complete
+ a list as possible. If 'blanks' is not 0, the glyphs in the
+ font are examined and any blank glyphs not in 'blanks' are not
+ placed in the returned FcCharSet. spacing receives the computed
+ spacing type of the font, one of FC_MONO for a font where all
+ glyphs have the same width, FC_DUAL, where the font has glyphs
+ in precisely two widths, one twice as wide as the other, or
+ FC_PROPORTIONAL where the font has glyphs of many widths.
+
+FcFreeTypeQuery
+
+Name
+
+ FcFreeTypeQuery -- compute pattern from font file (and index)
+
+Synopsis
+
+#include <fontconfig.h>
+#include <fcfreetype.h>
+
+ FcPattern * FcFreeTypeQuery(const FcChar8 *file, int id,
+ FcBlanks *blanks, int *count);
+
+Description
+
+ Constructs a pattern representing the 'id'th font in 'file'.
+ The number of fonts in 'file' is returned in 'count'.
+
+FcFreeTypeQueryFace
+
+Name
+
+ FcFreeTypeQueryFace -- compute pattern from FT_Face
+
+Synopsis
+
+#include <fontconfig.h>
+#include <fcfreetype.h>
+
+ FcPattern * FcFreeTypeQueryFace(const FT_Face face, const
+ FcChar8 *file, int id, FcBlanks *blanks);
+
+Description
+
+ Constructs a pattern representing 'face'. 'file' and 'id' are
+ used solely as data for pattern elements (FC_FILE, FC_INDEX and
+ sometimes FC_FAMILY).
+ __________________________________________________________
+
+FcValue
+
+ Table of Contents
+ FcValueDestroy -- Free a value
+ FcValueSave -- Copy a value
+ FcValuePrint -- Print a value to stdout
+ FcValueEqual -- Test two values for equality
+
+ FcValue is a structure containing a type tag and a union of all
+ possible datatypes. The tag is an enum of type FcType and is
+ intended to provide a measure of run-time typechecking,
+ although that depends on careful programming.
+
+FcValueDestroy
+
+Name
+
+ FcValueDestroy -- Free a value
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcValueDestroy(FcValue v);
+
+Description
+
+ Frees any memory referenced by v. Values of type FcTypeString,
+ FcTypeMatrix and FcTypeCharSet reference memory, the other
+ types do not.
+
+FcValueSave
+
+Name
+
+ FcValueSave -- Copy a value
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcValue FcValueSave(FcValue v);
+
+Description
+
+ Returns a copy of v duplicating any object referenced by it so
+ that v may be safely destroyed without harming the new value.
+
+FcValuePrint
+
+Name
+
+ FcValuePrint -- Print a value to stdout
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcValuePrint(FcValue v);
+
+Description
+
+ Prints a human-readable representation of v to stdout. The
+ format should not be considered part of the library
+ specification as it may change in the future.
+
+FcValueEqual
+
+Name
+
+ FcValueEqual -- Test two values for equality
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcValueEqual(FcValue v_a, FcValue v_b);
+
+Description
+
+ Compares two values. Integers and Doubles are compared as
+ numbers; otherwise the two values have to be the same type to
+ be considered equal. Strings are compared ignoring case.
+ __________________________________________________________
+
+FcCharSet
+
+ Table of Contents
+ FcCharSetCreate -- Create an empty character set
+ FcCharSetDestroy -- Destroy a character set
+ FcCharSetAddChar -- Add a character to a charset
+ FcCharSetDelChar -- Add a character to a charset
+ FcCharSetCopy -- Copy a charset
+ FcCharSetEqual -- Compare two charsets
+ FcCharSetIntersect -- Intersect charsets
+ FcCharSetUnion -- Add charsets
+ FcCharSetSubtract -- Subtract charsets
+ FcCharSetMerge -- Merge charsets
+ FcCharSetHasChar -- Check a charset for a char
+ FcCharSetCount -- Count entries in a charset
+ FcCharSetIntersectCount -- Intersect and count charsets
+ FcCharSetSubtractCount -- Subtract and count charsets
+ FcCharSetIsSubset -- Test for charset inclusion
+ FcCharSetFirstPage -- Start enumerating charset contents
+ FcCharSetNextPage -- Continue enumerating charset contents
+ FcCharSetCoverage -- DEPRECATED return coverage for a Unicode
+ page
+
+ FcCharSetNew -- DEPRECATED alias for FcCharSetCreate
+
+ An FcCharSet is a boolean array indicating a set of Unicode
+ chars. Those associated with a font are marked constant and
+ cannot be edited. FcCharSets may be reference counted
+ internally to reduce memory consumption; this may be visible to
+ applications as the result of FcCharSetCopy may return it's
+ argument, and that CharSet may remain unmodifiable.
+
+FcCharSetCreate
+
+Name
+
+ FcCharSetCreate -- Create an empty character set
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcCharSet * FcCharSetCreate(void);
+
+Description
+
+ FcCharSetCreate allocates and initializes a new empty character
+ set object.
+
+FcCharSetDestroy
+
+Name
+
+ FcCharSetDestroy -- Destroy a character set
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcCharSetDestroy(FcCharSet *fcs);
+
+Description
+
+ FcCharSetDestroy decrements the reference count fcs. If the
+ reference count becomes zero, all memory referenced is freed.
+
+FcCharSetAddChar
+
+Name
+
+ FcCharSetAddChar -- Add a character to a charset
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcCharSetAddChar(FcCharSet *fcs, FcChar32 ucs4);
+
+Description
+
+ FcCharSetAddChar adds a single Unicode char to the set,
+ returning FcFalse on failure, either as a result of a constant
+ set or from running out of memory.
+
+FcCharSetDelChar
+
+Name
+
+ FcCharSetDelChar -- Add a character to a charset
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcCharSetDelChar(FcCharSet *fcs, FcChar32 ucs4);
+
+Description
+
+ FcCharSetDelChar deletes a single Unicode char from the set,
+ returning FcFalse on failure, either as a result of a constant
+ set or from running out of memory.
+
+Since
+
+ version 2.9.0
+
+FcCharSetCopy
+
+Name
+
+ FcCharSetCopy -- Copy a charset
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcCharSet * FcCharSetCopy(FcCharSet *src);
+
+Description
+
+ Makes a copy of src; note that this may not actually do
+ anything more than increment the reference count on src.
+
+FcCharSetEqual
+
+Name
+
+ FcCharSetEqual -- Compare two charsets
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcCharSetEqual(const FcCharSet *a, const FcCharSet *b);
+
+Description
+
+ Returns whether a and b contain the same set of Unicode chars.
+
+FcCharSetIntersect
+
+Name
+
+ FcCharSetIntersect -- Intersect charsets
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcCharSet * FcCharSetIntersect(const FcCharSet *a, const
+ FcCharSet *b);
+
+Description
+
+ Returns a set including only those chars found in both a and b.
+
+FcCharSetUnion
+
+Name
+
+ FcCharSetUnion -- Add charsets
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcCharSet * FcCharSetUnion(const FcCharSet *a, const FcCharSet
+ *b);
+
+Description
+
+ Returns a set including only those chars found in either a or
+ b.
+
+FcCharSetSubtract
+
+Name
+
+ FcCharSetSubtract -- Subtract charsets
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcCharSet * FcCharSetSubtract(const FcCharSet *a, const
+ FcCharSet *b);
+
+Description
+
+ Returns a set including only those chars found in a but not b.
+
+FcCharSetMerge
+
+Name
+
+ FcCharSetMerge -- Merge charsets
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcCharSetMerge(FcCharSet *a, const FcCharSet *b, FcBool
+ *changed);
+
+Description
+
+ Adds all chars in b to a. In other words, this is an in-place
+ version of FcCharSetUnion. If changed is not NULL, then it
+ returns whether any new chars from b were added to a. Returns
+ FcFalse on failure, either when a is a constant set or from
+ running out of memory.
+
+FcCharSetHasChar
+
+Name
+
+ FcCharSetHasChar -- Check a charset for a char
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcCharSetHasChar(const FcCharSet *fcs, FcChar32 ucs4);
+
+Description
+
+ Returns whether fcs contains the char ucs4.
+
+FcCharSetCount
+
+Name
+
+ FcCharSetCount -- Count entries in a charset
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar32 FcCharSetCount(const FcCharSet *a);
+
+Description
+
+ Returns the total number of Unicode chars in a.
+
+FcCharSetIntersectCount
+
+Name
+
+ FcCharSetIntersectCount -- Intersect and count charsets
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar32 FcCharSetIntersectCount(const FcCharSet *a, const
+ FcCharSet *b);
+
+Description
+
+ Returns the number of chars that are in both a and b.
+
+FcCharSetSubtractCount
+
+Name
+
+ FcCharSetSubtractCount -- Subtract and count charsets
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar32 FcCharSetSubtractCount(const FcCharSet *a, const
+ FcCharSet *b);
+
+Description
+
+ Returns the number of chars that are in a but not in b.
+
+FcCharSetIsSubset
+
+Name
+
+ FcCharSetIsSubset -- Test for charset inclusion
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcCharSetIsSubset(const FcCharSet *a, const FcCharSet
+ *b);
+
+Description
+
+ Returns whether a is a subset of b.
+
+FcCharSetFirstPage
+
+Name
+
+ FcCharSetFirstPage -- Start enumerating charset contents
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar32 FcCharSetFirstPage(const FcCharSet *a,
+ FcChar32[FC_CHARSET_MAP_SIZE] map, FcChar32 *next);
+
+Description
+
+ Builds an array of bits in map marking the first page of
+ Unicode coverage of a. *next is set to contains the base code
+ point for the next page in a. Returns the base code point for
+ the page, or FC_CHARSET_DONE if a contains no pages. As an
+ example, if FcCharSetFirstPage returns 0x300 and fills map with
+0xffffffff 0xffffffff 0x01000008 0x44300002 0xffffd7f0 0xfffffffb 0xffff
+7fff 0xffff0003
+
+ Then the page contains code points 0x300 through 0x33f (the
+ first 64 code points on the page) because map[0] and map[1]
+ both have all their bits set. It also contains code points
+ 0x343 (0x300 + 32*2 + (4-1)) and 0x35e (0x300 + 32*2 + (31-1))
+ because map[2] has the 4th and 31st bits set. The code points
+ represented by map[3] and later are left as an excercise for
+ the reader ;).
+
+FcCharSetNextPage
+
+Name
+
+ FcCharSetNextPage -- Continue enumerating charset contents
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar32 FcCharSetNextPage(const FcCharSet *a,
+ FcChar32[FC_CHARSET_MAP_SIZE] map, FcChar32 *next);
+
+Description
+
+ Builds an array of bits in map marking the Unicode coverage of
+ a for page containing *next (see the FcCharSetFirstPage
+ description for details). *next is set to contains the base
+ code point for the next page in a. Returns the base of code
+ point for the page, or FC_CHARSET_DONE if a does not contain
+ *next.
+
+FcCharSetCoverage
+
+Name
+
+ FcCharSetCoverage -- DEPRECATED return coverage for a Unicode
+ page
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar32 FcCharSetCoverage(const FcCharSet *a, FcChar32page,
+ FcChar32[8]result);
+
+Description
+
+ DEPRECATED This function returns a bitmask in result which
+ indicates which code points in page are included in a.
+ FcCharSetCoverage returns the next page in the charset which
+ has any coverage.
+
+FcCharSetNew
+
+Name
+
+ FcCharSetNew -- DEPRECATED alias for FcCharSetCreate
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcCharSet * FcCharSetNew(void);
+
+Description
+
+ FcCharSetNew is a DEPRECATED alias for FcCharSetCreate.
+ __________________________________________________________
+
+FcLangSet
+
+ Table of Contents
+ FcLangSetCreate -- create a langset object
+ FcLangSetDestroy -- destroy a langset object
+ FcLangSetCopy -- copy a langset object
+ FcLangSetAdd -- add a language to a langset
+ FcLangSetDel -- delete a language from a langset
+ FcLangSetUnion -- Add langsets
+ FcLangSetSubtract -- Subtract langsets
+ FcLangSetCompare -- compare language sets
+ FcLangSetContains -- check langset subset relation
+ FcLangSetEqual -- test for matching langsets
+ FcLangSetHash -- return a hash value for a langset
+ FcLangSetHasLang -- test langset for language support
+ FcGetDefaultLangs -- Get the default languages list
+ FcLangSetGetLangs -- get the list of languages in the langset
+ FcGetLangs -- Get list of languages
+ FcLangNormalize -- Normalize the language string
+ FcLangGetCharSet -- Get character map for a language
+
+ An FcLangSet is a set of language names (each of which include
+ language and an optional territory). They are used when
+ selecting fonts to indicate which languages the fonts need to
+ support. Each font is marked, using language orthography
+ information built into fontconfig, with the set of supported
+ languages.
+
+FcLangSetCreate
+
+Name
+
+ FcLangSetCreate -- create a langset object
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcLangSet * FcLangSetCreate(void);
+
+Description
+
+ FcLangSetCreate creates a new FcLangSet object.
+
+FcLangSetDestroy
+
+Name
+
+ FcLangSetDestroy -- destroy a langset object
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcLangSetDestroy(FcLangSet *ls);
+
+Description
+
+ FcLangSetDestroy destroys a FcLangSet object, freeing all
+ memory associated with it.
+
+FcLangSetCopy
+
+Name
+
+ FcLangSetCopy -- copy a langset object
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcLangSet * FcLangSetCopy(const FcLangSet *ls);
+
+Description
+
+ FcLangSetCopy creates a new FcLangSet object and populates it
+ with the contents of ls.
+
+FcLangSetAdd
+
+Name
+
+ FcLangSetAdd -- add a language to a langset
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcLangSetAdd(FcLangSet *ls, const FcChar8 *lang);
+
+Description
+
+ lang is added to ls. lang should be of the form Ll-Tt where Ll
+ is a two or three letter language from ISO 639 and Tt is a
+ territory from ISO 3166.
+
+FcLangSetDel
+
+Name
+
+ FcLangSetDel -- delete a language from a langset
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcLangSetDel(FcLangSet *ls, const FcChar8 *lang);
+
+Description
+
+ lang is removed from ls. lang should be of the form Ll-Tt where
+ Ll is a two or three letter language from ISO 639 and Tt is a
+ territory from ISO 3166.
+
+Since
+
+ version 2.9.0
+
+FcLangSetUnion
+
+Name
+
+ FcLangSetUnion -- Add langsets
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcLangSet * FcLangSetUnion(const FcLangSet *ls_a, const
+ FcLangSet *ls_b);
+
+Description
+
+ Returns a set including only those languages found in either
+ ls_a or ls_b.
+
+Since
+
+ version 2.9.0
+
+FcLangSetSubtract
+
+Name
+
+ FcLangSetSubtract -- Subtract langsets
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcLangSet * FcLangSetSubtract(const FcLangSet *ls_a, const
+ FcLangSet *ls_b);
+
+Description
+
+ Returns a set including only those languages found in ls_a but
+ not in ls_b.
+
+Since
+
+ version 2.9.0
+
+FcLangSetCompare
+
+Name
+
+ FcLangSetCompare -- compare language sets
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcLangResult FcLangSetCompare(const FcLangSet *ls_a, const
+ FcLangSet *ls_b);
+
+Description
+
+ FcLangSetCompare compares language coverage for ls_a and ls_b.
+ If they share any language and territory pair, this function
+ returns FcLangEqual. If they share a language but differ in
+ which territory that language is for, this function returns
+ FcLangDifferentTerritory. If they share no languages in common,
+ this function returns FcLangDifferentLang.
+
+FcLangSetContains
+
+Name
+
+ FcLangSetContains -- check langset subset relation
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcLangSetContains(const FcLangSet *ls_a, const FcLangSet
+ *ls_b);
+
+Description
+
+ FcLangSetContains returns FcTrue if ls_a contains every
+ language in ls_b. ls_a will 'contain' a language from ls_b if
+ ls_a has exactly the language, or either the language or ls_a
+ has no territory.
+
+FcLangSetEqual
+
+Name
+
+ FcLangSetEqual -- test for matching langsets
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcLangSetEqual(const FcLangSet *ls_a, const FcLangSet
+ *ls_b);
+
+Description
+
+ Returns FcTrue if and only if ls_a supports precisely the same
+ language and territory combinations as ls_b.
+
+FcLangSetHash
+
+Name
+
+ FcLangSetHash -- return a hash value for a langset
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar32 FcLangSetHash(const FcLangSet *ls);
+
+Description
+
+ This function returns a value which depends solely on the
+ languages supported by ls. Any language which equals ls will
+ have the same result from FcLangSetHash. However, two langsets
+ with the same hash value may not be equal.
+
+FcLangSetHasLang
+
+Name
+
+ FcLangSetHasLang -- test langset for language support
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcLangResult FcLangSetHasLang(const FcLangSet *ls, const
+ FcChar8 *lang);
+
+Description
+
+ FcLangSetHasLang checks whether ls supports lang. If ls has a
+ matching language and territory pair, this function returns
+ FcLangEqual. If ls has a matching language but differs in which
+ territory that language is for, this function returns
+ FcLangDifferentTerritory. If ls has no matching language, this
+ function returns FcLangDifferentLang.
+
+FcGetDefaultLangs
+
+Name
+
+ FcGetDefaultLangs -- Get the default languages list
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcStrSet * FcGetDefaultLangs(void);
+
+Description
+
+ Returns a string set of the default languages according to the
+ environment variables on the system. This function looks for
+ them in order of FC_LANG, LC_ALL, LC_CTYPE and LANG then. If
+ there are no valid values in those environment variables, "en"
+ will be set as fallback.
+
+Since
+
+ version 2.9.91
+
+FcLangSetGetLangs
+
+Name
+
+ FcLangSetGetLangs -- get the list of languages in the langset
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcStrSet * FcLangSetGetLangs(const FcLangSet *ls);
+
+Description
+
+ Returns a string set of all languages in langset.
+
+FcGetLangs
+
+Name
+
+ FcGetLangs -- Get list of languages
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcStrSet * FcGetLangs(void);
+
+Description
+
+ Returns a string set of all known languages.
+
+FcLangNormalize
+
+Name
+
+ FcLangNormalize -- Normalize the language string
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 * FcLangNormalize(const FcChar8 *lang);
+
+Description
+
+ Returns a string to make lang suitable on fontconfig.
+
+Since
+
+ version 2.10.91
+
+FcLangGetCharSet
+
+Name
+
+ FcLangGetCharSet -- Get character map for a language
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ const FcCharSet * FcLangGetCharSet(const FcChar8 *lang);
+
+Description
+
+ Returns the FcCharMap for a language.
+ __________________________________________________________
+
+FcMatrix
+
+ Table of Contents
+ FcMatrixInit -- initialize an FcMatrix structure
+ FcMatrixCopy -- Copy a matrix
+ FcMatrixEqual -- Compare two matrices
+ FcMatrixMultiply -- Multiply matrices
+ FcMatrixRotate -- Rotate a matrix
+ FcMatrixScale -- Scale a matrix
+ FcMatrixShear -- Shear a matrix
+
+ FcMatrix structures hold an affine transformation in matrix
+ form.
+
+FcMatrixInit
+
+Name
+
+ FcMatrixInit -- initialize an FcMatrix structure
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcMatrixInit(FcMatrix *matrix);
+
+Description
+
+ FcMatrixInit initializes matrix to the identity matrix.
+
+FcMatrixCopy
+
+Name
+
+ FcMatrixCopy -- Copy a matrix
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcMatrixCopy(const FcMatrix *matrix);
+
+Description
+
+ FcMatrixCopy allocates a new FcMatrix and copies mat into it.
+
+FcMatrixEqual
+
+Name
+
+ FcMatrixEqual -- Compare two matrices
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcMatrixEqual(const FcMatrix *matrix1, const FcMatrix
+ *matrix2);
+
+Description
+
+ FcMatrixEqual compares matrix1 and matrix2 returning FcTrue
+ when they are equal and FcFalse when they are not.
+
+FcMatrixMultiply
+
+Name
+
+ FcMatrixMultiply -- Multiply matrices
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcMatrixMultiply(FcMatrix *result, const FcMatrix
+ *matrix1, const FcMatrix *matrix2);
+
+Description
+
+ FcMatrixMultiply multiplies matrix1 and matrix2 storing the
+ result in result.
+
+FcMatrixRotate
+
+Name
+
+ FcMatrixRotate -- Rotate a matrix
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcMatrixRotate(FcMatrix *matrix, double cos, double sin);
+
+Description
+
+ FcMatrixRotate rotates matrix by the angle who's sine is sin
+ and cosine is cos. This is done by multiplying by the matrix:
+ cos -sin
+ sin cos
+
+FcMatrixScale
+
+Name
+
+ FcMatrixScale -- Scale a matrix
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcMatrixScale(FcMatrix *matrix, double sx, double dy);
+
+Description
+
+ FcMatrixScale multiplies matrix x values by sx and y values by
+ dy. This is done by multiplying by the matrix:
+ sx 0
+ 0 dy
+
+FcMatrixShear
+
+Name
+
+ FcMatrixShear -- Shear a matrix
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcMatrixShear(FcMatrix *matrix, double sh, double sv);
+
+Description
+
+ FcMatrixShare shears matrix horizontally by sh and vertically
+ by sv. This is done by multiplying by the matrix:
+ 1 sh
+ sv 1
+ __________________________________________________________
+
+FcRange
+
+ Table of Contents
+ FcRangeCopy -- Copy a range object
+ FcRangeCreateDouble -- create a range object for double
+ FcRangeCreateInteger -- create a range object for integer
+ FcRangeDestroy -- destroy a range object
+ FcRangeGetDouble -- Get the range in double
+
+ An FcRange holds two variables to indicate a range in between.
+
+FcRangeCopy
+
+Name
+
+ FcRangeCopy -- Copy a range object
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcRange * FcRangeCopy(const FcRange *range);
+
+Description
+
+ FcRangeCopy creates a new FcRange object and populates it with
+ the contents of range.
+
+Since
+
+ version 2.11.91
+
+FcRangeCreateDouble
+
+Name
+
+ FcRangeCreateDouble -- create a range object for double
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcRange * FcRangeCreateDouble(doublebegin, doubleend);
+
+Description
+
+ FcRangeCreateDouble creates a new FcRange object with double
+ sized value.
+
+Since
+
+ version 2.11.91
+
+FcRangeCreateInteger
+
+Name
+
+ FcRangeCreateInteger -- create a range object for integer
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcRange * FcRangeCreateInteger(intbegin, intend);
+
+Description
+
+ FcRangeCreateInteger creates a new FcRange object with integer
+ sized value.
+
+Since
+
+ version 2.11.91
+
+FcRangeDestroy
+
+Name
+
+ FcRangeDestroy -- destroy a range object
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcRangeDestroy(FcRange *range);
+
+Description
+
+ FcRangeDestroy destroys a FcRange object, freeing all memory
+ associated with it.
+
+Since
+
+ version 2.11.91
+
+FcRangeGetDouble
+
+Name
+
+ FcRangeGetDouble -- Get the range in double
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcRangeGetDouble(const FcRange *range, double *begin,
+ double *end);
+
+Description
+
+ Returns in begin and end as the range.
+
+Since
+
+ version 2.11.91
+ __________________________________________________________
+
+FcConfig
+
+ Table of Contents
+ FcConfigCreate -- Create a configuration
+ FcConfigReference -- Increment config reference count
+ FcConfigDestroy -- Destroy a configuration
+ FcConfigSetCurrent -- Set configuration as default
+ FcConfigGetCurrent -- Return current configuration
+ FcConfigUptoDate -- Check timestamps on config files
+ FcConfigHome -- return the current home directory.
+ FcConfigEnableHome -- controls use of the home directory.
+ FcConfigBuildFonts -- Build font database
+ FcConfigGetConfigDirs -- Get config directories
+ FcConfigGetFontDirs -- Get font directories
+ FcConfigGetConfigFiles -- Get config files
+ FcConfigGetCache -- DEPRECATED used to return per-user cache
+ filename
+
+ FcConfigGetCacheDirs -- return the list of directories searched
+ for cache files
+
+ FcConfigGetFonts -- Get config font set
+ FcConfigGetBlanks -- Get config blanks
+ FcConfigGetRescanInterval -- Get config rescan interval
+ FcConfigSetRescanInterval -- Set config rescan interval
+ FcConfigAppFontAddFile -- Add font file to font database
+ FcConfigAppFontAddDir -- Add fonts from directory to font
+ database
+
+ FcConfigAppFontClear -- Remove all app fonts from font database
+ FcConfigSubstituteWithPat -- Execute substitutions
+ FcConfigSubstitute -- Execute substitutions
+ FcFontMatch -- Return best font
+ FcFontSort -- Return list of matching fonts
+ FcFontRenderPrepare -- Prepare pattern for loading font file
+ FcFontList -- List fonts
+ FcConfigFilename -- Find a config file
+ FcConfigParseAndLoad -- load a configuration file
+ FcConfigGetSysRoot -- Obtain the system root directory
+ FcConfigSetSysRoot -- Set the system root directory
+
+ An FcConfig object holds the internal representation of a
+ configuration. There is a default configuration which
+ applications may use by passing 0 to any function using the
+ data within an FcConfig.
+
+FcConfigCreate
+
+Name
+
+ FcConfigCreate -- Create a configuration
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcConfig * FcConfigCreate(void);
+
+Description
+
+ Creates an empty configuration.
+
+FcConfigReference
+
+Name
+
+ FcConfigReference -- Increment config reference count
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcConfig * FcConfigReference(FcConfig *config);
+
+Description
+
+ Add another reference to config. Configs are freed only when
+ the reference count reaches zero. If config is NULL, the
+ current configuration is used. In that case this function will
+ be similar to FcConfigGetCurrent() except that it increments
+ the reference count before returning and the user is
+ responsible for destroying the configuration when not needed
+ anymore.
+
+FcConfigDestroy
+
+Name
+
+ FcConfigDestroy -- Destroy a configuration
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcConfigDestroy(FcConfig *config);
+
+Description
+
+ Decrements the config reference count. If all references are
+ gone, destroys the configuration and any data associated with
+ it. Note that calling this function with the return from
+ FcConfigGetCurrent will cause a new configuration to be created
+ for use as current configuration.
+
+FcConfigSetCurrent
+
+Name
+
+ FcConfigSetCurrent -- Set configuration as default
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcConfigSetCurrent(FcConfig *config);
+
+Description
+
+ Sets the current default configuration to config. Implicitly
+ calls FcConfigBuildFonts if necessary, and FcConfigReference()
+ to inrease the reference count in config since 2.12.0,
+ returning FcFalse if that call fails.
+
+FcConfigGetCurrent
+
+Name
+
+ FcConfigGetCurrent -- Return current configuration
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcConfig * FcConfigGetCurrent(void);
+
+Description
+
+ Returns the current default configuration.
+
+FcConfigUptoDate
+
+Name
+
+ FcConfigUptoDate -- Check timestamps on config files
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcConfigUptoDate(FcConfig *config);
+
+Description
+
+ Checks all of the files related to config and returns whether
+ any of them has been modified since the configuration was
+ created. If config is NULL, the current configuration is used.
+
+FcConfigHome
+
+Name
+
+ FcConfigHome -- return the current home directory.
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 * FcConfigHome(void);
+
+Description
+
+ Return the current user's home directory, if it is available,
+ and if using it is enabled, and NULL otherwise. See also
+ FcConfigEnableHome).
+
+FcConfigEnableHome
+
+Name
+
+ FcConfigEnableHome -- controls use of the home directory.
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcConfigEnableHome(FcBool enable);
+
+Description
+
+ If enable is FcTrue, then Fontconfig will use various files
+ which are specified relative to the user's home directory
+ (using the ~ notation in the configuration). When enable is
+ FcFalse, then all use of the home directory in these contexts
+ will be disabled. The previous setting of the value is
+ returned.
+
+FcConfigBuildFonts
+
+Name
+
+ FcConfigBuildFonts -- Build font database
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcConfigBuildFonts(FcConfig *config);
+
+Description
+
+ Builds the set of available fonts for the given configuration.
+ Note that any changes to the configuration after this call have
+ indeterminate effects. Returns FcFalse if this operation runs
+ out of memory. If config is NULL, the current configuration is
+ used.
+
+FcConfigGetConfigDirs
+
+Name
+
+ FcConfigGetConfigDirs -- Get config directories
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcStrList * FcConfigGetConfigDirs(FcConfig *config);
+
+Description
+
+ Returns the list of font directories specified in the
+ configuration files for config. Does not include any
+ subdirectories. If config is NULL, the current configuration is
+ used.
+
+FcConfigGetFontDirs
+
+Name
+
+ FcConfigGetFontDirs -- Get font directories
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcStrList * FcConfigGetFontDirs(FcConfig *config);
+
+Description
+
+ Returns the list of font directories in config. This includes
+ the configured font directories along with any directories
+ below those in the filesystem. If config is NULL, the current
+ configuration is used.
+
+FcConfigGetConfigFiles
+
+Name
+
+ FcConfigGetConfigFiles -- Get config files
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcStrList * FcConfigGetConfigFiles(FcConfig *config);
+
+Description
+
+ Returns the list of known configuration files used to generate
+ config. If config is NULL, the current configuration is used.
+
+FcConfigGetCache
+
+Name
+
+ FcConfigGetCache -- DEPRECATED used to return per-user cache
+ filename
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 * FcConfigGetCache(FcConfig *config);
+
+Description
+
+ With fontconfig no longer using per-user cache files, this
+ function now simply returns NULL to indicate that no per-user
+ file exists.
+
+FcConfigGetCacheDirs
+
+Name
+
+ FcConfigGetCacheDirs -- return the list of directories searched
+ for cache files
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcStrList * FcConfigGetCacheDirs(const FcConfig *config);
+
+Description
+
+ FcConfigGetCacheDirs returns a string list containing all of
+ the directories that fontconfig will search when attempting to
+ load a cache file for a font directory. If config is NULL, the
+ current configuration is used.
+
+FcConfigGetFonts
+
+Name
+
+ FcConfigGetFonts -- Get config font set
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcFontSet * FcConfigGetFonts(FcConfig *config, FcSetName set);
+
+Description
+
+ Returns one of the two sets of fonts from the configuration as
+ specified by set. This font set is owned by the library and
+ must not be modified or freed. If config is NULL, the current
+ configuration is used.
+
+FcConfigGetBlanks
+
+Name
+
+ FcConfigGetBlanks -- Get config blanks
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBlanks * FcConfigGetBlanks(FcConfig *config);
+
+Description
+
+ Returns the FcBlanks object associated with the given
+ configuration, if no blanks were present in the configuration,
+ this function will return 0. The returned FcBlanks object if
+ not NULL, is valid as long as the owning FcConfig is alive. If
+ config is NULL, the current configuration is used.
+
+FcConfigGetRescanInterval
+
+Name
+
+ FcConfigGetRescanInterval -- Get config rescan interval
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ int FcConfigGetRescanInterval(FcConfig *config);
+
+Description
+
+ Returns the interval between automatic checks of the
+ configuration (in seconds) specified in config. The
+ configuration is checked during a call to FcFontList when this
+ interval has passed since the last check. An interval setting
+ of zero disables automatic checks. If config is NULL, the
+ current configuration is used.
+
+FcConfigSetRescanInterval
+
+Name
+
+ FcConfigSetRescanInterval -- Set config rescan interval
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcConfigSetRescanInterval(FcConfig *config, int
+ rescanInterval);
+
+Description
+
+ Sets the rescan interval. Returns FcFalse if the interval
+ cannot be set (due to allocation failure). Otherwise returns
+ FcTrue. An interval setting of zero disables automatic checks.
+ If config is NULL, the current configuration is used.
+
+FcConfigAppFontAddFile
+
+Name
+
+ FcConfigAppFontAddFile -- Add font file to font database
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcConfigAppFontAddFile(FcConfig *config, const FcChar8
+ *file);
+
+Description
+
+ Adds an application-specific font to the configuration. Returns
+ FcFalse if the fonts cannot be added (due to allocation failure
+ or no fonts found). Otherwise returns FcTrue. If config is
+ NULL, the current configuration is used.
+
+FcConfigAppFontAddDir
+
+Name
+
+ FcConfigAppFontAddDir -- Add fonts from directory to font
+ database
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcConfigAppFontAddDir(FcConfig *config, const FcChar8
+ *dir);
+
+Description
+
+ Scans the specified directory for fonts, adding each one found
+ to the application-specific set of fonts. Returns FcFalse if
+ the fonts cannot be added (due to allocation failure or no
+ fonts found). Otherwise returns FcTrue. If config is NULL, the
+ current configuration is used.
+
+FcConfigAppFontClear
+
+Name
+
+ FcConfigAppFontClear -- Remove all app fonts from font database
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcConfigAppFontClear(FcConfig *config);
+
+Description
+
+ Clears the set of application-specific fonts. If config is
+ NULL, the current configuration is used.
+
+FcConfigSubstituteWithPat
+
+Name
+
+ FcConfigSubstituteWithPat -- Execute substitutions
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcConfigSubstituteWithPat(FcConfig *config, FcPattern
+ *p, FcPattern *p_pat, FcMatchKind kind);
+
+Description
+
+ Performs the sequence of pattern modification operations, if
+ kind is FcMatchPattern, then those tagged as pattern operations
+ are applied, else if kind is FcMatchFont, those tagged as font
+ operations are applied and p_pat is used for <test> elements
+ with target=pattern. Returns FcFalse if the substitution cannot
+ be performed (due to allocation failure). Otherwise returns
+ FcTrue. If config is NULL, the current configuration is used.
+
+FcConfigSubstitute
+
+Name
+
+ FcConfigSubstitute -- Execute substitutions
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcConfigSubstitute(FcConfig *config, FcPattern *p,
+ FcMatchKind kind);
+
+Description
+
+ Calls FcConfigSubstituteWithPat setting p_pat to NULL. Returns
+ FcFalse if the substitution cannot be performed (due to
+ allocation failure). Otherwise returns FcTrue. If config is
+ NULL, the current configuration is used.
+
+FcFontMatch
+
+Name
+
+ FcFontMatch -- Return best font
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcPattern * FcFontMatch(FcConfig *config, FcPattern *p,
+ FcResult *result);
+
+Description
+
+ Finds the font in sets most closely matching pattern and
+ returns the result of FcFontRenderPrepare for that font and the
+ provided pattern. This function should be called only after
+ FcConfigSubstitute and FcDefaultSubstitute have been called for
+ p; otherwise the results will not be correct. If config is
+ NULL, the current configuration is used.
+
+FcFontSort
+
+Name
+
+ FcFontSort -- Return list of matching fonts
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcFontSet * FcFontSort(FcConfig *config, FcPattern *p, FcBool
+ trim, FcCharSet **csp, FcResult *result);
+
+Description
+
+ Returns the list of fonts sorted by closeness to p. If trim is
+ FcTrue, elements in the list which don't include Unicode
+ coverage not provided by earlier elements in the list are
+ elided. The union of Unicode coverage of all of the fonts is
+ returned in csp, if csp is not NULL. This function should be
+ called only after FcConfigSubstitute and FcDefaultSubstitute
+ have been called for p; otherwise the results will not be
+ correct.
+
+ The returned FcFontSet references FcPattern structures which
+ may be shared by the return value from multiple FcFontSort
+ calls, applications must not modify these patterns. Instead,
+ they should be passed, along with p to FcFontRenderPrepare
+ which combines them into a complete pattern.
+
+ The FcFontSet returned by FcFontSort is destroyed by calling
+ FcFontSetDestroy. If config is NULL, the current configuration
+ is used.
+
+FcFontRenderPrepare
+
+Name
+
+ FcFontRenderPrepare -- Prepare pattern for loading font file
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcPattern * FcFontRenderPrepare(FcConfig *config, FcPattern
+ *pat, FcPattern *font);
+
+Description
+
+ Creates a new pattern consisting of elements of font not
+ appearing in pat, elements of pat not appearing in font and the
+ best matching value from pat for elements appearing in both.
+ The result is passed to FcConfigSubstituteWithPat with kind
+ FcMatchFont and then returned.
+
+FcFontList
+
+Name
+
+ FcFontList -- List fonts
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcFontSet * FcFontList(FcConfig *config, FcPattern *p,
+ FcObjectSet *os);
+
+Description
+
+ Selects fonts matching p, creates patterns from those fonts
+ containing only the objects in os and returns the set of unique
+ such patterns. If config is NULL, the default configuration is
+ checked to be up to date, and used.
+
+FcConfigFilename
+
+Name
+
+ FcConfigFilename -- Find a config file
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 * FcConfigFilename(const FcChar8 *name);
+
+Description
+
+ Given the specified external entity name, return the associated
+ filename. This provides applications a way to convert various
+ configuration file references into filename form.
+
+ A null or empty name indicates that the default configuration
+ file should be used; which file this references can be
+ overridden with the FONTCONFIG_FILE environment variable. Next,
+ if the name starts with ~, it refers to a file in the current
+ users home directory. Otherwise if the name doesn't start with
+ '/', it refers to a file in the default configuration
+ directory; the built-in default directory can be overridden
+ with the FONTCONFIG_PATH environment variable.
+
+FcConfigParseAndLoad
+
+Name
+
+ FcConfigParseAndLoad -- load a configuration file
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcConfigParseAndLoad(FcConfig *config, const FcChar8
+ *file, FcBool complain);
+
+Description
+
+ Walks the configuration in 'file' and constructs the internal
+ representation in 'config'. Any include files referenced from
+ within 'file' will be loaded and parsed. If 'complain' is
+ FcFalse, no warning will be displayed if 'file' does not exist.
+ Error and warning messages will be output to stderr. Returns
+ FcFalse if some error occurred while loading the file, either a
+ parse error, semantic error or allocation failure. Otherwise
+ returns FcTrue.
+
+FcConfigGetSysRoot
+
+Name
+
+ FcConfigGetSysRoot -- Obtain the system root directory
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ const FcChar8 * FcConfigGetSysRoot(const FcConfig *config);
+
+Description
+
+ Obtrains the system root directory in 'config' if available.
+
+Since
+
+ version 2.10.92
+
+FcConfigSetSysRoot
+
+Name
+
+ FcConfigSetSysRoot -- Set the system root directory
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcConfigSetSysRoot(FcConfig *config, const FcChar8
+ *sysroot);
+
+Description
+
+ Set 'sysroot' as the system root directory. fontconfig prepend
+ 'sysroot' to the cache directories in order to allow people to
+ generate caches at the build time. Note that this causes
+ changing current config. i.e. this function calls
+ FcConfigSetCurrent() internally.
+
+Since
+
+ version 2.10.92
+ __________________________________________________________
+
+FcObjectType
+
+ Table of Contents
+ FcNameRegisterObjectTypes -- Register object types
+ FcNameUnregisterObjectTypes -- Unregister object types
+ FcNameGetObjectType -- Lookup an object type
+
+ Provides for application-specified font name object types so
+ that new pattern elements can be generated from font names.
+
+FcNameRegisterObjectTypes
+
+Name
+
+ FcNameRegisterObjectTypes -- Register object types
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcNameRegisterObjectTypes(const FcObjectType *types, int
+ ntype);
+
+Description
+
+ Deprecated. Does nothing. Returns FcFalse.
+
+FcNameUnregisterObjectTypes
+
+Name
+
+ FcNameUnregisterObjectTypes -- Unregister object types
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcNameUnregisterObjectTypes(const FcObjectType *types,
+ int ntype);
+
+Description
+
+ Deprecated. Does nothing. Returns FcFalse.
+
+FcNameGetObjectType
+
+Name
+
+ FcNameGetObjectType -- Lookup an object type
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ const FcObjectType * FcNameGetObjectType(const char *object);
+
+Description
+
+ Return the object type for the pattern element named object.
+ __________________________________________________________
+
+FcConstant
+
+ Table of Contents
+ FcNameRegisterConstants -- Register symbolic constants
+ FcNameUnregisterConstants -- Unregister symbolic constants
+ FcNameGetConstant -- Lookup symbolic constant
+ FcNameConstant -- Get the value for a symbolic constant
+
+ Provides for application-specified symbolic constants for font
+ names.
+
+FcNameRegisterConstants
+
+Name
+
+ FcNameRegisterConstants -- Register symbolic constants
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcNameRegisterConstants(const FcConstant *consts, int
+ nconsts);
+
+Description
+
+ Deprecated. Does nothing. Returns FcFalse.
+
+FcNameUnregisterConstants
+
+Name
+
+ FcNameUnregisterConstants -- Unregister symbolic constants
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcNameUnregisterConstants(const FcConstant *consts, int
+ nconsts);
+
+Description
+
+ Deprecated. Does nothing. Returns FcFalse.
+
+FcNameGetConstant
+
+Name
+
+ FcNameGetConstant -- Lookup symbolic constant
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ const FcConstant * FcNameGetConstant(FcChar8 *string);
+
+Description
+
+ Return the FcConstant structure related to symbolic constant
+ string.
+
+FcNameConstant
+
+Name
+
+ FcNameConstant -- Get the value for a symbolic constant
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcNameConstant(FcChar8 *string, int *result);
+
+Description
+
+ Returns whether a symbolic constant with name string is
+ registered, placing the value of the constant in result if
+ present.
+ __________________________________________________________
+
+FcWeight
+
+ Table of Contents
+ FcWeightFromOpenType -- Convert from OpenType weight values to
+ fontconfig ones
+
+ FcWeightToOpenType -- Convert from fontconfig weight values to
+ OpenType ones
+
+ Maps weights to and from OpenType weights.
+
+FcWeightFromOpenType
+
+Name
+
+ FcWeightFromOpenType -- Convert from OpenType weight values to
+ fontconfig ones
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ int FcWeightFromOpenType(intot_weight);
+
+Description
+
+ FcWeightFromOpenType returns an integer value to use with
+ FC_WEIGHT, from an integer in the 1..1000 range, resembling the
+ numbers from OpenType specification's OS/2 usWeight numbers,
+ which are also similar to CSS font-weight numbers. If input is
+ negative, zero, or greater than 1000, returns -1. This function
+ linearly interpolates between various FC_WEIGHT_* constants. As
+ such, the returned value does not necessarily match any of the
+ predefined constants.
+
+Since
+
+ version 2.11.91
+
+FcWeightToOpenType
+
+Name
+
+ FcWeightToOpenType -- Convert from fontconfig weight values to
+ OpenType ones
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ int FcWeightToOpenType(intot_weight);
+
+Description
+
+ FcWeightToOpenType is the inverse of FcWeightFromOpenType. If
+ the input is less than FC_WEIGHT_THIN or greater than
+ FC_WEIGHT_EXTRABLACK, returns -1. Otherwise returns a number in
+ the range 1 to 1000.
+
+Since
+
+ version 2.11.91
+ __________________________________________________________
+
+FcBlanks
+
+ Table of Contents
+ FcBlanksCreate -- Create an FcBlanks
+ FcBlanksDestroy -- Destroy and FcBlanks
+ FcBlanksAdd -- Add a character to an FcBlanks
+ FcBlanksIsMember -- Query membership in an FcBlanks
+
+ An FcBlanks object holds a list of Unicode chars which are
+ expected to be blank when drawn. When scanning new fonts, any
+ glyphs which are empty and not in this list will be assumed to
+ be broken and not placed in the FcCharSet associated with the
+ font. This provides a significantly more accurate CharSet for
+ applications.
+
+FcBlanksCreate
+
+Name
+
+ FcBlanksCreate -- Create an FcBlanks
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBlanks * FcBlanksCreate(void);
+
+Description
+
+ Creates an empty FcBlanks object.
+
+FcBlanksDestroy
+
+Name
+
+ FcBlanksDestroy -- Destroy and FcBlanks
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcBlanksDestroy(FcBlanks *b);
+
+Description
+
+ Destroys an FcBlanks object, freeing any associated memory.
+
+FcBlanksAdd
+
+Name
+
+ FcBlanksAdd -- Add a character to an FcBlanks
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcBlanksAdd(FcBlanks *b, FcChar32 ucs4);
+
+Description
+
+ Adds a single character to an FcBlanks object, returning
+ FcFalse if this process ran out of memory.
+
+FcBlanksIsMember
+
+Name
+
+ FcBlanksIsMember -- Query membership in an FcBlanks
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcBlanksIsMember(FcBlanks *b, FcChar32 ucs4);
+
+Description
+
+ Returns whether the specified FcBlanks object contains the
+ indicated Unicode value.
+ __________________________________________________________
+
+FcAtomic
+
+ Table of Contents
+ FcAtomicCreate -- create an FcAtomic object
+ FcAtomicLock -- lock a file
+ FcAtomicNewFile -- return new temporary file name
+ FcAtomicOrigFile -- return original file name
+ FcAtomicReplaceOrig -- replace original with new
+ FcAtomicDeleteNew -- delete new file
+ FcAtomicUnlock -- unlock a file
+ FcAtomicDestroy -- destroy an FcAtomic object
+
+ These functions provide a safe way to update configuration
+ files, allowing ongoing reading of the old configuration file
+ while locked for writing and ensuring that a consistent and
+ complete version of the configuration file is always available.
+
+FcAtomicCreate
+
+Name
+
+ FcAtomicCreate -- create an FcAtomic object
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcAtomic * FcAtomicCreate(const FcChar8 *file);
+
+Description
+
+ Creates a data structure containing data needed to control
+ access to file. Writing is done to a separate file. Once that
+ file is complete, the original configuration file is atomically
+ replaced so that reading process always see a consistent and
+ complete file without the need to lock for reading.
+
+FcAtomicLock
+
+Name
+
+ FcAtomicLock -- lock a file
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcAtomicLock(FcAtomic *atomic);
+
+Description
+
+ Attempts to lock the file referenced by atomic. Returns FcFalse
+ if the file is already locked, else returns FcTrue and leaves
+ the file locked.
+
+FcAtomicNewFile
+
+Name
+
+ FcAtomicNewFile -- return new temporary file name
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 * FcAtomicNewFile(FcAtomic *atomic);
+
+Description
+
+ Returns the filename for writing a new version of the file
+ referenced by atomic.
+
+FcAtomicOrigFile
+
+Name
+
+ FcAtomicOrigFile -- return original file name
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 * FcAtomicOrigFile(FcAtomic *atomic);
+
+Description
+
+ Returns the file referenced by atomic.
+
+FcAtomicReplaceOrig
+
+Name
+
+ FcAtomicReplaceOrig -- replace original with new
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcAtomicReplaceOrig(FcAtomic *atomic);
+
+Description
+
+ Replaces the original file referenced by atomic with the new
+ file. Returns FcFalse if the file cannot be replaced due to
+ permission issues in the filesystem. Otherwise returns FcTrue.
+
+FcAtomicDeleteNew
+
+Name
+
+ FcAtomicDeleteNew -- delete new file
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcAtomicDeleteNew(FcAtomic *atomic);
+
+Description
+
+ Deletes the new file. Used in error recovery to back out
+ changes.
+
+FcAtomicUnlock
+
+Name
+
+ FcAtomicUnlock -- unlock a file
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcAtomicUnlock(FcAtomic *atomic);
+
+Description
+
+ Unlocks the file.
+
+FcAtomicDestroy
+
+Name
+
+ FcAtomicDestroy -- destroy an FcAtomic object
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcAtomicDestroy(FcAtomic *atomic);
+
+Description
+
+ Destroys atomic.
+ __________________________________________________________
+
+File and Directory routines
+
+ Table of Contents
+ FcFileScan -- scan a font file
+ FcFileIsDir -- check whether a file is a directory
+ FcDirScan -- scan a font directory without caching it
+ FcDirSave -- DEPRECATED: formerly used to save a directory
+ cache
+
+ FcDirCacheUnlink -- Remove all caches related to dir
+ FcDirCacheValid -- check directory cache
+ FcDirCacheLoad -- load a directory cache
+ FcDirCacheRescan -- Re-scan a directory cache
+ FcDirCacheRead -- read or construct a directory cache
+ FcDirCacheLoadFile -- load a cache file
+ FcDirCacheUnload -- unload a cache file
+
+ These routines work with font files and directories, including
+ font directory cache files.
+
+FcFileScan
+
+Name
+
+ FcFileScan -- scan a font file
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcFileScan(FcFontSet *set, FcStrSet *dirs, FcFileCache
+ *cache, FcBlanks *blanks, const FcChar8 *file, FcBool force);
+
+Description
+
+ Scans a single file and adds all fonts found to set. If force
+ is FcTrue, then the file is scanned even if associated
+ information is found in cache. If file is a directory, it is
+ added to dirs. Whether fonts are found depends on fontconfig
+ policy as well as the current configuration. Internally,
+ fontconfig will ignore BDF and PCF fonts which are not in
+ Unicode (or the effectively equivalent ISO Latin-1) encoding as
+ those are not usable by Unicode-based applications. The
+ configuration can ignore fonts based on filename or contents of
+ the font file itself. Returns FcFalse if any of the fonts
+ cannot be added (due to allocation failure). Otherwise returns
+ FcTrue.
+
+FcFileIsDir
+
+Name
+
+ FcFileIsDir -- check whether a file is a directory
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcFileIsDir(const FcChar8 *file);
+
+Description
+
+ Returns FcTrue if file is a directory, otherwise returns
+ FcFalse.
+
+FcDirScan
+
+Name
+
+ FcDirScan -- scan a font directory without caching it
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcDirScan(FcFontSet *set, FcStrSet *dirs, FcFileCache
+ *cache, FcBlanks *blanks, const FcChar8 *dir, FcBool force);
+
+Description
+
+ If cache is not zero or if force is FcFalse, this function
+ currently returns FcFalse. Otherwise, it scans an entire
+ directory and adds all fonts found to set. Any subdirectories
+ found are added to dirs. Calling this function does not create
+ any cache files. Use FcDirCacheRead() if caching is desired.
+
+FcDirSave
+
+Name
+
+ FcDirSave -- DEPRECATED: formerly used to save a directory
+ cache
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcDirSave(FcFontSet *set, FcStrSet *dirs, const FcChar8
+ *dir);
+
+Description
+
+ This function now does nothing aside from returning FcFalse. It
+ used to creates the per-directory cache file for dir and
+ populates it with the fonts in set and subdirectories in dirs.
+ All of this functionality is now automatically managed by
+ FcDirCacheLoad and FcDirCacheRead.
+
+FcDirCacheUnlink
+
+Name
+
+ FcDirCacheUnlink -- Remove all caches related to dir
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcDirCacheUnlink(const FcChar8 *dir, FcConfig *config);
+
+Description
+
+ Scans the cache directories in config, removing any instances
+ of the cache file for dir. Returns FcFalse when some internal
+ error occurs (out of memory, etc). Errors actually unlinking
+ any files are ignored.
+
+FcDirCacheValid
+
+Name
+
+ FcDirCacheValid -- check directory cache
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcDirCacheValid(const FcChar8 *dir);
+
+Description
+
+ Returns FcTrue if dir has an associated valid cache file, else
+ returns FcFalse
+
+FcDirCacheLoad
+
+Name
+
+ FcDirCacheLoad -- load a directory cache
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcCache * FcDirCacheLoad(const FcChar8 *dir, FcConfig *config,
+ FcChar8 **cache_file);
+
+Description
+
+ Loads the cache related to dir. If no cache file exists,
+ returns NULL. The name of the cache file is returned in
+ cache_file, unless that is NULL. See also FcDirCacheRead.
+
+FcDirCacheRescan
+
+Name
+
+ FcDirCacheRescan -- Re-scan a directory cache
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcCache * FcDirCacheRescan(const FcChar8 *dir, FcConfig
+ *config);
+
+Description
+
+ Re-scan directories only at dir and update the cache. returns
+ NULL if failed.
+
+Since
+
+ version 2.11.1
+
+FcDirCacheRead
+
+Name
+
+ FcDirCacheRead -- read or construct a directory cache
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcCache * FcDirCacheRead(const FcChar8 *dir, FcBool force,
+ FcConfig *config);
+
+Description
+
+ This returns a cache for dir. If force is FcFalse, then an
+ existing, valid cache file will be used. Otherwise, a new cache
+ will be created by scanning the directory and that returned.
+
+FcDirCacheLoadFile
+
+Name
+
+ FcDirCacheLoadFile -- load a cache file
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcCache * FcDirCacheLoadFile(const FcChar8 *cache_file, struct
+ stat *file_stat);
+
+Description
+
+ This function loads a directory cache from cache_file. If
+ file_stat is non-NULL, it will be filled with the results of
+ stat(2) on the cache file.
+
+FcDirCacheUnload
+
+Name
+
+ FcDirCacheUnload -- unload a cache file
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcDirCacheUnload(FcCache *cache);
+
+Description
+
+ This function dereferences cache. When no other references to
+ it remain, all memory associated with the cache will be freed.
+ __________________________________________________________
+
+FcCache routines
+
+ Table of Contents
+ FcCacheDir -- Return directory of cache
+ FcCacheCopySet -- Returns a copy of the fontset from cache
+ FcCacheSubdir -- Return the i'th subdirectory.
+ FcCacheNumSubdir -- Return the number of subdirectories in
+ cache.
+
+ FcCacheNumFont -- Returns the number of fonts in cache.
+ FcDirCacheClean -- This tries to clean up the cache directory
+ of cache_dir. This returns FcTrue if the operation is
+ successfully complete. otherwise FcFalse.
+
+ FcCacheCreateTagFile -- Create CACHEDIR.TAG at cache directory.
+
+ These routines work with font directory caches, accessing their
+ contents in limited ways. It is not expected that normal
+ applications will need to use these functions.
+
+FcCacheDir
+
+Name
+
+ FcCacheDir -- Return directory of cache
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ const FcChar8 * FcCacheDir(const FcCache *cache);
+
+Description
+
+ This function returns the directory from which the cache was
+ constructed.
+
+FcCacheCopySet
+
+Name
+
+ FcCacheCopySet -- Returns a copy of the fontset from cache
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcFontSet * FcCacheCopySet(const FcCache *cache);
+
+Description
+
+ The returned fontset contains each of the font patterns from
+ cache. This fontset may be modified, but the patterns from the
+ cache are read-only.
+
+FcCacheSubdir
+
+Name
+
+ FcCacheSubdir -- Return the i'th subdirectory.
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ const FcChar8 * FcCacheSubdir(const FcCache *cache, inti);
+
+Description
+
+ The set of subdirectories stored in a cache file are indexed by
+ this function, i should range from 0 to n-1, where n is the
+ return value from FcCacheNumSubdir.
+
+FcCacheNumSubdir
+
+Name
+
+ FcCacheNumSubdir -- Return the number of subdirectories in
+ cache.
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ int FcCacheNumSubdir(const FcCache *cache);
+
+Description
+
+ This returns the total number of subdirectories in the cache.
+
+FcCacheNumFont
+
+Name
+
+ FcCacheNumFont -- Returns the number of fonts in cache.
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ int FcCacheNumFont(const FcCache *cache);
+
+Description
+
+ This returns the number of fonts which would be included in the
+ return from FcCacheCopySet.
+
+FcDirCacheClean
+
+Name
+
+ FcDirCacheClean -- This tries to clean up the cache directory
+ of cache_dir. This returns FcTrue if the operation is
+ successfully complete. otherwise FcFalse.
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcDirCacheClean(const FcChar8 *cache_dir,
+ FcBoolverbose);
+
+Description
+
+Since
+
+ version 2.9.91
+
+FcCacheCreateTagFile
+
+Name
+
+ FcCacheCreateTagFile -- Create CACHEDIR.TAG at cache directory.
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcCacheCreateTagFile(const FcConfig *config);
+
+Description
+
+ This tries to create CACHEDIR.TAG file at the cache directory
+ registered to config.
+
+Since
+
+ version 2.9.91
+ __________________________________________________________
+
+FcStrSet and FcStrList
+
+ Table of Contents
+ FcStrSetCreate -- create a string set
+ FcStrSetMember -- check set for membership
+ FcStrSetEqual -- check sets for equality
+ FcStrSetAdd -- add to a string set
+ FcStrSetAddFilename -- add a filename to a string set
+ FcStrSetDel -- delete from a string set
+ FcStrSetDestroy -- destroy a string set
+ FcStrListCreate -- create a string iterator
+ FcStrListFirst -- get first string in iteration
+ FcStrListNext -- get next string in iteration
+ FcStrListDone -- destroy a string iterator
+
+ A data structure for enumerating strings, used to list
+ directories while scanning the configuration as directories are
+ added while scanning.
+
+FcStrSetCreate
+
+Name
+
+ FcStrSetCreate -- create a string set
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcStrSet * FcStrSetCreate(void);
+
+Description
+
+ Create an empty set.
+
+FcStrSetMember
+
+Name
+
+ FcStrSetMember -- check set for membership
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcStrSetMember(FcStrSet *set, const FcChar8 *s);
+
+Description
+
+ Returns whether s is a member of set.
+
+FcStrSetEqual
+
+Name
+
+ FcStrSetEqual -- check sets for equality
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcStrSetEqual(FcStrSet *set_a, FcStrSet *set_b);
+
+Description
+
+ Returns whether set_a contains precisely the same strings as
+ set_b. Ordering of strings within the two sets is not
+ considered.
+
+FcStrSetAdd
+
+Name
+
+ FcStrSetAdd -- add to a string set
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcStrSetAdd(FcStrSet *set, const FcChar8 *s);
+
+Description
+
+ Adds a copy of s to set.
+
+FcStrSetAddFilename
+
+Name
+
+ FcStrSetAddFilename -- add a filename to a string set
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcStrSetAddFilename(FcStrSet *set, const FcChar8 *s);
+
+Description
+
+ Adds a copy s to set, The copy is created with
+ FcStrCopyFilename so that leading '~' values are replaced with
+ the value of the HOME environment variable.
+
+FcStrSetDel
+
+Name
+
+ FcStrSetDel -- delete from a string set
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcStrSetDel(FcStrSet *set, const FcChar8 *s);
+
+Description
+
+ Removes s from set, returning FcTrue if s was a member else
+ FcFalse.
+
+FcStrSetDestroy
+
+Name
+
+ FcStrSetDestroy -- destroy a string set
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcStrSetDestroy(FcStrSet *set);
+
+Description
+
+ Destroys set.
+
+FcStrListCreate
+
+Name
+
+ FcStrListCreate -- create a string iterator
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcStrList * FcStrListCreate(FcStrSet *set);
+
+Description
+
+ Creates an iterator to list the strings in set.
+
+FcStrListFirst
+
+Name
+
+ FcStrListFirst -- get first string in iteration
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcStrListFirst(FcStrList *list);
+
+Description
+
+ Returns the first string in list.
+
+Since
+
+ version 2.11.0
+
+FcStrListNext
+
+Name
+
+ FcStrListNext -- get next string in iteration
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 * FcStrListNext(FcStrList *list);
+
+Description
+
+ Returns the next string in list.
+
+FcStrListDone
+
+Name
+
+ FcStrListDone -- destroy a string iterator
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcStrListDone(FcStrList *list);
+
+Description
+
+ Destroys the enumerator list.
+ __________________________________________________________
+
+String utilities
+
+ Table of Contents
+ FcUtf8ToUcs4 -- convert UTF-8 to UCS4
+ FcUcs4ToUtf8 -- convert UCS4 to UTF-8
+ FcUtf8Len -- count UTF-8 encoded chars
+ FcUtf16ToUcs4 -- convert UTF-16 to UCS4
+ FcUtf16Len -- count UTF-16 encoded chars
+ FcIsLower -- check for lower case ASCII character
+ FcIsUpper -- check for upper case ASCII character
+ FcToLower -- convert upper case ASCII to lower case
+ FcStrCopy -- duplicate a string
+ FcStrDowncase -- create a lower case translation of a string
+ FcStrCopyFilename -- create a complete path from a filename
+ FcStrCmp -- compare UTF-8 strings
+ FcStrCmpIgnoreCase -- compare UTF-8 strings ignoring case
+ FcStrStr -- locate UTF-8 substring
+ FcStrStrIgnoreCase -- locate UTF-8 substring ignoring ASCII
+ case
+
+ FcStrPlus -- concatenate two strings
+ FcStrFree -- free a string
+ FcStrDirname -- directory part of filename
+ FcStrBasename -- last component of filename
+
+ Fontconfig manipulates many UTF-8 strings represented with the
+ FcChar8 type. These functions are exposed to help applications
+ deal with these UTF-8 strings in a locale-insensitive manner.
+
+FcUtf8ToUcs4
+
+Name
+
+ FcUtf8ToUcs4 -- convert UTF-8 to UCS4
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ int FcUtf8ToUcs4(FcChar8 *src, FcChar32 *dst, int len);
+
+Description
+
+ Converts the next Unicode char from src into dst and returns
+ the number of bytes containing the char. src must be at least
+ len bytes long.
+
+FcUcs4ToUtf8
+
+Name
+
+ FcUcs4ToUtf8 -- convert UCS4 to UTF-8
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ int FcUcs4ToUtf8(FcChar32 src, FcChar8 dst[FC_UTF8_MAX_LEN]);
+
+Description
+
+ Converts the Unicode char from src into dst and returns the
+ number of bytes needed to encode the char.
+
+FcUtf8Len
+
+Name
+
+ FcUtf8Len -- count UTF-8 encoded chars
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcUtf8Len(FcChar8 *src, int len, int *nchar, int
+ *wchar);
+
+Description
+
+ Counts the number of Unicode chars in len bytes of src. Places
+ that count in nchar. wchar contains 1, 2 or 4 depending on the
+ number of bytes needed to hold the largest Unicode char
+ counted. The return value indicates whether src is a
+ well-formed UTF8 string.
+
+FcUtf16ToUcs4
+
+Name
+
+ FcUtf16ToUcs4 -- convert UTF-16 to UCS4
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ int FcUtf16ToUcs4(FcChar8 *src, FcEndian endian, FcChar32 *dst,
+ int len);
+
+Description
+
+ Converts the next Unicode char from src into dst and returns
+ the number of bytes containing the char. src must be at least
+ len bytes long. Bytes of src are combined into 16-bit units
+ according to endian.
+
+FcUtf16Len
+
+Name
+
+ FcUtf16Len -- count UTF-16 encoded chars
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcUtf16Len(FcChar8 *src, FcEndian endian, int len, int
+ *nchar, int *wchar);
+
+Description
+
+ Counts the number of Unicode chars in len bytes of src. Bytes
+ of src are combined into 16-bit units according to endian.
+ Places that count in nchar. wchar contains 1, 2 or 4 depending
+ on the number of bytes needed to hold the largest Unicode char
+ counted. The return value indicates whether string is a
+ well-formed UTF16 string.
+
+FcIsLower
+
+Name
+
+ FcIsLower -- check for lower case ASCII character
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcIsLower(FcChar8c);
+
+Description
+
+ This macro checks whether c is an lower case ASCII letter.
+
+FcIsUpper
+
+Name
+
+ FcIsUpper -- check for upper case ASCII character
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcIsUpper(FcChar8c);
+
+Description
+
+ This macro checks whether c is a upper case ASCII letter.
+
+FcToLower
+
+Name
+
+ FcToLower -- convert upper case ASCII to lower case
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 FcToLower(FcChar8c);
+
+Description
+
+ This macro converts upper case ASCII c to the equivalent lower
+ case letter.
+
+FcStrCopy
+
+Name
+
+ FcStrCopy -- duplicate a string
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 * FcStrCopy(const FcChar8 *s);
+
+Description
+
+ Allocates memory, copies s and returns the resulting buffer.
+ Yes, this is strdup, but that function isn't available on every
+ platform.
+
+FcStrDowncase
+
+Name
+
+ FcStrDowncase -- create a lower case translation of a string
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 * FcStrDowncase(const FcChar8 *s);
+
+Description
+
+ Allocates memory, copies s, converting upper case letters to
+ lower case and returns the allocated buffer.
+
+FcStrCopyFilename
+
+Name
+
+ FcStrCopyFilename -- create a complete path from a filename
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 * FcStrCopyFilename(const FcChar8 *s);
+
+Description
+
+ FcStrCopyFilename constructs an absolute pathname from s. It
+ converts any leading '~' characters in to the value of the HOME
+ environment variable, and any relative paths are converted to
+ absolute paths using the current working directory. Sequences
+ of '/' characters are converted to a single '/', and names
+ containing the current directory '.' or parent directory '..'
+ are correctly reconstructed. Returns NULL if '~' is the leading
+ character and HOME is unset or disabled (see
+ FcConfigEnableHome).
+
+FcStrCmp
+
+Name
+
+ FcStrCmp -- compare UTF-8 strings
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ int FcStrCmp(const FcChar8 *s1, const FcChar8 *s2);
+
+Description
+
+ Returns the usual <0, 0, >0 result of comparing s1 and s2.
+
+FcStrCmpIgnoreCase
+
+Name
+
+ FcStrCmpIgnoreCase -- compare UTF-8 strings ignoring case
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ int FcStrCmpIgnoreCase(const FcChar8 *s1, const FcChar8 *s2);
+
+Description
+
+ Returns the usual <0, 0, >0 result of comparing s1 and s2. This
+ test is case-insensitive for all proper UTF-8 encoded strings.
+
+FcStrStr
+
+Name
+
+ FcStrStr -- locate UTF-8 substring
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 * FcStrStr(const FcChar8 *s1, const FcChar8 *s2);
+
+Description
+
+ Returns the location of s2 in s1. Returns NULL if s2 is not
+ present in s1. This test will operate properly with UTF8
+ encoded strings.
+
+FcStrStrIgnoreCase
+
+Name
+
+ FcStrStrIgnoreCase -- locate UTF-8 substring ignoring ASCII
+ case
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 * FcStrStrIgnoreCase(const FcChar8 *s1, const FcChar8
+ *s2);
+
+Description
+
+ Returns the location of s2 in s1, ignoring case. Returns NULL
+ if s2 is not present in s1. This test is case-insensitive for
+ all proper UTF-8 encoded strings.
+
+FcStrPlus
+
+Name
+
+ FcStrPlus -- concatenate two strings
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 * FcStrPlus(const FcChar8 *s1, const FcChar8 *s2);
+
+Description
+
+ This function allocates new storage and places the
+ concatenation of s1 and s2 there, returning the new string.
+
+FcStrFree
+
+Name
+
+ FcStrFree -- free a string
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcStrFree(FcChar8 *s);
+
+Description
+
+ This is just a wrapper around free(3) which helps track memory
+ usage of strings within the fontconfig library.
+
+FcStrDirname
+
+Name
+
+ FcStrDirname -- directory part of filename
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 * FcStrDirname(const FcChar8 *file);
+
+Description
+
+ Returns the directory containing file. This is returned in
+ newly allocated storage which should be freed when no longer
+ needed.
+
+FcStrBasename
+
+Name
+
+ FcStrBasename -- last component of filename
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcChar8 * FcStrBasename(const FcChar8 *file);
+
+Description
+
+ Returns the filename of file stripped of any leading directory
+ names. This is returned in newly allocated storage which should
+ be freed when no longer needed.
diff --git a/doc/fontconfig-devel/fcatomiccreate.html b/doc/fontconfig-devel/fcatomiccreate.html
new file mode 100644
index 00000000..ee1c8f86
--- /dev/null
+++ b/doc/fontconfig-devel/fcatomiccreate.html
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcAtomicCreate</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcAtomic"
+HREF="x102.html#AEN3706"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcAtomicLock"
+HREF="fcatomiclock.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcatomiclock.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCATOMICCREATE"
+></A
+>FcAtomicCreate</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3714"
+></A
+><H2
+>Name</H2
+>FcAtomicCreate&nbsp;--&nbsp;create an FcAtomic object</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3717"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3718"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcAtomic * <TT
+CLASS="FUNCTION"
+>FcAtomicCreate</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3725"
+></A
+><H2
+>Description</H2
+><P
+>Creates a data structure containing data needed to control access to <TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+>.
+Writing is done to a separate file. Once that file is complete, the original
+configuration file is atomically replaced so that reading process always see
+a consistent and complete file without the need to lock for reading.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcatomiclock.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3706"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcAtomicLock</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcatomicdeletenew.html b/doc/fontconfig-devel/fcatomicdeletenew.html
new file mode 100644
index 00000000..7602eb31
--- /dev/null
+++ b/doc/fontconfig-devel/fcatomicdeletenew.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcAtomicDeleteNew</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcAtomic"
+HREF="x102.html#AEN3706"><LINK
+REL="PREVIOUS"
+TITLE="FcAtomicReplaceOrig"
+HREF="fcatomicreplaceorig.html"><LINK
+REL="NEXT"
+TITLE="FcAtomicUnlock"
+HREF="fcatomicunlock.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcatomicreplaceorig.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcatomicunlock.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCATOMICDELETENEW"
+></A
+>FcAtomicDeleteNew</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3814"
+></A
+><H2
+>Name</H2
+>FcAtomicDeleteNew&nbsp;--&nbsp;delete new file</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3817"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3818"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcAtomicDeleteNew</TT
+></CODE
+>(FcAtomic *<TT
+CLASS="PARAMETER"
+><I
+>atomic</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3825"
+></A
+><H2
+>Description</H2
+><P
+>Deletes the new file. Used in error recovery to back out changes.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcatomicreplaceorig.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcatomicunlock.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcAtomicReplaceOrig</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3706"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcAtomicUnlock</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcatomicdestroy.html b/doc/fontconfig-devel/fcatomicdestroy.html
new file mode 100644
index 00000000..7e05e7c3
--- /dev/null
+++ b/doc/fontconfig-devel/fcatomicdestroy.html
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcAtomicDestroy</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcAtomic"
+HREF="x102.html#AEN3706"><LINK
+REL="PREVIOUS"
+TITLE="FcAtomicUnlock"
+HREF="fcatomicunlock.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcatomicunlock.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCATOMICDESTROY"
+></A
+>FcAtomicDestroy</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3852"
+></A
+><H2
+>Name</H2
+>FcAtomicDestroy&nbsp;--&nbsp;destroy an FcAtomic object</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3855"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3856"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcAtomicDestroy</TT
+></CODE
+>(FcAtomic *<TT
+CLASS="PARAMETER"
+><I
+>atomic</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3863"
+></A
+><H2
+>Description</H2
+><P
+>Destroys <TT
+CLASS="PARAMETER"
+><I
+>atomic</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcatomicunlock.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcAtomicUnlock</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3706"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcatomiclock.html b/doc/fontconfig-devel/fcatomiclock.html
new file mode 100644
index 00000000..7d424336
--- /dev/null
+++ b/doc/fontconfig-devel/fcatomiclock.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcAtomicLock</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcAtomic"
+HREF="x102.html#AEN3706"><LINK
+REL="PREVIOUS"
+TITLE="FcAtomicCreate"
+HREF="fcatomiccreate.html"><LINK
+REL="NEXT"
+TITLE="FcAtomicNewFile"
+HREF="fcatomicnewfile.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcatomiccreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcatomicnewfile.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCATOMICLOCK"
+></A
+>FcAtomicLock</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3734"
+></A
+><H2
+>Name</H2
+>FcAtomicLock&nbsp;--&nbsp;lock a file</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3737"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3738"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcAtomicLock</TT
+></CODE
+>(FcAtomic *<TT
+CLASS="PARAMETER"
+><I
+>atomic</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3745"
+></A
+><H2
+>Description</H2
+><P
+>Attempts to lock the file referenced by <TT
+CLASS="PARAMETER"
+><I
+>atomic</I
+></TT
+>.
+Returns FcFalse if the file is already locked, else returns FcTrue and
+leaves the file locked.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcatomiccreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcatomicnewfile.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcAtomicCreate</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3706"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcAtomicNewFile</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcatomicnewfile.html b/doc/fontconfig-devel/fcatomicnewfile.html
new file mode 100644
index 00000000..952dcae9
--- /dev/null
+++ b/doc/fontconfig-devel/fcatomicnewfile.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcAtomicNewFile</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcAtomic"
+HREF="x102.html#AEN3706"><LINK
+REL="PREVIOUS"
+TITLE="FcAtomicLock"
+HREF="fcatomiclock.html"><LINK
+REL="NEXT"
+TITLE="FcAtomicOrigFile"
+HREF="fcatomicorigfile.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcatomiclock.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcatomicorigfile.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCATOMICNEWFILE"
+></A
+>FcAtomicNewFile</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3754"
+></A
+><H2
+>Name</H2
+>FcAtomicNewFile&nbsp;--&nbsp;return new temporary file name</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3757"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3758"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 * <TT
+CLASS="FUNCTION"
+>FcAtomicNewFile</TT
+></CODE
+>(FcAtomic *<TT
+CLASS="PARAMETER"
+><I
+>atomic</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3765"
+></A
+><H2
+>Description</H2
+><P
+>Returns the filename for writing a new version of the file referenced
+by <TT
+CLASS="PARAMETER"
+><I
+>atomic</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcatomiclock.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcatomicorigfile.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcAtomicLock</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3706"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcAtomicOrigFile</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcatomicorigfile.html b/doc/fontconfig-devel/fcatomicorigfile.html
new file mode 100644
index 00000000..2f92fe72
--- /dev/null
+++ b/doc/fontconfig-devel/fcatomicorigfile.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcAtomicOrigFile</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcAtomic"
+HREF="x102.html#AEN3706"><LINK
+REL="PREVIOUS"
+TITLE="FcAtomicNewFile"
+HREF="fcatomicnewfile.html"><LINK
+REL="NEXT"
+TITLE="FcAtomicReplaceOrig"
+HREF="fcatomicreplaceorig.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcatomicnewfile.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcatomicreplaceorig.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCATOMICORIGFILE"
+></A
+>FcAtomicOrigFile</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3774"
+></A
+><H2
+>Name</H2
+>FcAtomicOrigFile&nbsp;--&nbsp;return original file name</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3777"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3778"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 * <TT
+CLASS="FUNCTION"
+>FcAtomicOrigFile</TT
+></CODE
+>(FcAtomic *<TT
+CLASS="PARAMETER"
+><I
+>atomic</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3785"
+></A
+><H2
+>Description</H2
+><P
+>Returns the file referenced by <TT
+CLASS="PARAMETER"
+><I
+>atomic</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcatomicnewfile.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcatomicreplaceorig.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcAtomicNewFile</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3706"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcAtomicReplaceOrig</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcatomicreplaceorig.html b/doc/fontconfig-devel/fcatomicreplaceorig.html
new file mode 100644
index 00000000..ba8076cb
--- /dev/null
+++ b/doc/fontconfig-devel/fcatomicreplaceorig.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcAtomicReplaceOrig</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcAtomic"
+HREF="x102.html#AEN3706"><LINK
+REL="PREVIOUS"
+TITLE="FcAtomicOrigFile"
+HREF="fcatomicorigfile.html"><LINK
+REL="NEXT"
+TITLE="FcAtomicDeleteNew"
+HREF="fcatomicdeletenew.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcatomicorigfile.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcatomicdeletenew.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCATOMICREPLACEORIG"
+></A
+>FcAtomicReplaceOrig</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3794"
+></A
+><H2
+>Name</H2
+>FcAtomicReplaceOrig&nbsp;--&nbsp;replace original with new</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3797"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3798"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcAtomicReplaceOrig</TT
+></CODE
+>(FcAtomic *<TT
+CLASS="PARAMETER"
+><I
+>atomic</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3805"
+></A
+><H2
+>Description</H2
+><P
+>Replaces the original file referenced by <TT
+CLASS="PARAMETER"
+><I
+>atomic</I
+></TT
+> with
+the new file. Returns FcFalse if the file cannot be replaced due to
+permission issues in the filesystem. Otherwise returns FcTrue.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcatomicorigfile.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcatomicdeletenew.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcAtomicOrigFile</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3706"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcAtomicDeleteNew</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcatomicunlock.html b/doc/fontconfig-devel/fcatomicunlock.html
new file mode 100644
index 00000000..a7922e9f
--- /dev/null
+++ b/doc/fontconfig-devel/fcatomicunlock.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcAtomicUnlock</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcAtomic"
+HREF="x102.html#AEN3706"><LINK
+REL="PREVIOUS"
+TITLE="FcAtomicDeleteNew"
+HREF="fcatomicdeletenew.html"><LINK
+REL="NEXT"
+TITLE="FcAtomicDestroy"
+HREF="fcatomicdestroy.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcatomicdeletenew.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcatomicdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCATOMICUNLOCK"
+></A
+>FcAtomicUnlock</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3833"
+></A
+><H2
+>Name</H2
+>FcAtomicUnlock&nbsp;--&nbsp;unlock a file</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3836"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3837"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcAtomicUnlock</TT
+></CODE
+>(FcAtomic *<TT
+CLASS="PARAMETER"
+><I
+>atomic</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3844"
+></A
+><H2
+>Description</H2
+><P
+>Unlocks the file.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcatomicdeletenew.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcatomicdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcAtomicDeleteNew</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3706"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcAtomicDestroy</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcblanksadd.html b/doc/fontconfig-devel/fcblanksadd.html
new file mode 100644
index 00000000..c2763f3c
--- /dev/null
+++ b/doc/fontconfig-devel/fcblanksadd.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcBlanksAdd</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcBlanks"
+HREF="x102.html#AEN3623"><LINK
+REL="PREVIOUS"
+TITLE="FcBlanksDestroy"
+HREF="fcblanksdestroy.html"><LINK
+REL="NEXT"
+TITLE="FcBlanksIsMember"
+HREF="fcblanksismember.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcblanksdestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcblanksismember.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCBLANKSADD"
+></A
+>FcBlanksAdd</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3669"
+></A
+><H2
+>Name</H2
+>FcBlanksAdd&nbsp;--&nbsp;Add a character to an FcBlanks</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3672"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3673"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcBlanksAdd</TT
+></CODE
+>(FcBlanks *<TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>, FcChar32 <TT
+CLASS="PARAMETER"
+><I
+>ucs4</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3682"
+></A
+><H2
+>Description</H2
+><P
+>Adds a single character to an FcBlanks object, returning FcFalse
+if this process ran out of memory.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcblanksdestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcblanksismember.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcBlanksDestroy</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3623"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcBlanksIsMember</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcblankscreate.html b/doc/fontconfig-devel/fcblankscreate.html
new file mode 100644
index 00000000..68e1f1b1
--- /dev/null
+++ b/doc/fontconfig-devel/fcblankscreate.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcBlanksCreate</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcBlanks"
+HREF="x102.html#AEN3623"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcBlanksDestroy"
+HREF="fcblanksdestroy.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcblanksdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCBLANKSCREATE"
+></A
+>FcBlanksCreate</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3631"
+></A
+><H2
+>Name</H2
+>FcBlanksCreate&nbsp;--&nbsp;Create an FcBlanks</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3634"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3635"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBlanks * <TT
+CLASS="FUNCTION"
+>FcBlanksCreate</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3642"
+></A
+><H2
+>Description</H2
+><P
+>Creates an empty FcBlanks object.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcblanksdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3623"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcBlanksDestroy</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcblanksdestroy.html b/doc/fontconfig-devel/fcblanksdestroy.html
new file mode 100644
index 00000000..bdc45dae
--- /dev/null
+++ b/doc/fontconfig-devel/fcblanksdestroy.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcBlanksDestroy</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcBlanks"
+HREF="x102.html#AEN3623"><LINK
+REL="PREVIOUS"
+TITLE="FcBlanksCreate"
+HREF="fcblankscreate.html"><LINK
+REL="NEXT"
+TITLE="FcBlanksAdd"
+HREF="fcblanksadd.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcblankscreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcblanksadd.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCBLANKSDESTROY"
+></A
+>FcBlanksDestroy</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3650"
+></A
+><H2
+>Name</H2
+>FcBlanksDestroy&nbsp;--&nbsp;Destroy and FcBlanks</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3653"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3654"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcBlanksDestroy</TT
+></CODE
+>(FcBlanks *<TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3661"
+></A
+><H2
+>Description</H2
+><P
+>Destroys an FcBlanks object, freeing any associated memory.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcblankscreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcblanksadd.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcBlanksCreate</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3623"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcBlanksAdd</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcblanksismember.html b/doc/fontconfig-devel/fcblanksismember.html
new file mode 100644
index 00000000..a4518557
--- /dev/null
+++ b/doc/fontconfig-devel/fcblanksismember.html
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcBlanksIsMember</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcBlanks"
+HREF="x102.html#AEN3623"><LINK
+REL="PREVIOUS"
+TITLE="FcBlanksAdd"
+HREF="fcblanksadd.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcblanksadd.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCBLANKSISMEMBER"
+></A
+>FcBlanksIsMember</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3690"
+></A
+><H2
+>Name</H2
+>FcBlanksIsMember&nbsp;--&nbsp;Query membership in an FcBlanks</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3693"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3694"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcBlanksIsMember</TT
+></CODE
+>(FcBlanks *<TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>, FcChar32 <TT
+CLASS="PARAMETER"
+><I
+>ucs4</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3703"
+></A
+><H2
+>Description</H2
+><P
+>Returns whether the specified FcBlanks object contains the indicated Unicode
+value.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcblanksadd.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcBlanksAdd</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3623"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccachecopyset.html b/doc/fontconfig-devel/fccachecopyset.html
new file mode 100644
index 00000000..20e35271
--- /dev/null
+++ b/doc/fontconfig-devel/fccachecopyset.html
@@ -0,0 +1,216 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCacheCopySet</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCache routines"
+HREF="x102.html#AEN4145"><LINK
+REL="PREVIOUS"
+TITLE="FcCacheDir"
+HREF="fccachedir.html"><LINK
+REL="NEXT"
+TITLE="FcCacheSubdir"
+HREF="fccachesubdir.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccachedir.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccachesubdir.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCACHECOPYSET"
+></A
+>FcCacheCopySet</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4173"
+></A
+><H2
+>Name</H2
+>FcCacheCopySet&nbsp;--&nbsp;Returns a copy of the fontset from <TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+></DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4177"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4178"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcFontSet * <TT
+CLASS="FUNCTION"
+>FcCacheCopySet</TT
+></CODE
+>(const FcCache *<TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4185"
+></A
+><H2
+>Description</H2
+><P
+>The returned fontset contains each of the font patterns from
+<TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+>. This fontset may be modified, but the patterns
+from the cache are read-only.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccachedir.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccachesubdir.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCacheDir</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4145"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCacheSubdir</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccachecreatetagfile.html b/doc/fontconfig-devel/fccachecreatetagfile.html
new file mode 100644
index 00000000..b936ef3d
--- /dev/null
+++ b/doc/fontconfig-devel/fccachecreatetagfile.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCacheCreateTagFile</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCache routines"
+HREF="x102.html#AEN4145"><LINK
+REL="PREVIOUS"
+TITLE="FcDirCacheClean"
+HREF="fcdircacheclean.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcdircacheclean.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCACHECREATETAGFILE"
+></A
+>FcCacheCreateTagFile</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4284"
+></A
+><H2
+>Name</H2
+>FcCacheCreateTagFile&nbsp;--&nbsp;Create CACHEDIR.TAG at cache directory.</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4287"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4288"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcCacheCreateTagFile</TT
+></CODE
+>(const FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4295"
+></A
+><H2
+>Description</H2
+><P
+>This tries to create CACHEDIR.TAG file at the cache directory registered
+to <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4299"
+></A
+><H2
+>Since</H2
+><P
+>version 2.9.91</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcdircacheclean.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcDirCacheClean</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4145"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccachedir.html b/doc/fontconfig-devel/fccachedir.html
new file mode 100644
index 00000000..a4b7c14f
--- /dev/null
+++ b/doc/fontconfig-devel/fccachedir.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCacheDir</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCache routines"
+HREF="x102.html#AEN4145"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcCacheCopySet"
+HREF="fccachecopyset.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccachecopyset.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCACHEDIR"
+></A
+>FcCacheDir</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4153"
+></A
+><H2
+>Name</H2
+>FcCacheDir&nbsp;--&nbsp;Return directory of <TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+></DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4157"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4158"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>const FcChar8 * <TT
+CLASS="FUNCTION"
+>FcCacheDir</TT
+></CODE
+>(const FcCache *<TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4165"
+></A
+><H2
+>Description</H2
+><P
+>This function returns the directory from which the cache was constructed.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccachecopyset.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4145"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCacheCopySet</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccachenumfont.html b/doc/fontconfig-devel/fccachenumfont.html
new file mode 100644
index 00000000..0bd1c19b
--- /dev/null
+++ b/doc/fontconfig-devel/fccachenumfont.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCacheNumFont</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCache routines"
+HREF="x102.html#AEN4145"><LINK
+REL="PREVIOUS"
+TITLE="FcCacheNumSubdir"
+HREF="fccachenumsubdir.html"><LINK
+REL="NEXT"
+TITLE="FcDirCacheClean"
+HREF="fcdircacheclean.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccachenumsubdir.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcdircacheclean.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCACHENUMFONT"
+></A
+>FcCacheNumFont</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4239"
+></A
+><H2
+>Name</H2
+>FcCacheNumFont&nbsp;--&nbsp;Returns the number of fonts in <TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+>.</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4243"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4244"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>int <TT
+CLASS="FUNCTION"
+>FcCacheNumFont</TT
+></CODE
+>(const FcCache *<TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4251"
+></A
+><H2
+>Description</H2
+><P
+>This returns the number of fonts which would be included in the return from
+FcCacheCopySet.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccachenumsubdir.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcdircacheclean.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCacheNumSubdir</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4145"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcDirCacheClean</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccachenumsubdir.html b/doc/fontconfig-devel/fccachenumsubdir.html
new file mode 100644
index 00000000..3fe4450a
--- /dev/null
+++ b/doc/fontconfig-devel/fccachenumsubdir.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCacheNumSubdir</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCache routines"
+HREF="x102.html#AEN4145"><LINK
+REL="PREVIOUS"
+TITLE="FcCacheSubdir"
+HREF="fccachesubdir.html"><LINK
+REL="NEXT"
+TITLE="FcCacheNumFont"
+HREF="fccachenumfont.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccachesubdir.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccachenumfont.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCACHENUMSUBDIR"
+></A
+>FcCacheNumSubdir</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4219"
+></A
+><H2
+>Name</H2
+>FcCacheNumSubdir&nbsp;--&nbsp;Return the number of subdirectories in <TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+>.</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4223"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4224"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>int <TT
+CLASS="FUNCTION"
+>FcCacheNumSubdir</TT
+></CODE
+>(const FcCache *<TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4231"
+></A
+><H2
+>Description</H2
+><P
+>This returns the total number of subdirectories in the cache.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccachesubdir.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccachenumfont.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCacheSubdir</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4145"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCacheNumFont</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccachesubdir.html b/doc/fontconfig-devel/fccachesubdir.html
new file mode 100644
index 00000000..705a4855
--- /dev/null
+++ b/doc/fontconfig-devel/fccachesubdir.html
@@ -0,0 +1,232 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCacheSubdir</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCache routines"
+HREF="x102.html#AEN4145"><LINK
+REL="PREVIOUS"
+TITLE="FcCacheCopySet"
+HREF="fccachecopyset.html"><LINK
+REL="NEXT"
+TITLE="FcCacheNumSubdir"
+HREF="fccachenumsubdir.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccachecopyset.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccachenumsubdir.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCACHESUBDIR"
+></A
+>FcCacheSubdir</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4194"
+></A
+><H2
+>Name</H2
+>FcCacheSubdir&nbsp;--&nbsp;Return the <TT
+CLASS="PARAMETER"
+><I
+>i</I
+></TT
+>'th subdirectory.</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4198"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4199"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>const FcChar8 * <TT
+CLASS="FUNCTION"
+>FcCacheSubdir</TT
+></CODE
+>(const FcCache *<TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+>, int<TT
+CLASS="PARAMETER"
+><I
+>i</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4208"
+></A
+><H2
+>Description</H2
+><P
+>The set of subdirectories stored in a cache file are indexed by this
+function, <TT
+CLASS="PARAMETER"
+><I
+>i</I
+></TT
+> should range from 0 to
+<TT
+CLASS="PARAMETER"
+><I
+>n</I
+></TT
+>-1, where <TT
+CLASS="PARAMETER"
+><I
+>n</I
+></TT
+> is the return
+value from FcCacheNumSubdir.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccachecopyset.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccachenumsubdir.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCacheCopySet</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4145"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCacheNumSubdir</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetaddchar.html b/doc/fontconfig-devel/fccharsetaddchar.html
new file mode 100644
index 00000000..8ab3ec22
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetaddchar.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetAddChar</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetDestroy"
+HREF="fccharsetdestroy.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetDelChar"
+HREF="fccharsetdelchar.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsetdestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsetdelchar.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETADDCHAR"
+></A
+>FcCharSetAddChar</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1598"
+></A
+><H2
+>Name</H2
+>FcCharSetAddChar&nbsp;--&nbsp;Add a character to a charset</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1601"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1602"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcCharSetAddChar</TT
+></CODE
+>(FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>fcs</I
+></TT
+>, FcChar32 <TT
+CLASS="PARAMETER"
+><I
+>ucs4</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1611"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcCharSetAddChar</TT
+> adds a single Unicode char to the set,
+returning FcFalse on failure, either as a result of a constant set or from
+running out of memory.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsetdestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsetdelchar.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetDestroy</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetDelChar</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetcopy.html b/doc/fontconfig-devel/fccharsetcopy.html
new file mode 100644
index 00000000..602a1d7b
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetcopy.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetCopy</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetDelChar"
+HREF="fccharsetdelchar.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetEqual"
+HREF="fccharsetequal.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsetdelchar.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsetequal.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETCOPY"
+></A
+>FcCharSetCopy</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1645"
+></A
+><H2
+>Name</H2
+>FcCharSetCopy&nbsp;--&nbsp;Copy a charset</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1648"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1649"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcCharSet * <TT
+CLASS="FUNCTION"
+>FcCharSetCopy</TT
+></CODE
+>(FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1656"
+></A
+><H2
+>Description</H2
+><P
+>Makes a copy of <TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+>; note that this may not actually do anything more
+than increment the reference count on <TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsetdelchar.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsetequal.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetDelChar</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetEqual</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetcount.html b/doc/fontconfig-devel/fccharsetcount.html
new file mode 100644
index 00000000..aaded09e
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetcount.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetCount</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetHasChar"
+HREF="fccharsethaschar.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetIntersectCount"
+HREF="fccharsetintersectcount.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsethaschar.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsetintersectcount.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETCOUNT"
+></A
+>FcCharSetCount</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1810"
+></A
+><H2
+>Name</H2
+>FcCharSetCount&nbsp;--&nbsp;Count entries in a charset</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1813"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1814"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar32 <TT
+CLASS="FUNCTION"
+>FcCharSetCount</TT
+></CODE
+>(const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1821"
+></A
+><H2
+>Description</H2
+><P
+>Returns the total number of Unicode chars in <TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsethaschar.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsetintersectcount.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetHasChar</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetIntersectCount</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetcoverage.html b/doc/fontconfig-devel/fccharsetcoverage.html
new file mode 100644
index 00000000..c47134ab
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetcoverage.html
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetCoverage</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetNextPage"
+HREF="fccharsetnextpage.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetNew"
+HREF="fccharsetnew.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsetnextpage.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsetnew.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETCOVERAGE"
+></A
+>FcCharSetCoverage</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1974"
+></A
+><H2
+>Name</H2
+>FcCharSetCoverage&nbsp;--&nbsp;DEPRECATED return coverage for a Unicode page</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1977"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1978"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar32 <TT
+CLASS="FUNCTION"
+>FcCharSetCoverage</TT
+></CODE
+>(const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>, FcChar32<TT
+CLASS="PARAMETER"
+><I
+>page</I
+></TT
+>, FcChar32[8]<TT
+CLASS="PARAMETER"
+><I
+>result</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1989"
+></A
+><H2
+>Description</H2
+><P
+>DEPRECATED
+This function returns a bitmask in <TT
+CLASS="PARAMETER"
+><I
+>result</I
+></TT
+> which
+indicates which code points in
+<TT
+CLASS="PARAMETER"
+><I
+>page</I
+></TT
+> are included in <TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>.
+<TT
+CLASS="FUNCTION"
+>FcCharSetCoverage</TT
+> returns the next page in the charset which has any
+coverage.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsetnextpage.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsetnew.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetNextPage</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetNew</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetcreate.html b/doc/fontconfig-devel/fccharsetcreate.html
new file mode 100644
index 00000000..c21fa24f
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetcreate.html
@@ -0,0 +1,208 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetCreate</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetDestroy"
+HREF="fccharsetdestroy.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsetdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETCREATE"
+></A
+>FcCharSetCreate</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1557"
+></A
+><H2
+>Name</H2
+>FcCharSetCreate&nbsp;--&nbsp;Create an empty character set</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1560"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1561"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcCharSet * <TT
+CLASS="FUNCTION"
+>FcCharSetCreate</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1568"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcCharSetCreate</TT
+> allocates and initializes a new empty
+character set object.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsetdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetDestroy</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetdelchar.html b/doc/fontconfig-devel/fccharsetdelchar.html
new file mode 100644
index 00000000..1d70d66e
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetdelchar.html
@@ -0,0 +1,224 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetDelChar</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetAddChar"
+HREF="fccharsetaddchar.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetCopy"
+HREF="fccharsetcopy.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsetaddchar.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsetcopy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETDELCHAR"
+></A
+>FcCharSetDelChar</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1620"
+></A
+><H2
+>Name</H2
+>FcCharSetDelChar&nbsp;--&nbsp;Add a character to a charset</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1623"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1624"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcCharSetDelChar</TT
+></CODE
+>(FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>fcs</I
+></TT
+>, FcChar32 <TT
+CLASS="PARAMETER"
+><I
+>ucs4</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1633"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcCharSetDelChar</TT
+> deletes a single Unicode char from the set,
+returning FcFalse on failure, either as a result of a constant set or from
+running out of memory.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1637"
+></A
+><H2
+>Since</H2
+><P
+>version 2.9.0</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsetaddchar.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsetcopy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetAddChar</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetCopy</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetdestroy.html b/doc/fontconfig-devel/fccharsetdestroy.html
new file mode 100644
index 00000000..1ab8a3ae
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetdestroy.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetDestroy</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetCreate"
+HREF="fccharsetcreate.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetAddChar"
+HREF="fccharsetaddchar.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsetcreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsetaddchar.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETDESTROY"
+></A
+>FcCharSetDestroy</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1577"
+></A
+><H2
+>Name</H2
+>FcCharSetDestroy&nbsp;--&nbsp;Destroy a character set</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1580"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1581"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcCharSetDestroy</TT
+></CODE
+>(FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>fcs</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1588"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcCharSetDestroy</TT
+> decrements the reference count
+<TT
+CLASS="PARAMETER"
+><I
+>fcs</I
+></TT
+>. If the reference count becomes zero, all
+memory referenced is freed.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsetcreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsetaddchar.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetCreate</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetAddChar</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetequal.html b/doc/fontconfig-devel/fccharsetequal.html
new file mode 100644
index 00000000..c5b003b2
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetequal.html
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetEqual</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetCopy"
+HREF="fccharsetcopy.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetIntersect"
+HREF="fccharsetintersect.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsetcopy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsetintersect.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETEQUAL"
+></A
+>FcCharSetEqual</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1666"
+></A
+><H2
+>Name</H2
+>FcCharSetEqual&nbsp;--&nbsp;Compare two charsets</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1669"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1670"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcCharSetEqual</TT
+></CODE
+>(const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>, const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1679"
+></A
+><H2
+>Description</H2
+><P
+>Returns whether <TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+> and <TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>
+contain the same set of Unicode chars.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsetcopy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsetintersect.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetCopy</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetIntersect</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetfirstpage.html b/doc/fontconfig-devel/fccharsetfirstpage.html
new file mode 100644
index 00000000..f8f3bba9
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetfirstpage.html
@@ -0,0 +1,323 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetFirstPage</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetIsSubset"
+HREF="fccharsetissubset.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetNextPage"
+HREF="fccharsetnextpage.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsetissubset.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsetnextpage.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETFIRSTPAGE"
+></A
+>FcCharSetFirstPage</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1899"
+></A
+><H2
+>Name</H2
+>FcCharSetFirstPage&nbsp;--&nbsp;Start enumerating charset contents</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1902"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1903"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar32 <TT
+CLASS="FUNCTION"
+>FcCharSetFirstPage</TT
+></CODE
+>(const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>, FcChar32[FC_CHARSET_MAP_SIZE] <TT
+CLASS="PARAMETER"
+><I
+>map</I
+></TT
+>, FcChar32 *<TT
+CLASS="PARAMETER"
+><I
+>next</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1914"
+></A
+><H2
+>Description</H2
+><P
+>Builds an array of bits in <TT
+CLASS="PARAMETER"
+><I
+>map</I
+></TT
+> marking the
+first page of Unicode coverage of <TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>.
+<TT
+CLASS="PARAMETER"
+><I
+>*next</I
+></TT
+> is set to contains the base code point
+for the next page in <TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>. Returns the base code
+point for the page, or <CODE
+CLASS="CONSTANT"
+>FC_CHARSET_DONE</CODE
+> if
+<TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+> contains no pages. As an example, if
+<TT
+CLASS="FUNCTION"
+>FcCharSetFirstPage</TT
+> returns
+<TT
+CLASS="LITERAL"
+>0x300</TT
+> and fills <TT
+CLASS="PARAMETER"
+><I
+>map</I
+></TT
+> with
+<TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="LITERALLAYOUT"
+>0xffffffff 0xffffffff 0x01000008 0x44300002 0xffffd7f0 0xfffffffb 0xffff7fff 0xffff0003</PRE
+></TD
+></TR
+></TABLE
+>
+Then the page contains code points <TT
+CLASS="LITERAL"
+>0x300</TT
+> through
+<TT
+CLASS="LITERAL"
+>0x33f</TT
+> (the first 64 code points on the page)
+because <TT
+CLASS="PARAMETER"
+><I
+>map[0]</I
+></TT
+> and
+<TT
+CLASS="PARAMETER"
+><I
+>map[1]</I
+></TT
+> both have all their bits set. It also
+contains code points <TT
+CLASS="LITERAL"
+>0x343</TT
+> (<TT
+CLASS="PARAMETER"
+><I
+>0x300 + 32*2
++ (4-1)</I
+></TT
+>) and <TT
+CLASS="LITERAL"
+>0x35e</TT
+> (<TT
+CLASS="PARAMETER"
+><I
+>0x300 +
+32*2 + (31-1)</I
+></TT
+>) because <TT
+CLASS="PARAMETER"
+><I
+>map[2]</I
+></TT
+> has
+the 4th and 31st bits set. The code points represented by
+<TT
+CLASS="LITERAL"
+>map[3]</TT
+> and later are left as an excercise for the
+reader ;).
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsetissubset.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsetnextpage.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetIsSubset</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetNextPage</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsethaschar.html b/doc/fontconfig-devel/fccharsethaschar.html
new file mode 100644
index 00000000..48832f13
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsethaschar.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetHasChar</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetMerge"
+HREF="fccharsetmerge.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetCount"
+HREF="fccharsetcount.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsetmerge.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsetcount.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETHASCHAR"
+></A
+>FcCharSetHasChar</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1787"
+></A
+><H2
+>Name</H2
+>FcCharSetHasChar&nbsp;--&nbsp;Check a charset for a char</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1790"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1791"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcCharSetHasChar</TT
+></CODE
+>(const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>fcs</I
+></TT
+>, FcChar32 <TT
+CLASS="PARAMETER"
+><I
+>ucs4</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1800"
+></A
+><H2
+>Description</H2
+><P
+>Returns whether <TT
+CLASS="PARAMETER"
+><I
+>fcs</I
+></TT
+> contains the char <TT
+CLASS="PARAMETER"
+><I
+>ucs4</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsetmerge.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsetcount.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetMerge</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetCount</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetintersect.html b/doc/fontconfig-devel/fccharsetintersect.html
new file mode 100644
index 00000000..a05290b9
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetintersect.html
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetIntersect</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetEqual"
+HREF="fccharsetequal.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetUnion"
+HREF="fccharsetunion.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsetequal.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsetunion.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETINTERSECT"
+></A
+>FcCharSetIntersect</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1689"
+></A
+><H2
+>Name</H2
+>FcCharSetIntersect&nbsp;--&nbsp;Intersect charsets</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1692"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1693"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcCharSet * <TT
+CLASS="FUNCTION"
+>FcCharSetIntersect</TT
+></CODE
+>(const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>, const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1702"
+></A
+><H2
+>Description</H2
+><P
+>Returns a set including only those chars found in both
+<TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+> and <TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsetequal.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsetunion.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetEqual</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetUnion</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetintersectcount.html b/doc/fontconfig-devel/fccharsetintersectcount.html
new file mode 100644
index 00000000..f85a9a9c
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetintersectcount.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetIntersectCount</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetCount"
+HREF="fccharsetcount.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetSubtractCount"
+HREF="fccharsetsubtractcount.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsetcount.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsetsubtractcount.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETINTERSECTCOUNT"
+></A
+>FcCharSetIntersectCount</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1830"
+></A
+><H2
+>Name</H2
+>FcCharSetIntersectCount&nbsp;--&nbsp;Intersect and count charsets</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1833"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1834"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar32 <TT
+CLASS="FUNCTION"
+>FcCharSetIntersectCount</TT
+></CODE
+>(const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>, const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1843"
+></A
+><H2
+>Description</H2
+><P
+>Returns the number of chars that are in both <TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+> and <TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsetcount.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsetsubtractcount.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetCount</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetSubtractCount</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetissubset.html b/doc/fontconfig-devel/fccharsetissubset.html
new file mode 100644
index 00000000..6db5af1e
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetissubset.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetIsSubset</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetSubtractCount"
+HREF="fccharsetsubtractcount.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetFirstPage"
+HREF="fccharsetfirstpage.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsetsubtractcount.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsetfirstpage.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETISSUBSET"
+></A
+>FcCharSetIsSubset</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1876"
+></A
+><H2
+>Name</H2
+>FcCharSetIsSubset&nbsp;--&nbsp;Test for charset inclusion</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1879"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1880"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcCharSetIsSubset</TT
+></CODE
+>(const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>, const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1889"
+></A
+><H2
+>Description</H2
+><P
+>Returns whether <TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+> is a subset of <TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsetsubtractcount.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsetfirstpage.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetSubtractCount</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetFirstPage</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetmerge.html b/doc/fontconfig-devel/fccharsetmerge.html
new file mode 100644
index 00000000..2a3002c8
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetmerge.html
@@ -0,0 +1,249 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetMerge</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetSubtract"
+HREF="fccharsetsubtract.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetHasChar"
+HREF="fccharsethaschar.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsetsubtract.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsethaschar.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETMERGE"
+></A
+>FcCharSetMerge</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1758"
+></A
+><H2
+>Name</H2
+>FcCharSetMerge&nbsp;--&nbsp;Merge charsets</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1761"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1762"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcCharSetMerge</TT
+></CODE
+>(FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>, const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>, FcBool *<TT
+CLASS="PARAMETER"
+><I
+>changed</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1773"
+></A
+><H2
+>Description</H2
+><P
+>Adds all chars in <TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+> to <TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>.
+In other words, this is an in-place version of FcCharSetUnion.
+If <TT
+CLASS="PARAMETER"
+><I
+>changed</I
+></TT
+> is not NULL, then it returns whether any new
+chars from <TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+> were added to <TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>.
+Returns FcFalse on failure, either when <TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+> is a constant
+set or from running out of memory.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsetsubtract.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsethaschar.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetSubtract</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetHasChar</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetnew.html b/doc/fontconfig-devel/fccharsetnew.html
new file mode 100644
index 00000000..4f0117e0
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetnew.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetNew</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetCoverage"
+HREF="fccharsetcoverage.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsetcoverage.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETNEW"
+></A
+>FcCharSetNew</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2001"
+></A
+><H2
+>Name</H2
+>FcCharSetNew&nbsp;--&nbsp;DEPRECATED alias for FcCharSetCreate</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2004"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2005"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcCharSet * <TT
+CLASS="FUNCTION"
+>FcCharSetNew</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2012"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcCharSetNew</TT
+> is a DEPRECATED alias for FcCharSetCreate.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsetcoverage.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetCoverage</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetnextpage.html b/doc/fontconfig-devel/fccharsetnextpage.html
new file mode 100644
index 00000000..5a7f429a
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetnextpage.html
@@ -0,0 +1,263 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetNextPage</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetFirstPage"
+HREF="fccharsetfirstpage.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetCoverage"
+HREF="fccharsetcoverage.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsetfirstpage.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsetcoverage.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETNEXTPAGE"
+></A
+>FcCharSetNextPage</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1942"
+></A
+><H2
+>Name</H2
+>FcCharSetNextPage&nbsp;--&nbsp;Continue enumerating charset contents</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1945"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1946"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar32 <TT
+CLASS="FUNCTION"
+>FcCharSetNextPage</TT
+></CODE
+>(const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>, FcChar32[FC_CHARSET_MAP_SIZE] <TT
+CLASS="PARAMETER"
+><I
+>map</I
+></TT
+>, FcChar32 *<TT
+CLASS="PARAMETER"
+><I
+>next</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1957"
+></A
+><H2
+>Description</H2
+><P
+>Builds an array of bits in <TT
+CLASS="PARAMETER"
+><I
+>map</I
+></TT
+> marking the
+Unicode coverage of <TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+> for page containing
+<TT
+CLASS="PARAMETER"
+><I
+>*next</I
+></TT
+> (see the
+<TT
+CLASS="FUNCTION"
+>FcCharSetFirstPage</TT
+> description for details).
+<TT
+CLASS="PARAMETER"
+><I
+>*next</I
+></TT
+> is set to contains the base code point
+for the next page in <TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>. Returns the base of
+code point for the page, or <CODE
+CLASS="CONSTANT"
+>FC_CHARSET_DONE</CODE
+> if
+<TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+> does not contain
+<TT
+CLASS="PARAMETER"
+><I
+>*next</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsetfirstpage.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsetcoverage.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetFirstPage</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetCoverage</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetsubtract.html b/doc/fontconfig-devel/fccharsetsubtract.html
new file mode 100644
index 00000000..2a98b3fa
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetsubtract.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetSubtract</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetUnion"
+HREF="fccharsetunion.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetMerge"
+HREF="fccharsetmerge.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsetunion.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsetmerge.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETSUBTRACT"
+></A
+>FcCharSetSubtract</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1735"
+></A
+><H2
+>Name</H2
+>FcCharSetSubtract&nbsp;--&nbsp;Subtract charsets</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1738"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1739"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcCharSet * <TT
+CLASS="FUNCTION"
+>FcCharSetSubtract</TT
+></CODE
+>(const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>, const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1748"
+></A
+><H2
+>Description</H2
+><P
+>Returns a set including only those chars found in <TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+> but not <TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsetunion.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsetmerge.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetUnion</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetMerge</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetsubtractcount.html b/doc/fontconfig-devel/fccharsetsubtractcount.html
new file mode 100644
index 00000000..d96772eb
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetsubtractcount.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetSubtractCount</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetIntersectCount"
+HREF="fccharsetintersectcount.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetIsSubset"
+HREF="fccharsetissubset.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsetintersectcount.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsetissubset.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETSUBTRACTCOUNT"
+></A
+>FcCharSetSubtractCount</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1853"
+></A
+><H2
+>Name</H2
+>FcCharSetSubtractCount&nbsp;--&nbsp;Subtract and count charsets</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1856"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1857"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar32 <TT
+CLASS="FUNCTION"
+>FcCharSetSubtractCount</TT
+></CODE
+>(const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>, const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1866"
+></A
+><H2
+>Description</H2
+><P
+>Returns the number of chars that are in <TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+> but not in <TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsetintersectcount.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsetissubset.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetIntersectCount</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetIsSubset</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fccharsetunion.html b/doc/fontconfig-devel/fccharsetunion.html
new file mode 100644
index 00000000..f7d8ea1b
--- /dev/null
+++ b/doc/fontconfig-devel/fccharsetunion.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcCharSetUnion</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCharSet"
+HREF="x102.html#AEN1549"><LINK
+REL="PREVIOUS"
+TITLE="FcCharSetIntersect"
+HREF="fccharsetintersect.html"><LINK
+REL="NEXT"
+TITLE="FcCharSetSubtract"
+HREF="fccharsetsubtract.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccharsetintersect.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccharsetsubtract.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCHARSETUNION"
+></A
+>FcCharSetUnion</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1712"
+></A
+><H2
+>Name</H2
+>FcCharSetUnion&nbsp;--&nbsp;Add charsets</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1715"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1716"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcCharSet * <TT
+CLASS="FUNCTION"
+>FcCharSetUnion</TT
+></CODE
+>(const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+>, const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1725"
+></A
+><H2
+>Description</H2
+><P
+>Returns a set including only those chars found in either <TT
+CLASS="PARAMETER"
+><I
+>a</I
+></TT
+> or <TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccharsetintersect.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccharsetsubtract.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCharSetIntersect</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1549"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCharSetSubtract</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfigappfontadddir.html b/doc/fontconfig-devel/fcconfigappfontadddir.html
new file mode 100644
index 00000000..071d312e
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfigappfontadddir.html
@@ -0,0 +1,218 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigAppFontAddDir</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigAppFontAddFile"
+HREF="fcconfigappfontaddfile.html"><LINK
+REL="NEXT"
+TITLE="FcConfigAppFontClear"
+HREF="fcconfigappfontclear.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigappfontaddfile.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfigappfontclear.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGAPPFONTADDDIR"
+></A
+>FcConfigAppFontAddDir</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3118"
+></A
+><H2
+>Name</H2
+>FcConfigAppFontAddDir&nbsp;--&nbsp;Add fonts from directory to font database</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3121"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3122"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcConfigAppFontAddDir</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3131"
+></A
+><H2
+>Description</H2
+><P
+>Scans the specified directory for fonts, adding each one found to the
+application-specific set of fonts. Returns FcFalse
+if the fonts cannot be added (due to allocation failure or no fonts found).
+Otherwise returns FcTrue. If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL,
+the current configuration is used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigappfontaddfile.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfigappfontclear.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigAppFontAddFile</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigAppFontClear</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfigappfontaddfile.html b/doc/fontconfig-devel/fcconfigappfontaddfile.html
new file mode 100644
index 00000000..5fcf2dda
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfigappfontaddfile.html
@@ -0,0 +1,217 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigAppFontAddFile</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigSetRescanInterval"
+HREF="fcconfigsetrescaninterval.html"><LINK
+REL="NEXT"
+TITLE="FcConfigAppFontAddDir"
+HREF="fcconfigappfontadddir.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigsetrescaninterval.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfigappfontadddir.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGAPPFONTADDFILE"
+></A
+>FcConfigAppFontAddFile</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3096"
+></A
+><H2
+>Name</H2
+>FcConfigAppFontAddFile&nbsp;--&nbsp;Add font file to font database</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3099"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3100"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcConfigAppFontAddFile</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3109"
+></A
+><H2
+>Description</H2
+><P
+>Adds an application-specific font to the configuration. Returns FcFalse
+if the fonts cannot be added (due to allocation failure or no fonts found).
+Otherwise returns FcTrue. If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL,
+the current configuration is used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigsetrescaninterval.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfigappfontadddir.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigSetRescanInterval</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigAppFontAddDir</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfigappfontclear.html b/doc/fontconfig-devel/fcconfigappfontclear.html
new file mode 100644
index 00000000..6494e9eb
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfigappfontclear.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigAppFontClear</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigAppFontAddDir"
+HREF="fcconfigappfontadddir.html"><LINK
+REL="NEXT"
+TITLE="FcConfigSubstituteWithPat"
+HREF="fcconfigsubstitutewithpat.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigappfontadddir.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfigsubstitutewithpat.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGAPPFONTCLEAR"
+></A
+>FcConfigAppFontClear</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3140"
+></A
+><H2
+>Name</H2
+>FcConfigAppFontClear&nbsp;--&nbsp;Remove all app fonts from font database</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3143"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3144"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcConfigAppFontClear</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3151"
+></A
+><H2
+>Description</H2
+><P
+>Clears the set of application-specific fonts.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the current configuration is used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigappfontadddir.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfigsubstitutewithpat.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigAppFontAddDir</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigSubstituteWithPat</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfigbuildfonts.html b/doc/fontconfig-devel/fcconfigbuildfonts.html
new file mode 100644
index 00000000..e02f9513
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfigbuildfonts.html
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigBuildFonts</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigEnableHome"
+HREF="fcconfigenablehome.html"><LINK
+REL="NEXT"
+TITLE="FcConfigGetConfigDirs"
+HREF="fcconfiggetconfigdirs.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigenablehome.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetconfigdirs.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGBUILDFONTS"
+></A
+>FcConfigBuildFonts</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2887"
+></A
+><H2
+>Name</H2
+>FcConfigBuildFonts&nbsp;--&nbsp;Build font database</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2890"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2891"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcConfigBuildFonts</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2898"
+></A
+><H2
+>Description</H2
+><P
+>Builds the set of available fonts for the given configuration. Note that
+any changes to the configuration after this call have indeterminate effects.
+Returns FcFalse if this operation runs out of memory.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the current configuration is used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigenablehome.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfiggetconfigdirs.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigEnableHome</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigGetConfigDirs</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfigcreate.html b/doc/fontconfig-devel/fcconfigcreate.html
new file mode 100644
index 00000000..21377242
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfigcreate.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigCreate</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcConfigReference"
+HREF="fcconfigreference.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfigreference.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGCREATE"
+></A
+>FcConfigCreate</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2726"
+></A
+><H2
+>Name</H2
+>FcConfigCreate&nbsp;--&nbsp;Create a configuration</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2729"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2730"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcConfig * <TT
+CLASS="FUNCTION"
+>FcConfigCreate</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2737"
+></A
+><H2
+>Description</H2
+><P
+>Creates an empty configuration.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfigreference.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigReference</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfigdestroy.html b/doc/fontconfig-devel/fcconfigdestroy.html
new file mode 100644
index 00000000..919ef4fe
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfigdestroy.html
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigDestroy</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigReference"
+HREF="fcconfigreference.html"><LINK
+REL="NEXT"
+TITLE="FcConfigSetCurrent"
+HREF="fcconfigsetcurrent.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigreference.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfigsetcurrent.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGDESTROY"
+></A
+>FcConfigDestroy</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2766"
+></A
+><H2
+>Name</H2
+>FcConfigDestroy&nbsp;--&nbsp;Destroy a configuration</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2769"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2770"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcConfigDestroy</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2777"
+></A
+><H2
+>Description</H2
+><P
+>Decrements the config reference count. If all references are gone, destroys
+the configuration and any data associated with it.
+Note that calling this function with the return from FcConfigGetCurrent will
+cause a new configuration to be created for use as current configuration.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigreference.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfigsetcurrent.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigReference</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigSetCurrent</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfigenablehome.html b/doc/fontconfig-devel/fcconfigenablehome.html
new file mode 100644
index 00000000..42fd3023
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfigenablehome.html
@@ -0,0 +1,218 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigEnableHome</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigHome"
+HREF="fcconfighome.html"><LINK
+REL="NEXT"
+TITLE="FcConfigBuildFonts"
+HREF="fcconfigbuildfonts.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfighome.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfigbuildfonts.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGENABLEHOME"
+></A
+>FcConfigEnableHome</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2866"
+></A
+><H2
+>Name</H2
+>FcConfigEnableHome&nbsp;--&nbsp;controls use of the home directory.</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2869"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2870"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcConfigEnableHome</TT
+></CODE
+>(FcBool <TT
+CLASS="PARAMETER"
+><I
+>enable</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2877"
+></A
+><H2
+>Description</H2
+><P
+>If <TT
+CLASS="PARAMETER"
+><I
+>enable</I
+></TT
+> is FcTrue, then Fontconfig will use various
+files which are specified relative to the user's home directory (using the ~
+notation in the configuration). When <TT
+CLASS="PARAMETER"
+><I
+>enable</I
+></TT
+> is
+FcFalse, then all use of the home directory in these contexts will be
+disabled. The previous setting of the value is returned.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfighome.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfigbuildfonts.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigHome</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigBuildFonts</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfigfilename.html b/doc/fontconfig-devel/fcconfigfilename.html
new file mode 100644
index 00000000..71c09d80
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfigfilename.html
@@ -0,0 +1,225 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigFilename</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcFontList"
+HREF="fcfontlist.html"><LINK
+REL="NEXT"
+TITLE="FcConfigParseAndLoad"
+HREF="fcconfigparseandload.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfontlist.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfigparseandload.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGFILENAME"
+></A
+>FcConfigFilename</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3334"
+></A
+><H2
+>Name</H2
+>FcConfigFilename&nbsp;--&nbsp;Find a config file</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3337"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3338"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 * <TT
+CLASS="FUNCTION"
+>FcConfigFilename</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3345"
+></A
+><H2
+>Description</H2
+><P
+>Given the specified external entity name, return the associated filename.
+This provides applications a way to convert various configuration file
+references into filename form.
+ </P
+><P
+>A null or empty <TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> indicates that the default configuration file should
+be used; which file this references can be overridden with the
+FONTCONFIG_FILE environment variable. Next, if the name starts with <TT
+CLASS="PARAMETER"
+><I
+>~</I
+></TT
+>, it
+refers to a file in the current users home directory. Otherwise if the name
+doesn't start with '/', it refers to a file in the default configuration
+directory; the built-in default directory can be overridden with the
+FONTCONFIG_PATH environment variable.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfontlist.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfigparseandload.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFontList</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigParseAndLoad</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfiggetblanks.html b/doc/fontconfig-devel/fcconfiggetblanks.html
new file mode 100644
index 00000000..76ab0061
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfiggetblanks.html
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigGetBlanks</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigGetFonts"
+HREF="fcconfiggetfonts.html"><LINK
+REL="NEXT"
+TITLE="FcConfigGetRescanInterval"
+HREF="fcconfiggetrescaninterval.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetfonts.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetrescaninterval.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGGETBLANKS"
+></A
+>FcConfigGetBlanks</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3033"
+></A
+><H2
+>Name</H2
+>FcConfigGetBlanks&nbsp;--&nbsp;Get config blanks</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3036"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3037"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBlanks * <TT
+CLASS="FUNCTION"
+>FcConfigGetBlanks</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3044"
+></A
+><H2
+>Description</H2
+><P
+>Returns the FcBlanks object associated with the given configuration, if no
+blanks were present in the configuration, this function will return 0.
+The returned FcBlanks object if not NULL, is valid as long as the owning
+FcConfig is alive.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the current configuration is used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfiggetfonts.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfiggetrescaninterval.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigGetFonts</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigGetRescanInterval</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfiggetcache.html b/doc/fontconfig-devel/fcconfiggetcache.html
new file mode 100644
index 00000000..59f95bac
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfiggetcache.html
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigGetCache</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigGetConfigFiles"
+HREF="fcconfiggetconfigfiles.html"><LINK
+REL="NEXT"
+TITLE="FcConfigGetCacheDirs"
+HREF="fcconfiggetcachedirs.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetconfigfiles.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetcachedirs.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGGETCACHE"
+></A
+>FcConfigGetCache</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2970"
+></A
+><H2
+>Name</H2
+>FcConfigGetCache&nbsp;--&nbsp;DEPRECATED used to return per-user cache filename</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2973"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2974"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 * <TT
+CLASS="FUNCTION"
+>FcConfigGetCache</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2981"
+></A
+><H2
+>Description</H2
+><P
+>With fontconfig no longer using per-user cache files, this function now
+simply returns NULL to indicate that no per-user file exists.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfiggetconfigfiles.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfiggetcachedirs.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigGetConfigFiles</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigGetCacheDirs</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfiggetcachedirs.html b/doc/fontconfig-devel/fcconfiggetcachedirs.html
new file mode 100644
index 00000000..875096f5
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfiggetcachedirs.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigGetCacheDirs</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigGetCache"
+HREF="fcconfiggetcache.html"><LINK
+REL="NEXT"
+TITLE="FcConfigGetFonts"
+HREF="fcconfiggetfonts.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetcache.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetfonts.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGGETCACHEDIRS"
+></A
+>FcConfigGetCacheDirs</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2989"
+></A
+><H2
+>Name</H2
+>FcConfigGetCacheDirs&nbsp;--&nbsp;return the list of directories searched for cache files</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2992"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2993"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcStrList * <TT
+CLASS="FUNCTION"
+>FcConfigGetCacheDirs</TT
+></CODE
+>(const FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3000"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcConfigGetCacheDirs</TT
+> returns a string list containing
+all of the directories that fontconfig will search when attempting to load a
+cache file for a font directory.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the current configuration is used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfiggetcache.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfiggetfonts.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigGetCache</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigGetFonts</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfiggetconfigdirs.html b/doc/fontconfig-devel/fcconfiggetconfigdirs.html
new file mode 100644
index 00000000..aca558c7
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfiggetconfigdirs.html
@@ -0,0 +1,216 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigGetConfigDirs</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigBuildFonts"
+HREF="fcconfigbuildfonts.html"><LINK
+REL="NEXT"
+TITLE="FcConfigGetFontDirs"
+HREF="fcconfiggetfontdirs.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigbuildfonts.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetfontdirs.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGGETCONFIGDIRS"
+></A
+>FcConfigGetConfigDirs</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2907"
+></A
+><H2
+>Name</H2
+>FcConfigGetConfigDirs&nbsp;--&nbsp;Get config directories</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2910"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2911"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcStrList * <TT
+CLASS="FUNCTION"
+>FcConfigGetConfigDirs</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2918"
+></A
+><H2
+>Description</H2
+><P
+>Returns the list of font directories specified in the configuration files
+for <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>. Does not include any subdirectories.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the current configuration is used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigbuildfonts.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfiggetfontdirs.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigBuildFonts</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigGetFontDirs</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfiggetconfigfiles.html b/doc/fontconfig-devel/fcconfiggetconfigfiles.html
new file mode 100644
index 00000000..38578000
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfiggetconfigfiles.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigGetConfigFiles</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigGetFontDirs"
+HREF="fcconfiggetfontdirs.html"><LINK
+REL="NEXT"
+TITLE="FcConfigGetCache"
+HREF="fcconfiggetcache.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetfontdirs.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetcache.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGGETCONFIGFILES"
+></A
+>FcConfigGetConfigFiles</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2949"
+></A
+><H2
+>Name</H2
+>FcConfigGetConfigFiles&nbsp;--&nbsp;Get config files</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2952"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2953"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcStrList * <TT
+CLASS="FUNCTION"
+>FcConfigGetConfigFiles</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2960"
+></A
+><H2
+>Description</H2
+><P
+>Returns the list of known configuration files used to generate <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the current configuration is used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfiggetfontdirs.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfiggetcache.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigGetFontDirs</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigGetCache</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfiggetcurrent.html b/doc/fontconfig-devel/fcconfiggetcurrent.html
new file mode 100644
index 00000000..38318e31
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfiggetcurrent.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigGetCurrent</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigSetCurrent"
+HREF="fcconfigsetcurrent.html"><LINK
+REL="NEXT"
+TITLE="FcConfigUptoDate"
+HREF="fcconfiguptodate.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigsetcurrent.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfiguptodate.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGGETCURRENT"
+></A
+>FcConfigGetCurrent</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2806"
+></A
+><H2
+>Name</H2
+>FcConfigGetCurrent&nbsp;--&nbsp;Return current configuration</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2809"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2810"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcConfig * <TT
+CLASS="FUNCTION"
+>FcConfigGetCurrent</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2817"
+></A
+><H2
+>Description</H2
+><P
+>Returns the current default configuration.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigsetcurrent.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfiguptodate.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigSetCurrent</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigUptoDate</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfiggetfontdirs.html b/doc/fontconfig-devel/fcconfiggetfontdirs.html
new file mode 100644
index 00000000..0a16fb15
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfiggetfontdirs.html
@@ -0,0 +1,217 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigGetFontDirs</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigGetConfigDirs"
+HREF="fcconfiggetconfigdirs.html"><LINK
+REL="NEXT"
+TITLE="FcConfigGetConfigFiles"
+HREF="fcconfiggetconfigfiles.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetconfigdirs.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetconfigfiles.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGGETFONTDIRS"
+></A
+>FcConfigGetFontDirs</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2928"
+></A
+><H2
+>Name</H2
+>FcConfigGetFontDirs&nbsp;--&nbsp;Get font directories</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2931"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2932"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcStrList * <TT
+CLASS="FUNCTION"
+>FcConfigGetFontDirs</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2939"
+></A
+><H2
+>Description</H2
+><P
+>Returns the list of font directories in <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>. This includes the
+configured font directories along with any directories below those in the
+filesystem.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the current configuration is used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfiggetconfigdirs.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfiggetconfigfiles.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigGetConfigDirs</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigGetConfigFiles</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfiggetfonts.html b/doc/fontconfig-devel/fcconfiggetfonts.html
new file mode 100644
index 00000000..089f57a8
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfiggetfonts.html
@@ -0,0 +1,222 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigGetFonts</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigGetCacheDirs"
+HREF="fcconfiggetcachedirs.html"><LINK
+REL="NEXT"
+TITLE="FcConfigGetBlanks"
+HREF="fcconfiggetblanks.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetcachedirs.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetblanks.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGGETFONTS"
+></A
+>FcConfigGetFonts</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3010"
+></A
+><H2
+>Name</H2
+>FcConfigGetFonts&nbsp;--&nbsp;Get config font set</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3013"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3014"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcFontSet * <TT
+CLASS="FUNCTION"
+>FcConfigGetFonts</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, FcSetName <TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3023"
+></A
+><H2
+>Description</H2
+><P
+>Returns one of the two sets of fonts from the configuration as specified
+by <TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>. This font set is owned by the library and must
+not be modified or freed.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the current configuration is used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfiggetcachedirs.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfiggetblanks.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigGetCacheDirs</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigGetBlanks</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfiggetrescaninterval.html b/doc/fontconfig-devel/fcconfiggetrescaninterval.html
new file mode 100644
index 00000000..cecb57cc
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfiggetrescaninterval.html
@@ -0,0 +1,218 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigGetRescanInterval</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigGetBlanks"
+HREF="fcconfiggetblanks.html"><LINK
+REL="NEXT"
+TITLE="FcConfigSetRescanInterval"
+HREF="fcconfigsetrescaninterval.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetblanks.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfigsetrescaninterval.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGGETRESCANINTERVAL"
+></A
+>FcConfigGetRescanInterval</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3053"
+></A
+><H2
+>Name</H2
+>FcConfigGetRescanInterval&nbsp;--&nbsp;Get config rescan interval</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3056"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3057"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>int <TT
+CLASS="FUNCTION"
+>FcConfigGetRescanInterval</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3064"
+></A
+><H2
+>Description</H2
+><P
+>Returns the interval between automatic checks of the configuration (in
+seconds) specified in <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>. The configuration is checked during
+a call to FcFontList when this interval has passed since the last check.
+An interval setting of zero disables automatic checks.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the current configuration is used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfiggetblanks.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfigsetrescaninterval.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigGetBlanks</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigSetRescanInterval</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfiggetsysroot.html b/doc/fontconfig-devel/fcconfiggetsysroot.html
new file mode 100644
index 00000000..bbe0a5f4
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfiggetsysroot.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigGetSysRoot</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigParseAndLoad"
+HREF="fcconfigparseandload.html"><LINK
+REL="NEXT"
+TITLE="FcConfigSetSysRoot"
+HREF="fcconfigsetsysroot.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigparseandload.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfigsetsysroot.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGGETSYSROOT"
+></A
+>FcConfigGetSysRoot</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3379"
+></A
+><H2
+>Name</H2
+>FcConfigGetSysRoot&nbsp;--&nbsp;Obtain the system root directory</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3382"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3383"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>const FcChar8 * <TT
+CLASS="FUNCTION"
+>FcConfigGetSysRoot</TT
+></CODE
+>(const FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3390"
+></A
+><H2
+>Description</H2
+><P
+>Obtrains the system root directory in 'config' if available.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3393"
+></A
+><H2
+>Since</H2
+><P
+>version 2.10.92</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigparseandload.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfigsetsysroot.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigParseAndLoad</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigSetSysRoot</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfighome.html b/doc/fontconfig-devel/fcconfighome.html
new file mode 100644
index 00000000..4036a6bf
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfighome.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigHome</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigUptoDate"
+HREF="fcconfiguptodate.html"><LINK
+REL="NEXT"
+TITLE="FcConfigEnableHome"
+HREF="fcconfigenablehome.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfiguptodate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfigenablehome.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGHOME"
+></A
+>FcConfigHome</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2846"
+></A
+><H2
+>Name</H2
+>FcConfigHome&nbsp;--&nbsp;return the current home directory.</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2849"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2850"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 * <TT
+CLASS="FUNCTION"
+>FcConfigHome</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2857"
+></A
+><H2
+>Description</H2
+><P
+>Return the current user's home directory, if it is available, and if using it
+is enabled, and NULL otherwise.
+See also <TT
+CLASS="FUNCTION"
+>FcConfigEnableHome</TT
+>).
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfiguptodate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfigenablehome.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigUptoDate</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigEnableHome</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfigparseandload.html b/doc/fontconfig-devel/fcconfigparseandload.html
new file mode 100644
index 00000000..e7c1313d
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfigparseandload.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigParseAndLoad</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigFilename"
+HREF="fcconfigfilename.html"><LINK
+REL="NEXT"
+TITLE="FcConfigGetSysRoot"
+HREF="fcconfiggetsysroot.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigfilename.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetsysroot.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGPARSEANDLOAD"
+></A
+>FcConfigParseAndLoad</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3356"
+></A
+><H2
+>Name</H2
+>FcConfigParseAndLoad&nbsp;--&nbsp;load a configuration file</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3359"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3360"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcConfigParseAndLoad</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+>, FcBool <TT
+CLASS="PARAMETER"
+><I
+>complain</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3371"
+></A
+><H2
+>Description</H2
+><P
+>Walks the configuration in 'file' and constructs the internal representation
+in 'config'. Any include files referenced from within 'file' will be loaded
+and parsed. If 'complain' is FcFalse, no warning will be displayed if
+'file' does not exist. Error and warning messages will be output to stderr.
+Returns FcFalse if some error occurred while loading the file, either a
+parse error, semantic error or allocation failure. Otherwise returns FcTrue.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigfilename.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfiggetsysroot.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigFilename</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigGetSysRoot</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfigreference.html b/doc/fontconfig-devel/fcconfigreference.html
new file mode 100644
index 00000000..a7fb48ca
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfigreference.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigReference</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigCreate"
+HREF="fcconfigcreate.html"><LINK
+REL="NEXT"
+TITLE="FcConfigDestroy"
+HREF="fcconfigdestroy.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigcreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfigdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGREFERENCE"
+></A
+>FcConfigReference</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2745"
+></A
+><H2
+>Name</H2
+>FcConfigReference&nbsp;--&nbsp;Increment config reference count</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2748"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2749"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcConfig * <TT
+CLASS="FUNCTION"
+>FcConfigReference</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2756"
+></A
+><H2
+>Description</H2
+><P
+>Add another reference to <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>. Configs are freed only
+when the reference count reaches zero.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the current configuration is used.
+In that case this function will be similar to FcConfigGetCurrent() except that
+it increments the reference count before returning and the user is responsible
+for destroying the configuration when not needed anymore.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigcreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfigdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigCreate</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigDestroy</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfigsetcurrent.html b/doc/fontconfig-devel/fcconfigsetcurrent.html
new file mode 100644
index 00000000..69cae7df
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfigsetcurrent.html
@@ -0,0 +1,216 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigSetCurrent</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigDestroy"
+HREF="fcconfigdestroy.html"><LINK
+REL="NEXT"
+TITLE="FcConfigGetCurrent"
+HREF="fcconfiggetcurrent.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigdestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetcurrent.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGSETCURRENT"
+></A
+>FcConfigSetCurrent</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2785"
+></A
+><H2
+>Name</H2
+>FcConfigSetCurrent&nbsp;--&nbsp;Set configuration as default</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2788"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2789"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcConfigSetCurrent</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2796"
+></A
+><H2
+>Description</H2
+><P
+>Sets the current default configuration to <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>. Implicitly calls
+FcConfigBuildFonts if necessary, and FcConfigReference() to inrease the reference count
+in <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> since 2.12.0, returning FcFalse if that call fails.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigdestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfiggetcurrent.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigDestroy</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigGetCurrent</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfigsetrescaninterval.html b/doc/fontconfig-devel/fcconfigsetrescaninterval.html
new file mode 100644
index 00000000..9fbb60f7
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfigsetrescaninterval.html
@@ -0,0 +1,217 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigSetRescanInterval</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigGetRescanInterval"
+HREF="fcconfiggetrescaninterval.html"><LINK
+REL="NEXT"
+TITLE="FcConfigAppFontAddFile"
+HREF="fcconfigappfontaddfile.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetrescaninterval.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfigappfontaddfile.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGSETRESCANINTERVAL"
+></A
+>FcConfigSetRescanInterval</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3074"
+></A
+><H2
+>Name</H2
+>FcConfigSetRescanInterval&nbsp;--&nbsp;Set config rescan interval</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3077"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3078"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcConfigSetRescanInterval</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>rescanInterval</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3087"
+></A
+><H2
+>Description</H2
+><P
+>Sets the rescan interval. Returns FcFalse if the interval cannot be set (due
+to allocation failure). Otherwise returns FcTrue.
+An interval setting of zero disables automatic checks.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the current configuration is used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfiggetrescaninterval.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfigappfontaddfile.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigGetRescanInterval</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigAppFontAddFile</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfigsetsysroot.html b/doc/fontconfig-devel/fcconfigsetsysroot.html
new file mode 100644
index 00000000..5b1238db
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfigsetsysroot.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigSetSysRoot</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigGetSysRoot"
+HREF="fcconfiggetsysroot.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetsysroot.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGSETSYSROOT"
+></A
+>FcConfigSetSysRoot</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3401"
+></A
+><H2
+>Name</H2
+>FcConfigSetSysRoot&nbsp;--&nbsp;Set the system root directory</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3404"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3405"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcConfigSetSysRoot</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>sysroot</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3414"
+></A
+><H2
+>Description</H2
+><P
+>Set 'sysroot' as the system root directory. fontconfig prepend 'sysroot'
+to the cache directories in order to allow people to generate caches at
+the build time. Note that this causes changing current config. i.e.
+this function calls FcConfigSetCurrent() internally.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3417"
+></A
+><H2
+>Since</H2
+><P
+>version 2.10.92</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfiggetsysroot.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigGetSysRoot</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfigsubstitute.html b/doc/fontconfig-devel/fcconfigsubstitute.html
new file mode 100644
index 00000000..4dc28d21
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfigsubstitute.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigSubstitute</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigSubstituteWithPat"
+HREF="fcconfigsubstitutewithpat.html"><LINK
+REL="NEXT"
+TITLE="FcFontMatch"
+HREF="fcfontmatch.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigsubstitutewithpat.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfontmatch.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGSUBSTITUTE"
+></A
+>FcConfigSubstitute</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3188"
+></A
+><H2
+>Name</H2
+>FcConfigSubstitute&nbsp;--&nbsp;Execute substitutions</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3191"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3192"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcConfigSubstitute</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, FcMatchKind <TT
+CLASS="PARAMETER"
+><I
+>kind</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3203"
+></A
+><H2
+>Description</H2
+><P
+>Calls FcConfigSubstituteWithPat setting p_pat to NULL. Returns FcFalse
+if the substitution cannot be performed (due to allocation failure). Otherwise returns FcTrue.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the current configuration is used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigsubstitutewithpat.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfontmatch.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigSubstituteWithPat</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFontMatch</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfigsubstitutewithpat.html b/doc/fontconfig-devel/fcconfigsubstitutewithpat.html
new file mode 100644
index 00000000..d42a9ba1
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfigsubstitutewithpat.html
@@ -0,0 +1,239 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigSubstituteWithPat</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigAppFontClear"
+HREF="fcconfigappfontclear.html"><LINK
+REL="NEXT"
+TITLE="FcConfigSubstitute"
+HREF="fcconfigsubstitute.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigappfontclear.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfigsubstitute.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGSUBSTITUTEWITHPAT"
+></A
+>FcConfigSubstituteWithPat</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3160"
+></A
+><H2
+>Name</H2
+>FcConfigSubstituteWithPat&nbsp;--&nbsp;Execute substitutions</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3163"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3164"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcConfigSubstituteWithPat</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p_pat</I
+></TT
+>, FcMatchKind <TT
+CLASS="PARAMETER"
+><I
+>kind</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3177"
+></A
+><H2
+>Description</H2
+><P
+>Performs the sequence of pattern modification operations, if <TT
+CLASS="PARAMETER"
+><I
+>kind</I
+></TT
+> is
+FcMatchPattern, then those tagged as pattern operations are applied, else
+if <TT
+CLASS="PARAMETER"
+><I
+>kind</I
+></TT
+> is FcMatchFont, those tagged as font operations are applied and
+p_pat is used for &#60;test&#62; elements with target=pattern. Returns FcFalse
+if the substitution cannot be performed (due to allocation failure). Otherwise returns FcTrue.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the current configuration is used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigappfontclear.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfigsubstitute.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigAppFontClear</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigSubstitute</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfiguptodate.html b/doc/fontconfig-devel/fcconfiguptodate.html
new file mode 100644
index 00000000..8f405c65
--- /dev/null
+++ b/doc/fontconfig-devel/fcconfiguptodate.html
@@ -0,0 +1,216 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigUptoDate</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigGetCurrent"
+HREF="fcconfiggetcurrent.html"><LINK
+REL="NEXT"
+TITLE="FcConfigHome"
+HREF="fcconfighome.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetcurrent.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfighome.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGUPTODATE"
+></A
+>FcConfigUptoDate</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2825"
+></A
+><H2
+>Name</H2
+>FcConfigUptoDate&nbsp;--&nbsp;Check timestamps on config files</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2828"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2829"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcConfigUptoDate</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2836"
+></A
+><H2
+>Description</H2
+><P
+>Checks all of the files related to <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> and returns
+whether any of them has been modified since the configuration was created.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the current configuration is used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfiggetcurrent.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfighome.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigGetCurrent</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigHome</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcdefaultsubstitute.html b/doc/fontconfig-devel/fcdefaultsubstitute.html
new file mode 100644
index 00000000..41768e21
--- /dev/null
+++ b/doc/fontconfig-devel/fcdefaultsubstitute.html
@@ -0,0 +1,222 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcDefaultSubstitute</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternPrint"
+HREF="fcpatternprint.html"><LINK
+REL="NEXT"
+TITLE="FcNameParse"
+HREF="fcnameparse.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatternprint.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcnameparse.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCDEFAULTSUBSTITUTE"
+></A
+>FcDefaultSubstitute</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN840"
+></A
+><H2
+>Name</H2
+>FcDefaultSubstitute&nbsp;--&nbsp;Perform default substitutions in a pattern</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN843"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN844"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcDefaultSubstitute</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN851"
+></A
+><H2
+>Description</H2
+><P
+>Supplies default values for underspecified font patterns:
+<P
+></P
+><UL
+><LI
+><P
+>Patterns without a specified style or weight are set to Medium</P
+></LI
+><LI
+><P
+>Patterns without a specified style or slant are set to Roman</P
+></LI
+><LI
+><P
+>Patterns without a specified pixel size are given one computed from any
+specified point size (default 12), dpi (default 75) and scale (default 1).</P
+></LI
+></UL
+>
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatternprint.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcnameparse.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternPrint</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcNameParse</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcdircacheclean.html b/doc/fontconfig-devel/fcdircacheclean.html
new file mode 100644
index 00000000..f3f8903e
--- /dev/null
+++ b/doc/fontconfig-devel/fcdircacheclean.html
@@ -0,0 +1,224 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcDirCacheClean</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCache routines"
+HREF="x102.html#AEN4145"><LINK
+REL="PREVIOUS"
+TITLE="FcCacheNumFont"
+HREF="fccachenumfont.html"><LINK
+REL="NEXT"
+TITLE="FcCacheCreateTagFile"
+HREF="fccachecreatetagfile.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccachenumfont.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fccachecreatetagfile.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCDIRCACHECLEAN"
+></A
+>FcDirCacheClean</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4259"
+></A
+><H2
+>Name</H2
+>FcDirCacheClean&nbsp;--&nbsp;This tries to clean up the cache directory of <TT
+CLASS="PARAMETER"
+><I
+>cache_dir</I
+></TT
+>.
+This returns FcTrue if the operation is successfully complete. otherwise FcFalse.</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4263"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4264"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcDirCacheClean</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>cache_dir</I
+></TT
+>, FcBool<TT
+CLASS="PARAMETER"
+><I
+>verbose</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4273"
+></A
+><H2
+>Description</H2
+><P
+>&#13; </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4276"
+></A
+><H2
+>Since</H2
+><P
+>version 2.9.91</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccachenumfont.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fccachecreatetagfile.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCacheNumFont</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4145"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcCacheCreateTagFile</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcdircacheload.html b/doc/fontconfig-devel/fcdircacheload.html
new file mode 100644
index 00000000..b3c303e6
--- /dev/null
+++ b/doc/fontconfig-devel/fcdircacheload.html
@@ -0,0 +1,227 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcDirCacheLoad</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="File and Directory routines"
+HREF="x102.html#AEN3867"><LINK
+REL="PREVIOUS"
+TITLE="FcDirCacheValid"
+HREF="fcdircachevalid.html"><LINK
+REL="NEXT"
+TITLE="FcDirCacheRescan"
+HREF="fcdircacherescan.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcdircachevalid.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcdircacherescan.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCDIRCACHELOAD"
+></A
+>FcDirCacheLoad</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4032"
+></A
+><H2
+>Name</H2
+>FcDirCacheLoad&nbsp;--&nbsp;load a directory cache</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4035"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4036"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcCache * <TT
+CLASS="FUNCTION"
+>FcDirCacheLoad</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+>, FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, FcChar8 **<TT
+CLASS="PARAMETER"
+><I
+>cache_file</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4047"
+></A
+><H2
+>Description</H2
+><P
+>Loads the cache related to <TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+>. If no cache file
+exists, returns NULL. The name of the cache file is returned in
+<TT
+CLASS="PARAMETER"
+><I
+>cache_file</I
+></TT
+>, unless that is NULL. See also
+FcDirCacheRead.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcdircachevalid.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcdircacherescan.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcDirCacheValid</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3867"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcDirCacheRescan</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcdircacheloadfile.html b/doc/fontconfig-devel/fcdircacheloadfile.html
new file mode 100644
index 00000000..177e7d07
--- /dev/null
+++ b/doc/fontconfig-devel/fcdircacheloadfile.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcDirCacheLoadFile</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="File and Directory routines"
+HREF="x102.html#AEN3867"><LINK
+REL="PREVIOUS"
+TITLE="FcDirCacheRead"
+HREF="fcdircacheread.html"><LINK
+REL="NEXT"
+TITLE="FcDirCacheUnload"
+HREF="fcdircacheunload.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcdircacheread.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcdircacheunload.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCDIRCACHELOADFILE"
+></A
+>FcDirCacheLoadFile</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4107"
+></A
+><H2
+>Name</H2
+>FcDirCacheLoadFile&nbsp;--&nbsp;load a cache file</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4110"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4111"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcCache * <TT
+CLASS="FUNCTION"
+>FcDirCacheLoadFile</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>cache_file</I
+></TT
+>, struct stat *<TT
+CLASS="PARAMETER"
+><I
+>file_stat</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4120"
+></A
+><H2
+>Description</H2
+><P
+>This function loads a directory cache from
+<TT
+CLASS="PARAMETER"
+><I
+>cache_file</I
+></TT
+>. If <TT
+CLASS="PARAMETER"
+><I
+>file_stat</I
+></TT
+> is
+non-NULL, it will be filled with the results of stat(2) on the cache file.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcdircacheread.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcdircacheunload.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcDirCacheRead</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3867"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcDirCacheUnload</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcdircacheread.html b/doc/fontconfig-devel/fcdircacheread.html
new file mode 100644
index 00000000..e08b7e1b
--- /dev/null
+++ b/doc/fontconfig-devel/fcdircacheread.html
@@ -0,0 +1,227 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcDirCacheRead</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="File and Directory routines"
+HREF="x102.html#AEN3867"><LINK
+REL="PREVIOUS"
+TITLE="FcDirCacheRescan"
+HREF="fcdircacherescan.html"><LINK
+REL="NEXT"
+TITLE="FcDirCacheLoadFile"
+HREF="fcdircacheloadfile.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcdircacherescan.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcdircacheloadfile.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCDIRCACHEREAD"
+></A
+>FcDirCacheRead</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4082"
+></A
+><H2
+>Name</H2
+>FcDirCacheRead&nbsp;--&nbsp;read or construct a directory cache</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4085"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4086"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcCache * <TT
+CLASS="FUNCTION"
+>FcDirCacheRead</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+>, FcBool <TT
+CLASS="PARAMETER"
+><I
+>force</I
+></TT
+>, FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4097"
+></A
+><H2
+>Description</H2
+><P
+>This returns a cache for <TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+>. If
+<TT
+CLASS="PARAMETER"
+><I
+>force</I
+></TT
+> is FcFalse, then an existing, valid cache file
+will be used. Otherwise, a new cache will be created by scanning the
+directory and that returned.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcdircacherescan.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcdircacheloadfile.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcDirCacheRescan</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3867"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcDirCacheLoadFile</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcdircacherescan.html b/doc/fontconfig-devel/fcdircacherescan.html
new file mode 100644
index 00000000..20e90273
--- /dev/null
+++ b/doc/fontconfig-devel/fcdircacherescan.html
@@ -0,0 +1,225 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcDirCacheRescan</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="File and Directory routines"
+HREF="x102.html#AEN3867"><LINK
+REL="PREVIOUS"
+TITLE="FcDirCacheLoad"
+HREF="fcdircacheload.html"><LINK
+REL="NEXT"
+TITLE="FcDirCacheRead"
+HREF="fcdircacheread.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcdircacheload.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcdircacheread.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCDIRCACHERESCAN"
+></A
+>FcDirCacheRescan</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4057"
+></A
+><H2
+>Name</H2
+>FcDirCacheRescan&nbsp;--&nbsp;Re-scan a directory cache</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4060"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4061"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcCache * <TT
+CLASS="FUNCTION"
+>FcDirCacheRescan</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+>, FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4070"
+></A
+><H2
+>Description</H2
+><P
+>Re-scan directories only at <TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+> and update the cache.
+returns NULL if failed.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4074"
+></A
+><H2
+>Since</H2
+><P
+>version 2.11.1</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcdircacheload.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcdircacheread.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcDirCacheLoad</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3867"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcDirCacheRead</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcdircacheunlink.html b/doc/fontconfig-devel/fcdircacheunlink.html
new file mode 100644
index 00000000..d7428bc1
--- /dev/null
+++ b/doc/fontconfig-devel/fcdircacheunlink.html
@@ -0,0 +1,227 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcDirCacheUnlink</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="File and Directory routines"
+HREF="x102.html#AEN3867"><LINK
+REL="PREVIOUS"
+TITLE="FcDirSave"
+HREF="fcdirsave.html"><LINK
+REL="NEXT"
+TITLE="FcDirCacheValid"
+HREF="fcdircachevalid.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcdirsave.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcdircachevalid.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCDIRCACHEUNLINK"
+></A
+>FcDirCacheUnlink</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3988"
+></A
+><H2
+>Name</H2
+>FcDirCacheUnlink&nbsp;--&nbsp;Remove all caches related to <TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+></DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3992"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3993"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcDirCacheUnlink</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+>, FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4002"
+></A
+><H2
+>Description</H2
+><P
+>Scans the cache directories in <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, removing any
+instances of the cache file for <TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+>. Returns FcFalse
+when some internal error occurs (out of memory, etc). Errors actually
+unlinking any files are ignored.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcdirsave.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcdircachevalid.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcDirSave</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3867"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcDirCacheValid</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcdircacheunload.html b/doc/fontconfig-devel/fcdircacheunload.html
new file mode 100644
index 00000000..10b312e3
--- /dev/null
+++ b/doc/fontconfig-devel/fcdircacheunload.html
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcDirCacheUnload</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="File and Directory routines"
+HREF="x102.html#AEN3867"><LINK
+REL="PREVIOUS"
+TITLE="FcDirCacheLoadFile"
+HREF="fcdircacheloadfile.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcdircacheloadfile.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCDIRCACHEUNLOAD"
+></A
+>FcDirCacheUnload</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4130"
+></A
+><H2
+>Name</H2
+>FcDirCacheUnload&nbsp;--&nbsp;unload a cache file</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4133"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4134"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcDirCacheUnload</TT
+></CODE
+>(FcCache *<TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4141"
+></A
+><H2
+>Description</H2
+><P
+>This function dereferences <TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+>. When no other
+references to it remain, all memory associated with the cache will be freed.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcdircacheloadfile.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcDirCacheLoadFile</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3867"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcdircachevalid.html b/doc/fontconfig-devel/fcdircachevalid.html
new file mode 100644
index 00000000..02feead3
--- /dev/null
+++ b/doc/fontconfig-devel/fcdircachevalid.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcDirCacheValid</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="File and Directory routines"
+HREF="x102.html#AEN3867"><LINK
+REL="PREVIOUS"
+TITLE="FcDirCacheUnlink"
+HREF="fcdircacheunlink.html"><LINK
+REL="NEXT"
+TITLE="FcDirCacheLoad"
+HREF="fcdircacheload.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcdircacheunlink.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcdircacheload.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCDIRCACHEVALID"
+></A
+>FcDirCacheValid</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4012"
+></A
+><H2
+>Name</H2
+>FcDirCacheValid&nbsp;--&nbsp;check directory cache</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4015"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4016"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcDirCacheValid</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4023"
+></A
+><H2
+>Description</H2
+><P
+>Returns FcTrue if <TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+> has an associated valid cache
+file, else returns FcFalse
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcdircacheunlink.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcdircacheload.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcDirCacheUnlink</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3867"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcDirCacheLoad</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcdirsave.html b/doc/fontconfig-devel/fcdirsave.html
new file mode 100644
index 00000000..c57cca22
--- /dev/null
+++ b/doc/fontconfig-devel/fcdirsave.html
@@ -0,0 +1,233 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcDirSave</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="File and Directory routines"
+HREF="x102.html#AEN3867"><LINK
+REL="PREVIOUS"
+TITLE="FcDirScan"
+HREF="fcdirscan.html"><LINK
+REL="NEXT"
+TITLE="FcDirCacheUnlink"
+HREF="fcdircacheunlink.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcdirscan.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcdircacheunlink.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCDIRSAVE"
+></A
+>FcDirSave</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3962"
+></A
+><H2
+>Name</H2
+>FcDirSave&nbsp;--&nbsp;DEPRECATED: formerly used to save a directory cache</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3965"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3966"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcDirSave</TT
+></CODE
+>(FcFontSet *<TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>, FcStrSet *<TT
+CLASS="PARAMETER"
+><I
+>dirs</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3977"
+></A
+><H2
+>Description</H2
+><P
+>This function now does nothing aside from returning FcFalse. It used to creates the
+per-directory cache file for <TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+> and populates it
+with the fonts in <TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+> and subdirectories in
+<TT
+CLASS="PARAMETER"
+><I
+>dirs</I
+></TT
+>. All of this functionality is now automatically
+managed by FcDirCacheLoad and FcDirCacheRead.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcdirscan.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcdircacheunlink.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcDirScan</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3867"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcDirCacheUnlink</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcdirscan.html b/doc/fontconfig-devel/fcdirscan.html
new file mode 100644
index 00000000..d424cf90
--- /dev/null
+++ b/doc/fontconfig-devel/fcdirscan.html
@@ -0,0 +1,254 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcDirScan</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="File and Directory routines"
+HREF="x102.html#AEN3867"><LINK
+REL="PREVIOUS"
+TITLE="FcFileIsDir"
+HREF="fcfileisdir.html"><LINK
+REL="NEXT"
+TITLE="FcDirSave"
+HREF="fcdirsave.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfileisdir.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcdirsave.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCDIRSCAN"
+></A
+>FcDirScan</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3929"
+></A
+><H2
+>Name</H2
+>FcDirScan&nbsp;--&nbsp;scan a font directory without caching it</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3932"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3933"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcDirScan</TT
+></CODE
+>(FcFontSet *<TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>, FcStrSet *<TT
+CLASS="PARAMETER"
+><I
+>dirs</I
+></TT
+>, FcFileCache *<TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+>, FcBlanks *<TT
+CLASS="PARAMETER"
+><I
+>blanks</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+>, FcBool <TT
+CLASS="PARAMETER"
+><I
+>force</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3950"
+></A
+><H2
+>Description</H2
+><P
+>If <TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+> is not zero or if <TT
+CLASS="PARAMETER"
+><I
+>force</I
+></TT
+>
+is FcFalse, this function currently returns FcFalse. Otherwise, it scans an
+entire directory and adds all fonts found to <TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>.
+Any subdirectories found are added to <TT
+CLASS="PARAMETER"
+><I
+>dirs</I
+></TT
+>. Calling
+this function does not create any cache files. Use FcDirCacheRead() if
+caching is desired.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfileisdir.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcdirsave.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFileIsDir</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3867"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcDirSave</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfileisdir.html b/doc/fontconfig-devel/fcfileisdir.html
new file mode 100644
index 00000000..61f0ffd5
--- /dev/null
+++ b/doc/fontconfig-devel/fcfileisdir.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFileIsDir</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="File and Directory routines"
+HREF="x102.html#AEN3867"><LINK
+REL="PREVIOUS"
+TITLE="FcFileScan"
+HREF="fcfilescan.html"><LINK
+REL="NEXT"
+TITLE="FcDirScan"
+HREF="fcdirscan.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfilescan.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcdirscan.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFILEISDIR"
+></A
+>FcFileIsDir</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3909"
+></A
+><H2
+>Name</H2
+>FcFileIsDir&nbsp;--&nbsp;check whether a file is a directory</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3912"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3913"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcFileIsDir</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3920"
+></A
+><H2
+>Description</H2
+><P
+>Returns FcTrue if <TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+> is a directory, otherwise
+returns FcFalse.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfilescan.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcdirscan.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFileScan</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3867"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcDirScan</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfilescan.html b/doc/fontconfig-devel/fcfilescan.html
new file mode 100644
index 00000000..448ea1b8
--- /dev/null
+++ b/doc/fontconfig-devel/fcfilescan.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFileScan</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="File and Directory routines"
+HREF="x102.html#AEN3867"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcFileIsDir"
+HREF="fcfileisdir.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfileisdir.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFILESCAN"
+></A
+>FcFileScan</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3875"
+></A
+><H2
+>Name</H2
+>FcFileScan&nbsp;--&nbsp;scan a font file</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3878"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3879"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcFileScan</TT
+></CODE
+>(FcFontSet *<TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>, FcStrSet *<TT
+CLASS="PARAMETER"
+><I
+>dirs</I
+></TT
+>, FcFileCache *<TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+>, FcBlanks *<TT
+CLASS="PARAMETER"
+><I
+>blanks</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+>, FcBool <TT
+CLASS="PARAMETER"
+><I
+>force</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3896"
+></A
+><H2
+>Description</H2
+><P
+>Scans a single file and adds all fonts found to <TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>.
+If <TT
+CLASS="PARAMETER"
+><I
+>force</I
+></TT
+> is FcTrue, then the file is scanned even if
+associated information is found in <TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+>. If
+<TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+> is a directory, it is added to
+<TT
+CLASS="PARAMETER"
+><I
+>dirs</I
+></TT
+>. Whether fonts are found depends on fontconfig
+policy as well as the current configuration. Internally, fontconfig will
+ignore BDF and PCF fonts which are not in Unicode (or the effectively
+equivalent ISO Latin-1) encoding as those are not usable by Unicode-based
+applications. The configuration can ignore fonts based on filename or
+contents of the font file itself. Returns FcFalse if any of the fonts cannot be
+added (due to allocation failure). Otherwise returns FcTrue.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfileisdir.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3867"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFileIsDir</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfini.html b/doc/fontconfig-devel/fcfini.html
new file mode 100644
index 00000000..364242f4
--- /dev/null
+++ b/doc/fontconfig-devel/fcfini.html
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFini</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="Initialization"
+HREF="x102.html#AEN105"><LINK
+REL="PREVIOUS"
+TITLE="FcInit"
+HREF="fcinit.html"><LINK
+REL="NEXT"
+TITLE="FcGetVersion"
+HREF="fcgetversion.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcinit.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcgetversion.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFINI"
+></A
+>FcFini</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN170"
+></A
+><H2
+>Name</H2
+>FcFini&nbsp;--&nbsp;finalize fontconfig library</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN173"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN174"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcFini</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN181"
+></A
+><H2
+>Description</H2
+><P
+>Frees all data structures allocated by previous calls to fontconfig
+functions. Fontconfig returns to an uninitialized state, requiring a
+new call to one of the FcInit functions before any other fontconfig
+function may be called.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcinit.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcgetversion.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcInit</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN105"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcGetVersion</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfontlist.html b/doc/fontconfig-devel/fcfontlist.html
new file mode 100644
index 00000000..566bb1d2
--- /dev/null
+++ b/doc/fontconfig-devel/fcfontlist.html
@@ -0,0 +1,232 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFontList</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcFontRenderPrepare"
+HREF="fcfontrenderprepare.html"><LINK
+REL="NEXT"
+TITLE="FcConfigFilename"
+HREF="fcconfigfilename.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfontrenderprepare.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfigfilename.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFONTLIST"
+></A
+>FcFontList</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3308"
+></A
+><H2
+>Name</H2
+>FcFontList&nbsp;--&nbsp;List fonts</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3311"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3312"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcFontSet * <TT
+CLASS="FUNCTION"
+>FcFontList</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, FcObjectSet *<TT
+CLASS="PARAMETER"
+><I
+>os</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3323"
+></A
+><H2
+>Description</H2
+><P
+>Selects fonts matching <TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, creates patterns from those fonts containing
+only the objects in <TT
+CLASS="PARAMETER"
+><I
+>os</I
+></TT
+> and returns the set of unique such patterns.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the default configuration is checked
+to be up to date, and used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfontrenderprepare.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfigfilename.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFontRenderPrepare</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigFilename</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfontmatch.html b/doc/fontconfig-devel/fcfontmatch.html
new file mode 100644
index 00000000..3d10a7a7
--- /dev/null
+++ b/doc/fontconfig-devel/fcfontmatch.html
@@ -0,0 +1,250 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFontMatch</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigSubstitute"
+HREF="fcconfigsubstitute.html"><LINK
+REL="NEXT"
+TITLE="FcFontSort"
+HREF="fcfontsort.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigsubstitute.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfontsort.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFONTMATCH"
+></A
+>FcFontMatch</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3212"
+></A
+><H2
+>Name</H2
+>FcFontMatch&nbsp;--&nbsp;Return best font</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3215"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3216"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcPattern * <TT
+CLASS="FUNCTION"
+>FcFontMatch</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, FcResult *<TT
+CLASS="PARAMETER"
+><I
+>result</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3227"
+></A
+><H2
+>Description</H2
+><P
+>Finds the font in <TT
+CLASS="PARAMETER"
+><I
+>sets</I
+></TT
+> most closely matching
+<TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+> and returns the result of
+<TT
+CLASS="FUNCTION"
+>FcFontRenderPrepare</TT
+> for that font and the provided
+pattern. This function should be called only after
+<TT
+CLASS="FUNCTION"
+>FcConfigSubstitute</TT
+> and
+<TT
+CLASS="FUNCTION"
+>FcDefaultSubstitute</TT
+> have been called for
+<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>; otherwise the results will not be correct.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the current configuration is used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigsubstitute.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfontsort.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigSubstitute</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFontSort</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfontrenderprepare.html b/doc/fontconfig-devel/fcfontrenderprepare.html
new file mode 100644
index 00000000..bec94843
--- /dev/null
+++ b/doc/fontconfig-devel/fcfontrenderprepare.html
@@ -0,0 +1,247 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFontRenderPrepare</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcFontSort"
+HREF="fcfontsort.html"><LINK
+REL="NEXT"
+TITLE="FcFontList"
+HREF="fcfontlist.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfontsort.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfontlist.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFONTRENDERPREPARE"
+></A
+>FcFontRenderPrepare</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3279"
+></A
+><H2
+>Name</H2
+>FcFontRenderPrepare&nbsp;--&nbsp;Prepare pattern for loading font file</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3282"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3283"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcPattern * <TT
+CLASS="FUNCTION"
+>FcFontRenderPrepare</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>pat</I
+></TT
+>, FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>font</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3294"
+></A
+><H2
+>Description</H2
+><P
+>Creates a new pattern consisting of elements of <TT
+CLASS="PARAMETER"
+><I
+>font</I
+></TT
+> not appearing
+in <TT
+CLASS="PARAMETER"
+><I
+>pat</I
+></TT
+>, elements of <TT
+CLASS="PARAMETER"
+><I
+>pat</I
+></TT
+> not appearing in <TT
+CLASS="PARAMETER"
+><I
+>font</I
+></TT
+> and the best matching
+value from <TT
+CLASS="PARAMETER"
+><I
+>pat</I
+></TT
+> for elements appearing in both. The result is passed to
+FcConfigSubstituteWithPat with <TT
+CLASS="PARAMETER"
+><I
+>kind</I
+></TT
+> FcMatchFont and then returned.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfontsort.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfontlist.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFontSort</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFontList</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfontsetadd.html b/doc/fontconfig-devel/fcfontsetadd.html
new file mode 100644
index 00000000..abc25616
--- /dev/null
+++ b/doc/fontconfig-devel/fcfontsetadd.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFontSetAdd</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcFontSet"
+HREF="x102.html#AEN1031"><LINK
+REL="PREVIOUS"
+TITLE="FcFontSetDestroy"
+HREF="fcfontsetdestroy.html"><LINK
+REL="NEXT"
+TITLE="FcFontSetList"
+HREF="fcfontsetlist.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfontsetdestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfontsetlist.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFONTSETADD"
+></A
+>FcFontSetAdd</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1077"
+></A
+><H2
+>Name</H2
+>FcFontSetAdd&nbsp;--&nbsp;Add to a font set</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1080"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1081"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcFontSetAdd</TT
+></CODE
+>(FcFontSet *<TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+>, FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>font</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1090"
+></A
+><H2
+>Description</H2
+><P
+>Adds a pattern to a font set. Note that the pattern is not copied before
+being inserted into the set. Returns FcFalse if the pattern cannot be
+inserted into the set (due to allocation failure). Otherwise returns FcTrue.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfontsetdestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfontsetlist.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFontSetDestroy</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1031"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFontSetList</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfontsetcreate.html b/doc/fontconfig-devel/fcfontsetcreate.html
new file mode 100644
index 00000000..54f75272
--- /dev/null
+++ b/doc/fontconfig-devel/fcfontsetcreate.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFontSetCreate</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcFontSet"
+HREF="x102.html#AEN1031"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcFontSetDestroy"
+HREF="fcfontsetdestroy.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfontsetdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFONTSETCREATE"
+></A
+>FcFontSetCreate</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1039"
+></A
+><H2
+>Name</H2
+>FcFontSetCreate&nbsp;--&nbsp;Create a font set</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1042"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1043"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcFontSet * <TT
+CLASS="FUNCTION"
+>FcFontSetCreate</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1050"
+></A
+><H2
+>Description</H2
+><P
+>Creates an empty font set.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfontsetdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1031"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFontSetDestroy</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfontsetdestroy.html b/doc/fontconfig-devel/fcfontsetdestroy.html
new file mode 100644
index 00000000..be54e6e9
--- /dev/null
+++ b/doc/fontconfig-devel/fcfontsetdestroy.html
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFontSetDestroy</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcFontSet"
+HREF="x102.html#AEN1031"><LINK
+REL="PREVIOUS"
+TITLE="FcFontSetCreate"
+HREF="fcfontsetcreate.html"><LINK
+REL="NEXT"
+TITLE="FcFontSetAdd"
+HREF="fcfontsetadd.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfontsetcreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfontsetadd.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFONTSETDESTROY"
+></A
+>FcFontSetDestroy</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1058"
+></A
+><H2
+>Name</H2
+>FcFontSetDestroy&nbsp;--&nbsp;Destroy a font set</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1061"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1062"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcFontSetDestroy</TT
+></CODE
+>(FcFontSet *<TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1069"
+></A
+><H2
+>Description</H2
+><P
+>Destroys a font set. Note that this destroys any referenced patterns as
+well.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfontsetcreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfontsetadd.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFontSetCreate</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1031"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFontSetAdd</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfontsetlist.html b/doc/fontconfig-devel/fcfontsetlist.html
new file mode 100644
index 00000000..8a82e37d
--- /dev/null
+++ b/doc/fontconfig-devel/fcfontsetlist.html
@@ -0,0 +1,249 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFontSetList</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcFontSet"
+HREF="x102.html#AEN1031"><LINK
+REL="PREVIOUS"
+TITLE="FcFontSetAdd"
+HREF="fcfontsetadd.html"><LINK
+REL="NEXT"
+TITLE="FcFontSetMatch"
+HREF="fcfontsetmatch.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfontsetadd.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfontsetmatch.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFONTSETLIST"
+></A
+>FcFontSetList</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1098"
+></A
+><H2
+>Name</H2
+>FcFontSetList&nbsp;--&nbsp;List fonts from a set of font sets</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1101"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1102"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcFontSet * <TT
+CLASS="FUNCTION"
+>FcFontSetList</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, FcFontSet **<TT
+CLASS="PARAMETER"
+><I
+>sets</I
+></TT
+>, int<TT
+CLASS="PARAMETER"
+><I
+>nsets</I
+></TT
+>, FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+>, FcObjectSet *<TT
+CLASS="PARAMETER"
+><I
+>object_set</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1117"
+></A
+><H2
+>Description</H2
+><P
+>Selects fonts matching <TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+> from
+<TT
+CLASS="PARAMETER"
+><I
+>sets</I
+></TT
+>, creates patterns from those
+fonts containing only the objects in <TT
+CLASS="PARAMETER"
+><I
+>object_set</I
+></TT
+> and returns
+the set of unique such patterns.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the default configuration is checked
+to be up to date, and used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfontsetadd.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfontsetmatch.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFontSetAdd</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1031"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFontSetMatch</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfontsetmatch.html b/doc/fontconfig-devel/fcfontsetmatch.html
new file mode 100644
index 00000000..68add42e
--- /dev/null
+++ b/doc/fontconfig-devel/fcfontsetmatch.html
@@ -0,0 +1,261 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFontSetMatch</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcFontSet"
+HREF="x102.html#AEN1031"><LINK
+REL="PREVIOUS"
+TITLE="FcFontSetList"
+HREF="fcfontsetlist.html"><LINK
+REL="NEXT"
+TITLE="FcFontSetPrint"
+HREF="fcfontsetprint.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfontsetlist.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfontsetprint.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFONTSETMATCH"
+></A
+>FcFontSetMatch</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1129"
+></A
+><H2
+>Name</H2
+>FcFontSetMatch&nbsp;--&nbsp;Return the best font from a set of font sets</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1132"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1133"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcPattern * <TT
+CLASS="FUNCTION"
+>FcFontSetMatch</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, FcFontSet **<TT
+CLASS="PARAMETER"
+><I
+>sets</I
+></TT
+>, int<TT
+CLASS="PARAMETER"
+><I
+>nsets</I
+></TT
+>, FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+>, FcResult *<TT
+CLASS="PARAMETER"
+><I
+>result</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1148"
+></A
+><H2
+>Description</H2
+><P
+>Finds the font in <TT
+CLASS="PARAMETER"
+><I
+>sets</I
+></TT
+> most closely matching
+<TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+> and returns the result of
+<TT
+CLASS="FUNCTION"
+>FcFontRenderPrepare</TT
+> for that font and the provided
+pattern. This function should be called only after
+<TT
+CLASS="FUNCTION"
+>FcConfigSubstitute</TT
+> and
+<TT
+CLASS="FUNCTION"
+>FcDefaultSubstitute</TT
+> have been called for
+<TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+>; otherwise the results will not be correct.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the current configuration is used.
+Returns NULL if an error occurs during this process.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfontsetlist.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfontsetprint.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFontSetList</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1031"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFontSetPrint</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfontsetprint.html b/doc/fontconfig-devel/fcfontsetprint.html
new file mode 100644
index 00000000..615f697c
--- /dev/null
+++ b/doc/fontconfig-devel/fcfontsetprint.html
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFontSetPrint</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcFontSet"
+HREF="x102.html#AEN1031"><LINK
+REL="PREVIOUS"
+TITLE="FcFontSetMatch"
+HREF="fcfontsetmatch.html"><LINK
+REL="NEXT"
+TITLE="FcFontSetSort"
+HREF="fcfontsetsort.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfontsetmatch.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfontsetsort.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFONTSETPRINT"
+></A
+>FcFontSetPrint</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1163"
+></A
+><H2
+>Name</H2
+>FcFontSetPrint&nbsp;--&nbsp;Print a set of patterns to stdout</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1166"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1167"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcFontSetPrint</TT
+></CODE
+>(FcFontSet *<TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1174"
+></A
+><H2
+>Description</H2
+><P
+>This function is useful for diagnosing font related issues, printing the
+complete contents of every pattern in <TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>. The format
+of the output is designed to be of help to users and developers, and may
+change at any time.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfontsetmatch.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfontsetsort.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFontSetMatch</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1031"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFontSetSort</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfontsetsort.html b/doc/fontconfig-devel/fcfontsetsort.html
new file mode 100644
index 00000000..c06a8103
--- /dev/null
+++ b/doc/fontconfig-devel/fcfontsetsort.html
@@ -0,0 +1,291 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFontSetSort</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcFontSet"
+HREF="x102.html#AEN1031"><LINK
+REL="PREVIOUS"
+TITLE="FcFontSetPrint"
+HREF="fcfontsetprint.html"><LINK
+REL="NEXT"
+TITLE="FcFontSetSortDestroy"
+HREF="fcfontsetsortdestroy.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfontsetprint.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfontsetsortdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFONTSETSORT"
+></A
+>FcFontSetSort</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1183"
+></A
+><H2
+>Name</H2
+>FcFontSetSort&nbsp;--&nbsp;Add to a font set</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1186"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1187"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+> <TT
+CLASS="FUNCTION"
+>FcFontSetSort</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, FcFontSet **<TT
+CLASS="PARAMETER"
+><I
+>sets</I
+></TT
+>, int<TT
+CLASS="PARAMETER"
+><I
+>nsets</I
+></TT
+>, FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+>, FcBool <TT
+CLASS="PARAMETER"
+><I
+>trim</I
+></TT
+>, FcCharSet **<TT
+CLASS="PARAMETER"
+><I
+>csp</I
+></TT
+>, FcResult *<TT
+CLASS="PARAMETER"
+><I
+>result</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1206"
+></A
+><H2
+>Description</H2
+><P
+>Returns the list of fonts from <TT
+CLASS="PARAMETER"
+><I
+>sets</I
+></TT
+>
+sorted by closeness to <TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+>.
+If <TT
+CLASS="PARAMETER"
+><I
+>trim</I
+></TT
+> is FcTrue,
+elements in the list which don't include Unicode coverage not provided by
+earlier elements in the list are elided. The union of Unicode coverage of
+all of the fonts is returned in <TT
+CLASS="PARAMETER"
+><I
+>csp</I
+></TT
+>,
+if <TT
+CLASS="PARAMETER"
+><I
+>csp</I
+></TT
+> is not NULL. This function
+should be called only after FcConfigSubstitute and FcDefaultSubstitute have
+been called for <TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>;
+otherwise the results will not be correct.
+ </P
+><P
+>The returned FcFontSet references FcPattern structures which may be shared
+by the return value from multiple FcFontSort calls, applications cannot
+modify these patterns. Instead, they should be passed, along with
+<TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+> to
+<TT
+CLASS="FUNCTION"
+>FcFontRenderPrepare</TT
+> which combines them into a complete pattern.
+ </P
+><P
+>The FcFontSet returned by FcFontSetSort is destroyed by calling FcFontSetDestroy.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfontsetprint.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfontsetsortdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFontSetPrint</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1031"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFontSetSortDestroy</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfontsetsortdestroy.html b/doc/fontconfig-devel/fcfontsetsortdestroy.html
new file mode 100644
index 00000000..5a5e5b21
--- /dev/null
+++ b/doc/fontconfig-devel/fcfontsetsortdestroy.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFontSetSortDestroy</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcFontSet"
+HREF="x102.html#AEN1031"><LINK
+REL="PREVIOUS"
+TITLE="FcFontSetSort"
+HREF="fcfontsetsort.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfontsetsort.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFONTSETSORTDESTROY"
+></A
+>FcFontSetSortDestroy</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1224"
+></A
+><H2
+>Name</H2
+>FcFontSetSortDestroy&nbsp;--&nbsp;DEPRECATED destroy a font set</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1227"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1228"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+> <TT
+CLASS="FUNCTION"
+>FcFontSetSortDestroy</TT
+></CODE
+>(FcFontSet *<TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1235"
+></A
+><H2
+>Description</H2
+><P
+>This function is DEPRECATED. <TT
+CLASS="FUNCTION"
+>FcFontSetSortDestroy</TT
+>
+destroys <TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+> by calling
+<TT
+CLASS="FUNCTION"
+>FcFontSetDestroy</TT
+>. Applications should use
+<TT
+CLASS="FUNCTION"
+>FcFontSetDestroy</TT
+> directly instead.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfontsetsort.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFontSetSort</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1031"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfontsort.html b/doc/fontconfig-devel/fcfontsort.html
new file mode 100644
index 00000000..9352d4e0
--- /dev/null
+++ b/doc/fontconfig-devel/fcfontsort.html
@@ -0,0 +1,277 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFontSort</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x102.html#AEN2718"><LINK
+REL="PREVIOUS"
+TITLE="FcFontMatch"
+HREF="fcfontmatch.html"><LINK
+REL="NEXT"
+TITLE="FcFontRenderPrepare"
+HREF="fcfontrenderprepare.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfontmatch.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfontrenderprepare.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFONTSORT"
+></A
+>FcFontSort</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3242"
+></A
+><H2
+>Name</H2
+>FcFontSort&nbsp;--&nbsp;Return list of matching fonts</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3245"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3246"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcFontSet * <TT
+CLASS="FUNCTION"
+>FcFontSort</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, FcBool <TT
+CLASS="PARAMETER"
+><I
+>trim</I
+></TT
+>, FcCharSet **<TT
+CLASS="PARAMETER"
+><I
+>csp</I
+></TT
+>, FcResult *<TT
+CLASS="PARAMETER"
+><I
+>result</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3261"
+></A
+><H2
+>Description</H2
+><P
+>Returns the list of fonts sorted by closeness to <TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>. If <TT
+CLASS="PARAMETER"
+><I
+>trim</I
+></TT
+> is FcTrue,
+elements in the list which don't include Unicode coverage not provided by
+earlier elements in the list are elided. The union of Unicode coverage of
+all of the fonts is returned in <TT
+CLASS="PARAMETER"
+><I
+>csp</I
+></TT
+>, if <TT
+CLASS="PARAMETER"
+><I
+>csp</I
+></TT
+> is not NULL. This function
+should be called only after FcConfigSubstitute and FcDefaultSubstitute have
+been called for <TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>; otherwise the results will not be correct.
+ </P
+><P
+>The returned FcFontSet references FcPattern structures which may be shared
+by the return value from multiple FcFontSort calls, applications must not
+modify these patterns. Instead, they should be passed, along with <TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+> to
+<TT
+CLASS="FUNCTION"
+>FcFontRenderPrepare</TT
+> which combines them into a complete pattern.
+ </P
+><P
+>The FcFontSet returned by FcFontSort is destroyed by calling FcFontSetDestroy.
+If <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> is NULL, the current configuration is used.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfontmatch.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfontrenderprepare.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFontMatch</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2718"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFontRenderPrepare</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfreetypecharindex.html b/doc/fontconfig-devel/fcfreetypecharindex.html
new file mode 100644
index 00000000..845209b8
--- /dev/null
+++ b/doc/fontconfig-devel/fcfreetypecharindex.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFreeTypeCharIndex</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FreeType specific functions"
+HREF="x102.html#AEN1344"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcFreeTypeCharSet"
+HREF="fcfreetypecharset.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfreetypecharset.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFREETYPECHARINDEX"
+></A
+>FcFreeTypeCharIndex</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1352"
+></A
+><H2
+>Name</H2
+>FcFreeTypeCharIndex&nbsp;--&nbsp;map Unicode to glyph id</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1355"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1356"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig.h&#62;
+#include &#60;fcfreetype.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FT_UInt <TT
+CLASS="FUNCTION"
+>FcFreeTypeCharIndex</TT
+></CODE
+>(FT_Face <TT
+CLASS="PARAMETER"
+><I
+>face</I
+></TT
+>, FcChar32 <TT
+CLASS="PARAMETER"
+><I
+>ucs4</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1365"
+></A
+><H2
+>Description</H2
+><P
+>Maps a Unicode char to a glyph index. This function uses information from
+several possible underlying encoding tables to work around broken fonts.
+As a result, this function isn't designed to be used in performance
+sensitive areas; results from this function are intended to be cached by
+higher level functions.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfreetypecharset.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1344"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFreeTypeCharSet</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfreetypecharset.html b/doc/fontconfig-devel/fcfreetypecharset.html
new file mode 100644
index 00000000..a40b5206
--- /dev/null
+++ b/doc/fontconfig-devel/fcfreetypecharset.html
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFreeTypeCharSet</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FreeType specific functions"
+HREF="x102.html#AEN1344"><LINK
+REL="PREVIOUS"
+TITLE="FcFreeTypeCharIndex"
+HREF="fcfreetypecharindex.html"><LINK
+REL="NEXT"
+TITLE="FcFreeTypeCharSetAndSpacing"
+HREF="fcfreetypecharsetandspacing.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfreetypecharindex.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfreetypecharsetandspacing.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFREETYPECHARSET"
+></A
+>FcFreeTypeCharSet</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1373"
+></A
+><H2
+>Name</H2
+>FcFreeTypeCharSet&nbsp;--&nbsp;compute Unicode coverage</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1376"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1377"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig.h&#62;
+#include &#60;fcfreetype.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcCharSet * <TT
+CLASS="FUNCTION"
+>FcFreeTypeCharSet</TT
+></CODE
+>(FT_Face <TT
+CLASS="PARAMETER"
+><I
+>face</I
+></TT
+>, FcBlanks *<TT
+CLASS="PARAMETER"
+><I
+>blanks</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1386"
+></A
+><H2
+>Description</H2
+><P
+>Scans a FreeType face and returns the set of encoded Unicode chars. This scans
+several encoding tables to build as complete a list as possible.
+If 'blanks' is not 0, the glyphs in the font are examined and any blank glyphs
+not in 'blanks' are not placed in the returned FcCharSet.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfreetypecharindex.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfreetypecharsetandspacing.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFreeTypeCharIndex</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1344"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFreeTypeCharSetAndSpacing</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfreetypecharsetandspacing.html b/doc/fontconfig-devel/fcfreetypecharsetandspacing.html
new file mode 100644
index 00000000..76eff8b6
--- /dev/null
+++ b/doc/fontconfig-devel/fcfreetypecharsetandspacing.html
@@ -0,0 +1,229 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFreeTypeCharSetAndSpacing</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FreeType specific functions"
+HREF="x102.html#AEN1344"><LINK
+REL="PREVIOUS"
+TITLE="FcFreeTypeCharSet"
+HREF="fcfreetypecharset.html"><LINK
+REL="NEXT"
+TITLE="FcFreeTypeQuery"
+HREF="fcfreetypequery.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfreetypecharset.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfreetypequery.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFREETYPECHARSETANDSPACING"
+></A
+>FcFreeTypeCharSetAndSpacing</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1394"
+></A
+><H2
+>Name</H2
+>FcFreeTypeCharSetAndSpacing&nbsp;--&nbsp;compute Unicode coverage and spacing type</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1397"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1398"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig.h&#62;
+#include &#60;fcfreetype.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcCharSet * <TT
+CLASS="FUNCTION"
+>FcFreeTypeCharSetAndSpacing</TT
+></CODE
+>(FT_Face <TT
+CLASS="PARAMETER"
+><I
+>face</I
+></TT
+>, FcBlanks *<TT
+CLASS="PARAMETER"
+><I
+>blanks</I
+></TT
+>, int *<TT
+CLASS="PARAMETER"
+><I
+>spacing</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1409"
+></A
+><H2
+>Description</H2
+><P
+>Scans a FreeType face and returns the set of encoded Unicode chars.
+This scans
+several encoding tables to build as complete a list as possible.
+If 'blanks' is not 0, the glyphs in the font are examined and any blank glyphs
+not in 'blanks' are not placed in the returned FcCharSet.
+<TT
+CLASS="PARAMETER"
+><I
+>spacing</I
+></TT
+> receives the computed spacing type of the
+font, one of FC_MONO for a font where all glyphs have the same width,
+FC_DUAL, where the font has glyphs in precisely two widths, one twice as
+wide as the other, or FC_PROPORTIONAL where the font has glyphs of many
+widths.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfreetypecharset.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfreetypequery.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFreeTypeCharSet</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1344"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFreeTypeQuery</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfreetypequery.html b/doc/fontconfig-devel/fcfreetypequery.html
new file mode 100644
index 00000000..a7c32dad
--- /dev/null
+++ b/doc/fontconfig-devel/fcfreetypequery.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFreeTypeQuery</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FreeType specific functions"
+HREF="x102.html#AEN1344"><LINK
+REL="PREVIOUS"
+TITLE="FcFreeTypeCharSetAndSpacing"
+HREF="fcfreetypecharsetandspacing.html"><LINK
+REL="NEXT"
+TITLE="FcFreeTypeQueryFace"
+HREF="fcfreetypequeryface.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfreetypecharsetandspacing.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfreetypequeryface.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFREETYPEQUERY"
+></A
+>FcFreeTypeQuery</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1418"
+></A
+><H2
+>Name</H2
+>FcFreeTypeQuery&nbsp;--&nbsp;compute pattern from font file (and index)</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1421"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1422"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig.h&#62;
+#include &#60;fcfreetype.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcPattern * <TT
+CLASS="FUNCTION"
+>FcFreeTypeQuery</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>id</I
+></TT
+>, FcBlanks *<TT
+CLASS="PARAMETER"
+><I
+>blanks</I
+></TT
+>, int *<TT
+CLASS="PARAMETER"
+><I
+>count</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1435"
+></A
+><H2
+>Description</H2
+><P
+>Constructs a pattern representing the 'id'th font in 'file'. The number
+of fonts in 'file' is returned in 'count'.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfreetypecharsetandspacing.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfreetypequeryface.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFreeTypeCharSetAndSpacing</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1344"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFreeTypeQueryFace</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcfreetypequeryface.html b/doc/fontconfig-devel/fcfreetypequeryface.html
new file mode 100644
index 00000000..5101caf8
--- /dev/null
+++ b/doc/fontconfig-devel/fcfreetypequeryface.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFreeTypeQueryFace</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FreeType specific functions"
+HREF="x102.html#AEN1344"><LINK
+REL="PREVIOUS"
+TITLE="FcFreeTypeQuery"
+HREF="fcfreetypequery.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfreetypequery.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFREETYPEQUERYFACE"
+></A
+>FcFreeTypeQueryFace</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1443"
+></A
+><H2
+>Name</H2
+>FcFreeTypeQueryFace&nbsp;--&nbsp;compute pattern from FT_Face</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1446"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1447"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig.h&#62;
+#include &#60;fcfreetype.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcPattern * <TT
+CLASS="FUNCTION"
+>FcFreeTypeQueryFace</TT
+></CODE
+>(const FT_Face <TT
+CLASS="PARAMETER"
+><I
+>face</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>id</I
+></TT
+>, FcBlanks *<TT
+CLASS="PARAMETER"
+><I
+>blanks</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1460"
+></A
+><H2
+>Description</H2
+><P
+>Constructs a pattern representing 'face'. 'file' and 'id' are used solely as
+data for pattern elements (FC_FILE, FC_INDEX and sometimes FC_FAMILY).
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfreetypequery.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFreeTypeQuery</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1344"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcgetdefaultlangs.html b/doc/fontconfig-devel/fcgetdefaultlangs.html
new file mode 100644
index 00000000..18a4e38e
--- /dev/null
+++ b/doc/fontconfig-devel/fcgetdefaultlangs.html
@@ -0,0 +1,216 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcGetDefaultLangs</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcLangSet"
+HREF="x102.html#AEN2016"><LINK
+REL="PREVIOUS"
+TITLE="FcLangSetHasLang"
+HREF="fclangsethaslang.html"><LINK
+REL="NEXT"
+TITLE="FcLangSetGetLangs"
+HREF="fclangsetgetlangs.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fclangsethaslang.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fclangsetgetlangs.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCGETDEFAULTLANGS"
+></A
+>FcGetDefaultLangs</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2312"
+></A
+><H2
+>Name</H2
+>FcGetDefaultLangs&nbsp;--&nbsp;Get the default languages list</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2315"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2316"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcStrSet * <TT
+CLASS="FUNCTION"
+>FcGetDefaultLangs</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2323"
+></A
+><H2
+>Description</H2
+><P
+>Returns a string set of the default languages according to the environment variables on the system.
+This function looks for them in order of FC_LANG, LC_ALL, LC_CTYPE and LANG then.
+If there are no valid values in those environment variables, "en" will be set as fallback.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2326"
+></A
+><H2
+>Since</H2
+><P
+>version 2.9.91</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fclangsethaslang.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fclangsetgetlangs.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcLangSetHasLang</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2016"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcLangSetGetLangs</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcgetlangs.html b/doc/fontconfig-devel/fcgetlangs.html
new file mode 100644
index 00000000..11927b37
--- /dev/null
+++ b/doc/fontconfig-devel/fcgetlangs.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcGetLangs</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcLangSet"
+HREF="x102.html#AEN2016"><LINK
+REL="PREVIOUS"
+TITLE="FcLangSetGetLangs"
+HREF="fclangsetgetlangs.html"><LINK
+REL="NEXT"
+TITLE="FcLangNormalize"
+HREF="fclangnormalize.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fclangsetgetlangs.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fclangnormalize.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCGETLANGS"
+></A
+>FcGetLangs</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2354"
+></A
+><H2
+>Name</H2
+>FcGetLangs&nbsp;--&nbsp;Get list of languages</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2357"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2358"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcStrSet * <TT
+CLASS="FUNCTION"
+>FcGetLangs</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2365"
+></A
+><H2
+>Description</H2
+><P
+>Returns a string set of all known languages.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fclangsetgetlangs.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fclangnormalize.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcLangSetGetLangs</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2016"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcLangNormalize</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcgetversion.html b/doc/fontconfig-devel/fcgetversion.html
new file mode 100644
index 00000000..540be900
--- /dev/null
+++ b/doc/fontconfig-devel/fcgetversion.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcGetVersion</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="Initialization"
+HREF="x102.html#AEN105"><LINK
+REL="PREVIOUS"
+TITLE="FcFini"
+HREF="fcfini.html"><LINK
+REL="NEXT"
+TITLE="FcInitReinitialize"
+HREF="fcinitreinitialize.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfini.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcinitreinitialize.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCGETVERSION"
+></A
+>FcGetVersion</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN189"
+></A
+><H2
+>Name</H2
+>FcGetVersion&nbsp;--&nbsp;library version number</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN192"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN193"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>int <TT
+CLASS="FUNCTION"
+>FcGetVersion</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN200"
+></A
+><H2
+>Description</H2
+><P
+>Returns the version number of the library.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfini.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcinitreinitialize.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFini</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN105"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcInitReinitialize</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcinit.html b/doc/fontconfig-devel/fcinit.html
new file mode 100644
index 00000000..9810e771
--- /dev/null
+++ b/doc/fontconfig-devel/fcinit.html
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcInit</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="Initialization"
+HREF="x102.html#AEN105"><LINK
+REL="PREVIOUS"
+TITLE="FcInitLoadConfigAndFonts"
+HREF="fcinitloadconfigandfonts.html"><LINK
+REL="NEXT"
+TITLE="FcFini"
+HREF="fcfini.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcinitloadconfigandfonts.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfini.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCINIT"
+></A
+>FcInit</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN151"
+></A
+><H2
+>Name</H2
+>FcInit&nbsp;--&nbsp;initialize fontconfig library</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN154"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN155"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcInit</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN162"
+></A
+><H2
+>Description</H2
+><P
+>Loads the default configuration file and the fonts referenced therein and
+sets the default configuration to that result. Returns whether this
+process succeeded or not. If the default configuration has already
+been loaded, this routine does nothing and returns FcTrue.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcinitloadconfigandfonts.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfini.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcInitLoadConfigAndFonts</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN105"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFini</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcinitbringuptodate.html b/doc/fontconfig-devel/fcinitbringuptodate.html
new file mode 100644
index 00000000..bea42370
--- /dev/null
+++ b/doc/fontconfig-devel/fcinitbringuptodate.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcInitBringUptoDate</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="Initialization"
+HREF="x102.html#AEN105"><LINK
+REL="PREVIOUS"
+TITLE="FcInitReinitialize"
+HREF="fcinitreinitialize.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcinitreinitialize.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCINITBRINGUPTODATE"
+></A
+>FcInitBringUptoDate</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN227"
+></A
+><H2
+>Name</H2
+>FcInitBringUptoDate&nbsp;--&nbsp;reload configuration files if needed</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN230"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN231"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcInitBringUptoDate</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN238"
+></A
+><H2
+>Description</H2
+><P
+>Checks the rescan interval in the default configuration, checking the
+configuration if the interval has passed and reloading the configuration if
+when any changes are detected. Returns FcFalse if the configuration cannot
+be reloaded (see FcInitReinitialize). Otherwise returns FcTrue.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcinitreinitialize.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcInitReinitialize</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN105"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcinitloadconfig.html b/doc/fontconfig-devel/fcinitloadconfig.html
new file mode 100644
index 00000000..38d42d46
--- /dev/null
+++ b/doc/fontconfig-devel/fcinitloadconfig.html
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcInitLoadConfig</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="Initialization"
+HREF="x102.html#AEN105"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcInitLoadConfigAndFonts"
+HREF="fcinitloadconfigandfonts.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcinitloadconfigandfonts.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCINITLOADCONFIG"
+></A
+>FcInitLoadConfig</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN113"
+></A
+><H2
+>Name</H2
+>FcInitLoadConfig&nbsp;--&nbsp;load configuration</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN116"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN117"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcConfig * <TT
+CLASS="FUNCTION"
+>FcInitLoadConfig</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN124"
+></A
+><H2
+>Description</H2
+><P
+>Loads the default configuration file and returns the resulting configuration.
+Does not load any font information.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcinitloadconfigandfonts.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN105"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcInitLoadConfigAndFonts</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcinitloadconfigandfonts.html b/doc/fontconfig-devel/fcinitloadconfigandfonts.html
new file mode 100644
index 00000000..1b9b25f0
--- /dev/null
+++ b/doc/fontconfig-devel/fcinitloadconfigandfonts.html
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcInitLoadConfigAndFonts</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="Initialization"
+HREF="x102.html#AEN105"><LINK
+REL="PREVIOUS"
+TITLE="FcInitLoadConfig"
+HREF="fcinitloadconfig.html"><LINK
+REL="NEXT"
+TITLE="FcInit"
+HREF="fcinit.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcinitloadconfig.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcinit.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCINITLOADCONFIGANDFONTS"
+></A
+>FcInitLoadConfigAndFonts</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN132"
+></A
+><H2
+>Name</H2
+>FcInitLoadConfigAndFonts&nbsp;--&nbsp;load configuration and font data</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN135"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN136"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcConfig * <TT
+CLASS="FUNCTION"
+>FcInitLoadConfigAndFonts</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN143"
+></A
+><H2
+>Description</H2
+><P
+>Loads the default configuration file and builds information about the
+available fonts. Returns the resulting configuration.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcinitloadconfig.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcinit.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcInitLoadConfig</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN105"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcInit</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcinitreinitialize.html b/doc/fontconfig-devel/fcinitreinitialize.html
new file mode 100644
index 00000000..6436806d
--- /dev/null
+++ b/doc/fontconfig-devel/fcinitreinitialize.html
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcInitReinitialize</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="Initialization"
+HREF="x102.html#AEN105"><LINK
+REL="PREVIOUS"
+TITLE="FcGetVersion"
+HREF="fcgetversion.html"><LINK
+REL="NEXT"
+TITLE="FcInitBringUptoDate"
+HREF="fcinitbringuptodate.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcgetversion.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcinitbringuptodate.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCINITREINITIALIZE"
+></A
+>FcInitReinitialize</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN208"
+></A
+><H2
+>Name</H2
+>FcInitReinitialize&nbsp;--&nbsp;re-initialize library</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN211"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN212"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcInitReinitialize</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN219"
+></A
+><H2
+>Description</H2
+><P
+>Forces the default configuration file to be reloaded and resets the default
+configuration. Returns FcFalse if the configuration cannot be reloaded (due
+to configuration file errors, allocation failures or other issues) and leaves the
+existing configuration unchanged. Otherwise returns FcTrue.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcgetversion.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcinitbringuptodate.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcGetVersion</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN105"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcInitBringUptoDate</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcislower.html b/doc/fontconfig-devel/fcislower.html
new file mode 100644
index 00000000..41b09320
--- /dev/null
+++ b/doc/fontconfig-devel/fcislower.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcIsLower</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcUtf16Len"
+HREF="fcutf16len.html"><LINK
+REL="NEXT"
+TITLE="FcIsUpper"
+HREF="fcisupper.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcutf16len.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcisupper.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCISLOWER"
+></A
+>FcIsLower</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4696"
+></A
+><H2
+>Name</H2
+>FcIsLower&nbsp;--&nbsp;check for lower case ASCII character</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4699"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4700"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcIsLower</TT
+></CODE
+>(FcChar8<TT
+CLASS="PARAMETER"
+><I
+>c</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4707"
+></A
+><H2
+>Description</H2
+><P
+>This macro checks whether <TT
+CLASS="PARAMETER"
+><I
+>c</I
+></TT
+> is an lower case ASCII
+letter.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcutf16len.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcisupper.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcUtf16Len</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcIsUpper</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcisupper.html b/doc/fontconfig-devel/fcisupper.html
new file mode 100644
index 00000000..2a31bcb2
--- /dev/null
+++ b/doc/fontconfig-devel/fcisupper.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcIsUpper</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcIsLower"
+HREF="fcislower.html"><LINK
+REL="NEXT"
+TITLE="FcToLower"
+HREF="fctolower.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcislower.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fctolower.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCISUPPER"
+></A
+>FcIsUpper</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4716"
+></A
+><H2
+>Name</H2
+>FcIsUpper&nbsp;--&nbsp;check for upper case ASCII character</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4719"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4720"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcIsUpper</TT
+></CODE
+>(FcChar8<TT
+CLASS="PARAMETER"
+><I
+>c</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4727"
+></A
+><H2
+>Description</H2
+><P
+>This macro checks whether <TT
+CLASS="PARAMETER"
+><I
+>c</I
+></TT
+> is a upper case ASCII
+letter.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcislower.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fctolower.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcIsLower</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcToLower</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fclanggetcharset.html b/doc/fontconfig-devel/fclanggetcharset.html
new file mode 100644
index 00000000..7f5e33c4
--- /dev/null
+++ b/doc/fontconfig-devel/fclanggetcharset.html
@@ -0,0 +1,193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcLangGetCharSet</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcLangSet"
+HREF="x102.html#AEN2016"><LINK
+REL="PREVIOUS"
+TITLE="FcLangNormalize"
+HREF="fclangnormalize.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fclangnormalize.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCLANGGETCHARSET"
+></A
+>FcLangGetCharSet</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2396"
+></A
+><H2
+>Name</H2
+>FcLangGetCharSet&nbsp;--&nbsp;Get character map for a language</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2399"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2400"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>const FcCharSet * <TT
+CLASS="FUNCTION"
+>FcLangGetCharSet</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>lang</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2407"
+></A
+><H2
+>Description</H2
+><P
+>Returns the FcCharMap for a language.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fclangnormalize.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcLangNormalize</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2016"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fclangnormalize.html b/doc/fontconfig-devel/fclangnormalize.html
new file mode 100644
index 00000000..0af8ae79
--- /dev/null
+++ b/doc/fontconfig-devel/fclangnormalize.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcLangNormalize</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcLangSet"
+HREF="x102.html#AEN2016"><LINK
+REL="PREVIOUS"
+TITLE="FcGetLangs"
+HREF="fcgetlangs.html"><LINK
+REL="NEXT"
+TITLE="FcLangGetCharSet"
+HREF="fclanggetcharset.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcgetlangs.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fclanggetcharset.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCLANGNORMALIZE"
+></A
+>FcLangNormalize</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2373"
+></A
+><H2
+>Name</H2
+>FcLangNormalize&nbsp;--&nbsp;Normalize the language string</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2376"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2377"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 * <TT
+CLASS="FUNCTION"
+>FcLangNormalize</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>lang</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2384"
+></A
+><H2
+>Description</H2
+><P
+>Returns a string to make <TT
+CLASS="PARAMETER"
+><I
+>lang</I
+></TT
+> suitable on fontconfig.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2388"
+></A
+><H2
+>Since</H2
+><P
+>version 2.10.91</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcgetlangs.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fclanggetcharset.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcGetLangs</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2016"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcLangGetCharSet</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fclangsetadd.html b/doc/fontconfig-devel/fclangsetadd.html
new file mode 100644
index 00000000..97719525
--- /dev/null
+++ b/doc/fontconfig-devel/fclangsetadd.html
@@ -0,0 +1,227 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcLangSetAdd</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcLangSet"
+HREF="x102.html#AEN2016"><LINK
+REL="PREVIOUS"
+TITLE="FcLangSetCopy"
+HREF="fclangsetcopy.html"><LINK
+REL="NEXT"
+TITLE="FcLangSetDel"
+HREF="fclangsetdel.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fclangsetcopy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fclangsetdel.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCLANGSETADD"
+></A
+>FcLangSetAdd</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2085"
+></A
+><H2
+>Name</H2
+>FcLangSetAdd&nbsp;--&nbsp;add a language to a langset</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2088"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2089"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcLangSetAdd</TT
+></CODE
+>(FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>ls</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>lang</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2098"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="PARAMETER"
+><I
+>lang</I
+></TT
+> is added to <TT
+CLASS="PARAMETER"
+><I
+>ls</I
+></TT
+>.
+<TT
+CLASS="PARAMETER"
+><I
+>lang</I
+></TT
+> should be of the form Ll-Tt where Ll is a
+two or three letter language from ISO 639 and Tt is a territory from ISO
+3166.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fclangsetcopy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fclangsetdel.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcLangSetCopy</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2016"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcLangSetDel</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fclangsetcompare.html b/doc/fontconfig-devel/fclangsetcompare.html
new file mode 100644
index 00000000..42f68edc
--- /dev/null
+++ b/doc/fontconfig-devel/fclangsetcompare.html
@@ -0,0 +1,227 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcLangSetCompare</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcLangSet"
+HREF="x102.html#AEN2016"><LINK
+REL="PREVIOUS"
+TITLE="FcLangSetSubtract"
+HREF="fclangsetsubtract.html"><LINK
+REL="NEXT"
+TITLE="FcLangSetContains"
+HREF="fclangsetcontains.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fclangsetsubtract.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fclangsetcontains.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCLANGSETCOMPARE"
+></A
+>FcLangSetCompare</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2188"
+></A
+><H2
+>Name</H2
+>FcLangSetCompare&nbsp;--&nbsp;compare language sets</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2191"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2192"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcLangResult <TT
+CLASS="FUNCTION"
+>FcLangSetCompare</TT
+></CODE
+>(const FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>ls_a</I
+></TT
+>, const FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>ls_b</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2201"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcLangSetCompare</TT
+> compares language coverage for
+<TT
+CLASS="PARAMETER"
+><I
+>ls_a</I
+></TT
+> and <TT
+CLASS="PARAMETER"
+><I
+>ls_b</I
+></TT
+>. If they share
+any language and territory pair, this function returns FcLangEqual. If they
+share a language but differ in which territory that language is for, this
+function returns FcLangDifferentTerritory. If they share no languages in
+common, this function returns FcLangDifferentLang.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fclangsetsubtract.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fclangsetcontains.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcLangSetSubtract</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2016"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcLangSetContains</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fclangsetcontains.html b/doc/fontconfig-devel/fclangsetcontains.html
new file mode 100644
index 00000000..18c0bbb9
--- /dev/null
+++ b/doc/fontconfig-devel/fclangsetcontains.html
@@ -0,0 +1,247 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcLangSetContains</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcLangSet"
+HREF="x102.html#AEN2016"><LINK
+REL="PREVIOUS"
+TITLE="FcLangSetCompare"
+HREF="fclangsetcompare.html"><LINK
+REL="NEXT"
+TITLE="FcLangSetEqual"
+HREF="fclangsetequal.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fclangsetcompare.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fclangsetequal.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCLANGSETCONTAINS"
+></A
+>FcLangSetContains</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2212"
+></A
+><H2
+>Name</H2
+>FcLangSetContains&nbsp;--&nbsp;check langset subset relation</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2215"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2216"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcLangSetContains</TT
+></CODE
+>(const FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>ls_a</I
+></TT
+>, const FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>ls_b</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2225"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcLangSetContains</TT
+> returns FcTrue if
+<TT
+CLASS="PARAMETER"
+><I
+>ls_a</I
+></TT
+> contains every language in
+<TT
+CLASS="PARAMETER"
+><I
+>ls_b</I
+></TT
+>. <TT
+CLASS="PARAMETER"
+><I
+>ls_a</I
+></TT
+> will 'contain' a
+language from <TT
+CLASS="PARAMETER"
+><I
+>ls_b</I
+></TT
+> if <TT
+CLASS="PARAMETER"
+><I
+>ls_a</I
+></TT
+>
+has exactly the language, or either the language or
+<TT
+CLASS="PARAMETER"
+><I
+>ls_a</I
+></TT
+> has no territory.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fclangsetcompare.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fclangsetequal.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcLangSetCompare</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2016"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcLangSetEqual</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fclangsetcopy.html b/doc/fontconfig-devel/fclangsetcopy.html
new file mode 100644
index 00000000..46cc5c4e
--- /dev/null
+++ b/doc/fontconfig-devel/fclangsetcopy.html
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcLangSetCopy</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcLangSet"
+HREF="x102.html#AEN2016"><LINK
+REL="PREVIOUS"
+TITLE="FcLangSetDestroy"
+HREF="fclangsetdestroy.html"><LINK
+REL="NEXT"
+TITLE="FcLangSetAdd"
+HREF="fclangsetadd.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fclangsetdestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fclangsetadd.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCLANGSETCOPY"
+></A
+>FcLangSetCopy</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2064"
+></A
+><H2
+>Name</H2
+>FcLangSetCopy&nbsp;--&nbsp;copy a langset object</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2067"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2068"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcLangSet * <TT
+CLASS="FUNCTION"
+>FcLangSetCopy</TT
+></CODE
+>(const FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>ls</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2075"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcLangSetCopy</TT
+> creates a new FcLangSet object and
+populates it with the contents of <TT
+CLASS="PARAMETER"
+><I
+>ls</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fclangsetdestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fclangsetadd.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcLangSetDestroy</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2016"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcLangSetAdd</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fclangsetcreate.html b/doc/fontconfig-devel/fclangsetcreate.html
new file mode 100644
index 00000000..dc39cfd9
--- /dev/null
+++ b/doc/fontconfig-devel/fclangsetcreate.html
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcLangSetCreate</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcLangSet"
+HREF="x102.html#AEN2016"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcLangSetDestroy"
+HREF="fclangsetdestroy.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fclangsetdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCLANGSETCREATE"
+></A
+>FcLangSetCreate</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2024"
+></A
+><H2
+>Name</H2
+>FcLangSetCreate&nbsp;--&nbsp;create a langset object</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2027"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2028"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcLangSet * <TT
+CLASS="FUNCTION"
+>FcLangSetCreate</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2035"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcLangSetCreate</TT
+> creates a new FcLangSet object.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fclangsetdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2016"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcLangSetDestroy</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fclangsetdel.html b/doc/fontconfig-devel/fclangsetdel.html
new file mode 100644
index 00000000..a284fa60
--- /dev/null
+++ b/doc/fontconfig-devel/fclangsetdel.html
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcLangSetDel</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcLangSet"
+HREF="x102.html#AEN2016"><LINK
+REL="PREVIOUS"
+TITLE="FcLangSetAdd"
+HREF="fclangsetadd.html"><LINK
+REL="NEXT"
+TITLE="FcLangSetUnion"
+HREF="fclangsetunion.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fclangsetadd.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fclangsetunion.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCLANGSETDEL"
+></A
+>FcLangSetDel</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2109"
+></A
+><H2
+>Name</H2
+>FcLangSetDel&nbsp;--&nbsp;delete a language from a langset</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2112"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2113"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcLangSetDel</TT
+></CODE
+>(FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>ls</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>lang</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2122"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="PARAMETER"
+><I
+>lang</I
+></TT
+> is removed from <TT
+CLASS="PARAMETER"
+><I
+>ls</I
+></TT
+>.
+<TT
+CLASS="PARAMETER"
+><I
+>lang</I
+></TT
+> should be of the form Ll-Tt where Ll is a
+two or three letter language from ISO 639 and Tt is a territory from ISO
+3166.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2128"
+></A
+><H2
+>Since</H2
+><P
+>version 2.9.0</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fclangsetadd.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fclangsetunion.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcLangSetAdd</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2016"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcLangSetUnion</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fclangsetdestroy.html b/doc/fontconfig-devel/fclangsetdestroy.html
new file mode 100644
index 00000000..1d89a571
--- /dev/null
+++ b/doc/fontconfig-devel/fclangsetdestroy.html
@@ -0,0 +1,208 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcLangSetDestroy</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcLangSet"
+HREF="x102.html#AEN2016"><LINK
+REL="PREVIOUS"
+TITLE="FcLangSetCreate"
+HREF="fclangsetcreate.html"><LINK
+REL="NEXT"
+TITLE="FcLangSetCopy"
+HREF="fclangsetcopy.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fclangsetcreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fclangsetcopy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCLANGSETDESTROY"
+></A
+>FcLangSetDestroy</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2044"
+></A
+><H2
+>Name</H2
+>FcLangSetDestroy&nbsp;--&nbsp;destroy a langset object</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2047"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2048"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcLangSetDestroy</TT
+></CODE
+>(FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>ls</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2055"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcLangSetDestroy</TT
+> destroys a FcLangSet object, freeing
+all memory associated with it.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fclangsetcreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fclangsetcopy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcLangSetCreate</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2016"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcLangSetCopy</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fclangsetequal.html b/doc/fontconfig-devel/fclangsetequal.html
new file mode 100644
index 00000000..b4fed776
--- /dev/null
+++ b/doc/fontconfig-devel/fclangsetequal.html
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcLangSetEqual</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcLangSet"
+HREF="x102.html#AEN2016"><LINK
+REL="PREVIOUS"
+TITLE="FcLangSetContains"
+HREF="fclangsetcontains.html"><LINK
+REL="NEXT"
+TITLE="FcLangSetHash"
+HREF="fclangsethash.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fclangsetcontains.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fclangsethash.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCLANGSETEQUAL"
+></A
+>FcLangSetEqual</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2240"
+></A
+><H2
+>Name</H2
+>FcLangSetEqual&nbsp;--&nbsp;test for matching langsets</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2243"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2244"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcLangSetEqual</TT
+></CODE
+>(const FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>ls_a</I
+></TT
+>, const FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>ls_b</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2253"
+></A
+><H2
+>Description</H2
+><P
+>Returns FcTrue if and only if <TT
+CLASS="PARAMETER"
+><I
+>ls_a</I
+></TT
+> supports precisely
+the same language and territory combinations as <TT
+CLASS="PARAMETER"
+><I
+>ls_b</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fclangsetcontains.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fclangsethash.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcLangSetContains</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2016"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcLangSetHash</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fclangsetgetlangs.html b/doc/fontconfig-devel/fclangsetgetlangs.html
new file mode 100644
index 00000000..9981c2b1
--- /dev/null
+++ b/doc/fontconfig-devel/fclangsetgetlangs.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcLangSetGetLangs</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcLangSet"
+HREF="x102.html#AEN2016"><LINK
+REL="PREVIOUS"
+TITLE="FcGetDefaultLangs"
+HREF="fcgetdefaultlangs.html"><LINK
+REL="NEXT"
+TITLE="FcGetLangs"
+HREF="fcgetlangs.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcgetdefaultlangs.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcgetlangs.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCLANGSETGETLANGS"
+></A
+>FcLangSetGetLangs</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2334"
+></A
+><H2
+>Name</H2
+>FcLangSetGetLangs&nbsp;--&nbsp;get the list of languages in the langset</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2337"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2338"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcStrSet * <TT
+CLASS="FUNCTION"
+>FcLangSetGetLangs</TT
+></CODE
+>(const FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>ls</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2345"
+></A
+><H2
+>Description</H2
+><P
+>Returns a string set of all languages in <TT
+CLASS="PARAMETER"
+><I
+>langset</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcgetdefaultlangs.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcgetlangs.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcGetDefaultLangs</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2016"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcGetLangs</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fclangsethash.html b/doc/fontconfig-devel/fclangsethash.html
new file mode 100644
index 00000000..d7e7635d
--- /dev/null
+++ b/doc/fontconfig-devel/fclangsethash.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcLangSetHash</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcLangSet"
+HREF="x102.html#AEN2016"><LINK
+REL="PREVIOUS"
+TITLE="FcLangSetEqual"
+HREF="fclangsetequal.html"><LINK
+REL="NEXT"
+TITLE="FcLangSetHasLang"
+HREF="fclangsethaslang.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fclangsetequal.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fclangsethaslang.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCLANGSETHASH"
+></A
+>FcLangSetHash</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2263"
+></A
+><H2
+>Name</H2
+>FcLangSetHash&nbsp;--&nbsp;return a hash value for a langset</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2266"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2267"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar32 <TT
+CLASS="FUNCTION"
+>FcLangSetHash</TT
+></CODE
+>(const FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>ls</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2274"
+></A
+><H2
+>Description</H2
+><P
+>This function returns a value which depends solely on the languages
+supported by <TT
+CLASS="PARAMETER"
+><I
+>ls</I
+></TT
+>. Any language which equals
+<TT
+CLASS="PARAMETER"
+><I
+>ls</I
+></TT
+> will have the same result from
+<TT
+CLASS="FUNCTION"
+>FcLangSetHash</TT
+>. However, two langsets with the same hash
+value may not be equal.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fclangsetequal.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fclangsethaslang.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcLangSetEqual</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2016"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcLangSetHasLang</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fclangsethaslang.html b/doc/fontconfig-devel/fclangsethaslang.html
new file mode 100644
index 00000000..d92a2ee2
--- /dev/null
+++ b/doc/fontconfig-devel/fclangsethaslang.html
@@ -0,0 +1,243 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcLangSetHasLang</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcLangSet"
+HREF="x102.html#AEN2016"><LINK
+REL="PREVIOUS"
+TITLE="FcLangSetHash"
+HREF="fclangsethash.html"><LINK
+REL="NEXT"
+TITLE="FcGetDefaultLangs"
+HREF="fcgetdefaultlangs.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fclangsethash.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcgetdefaultlangs.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCLANGSETHASLANG"
+></A
+>FcLangSetHasLang</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2285"
+></A
+><H2
+>Name</H2
+>FcLangSetHasLang&nbsp;--&nbsp;test langset for language support</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2288"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2289"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcLangResult <TT
+CLASS="FUNCTION"
+>FcLangSetHasLang</TT
+></CODE
+>(const FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>ls</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>lang</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2298"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcLangSetHasLang</TT
+> checks whether
+<TT
+CLASS="PARAMETER"
+><I
+>ls</I
+></TT
+> supports <TT
+CLASS="PARAMETER"
+><I
+>lang</I
+></TT
+>. If
+<TT
+CLASS="PARAMETER"
+><I
+>ls</I
+></TT
+> has a matching language and territory pair,
+this function returns FcLangEqual. If <TT
+CLASS="PARAMETER"
+><I
+>ls</I
+></TT
+> has
+a matching language but differs in which territory that language is for, this
+function returns FcLangDifferentTerritory. If <TT
+CLASS="PARAMETER"
+><I
+>ls</I
+></TT
+>
+has no matching language, this function returns FcLangDifferentLang.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fclangsethash.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcgetdefaultlangs.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcLangSetHash</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2016"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcGetDefaultLangs</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fclangsetsubtract.html b/doc/fontconfig-devel/fclangsetsubtract.html
new file mode 100644
index 00000000..7ee18c0d
--- /dev/null
+++ b/doc/fontconfig-devel/fclangsetsubtract.html
@@ -0,0 +1,229 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcLangSetSubtract</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcLangSet"
+HREF="x102.html#AEN2016"><LINK
+REL="PREVIOUS"
+TITLE="FcLangSetUnion"
+HREF="fclangsetunion.html"><LINK
+REL="NEXT"
+TITLE="FcLangSetCompare"
+HREF="fclangsetcompare.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fclangsetunion.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fclangsetcompare.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCLANGSETSUBTRACT"
+></A
+>FcLangSetSubtract</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2162"
+></A
+><H2
+>Name</H2
+>FcLangSetSubtract&nbsp;--&nbsp;Subtract langsets</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2165"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2166"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcLangSet * <TT
+CLASS="FUNCTION"
+>FcLangSetSubtract</TT
+></CODE
+>(const FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>ls_a</I
+></TT
+>, const FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>ls_b</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2175"
+></A
+><H2
+>Description</H2
+><P
+>Returns a set including only those languages found in <TT
+CLASS="PARAMETER"
+><I
+>ls_a</I
+></TT
+> but not in <TT
+CLASS="PARAMETER"
+><I
+>ls_b</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2180"
+></A
+><H2
+>Since</H2
+><P
+>version 2.9.0</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fclangsetunion.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fclangsetcompare.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcLangSetUnion</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2016"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcLangSetCompare</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fclangsetunion.html b/doc/fontconfig-devel/fclangsetunion.html
new file mode 100644
index 00000000..4d3071d3
--- /dev/null
+++ b/doc/fontconfig-devel/fclangsetunion.html
@@ -0,0 +1,229 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcLangSetUnion</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcLangSet"
+HREF="x102.html#AEN2016"><LINK
+REL="PREVIOUS"
+TITLE="FcLangSetDel"
+HREF="fclangsetdel.html"><LINK
+REL="NEXT"
+TITLE="FcLangSetSubtract"
+HREF="fclangsetsubtract.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fclangsetdel.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fclangsetsubtract.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCLANGSETUNION"
+></A
+>FcLangSetUnion</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2136"
+></A
+><H2
+>Name</H2
+>FcLangSetUnion&nbsp;--&nbsp;Add langsets</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2139"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2140"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcLangSet * <TT
+CLASS="FUNCTION"
+>FcLangSetUnion</TT
+></CODE
+>(const FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>ls_a</I
+></TT
+>, const FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>ls_b</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2149"
+></A
+><H2
+>Description</H2
+><P
+>Returns a set including only those languages found in either <TT
+CLASS="PARAMETER"
+><I
+>ls_a</I
+></TT
+> or <TT
+CLASS="PARAMETER"
+><I
+>ls_b</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2154"
+></A
+><H2
+>Since</H2
+><P
+>version 2.9.0</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fclangsetdel.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fclangsetsubtract.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcLangSetDel</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2016"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcLangSetSubtract</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcmatrixcopy.html b/doc/fontconfig-devel/fcmatrixcopy.html
new file mode 100644
index 00000000..6c9799e7
--- /dev/null
+++ b/doc/fontconfig-devel/fcmatrixcopy.html
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcMatrixCopy</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcMatrix"
+HREF="x102.html#AEN2410"><LINK
+REL="PREVIOUS"
+TITLE="FcMatrixInit"
+HREF="fcmatrixinit.html"><LINK
+REL="NEXT"
+TITLE="FcMatrixEqual"
+HREF="fcmatrixequal.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcmatrixinit.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcmatrixequal.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCMATRIXCOPY"
+></A
+>FcMatrixCopy</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2439"
+></A
+><H2
+>Name</H2
+>FcMatrixCopy&nbsp;--&nbsp;Copy a matrix</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2442"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2443"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcMatrixCopy</TT
+></CODE
+>(const FcMatrix *<TT
+CLASS="PARAMETER"
+><I
+>matrix</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2450"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcMatrixCopy</TT
+> allocates a new FcMatrix
+and copies <TT
+CLASS="PARAMETER"
+><I
+>mat</I
+></TT
+> into it.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcmatrixinit.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcmatrixequal.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcMatrixInit</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2410"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcMatrixEqual</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcmatrixequal.html b/doc/fontconfig-devel/fcmatrixequal.html
new file mode 100644
index 00000000..fbdb69bf
--- /dev/null
+++ b/doc/fontconfig-devel/fcmatrixequal.html
@@ -0,0 +1,224 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcMatrixEqual</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcMatrix"
+HREF="x102.html#AEN2410"><LINK
+REL="PREVIOUS"
+TITLE="FcMatrixCopy"
+HREF="fcmatrixcopy.html"><LINK
+REL="NEXT"
+TITLE="FcMatrixMultiply"
+HREF="fcmatrixmultiply.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcmatrixcopy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcmatrixmultiply.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCMATRIXEQUAL"
+></A
+>FcMatrixEqual</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2460"
+></A
+><H2
+>Name</H2
+>FcMatrixEqual&nbsp;--&nbsp;Compare two matrices</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2463"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2464"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcMatrixEqual</TT
+></CODE
+>(const FcMatrix *<TT
+CLASS="PARAMETER"
+><I
+>matrix1</I
+></TT
+>, const FcMatrix *<TT
+CLASS="PARAMETER"
+><I
+>matrix2</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2473"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcMatrixEqual</TT
+> compares <TT
+CLASS="PARAMETER"
+><I
+>matrix1</I
+></TT
+>
+and <TT
+CLASS="PARAMETER"
+><I
+>matrix2</I
+></TT
+> returning FcTrue when they are equal and
+FcFalse when they are not.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcmatrixcopy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcmatrixmultiply.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcMatrixCopy</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2410"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcMatrixMultiply</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcmatrixinit.html b/doc/fontconfig-devel/fcmatrixinit.html
new file mode 100644
index 00000000..ef8ef924
--- /dev/null
+++ b/doc/fontconfig-devel/fcmatrixinit.html
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcMatrixInit</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcMatrix"
+HREF="x102.html#AEN2410"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcMatrixCopy"
+HREF="fcmatrixcopy.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcmatrixcopy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCMATRIXINIT"
+></A
+>FcMatrixInit</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2418"
+></A
+><H2
+>Name</H2
+>FcMatrixInit&nbsp;--&nbsp;initialize an FcMatrix structure</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2421"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2422"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcMatrixInit</TT
+></CODE
+>(FcMatrix *<TT
+CLASS="PARAMETER"
+><I
+>matrix</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2429"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcMatrixInit</TT
+> initializes <TT
+CLASS="PARAMETER"
+><I
+>matrix</I
+></TT
+>
+to the identity matrix.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcmatrixcopy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2410"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcMatrixCopy</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcmatrixmultiply.html b/doc/fontconfig-devel/fcmatrixmultiply.html
new file mode 100644
index 00000000..c42ceb55
--- /dev/null
+++ b/doc/fontconfig-devel/fcmatrixmultiply.html
@@ -0,0 +1,234 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcMatrixMultiply</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcMatrix"
+HREF="x102.html#AEN2410"><LINK
+REL="PREVIOUS"
+TITLE="FcMatrixEqual"
+HREF="fcmatrixequal.html"><LINK
+REL="NEXT"
+TITLE="FcMatrixRotate"
+HREF="fcmatrixrotate.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcmatrixequal.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcmatrixrotate.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCMATRIXMULTIPLY"
+></A
+>FcMatrixMultiply</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2484"
+></A
+><H2
+>Name</H2
+>FcMatrixMultiply&nbsp;--&nbsp;Multiply matrices</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2487"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2488"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcMatrixMultiply</TT
+></CODE
+>(FcMatrix *<TT
+CLASS="PARAMETER"
+><I
+>result</I
+></TT
+>, const FcMatrix *<TT
+CLASS="PARAMETER"
+><I
+>matrix1</I
+></TT
+>, const FcMatrix *<TT
+CLASS="PARAMETER"
+><I
+>matrix2</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2499"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcMatrixMultiply</TT
+> multiplies
+<TT
+CLASS="PARAMETER"
+><I
+>matrix1</I
+></TT
+> and <TT
+CLASS="PARAMETER"
+><I
+>matrix2</I
+></TT
+> storing
+the result in <TT
+CLASS="PARAMETER"
+><I
+>result</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcmatrixequal.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcmatrixrotate.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcMatrixEqual</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2410"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcMatrixRotate</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcmatrixrotate.html b/doc/fontconfig-devel/fcmatrixrotate.html
new file mode 100644
index 00000000..58f944e5
--- /dev/null
+++ b/doc/fontconfig-devel/fcmatrixrotate.html
@@ -0,0 +1,249 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcMatrixRotate</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcMatrix"
+HREF="x102.html#AEN2410"><LINK
+REL="PREVIOUS"
+TITLE="FcMatrixMultiply"
+HREF="fcmatrixmultiply.html"><LINK
+REL="NEXT"
+TITLE="FcMatrixScale"
+HREF="fcmatrixscale.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcmatrixmultiply.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcmatrixscale.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCMATRIXROTATE"
+></A
+>FcMatrixRotate</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2511"
+></A
+><H2
+>Name</H2
+>FcMatrixRotate&nbsp;--&nbsp;Rotate a matrix</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2514"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2515"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcMatrixRotate</TT
+></CODE
+>(FcMatrix *<TT
+CLASS="PARAMETER"
+><I
+>matrix</I
+></TT
+>, double <TT
+CLASS="PARAMETER"
+><I
+>cos</I
+></TT
+>, double <TT
+CLASS="PARAMETER"
+><I
+>sin</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2526"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcMatrixRotate</TT
+> rotates <TT
+CLASS="PARAMETER"
+><I
+>matrix</I
+></TT
+>
+by the angle who's sine is <TT
+CLASS="PARAMETER"
+><I
+>sin</I
+></TT
+> and cosine is
+<TT
+CLASS="PARAMETER"
+><I
+>cos</I
+></TT
+>. This is done by multiplying by the
+matrix:
+<TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> cos -sin
+ sin cos</PRE
+></TD
+></TR
+></TABLE
+>
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcmatrixmultiply.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcmatrixscale.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcMatrixMultiply</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2410"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcMatrixScale</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcmatrixscale.html b/doc/fontconfig-devel/fcmatrixscale.html
new file mode 100644
index 00000000..30fe4287
--- /dev/null
+++ b/doc/fontconfig-devel/fcmatrixscale.html
@@ -0,0 +1,249 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcMatrixScale</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcMatrix"
+HREF="x102.html#AEN2410"><LINK
+REL="PREVIOUS"
+TITLE="FcMatrixRotate"
+HREF="fcmatrixrotate.html"><LINK
+REL="NEXT"
+TITLE="FcMatrixShear"
+HREF="fcmatrixshear.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcmatrixrotate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcmatrixshear.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCMATRIXSCALE"
+></A
+>FcMatrixScale</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2539"
+></A
+><H2
+>Name</H2
+>FcMatrixScale&nbsp;--&nbsp;Scale a matrix</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2542"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2543"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcMatrixScale</TT
+></CODE
+>(FcMatrix *<TT
+CLASS="PARAMETER"
+><I
+>matrix</I
+></TT
+>, double <TT
+CLASS="PARAMETER"
+><I
+>sx</I
+></TT
+>, double <TT
+CLASS="PARAMETER"
+><I
+>dy</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2554"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcMatrixScale</TT
+> multiplies <TT
+CLASS="PARAMETER"
+><I
+>matrix</I
+></TT
+>
+x values by <TT
+CLASS="PARAMETER"
+><I
+>sx</I
+></TT
+> and y values by
+<TT
+CLASS="PARAMETER"
+><I
+>dy</I
+></TT
+>. This is done by multiplying by
+the matrix:
+<TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> sx 0
+ 0 dy</PRE
+></TD
+></TR
+></TABLE
+>
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcmatrixrotate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcmatrixshear.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcMatrixRotate</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2410"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcMatrixShear</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcmatrixshear.html b/doc/fontconfig-devel/fcmatrixshear.html
new file mode 100644
index 00000000..f18c01e6
--- /dev/null
+++ b/doc/fontconfig-devel/fcmatrixshear.html
@@ -0,0 +1,238 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcMatrixShear</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcMatrix"
+HREF="x102.html#AEN2410"><LINK
+REL="PREVIOUS"
+TITLE="FcMatrixScale"
+HREF="fcmatrixscale.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcmatrixscale.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCMATRIXSHEAR"
+></A
+>FcMatrixShear</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2567"
+></A
+><H2
+>Name</H2
+>FcMatrixShear&nbsp;--&nbsp;Shear a matrix</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2570"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2571"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcMatrixShear</TT
+></CODE
+>(FcMatrix *<TT
+CLASS="PARAMETER"
+><I
+>matrix</I
+></TT
+>, double <TT
+CLASS="PARAMETER"
+><I
+>sh</I
+></TT
+>, double <TT
+CLASS="PARAMETER"
+><I
+>sv</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2582"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcMatrixShare</TT
+> shears <TT
+CLASS="PARAMETER"
+><I
+>matrix</I
+></TT
+>
+horizontally by <TT
+CLASS="PARAMETER"
+><I
+>sh</I
+></TT
+> and vertically by
+<TT
+CLASS="PARAMETER"
+><I
+>sv</I
+></TT
+>. This is done by multiplying by
+the matrix:
+<TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> 1 sh
+ sv 1</PRE
+></TD
+></TR
+></TABLE
+>
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcmatrixscale.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcMatrixScale</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2410"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcnameconstant.html b/doc/fontconfig-devel/fcnameconstant.html
new file mode 100644
index 00000000..0dc3f92e
--- /dev/null
+++ b/doc/fontconfig-devel/fcnameconstant.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcNameConstant</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConstant"
+HREF="x102.html#AEN3485"><LINK
+REL="PREVIOUS"
+TITLE="FcNameGetConstant"
+HREF="fcnamegetconstant.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcnamegetconstant.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCNAMECONSTANT"
+></A
+>FcNameConstant</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3555"
+></A
+><H2
+>Name</H2
+>FcNameConstant&nbsp;--&nbsp;Get the value for a symbolic constant</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3558"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3559"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcNameConstant</TT
+></CODE
+>(FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+>, int *<TT
+CLASS="PARAMETER"
+><I
+>result</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3568"
+></A
+><H2
+>Description</H2
+><P
+>Returns whether a symbolic constant with name <TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+> is registered,
+placing the value of the constant in <TT
+CLASS="PARAMETER"
+><I
+>result</I
+></TT
+> if present.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcnamegetconstant.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcNameGetConstant</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3485"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcnamegetconstant.html b/doc/fontconfig-devel/fcnamegetconstant.html
new file mode 100644
index 00000000..3281e659
--- /dev/null
+++ b/doc/fontconfig-devel/fcnamegetconstant.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcNameGetConstant</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConstant"
+HREF="x102.html#AEN3485"><LINK
+REL="PREVIOUS"
+TITLE="FcNameUnregisterConstants"
+HREF="fcnameunregisterconstants.html"><LINK
+REL="NEXT"
+TITLE="FcNameConstant"
+HREF="fcnameconstant.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcnameunregisterconstants.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcnameconstant.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCNAMEGETCONSTANT"
+></A
+>FcNameGetConstant</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3535"
+></A
+><H2
+>Name</H2
+>FcNameGetConstant&nbsp;--&nbsp;Lookup symbolic constant</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3538"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3539"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>const FcConstant * <TT
+CLASS="FUNCTION"
+>FcNameGetConstant</TT
+></CODE
+>(FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3546"
+></A
+><H2
+>Description</H2
+><P
+>Return the FcConstant structure related to symbolic constant <TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcnameunregisterconstants.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcnameconstant.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcNameUnregisterConstants</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3485"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcNameConstant</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcnamegetobjecttype.html b/doc/fontconfig-devel/fcnamegetobjecttype.html
new file mode 100644
index 00000000..a59c9a08
--- /dev/null
+++ b/doc/fontconfig-devel/fcnamegetobjecttype.html
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcNameGetObjectType</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcObjectType"
+HREF="x102.html#AEN3420"><LINK
+REL="PREVIOUS"
+TITLE="FcNameUnregisterObjectTypes"
+HREF="fcnameunregisterobjecttypes.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcnameunregisterobjecttypes.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCNAMEGETOBJECTTYPE"
+></A
+>FcNameGetObjectType</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3470"
+></A
+><H2
+>Name</H2
+>FcNameGetObjectType&nbsp;--&nbsp;Lookup an object type</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3473"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3474"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>const FcObjectType * <TT
+CLASS="FUNCTION"
+>FcNameGetObjectType</TT
+></CODE
+>(const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3481"
+></A
+><H2
+>Description</H2
+><P
+>Return the object type for the pattern element named <TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcnameunregisterobjecttypes.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcNameUnregisterObjectTypes</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3420"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcnameparse.html b/doc/fontconfig-devel/fcnameparse.html
new file mode 100644
index 00000000..6753fa8d
--- /dev/null
+++ b/doc/fontconfig-devel/fcnameparse.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcNameParse</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcDefaultSubstitute"
+HREF="fcdefaultsubstitute.html"><LINK
+REL="NEXT"
+TITLE="FcNameUnparse"
+HREF="fcnameunparse.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcdefaultsubstitute.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcnameunparse.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCNAMEPARSE"
+></A
+>FcNameParse</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN866"
+></A
+><H2
+>Name</H2
+>FcNameParse&nbsp;--&nbsp;Parse a pattern string</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN869"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN870"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcPattern * <TT
+CLASS="FUNCTION"
+>FcNameParse</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN877"
+></A
+><H2
+>Description</H2
+><P
+>Converts <TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> from the standard text format described above into a pattern.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcdefaultsubstitute.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcnameunparse.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcDefaultSubstitute</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcNameUnparse</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcnameregisterconstants.html b/doc/fontconfig-devel/fcnameregisterconstants.html
new file mode 100644
index 00000000..0545b99d
--- /dev/null
+++ b/doc/fontconfig-devel/fcnameregisterconstants.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcNameRegisterConstants</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConstant"
+HREF="x102.html#AEN3485"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcNameUnregisterConstants"
+HREF="fcnameunregisterconstants.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcnameunregisterconstants.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCNAMEREGISTERCONSTANTS"
+></A
+>FcNameRegisterConstants</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3493"
+></A
+><H2
+>Name</H2
+>FcNameRegisterConstants&nbsp;--&nbsp;Register symbolic constants</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3496"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3497"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcNameRegisterConstants</TT
+></CODE
+>(const FcConstant *<TT
+CLASS="PARAMETER"
+><I
+>consts</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>nconsts</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3506"
+></A
+><H2
+>Description</H2
+><P
+>Deprecated. Does nothing. Returns FcFalse.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcnameunregisterconstants.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3485"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcNameUnregisterConstants</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcnameregisterobjecttypes.html b/doc/fontconfig-devel/fcnameregisterobjecttypes.html
new file mode 100644
index 00000000..40ac7c14
--- /dev/null
+++ b/doc/fontconfig-devel/fcnameregisterobjecttypes.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcNameRegisterObjectTypes</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcObjectType"
+HREF="x102.html#AEN3420"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcNameUnregisterObjectTypes"
+HREF="fcnameunregisterobjecttypes.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcnameunregisterobjecttypes.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCNAMEREGISTEROBJECTTYPES"
+></A
+>FcNameRegisterObjectTypes</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3428"
+></A
+><H2
+>Name</H2
+>FcNameRegisterObjectTypes&nbsp;--&nbsp;Register object types</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3431"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3432"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcNameRegisterObjectTypes</TT
+></CODE
+>(const FcObjectType *<TT
+CLASS="PARAMETER"
+><I
+>types</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>ntype</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3441"
+></A
+><H2
+>Description</H2
+><P
+>Deprecated. Does nothing. Returns FcFalse.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcnameunregisterobjecttypes.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3420"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcNameUnregisterObjectTypes</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcnameunparse.html b/doc/fontconfig-devel/fcnameunparse.html
new file mode 100644
index 00000000..0b9dd77b
--- /dev/null
+++ b/doc/fontconfig-devel/fcnameunparse.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcNameUnparse</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcNameParse"
+HREF="fcnameparse.html"><LINK
+REL="NEXT"
+TITLE="FcPatternFormat"
+HREF="fcpatternformat.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcnameparse.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatternformat.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCNAMEUNPARSE"
+></A
+>FcNameUnparse</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN886"
+></A
+><H2
+>Name</H2
+>FcNameUnparse&nbsp;--&nbsp;Convert a pattern back into a string that can be parsed</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN889"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN890"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 * <TT
+CLASS="FUNCTION"
+>FcNameUnparse</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>pat</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN897"
+></A
+><H2
+>Description</H2
+><P
+>Converts the given pattern into the standard text format described above.
+The return value is not static, but instead refers to newly allocated memory
+which should be freed by the caller using free().
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcnameparse.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatternformat.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcNameParse</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternFormat</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcnameunregisterconstants.html b/doc/fontconfig-devel/fcnameunregisterconstants.html
new file mode 100644
index 00000000..42371fe0
--- /dev/null
+++ b/doc/fontconfig-devel/fcnameunregisterconstants.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcNameUnregisterConstants</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConstant"
+HREF="x102.html#AEN3485"><LINK
+REL="PREVIOUS"
+TITLE="FcNameRegisterConstants"
+HREF="fcnameregisterconstants.html"><LINK
+REL="NEXT"
+TITLE="FcNameGetConstant"
+HREF="fcnamegetconstant.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcnameregisterconstants.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcnamegetconstant.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCNAMEUNREGISTERCONSTANTS"
+></A
+>FcNameUnregisterConstants</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3514"
+></A
+><H2
+>Name</H2
+>FcNameUnregisterConstants&nbsp;--&nbsp;Unregister symbolic constants</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3517"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3518"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcNameUnregisterConstants</TT
+></CODE
+>(const FcConstant *<TT
+CLASS="PARAMETER"
+><I
+>consts</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>nconsts</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3527"
+></A
+><H2
+>Description</H2
+><P
+>Deprecated. Does nothing. Returns FcFalse.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcnameregisterconstants.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcnamegetconstant.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcNameRegisterConstants</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3485"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcNameGetConstant</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcnameunregisterobjecttypes.html b/doc/fontconfig-devel/fcnameunregisterobjecttypes.html
new file mode 100644
index 00000000..c487d474
--- /dev/null
+++ b/doc/fontconfig-devel/fcnameunregisterobjecttypes.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcNameUnregisterObjectTypes</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcObjectType"
+HREF="x102.html#AEN3420"><LINK
+REL="PREVIOUS"
+TITLE="FcNameRegisterObjectTypes"
+HREF="fcnameregisterobjecttypes.html"><LINK
+REL="NEXT"
+TITLE="FcNameGetObjectType"
+HREF="fcnamegetobjecttype.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcnameregisterobjecttypes.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcnamegetobjecttype.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCNAMEUNREGISTEROBJECTTYPES"
+></A
+>FcNameUnregisterObjectTypes</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3449"
+></A
+><H2
+>Name</H2
+>FcNameUnregisterObjectTypes&nbsp;--&nbsp;Unregister object types</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3452"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3453"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcNameUnregisterObjectTypes</TT
+></CODE
+>(const FcObjectType *<TT
+CLASS="PARAMETER"
+><I
+>types</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>ntype</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3462"
+></A
+><H2
+>Description</H2
+><P
+>Deprecated. Does nothing. Returns FcFalse.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcnameregisterobjecttypes.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcnamegetobjecttype.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcNameRegisterObjectTypes</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3420"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcNameGetObjectType</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcobjectsetadd.html b/doc/fontconfig-devel/fcobjectsetadd.html
new file mode 100644
index 00000000..6a22e492
--- /dev/null
+++ b/doc/fontconfig-devel/fcobjectsetadd.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcObjectSetAdd</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcObjectSet"
+HREF="x102.html#AEN1242"><LINK
+REL="PREVIOUS"
+TITLE="FcObjectSetCreate"
+HREF="fcobjectsetcreate.html"><LINK
+REL="NEXT"
+TITLE="FcObjectSetDestroy"
+HREF="fcobjectsetdestroy.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcobjectsetcreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcobjectsetdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCOBJECTSETADD"
+></A
+>FcObjectSetAdd</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1269"
+></A
+><H2
+>Name</H2
+>FcObjectSetAdd&nbsp;--&nbsp;Add to an object set</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1272"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1273"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcObjectSetAdd</TT
+></CODE
+>(FcObjectSet *<TT
+CLASS="PARAMETER"
+><I
+>os</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1282"
+></A
+><H2
+>Description</H2
+><P
+>Adds a property name to the set. Returns FcFalse if the property name cannot be
+inserted into the set (due to allocation failure). Otherwise returns FcTrue.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcobjectsetcreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcobjectsetdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcObjectSetCreate</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1242"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcObjectSetDestroy</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcobjectsetbuild.html b/doc/fontconfig-devel/fcobjectsetbuild.html
new file mode 100644
index 00000000..c1e033f8
--- /dev/null
+++ b/doc/fontconfig-devel/fcobjectsetbuild.html
@@ -0,0 +1,250 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcObjectSetBuild</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcObjectSet"
+HREF="x102.html#AEN1242"><LINK
+REL="PREVIOUS"
+TITLE="FcObjectSetDestroy"
+HREF="fcobjectsetdestroy.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcobjectsetdestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCOBJECTSETBUILD"
+></A
+>FcObjectSetBuild</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1309"
+></A
+><H2
+>Name</H2
+>FcObjectSetBuild, FcObjectSetVaBuild, FcObjectSetVapBuild&nbsp;--&nbsp;Build object set from args</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1314"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1315"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcObjectSet * <TT
+CLASS="FUNCTION"
+>FcObjectSetBuild</TT
+></CODE
+>(const char *<TT
+CLASS="PARAMETER"
+><I
+>first</I
+></TT
+>, ...<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcObjectSet * <TT
+CLASS="FUNCTION"
+>FcObjectSetVaBuild</TT
+></CODE
+>(const char *<TT
+CLASS="PARAMETER"
+><I
+>first</I
+></TT
+>, va_list <TT
+CLASS="PARAMETER"
+><I
+>va</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcObjectSetVapBuild</TT
+></CODE
+>(FcObjectSet *<TT
+CLASS="PARAMETER"
+><I
+>result</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>first</I
+></TT
+>, va_list <TT
+CLASS="PARAMETER"
+><I
+>va</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1340"
+></A
+><H2
+>Description</H2
+><P
+>These build an object set from a null-terminated list of property names.
+FcObjectSetVapBuild is a macro version of FcObjectSetVaBuild which returns
+the result in the <TT
+CLASS="PARAMETER"
+><I
+>result</I
+></TT
+> variable directly.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcobjectsetdestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcObjectSetDestroy</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1242"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcobjectsetcreate.html b/doc/fontconfig-devel/fcobjectsetcreate.html
new file mode 100644
index 00000000..79f19e09
--- /dev/null
+++ b/doc/fontconfig-devel/fcobjectsetcreate.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcObjectSetCreate</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcObjectSet"
+HREF="x102.html#AEN1242"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcObjectSetAdd"
+HREF="fcobjectsetadd.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcobjectsetadd.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCOBJECTSETCREATE"
+></A
+>FcObjectSetCreate</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1250"
+></A
+><H2
+>Name</H2
+>FcObjectSetCreate&nbsp;--&nbsp;Create an object set</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1253"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1254"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcObjectSet * <TT
+CLASS="FUNCTION"
+>FcObjectSetCreate</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1261"
+></A
+><H2
+>Description</H2
+><P
+>Creates an empty set.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcobjectsetadd.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1242"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcObjectSetAdd</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcobjectsetdestroy.html b/doc/fontconfig-devel/fcobjectsetdestroy.html
new file mode 100644
index 00000000..98a3997d
--- /dev/null
+++ b/doc/fontconfig-devel/fcobjectsetdestroy.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcObjectSetDestroy</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcObjectSet"
+HREF="x102.html#AEN1242"><LINK
+REL="PREVIOUS"
+TITLE="FcObjectSetAdd"
+HREF="fcobjectsetadd.html"><LINK
+REL="NEXT"
+TITLE="FcObjectSetBuild"
+HREF="fcobjectsetbuild.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcobjectsetadd.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcobjectsetbuild.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCOBJECTSETDESTROY"
+></A
+>FcObjectSetDestroy</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1290"
+></A
+><H2
+>Name</H2
+>FcObjectSetDestroy&nbsp;--&nbsp;Destroy an object set</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1293"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1294"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcObjectSetDestroy</TT
+></CODE
+>(FcObjectSet *<TT
+CLASS="PARAMETER"
+><I
+>os</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1301"
+></A
+><H2
+>Description</H2
+><P
+>Destroys an object set.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcobjectsetadd.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcobjectsetbuild.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcObjectSetAdd</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1242"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcObjectSetBuild</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatternadd-type.html b/doc/fontconfig-devel/fcpatternadd-type.html
new file mode 100644
index 00000000..f40939c8
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatternadd-type.html
@@ -0,0 +1,422 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternAdd-Type</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternAddWeak"
+HREF="fcpatternaddweak.html"><LINK
+REL="NEXT"
+TITLE="FcPatternGet"
+HREF="fcpatternget.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatternaddweak.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatternget.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNADD-TYPE"
+></A
+>FcPatternAdd-Type</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN473"
+></A
+><H2
+>Name</H2
+>FcPatternAddInteger, FcPatternAddDouble, FcPatternAddString, FcPatternAddMatrix, FcPatternAddCharSet, FcPatternAddBool, FcPatternAddFTFace, FcPatternAddLangSet, FcPatternAddRange&nbsp;--&nbsp;Add a typed value to a pattern</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN484"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN485"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcPatternAddInteger</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>i</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcPatternAddDouble</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, double <TT
+CLASS="PARAMETER"
+><I
+>d</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcPatternAddString</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcPatternAddMatrix</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, const FcMatrix *<TT
+CLASS="PARAMETER"
+><I
+>m</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcPatternAddCharSet</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, const FcCharSet *<TT
+CLASS="PARAMETER"
+><I
+>c</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcPatternAddBool</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, FcBool <TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcPatternAddFTFace</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, const FT_Face<TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcPatternAddLangSet</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, const FcLangSet *<TT
+CLASS="PARAMETER"
+><I
+>l</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcPatternAddRange</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, const FcRange *<TT
+CLASS="PARAMETER"
+><I
+>r</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN568"
+></A
+><H2
+>Description</H2
+><P
+>These are all convenience functions that insert objects of the specified
+type into the pattern. Use these in preference to FcPatternAdd as they
+will provide compile-time typechecking. These all append values to
+any existing list of values.
+
+<TT
+CLASS="FUNCTION"
+>FcPatternAddRange</TT
+> are available since 2.11.91.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatternaddweak.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatternget.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternAddWeak</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternGet</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatternadd.html b/doc/fontconfig-devel/fcpatternadd.html
new file mode 100644
index 00000000..90a0cdf3
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatternadd.html
@@ -0,0 +1,228 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternAdd</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternHash"
+HREF="fcpatternhash.html"><LINK
+REL="NEXT"
+TITLE="FcPatternAddWeak"
+HREF="fcpatternaddweak.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatternhash.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatternaddweak.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNADD"
+></A
+>FcPatternAdd</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN420"
+></A
+><H2
+>Name</H2
+>FcPatternAdd&nbsp;--&nbsp;Add a value to a pattern</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN423"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN424"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcPatternAdd</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, FcValue <TT
+CLASS="PARAMETER"
+><I
+>value</I
+></TT
+>, FcBool <TT
+CLASS="PARAMETER"
+><I
+>append</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN437"
+></A
+><H2
+>Description</H2
+><P
+>Adds a single value to the list of values associated with the property named
+`object<TT
+CLASS="PARAMETER"
+><I
+>. If `append</I
+></TT
+> is FcTrue, the value is added at the end of any
+existing list, otherwise it is inserted at the beginning. `value' is saved
+(with FcValueSave) when inserted into the pattern so that the library
+retains no reference to any application-supplied data structure.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatternhash.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatternaddweak.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternHash</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternAddWeak</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatternaddweak.html b/doc/fontconfig-devel/fcpatternaddweak.html
new file mode 100644
index 00000000..fc29711b
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatternaddweak.html
@@ -0,0 +1,230 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternAddWeak</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternAdd"
+HREF="fcpatternadd.html"><LINK
+REL="NEXT"
+TITLE="FcPatternAdd-Type"
+HREF="fcpatternadd-type.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatternadd.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatternadd-type.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNADDWEAK"
+></A
+>FcPatternAddWeak</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN446"
+></A
+><H2
+>Name</H2
+>FcPatternAddWeak&nbsp;--&nbsp;Add a value to a pattern with weak binding</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN449"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN450"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcPatternAddWeak</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, FcValue <TT
+CLASS="PARAMETER"
+><I
+>value</I
+></TT
+>, FcBool <TT
+CLASS="PARAMETER"
+><I
+>append</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN463"
+></A
+><H2
+>Description</H2
+><P
+>FcPatternAddWeak is essentially the same as FcPatternAdd except that any
+values added to the list have binding <TT
+CLASS="PARAMETER"
+><I
+>weak</I
+></TT
+> instead of <TT
+CLASS="PARAMETER"
+><I
+>strong</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatternadd.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatternadd-type.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternAdd</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternAdd-Type</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatternbuild.html b/doc/fontconfig-devel/fcpatternbuild.html
new file mode 100644
index 00000000..fabdf863
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatternbuild.html
@@ -0,0 +1,301 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternBuild</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternGet-Type"
+HREF="fcpatternget-type.html"><LINK
+REL="NEXT"
+TITLE="FcPatternDel"
+HREF="fcpatterndel.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatternget-type.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatterndel.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNBUILD"
+></A
+>FcPatternBuild</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN727"
+></A
+><H2
+>Name</H2
+>FcPatternBuild, FcPatternVaBuild, FcPatternVapBuild&nbsp;--&nbsp;Create patterns from arguments</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN732"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN733"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcPattern * <TT
+CLASS="FUNCTION"
+>FcPatternBuild</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+>, ...<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcPattern * <TT
+CLASS="FUNCTION"
+>FcPatternVaBuild</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+>, va_list <TT
+CLASS="PARAMETER"
+><I
+>va</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcPatternVapBuild</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>result</I
+></TT
+>, FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+>, va_list <TT
+CLASS="PARAMETER"
+><I
+>va</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN758"
+></A
+><H2
+>Description</H2
+><P
+>Builds a pattern using a list of objects, types and values. Each
+value to be entered in the pattern is specified with three arguments:</P
+><P
+></P
+><OL
+TYPE="1"
+><LI
+><P
+>Object name, a string describing the property to be added.</P
+></LI
+><LI
+><P
+>Object type, one of the FcType enumerated values</P
+></LI
+><LI
+><P
+>Value, not an FcValue, but the raw type as passed to any of the
+FcPatternAdd&#60;type&#62; functions. Must match the type of the second
+argument.</P
+></LI
+></OL
+><P
+>The argument list is terminated by a null object name, no object type nor
+value need be passed for this. The values are added to `pattern', if
+`pattern' is null, a new pattern is created. In either case, the pattern is
+returned. Example</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>pattern = FcPatternBuild (0, FC_FAMILY, FcTypeString, "Times", (char *) 0);</PRE
+></TD
+></TR
+></TABLE
+><P
+>FcPatternVaBuild is used when the arguments are already in the form of a
+varargs value. FcPatternVapBuild is a macro version of FcPatternVaBuild
+which returns its result directly in the <TT
+CLASS="PARAMETER"
+><I
+>result</I
+></TT
+>
+variable.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatternget-type.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatterndel.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternGet-Type</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternDel</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatterncreate.html b/doc/fontconfig-devel/fcpatterncreate.html
new file mode 100644
index 00000000..d54b6b2c
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatterncreate.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternCreate</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcPatternDuplicate"
+HREF="fcpatternduplicate.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatternduplicate.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNCREATE"
+></A
+>FcPatternCreate</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN249"
+></A
+><H2
+>Name</H2
+>FcPatternCreate&nbsp;--&nbsp;Create a pattern</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN252"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN253"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcPattern * <TT
+CLASS="FUNCTION"
+>FcPatternCreate</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN260"
+></A
+><H2
+>Description</H2
+><P
+>Creates a pattern with no properties; used to build patterns from scratch.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatternduplicate.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternDuplicate</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatterndel.html b/doc/fontconfig-devel/fcpatterndel.html
new file mode 100644
index 00000000..2ab8b846
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatterndel.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternDel</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternBuild"
+HREF="fcpatternbuild.html"><LINK
+REL="NEXT"
+TITLE="FcPatternRemove"
+HREF="fcpatternremove.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatternbuild.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatternremove.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNDEL"
+></A
+>FcPatternDel</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN777"
+></A
+><H2
+>Name</H2
+>FcPatternDel&nbsp;--&nbsp;Delete a property from a pattern</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN780"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN781"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcPatternDel</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN790"
+></A
+><H2
+>Description</H2
+><P
+>Deletes all values associated with the property `object', returning
+whether the property existed or not.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatternbuild.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatternremove.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternBuild</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternRemove</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatterndestroy.html b/doc/fontconfig-devel/fcpatterndestroy.html
new file mode 100644
index 00000000..b6110466
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatterndestroy.html
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternDestroy</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternReference"
+HREF="fcpatternreference.html"><LINK
+REL="NEXT"
+TITLE="FcPatternEqual"
+HREF="fcpatternequal.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatternreference.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatternequal.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNDESTROY"
+></A
+>FcPatternDestroy</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN308"
+></A
+><H2
+>Name</H2
+>FcPatternDestroy&nbsp;--&nbsp;Destroy a pattern</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN311"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN312"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcPatternDestroy</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN319"
+></A
+><H2
+>Description</H2
+><P
+>Decrement the pattern reference count. If all references are gone, destroys
+the pattern, in the process destroying all related values.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatternreference.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatternequal.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternReference</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternEqual</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatternduplicate.html b/doc/fontconfig-devel/fcpatternduplicate.html
new file mode 100644
index 00000000..15dc18a2
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatternduplicate.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternDuplicate</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternCreate"
+HREF="fcpatterncreate.html"><LINK
+REL="NEXT"
+TITLE="FcPatternReference"
+HREF="fcpatternreference.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatterncreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatternreference.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNDUPLICATE"
+></A
+>FcPatternDuplicate</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN268"
+></A
+><H2
+>Name</H2
+>FcPatternDuplicate&nbsp;--&nbsp;Copy a pattern</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN271"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN272"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcPattern * <TT
+CLASS="FUNCTION"
+>FcPatternDuplicate</TT
+></CODE
+>(const FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN279"
+></A
+><H2
+>Description</H2
+><P
+>Copy a pattern, returning a new pattern that matches
+<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>. Each pattern may be modified without affecting the
+other.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatterncreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatternreference.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternCreate</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternReference</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatternequal.html b/doc/fontconfig-devel/fcpatternequal.html
new file mode 100644
index 00000000..5d09b3e7
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatternequal.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternEqual</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternDestroy"
+HREF="fcpatterndestroy.html"><LINK
+REL="NEXT"
+TITLE="FcPatternEqualSubset"
+HREF="fcpatternequalsubset.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatterndestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatternequalsubset.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNEQUAL"
+></A
+>FcPatternEqual</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN327"
+></A
+><H2
+>Name</H2
+>FcPatternEqual&nbsp;--&nbsp;Compare patterns</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN330"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN331"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcPatternEqual</TT
+></CODE
+>(const FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>pa</I
+></TT
+>, const FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>pb</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN340"
+></A
+><H2
+>Description</H2
+><P
+>Returns whether <TT
+CLASS="PARAMETER"
+><I
+>pa</I
+></TT
+> and <TT
+CLASS="PARAMETER"
+><I
+>pb</I
+></TT
+> are exactly alike.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatterndestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatternequalsubset.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternDestroy</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternEqualSubset</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatternequalsubset.html b/doc/fontconfig-devel/fcpatternequalsubset.html
new file mode 100644
index 00000000..5b9d0a66
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatternequalsubset.html
@@ -0,0 +1,230 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternEqualSubset</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternEqual"
+HREF="fcpatternequal.html"><LINK
+REL="NEXT"
+TITLE="FcPatternFilter"
+HREF="fcpatternfilter.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatternequal.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatternfilter.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNEQUALSUBSET"
+></A
+>FcPatternEqualSubset</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN350"
+></A
+><H2
+>Name</H2
+>FcPatternEqualSubset&nbsp;--&nbsp;Compare portions of patterns</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN353"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN354"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcPatternEqualSubset</TT
+></CODE
+>(const FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>pa</I
+></TT
+>, const FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>pb</I
+></TT
+>, const FcObjectSet *<TT
+CLASS="PARAMETER"
+><I
+>os</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN365"
+></A
+><H2
+>Description</H2
+><P
+>Returns whether <TT
+CLASS="PARAMETER"
+><I
+>pa</I
+></TT
+> and <TT
+CLASS="PARAMETER"
+><I
+>pb</I
+></TT
+> have exactly the same values for all of the
+objects in <TT
+CLASS="PARAMETER"
+><I
+>os</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatternequal.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatternfilter.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternEqual</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternFilter</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatternfilter.html b/doc/fontconfig-devel/fcpatternfilter.html
new file mode 100644
index 00000000..85c340bd
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatternfilter.html
@@ -0,0 +1,232 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternFilter</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternEqualSubset"
+HREF="fcpatternequalsubset.html"><LINK
+REL="NEXT"
+TITLE="FcPatternHash"
+HREF="fcpatternhash.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatternequalsubset.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatternhash.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNFILTER"
+></A
+>FcPatternFilter</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN376"
+></A
+><H2
+>Name</H2
+>FcPatternFilter&nbsp;--&nbsp;Filter the objects of pattern</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN379"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN380"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcPattern * <TT
+CLASS="FUNCTION"
+>FcPatternFilter</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const FcObjectSet *<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN389"
+></A
+><H2
+>Description</H2
+><P
+>Returns a new pattern that only has those objects from
+<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+> that are in <TT
+CLASS="PARAMETER"
+><I
+>os</I
+></TT
+>.
+If <TT
+CLASS="PARAMETER"
+><I
+>os</I
+></TT
+> is NULL, a duplicate of
+<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+> is returned.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatternequalsubset.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatternhash.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternEqualSubset</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternHash</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatternformat.html b/doc/fontconfig-devel/fcpatternformat.html
new file mode 100644
index 00000000..c9e4b41a
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatternformat.html
@@ -0,0 +1,607 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternFormat</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcNameUnparse"
+HREF="fcnameunparse.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcnameunparse.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNFORMAT"
+></A
+>FcPatternFormat</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN905"
+></A
+><H2
+>Name</H2
+>FcPatternFormat&nbsp;--&nbsp;Format a pattern into a string according to a format specifier</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN908"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN909"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 * <TT
+CLASS="FUNCTION"
+>FcPatternFormat</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>pat</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>format</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN918"
+></A
+><H2
+>Description</H2
+><P
+>Converts given pattern <TT
+CLASS="PARAMETER"
+><I
+>pat</I
+></TT
+> into text described by
+the format specifier <TT
+CLASS="PARAMETER"
+><I
+>format</I
+></TT
+>.
+The return value refers to newly allocated memory which should be freed by the
+caller using free(), or NULL if <TT
+CLASS="PARAMETER"
+><I
+>format</I
+></TT
+> is invalid.&#13;</P
+><P
+>&#13;The format is loosely modeled after printf-style format string.
+The format string is composed of zero or more directives: ordinary
+characters (not "%"), which are copied unchanged to the output stream;
+and tags which are interpreted to construct text from the pattern in a
+variety of ways (explained below).
+Special characters can be escaped
+using backslash. C-string style special characters like \n and \r are
+also supported (this is useful when the format string is not a C string
+literal).
+It is advisable to always escape curly braces that
+are meant to be copied to the output as ordinary characters.&#13;</P
+><P
+>&#13;Each tag is introduced by the character "%",
+followed by an optional minimum field width,
+followed by tag contents in curly braces ({}).
+If the minimum field width value is provided the tag
+will be expanded and the result padded to achieve the minimum width.
+If the minimum field width is positive, the padding will right-align
+the text. Negative field width will left-align.
+The rest of this section describes various supported tag contents
+and their expansion.&#13;</P
+><P
+>&#13;A <I
+CLASS="FIRSTTERM"
+>simple</I
+> tag
+is one where the content is an identifier. When simple
+tags are expanded, the named identifier will be looked up in
+<TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+> and the resulting list of values returned,
+joined together using comma. For example, to print the family name and style of the
+pattern, use the format "%{family} %{style}\n". To extend the family column
+to forty characters use "%-40{family}%{style}\n".&#13;</P
+><P
+>&#13;Simple tags expand to list of all values for an element. To only choose
+one of the values, one can index using the syntax "%{elt[idx]}". For example,
+to get the first family name only, use "%{family[0]}".&#13;</P
+><P
+>&#13;If a simple tag ends with "=" and the element is found in the pattern, the
+name of the element followed by "=" will be output before the list of values.
+For example, "%{weight=}" may expand to the string "weight=80". Or to the empty
+string if <TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+> does not have weight set.&#13;</P
+><P
+>&#13;If a simple tag starts with ":" and the element is found in the pattern, ":"
+will be printed first. For example, combining this with the =, the format
+"%{:weight=}" may expand to ":weight=80" or to the empty string
+if <TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+> does not have weight set.&#13;</P
+><P
+>&#13;If a simple tag contains the string ":-", the rest of the the tag contents
+will be used as a default string. The default string is output if the element
+is not found in the pattern. For example, the format
+"%{:weight=:-123}" may expand to ":weight=80" or to the string
+":weight=123" if <TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+> does not have weight set.&#13;</P
+><P
+>&#13;A <I
+CLASS="FIRSTTERM"
+>count</I
+> tag
+is one that starts with the character "#" followed by an element
+name, and expands to the number of values for the element in the pattern.
+For example, "%{#family}" expands to the number of family names
+<TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+> has set, which may be zero.&#13;</P
+><P
+>&#13;A <I
+CLASS="FIRSTTERM"
+>sub-expression</I
+> tag
+is one that expands a sub-expression. The tag contents
+are the sub-expression to expand placed inside another set of curly braces.
+Sub-expression tags are useful for aligning an entire sub-expression, or to
+apply converters (explained later) to the entire sub-expression output.
+For example, the format "%40{{%{family} %{style}}}" expands the sub-expression
+to construct the family name followed by the style, then takes the entire
+string and pads it on the left to be at least forty characters.&#13;</P
+><P
+>&#13;A <I
+CLASS="FIRSTTERM"
+>filter-out</I
+> tag
+is one starting with the character "-" followed by a
+comma-separated list of element names, followed by a sub-expression enclosed
+in curly braces. The sub-expression will be expanded but with a pattern that
+has the listed elements removed from it.
+For example, the format "%{-size,pixelsize{sub-expr}}" will expand "sub-expr"
+with <TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+> sans the size and pixelsize elements.&#13;</P
+><P
+>&#13;A <I
+CLASS="FIRSTTERM"
+>filter-in</I
+> tag
+is one starting with the character "+" followed by a
+comma-separated list of element names, followed by a sub-expression enclosed
+in curly braces. The sub-expression will be expanded but with a pattern that
+only has the listed elements from the surrounding pattern.
+For example, the format "%{+family,familylang{sub-expr}}" will expand "sub-expr"
+with a sub-pattern consisting only the family and family lang elements of
+<TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+>.&#13;</P
+><P
+>&#13;A <I
+CLASS="FIRSTTERM"
+>conditional</I
+> tag
+is one starting with the character "?" followed by a
+comma-separated list of element conditions, followed by two sub-expression
+enclosed in curly braces. An element condition can be an element name,
+in which case it tests whether the element is defined in pattern, or
+the character "!" followed by an element name, in which case the test
+is negated. The conditional passes if all the element conditions pass.
+The tag expands the first sub-expression if the conditional passes, and
+expands the second sub-expression otherwise.
+For example, the format "%{?size,dpi,!pixelsize{pass}{fail}}" will expand
+to "pass" if <TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+> has size and dpi elements but
+no pixelsize element, and to "fail" otherwise.&#13;</P
+><P
+>&#13;An <I
+CLASS="FIRSTTERM"
+>enumerate</I
+> tag
+is one starting with the string "[]" followed by a
+comma-separated list of element names, followed by a sub-expression enclosed
+in curly braces. The list of values for the named elements are walked in
+parallel and the sub-expression expanded each time with a pattern just having
+a single value for those elements, starting from the first value and
+continuing as long as any of those elements has a value.
+For example, the format "%{[]family,familylang{%{family} (%{familylang})\n}}"
+will expand the pattern "%{family} (%{familylang})\n" with a pattern
+having only the first value of the family and familylang elements, then expands
+it with the second values, then the third, etc.&#13;</P
+><P
+>&#13;As a special case, if an enumerate tag has only one element, and that element
+has only one value in the pattern, and that value is of type FcLangSet, the
+individual languages in the language set are enumerated.&#13;</P
+><P
+>&#13;A <I
+CLASS="FIRSTTERM"
+>builtin</I
+> tag
+is one starting with the character "=" followed by a builtin
+name. The following builtins are defined:
+
+<P
+></P
+><DIV
+CLASS="VARIABLELIST"
+><DL
+><DT
+>unparse</DT
+><DD
+><P
+>Expands to the result of calling FcNameUnparse() on the pattern.</P
+></DD
+><DT
+>fcmatch</DT
+><DD
+><P
+>Expands to the output of the default output format of the fc-match
+command on the pattern, without the final newline.</P
+></DD
+><DT
+>fclist</DT
+><DD
+><P
+>Expands to the output of the default output format of the fc-list
+command on the pattern, without the final newline.</P
+></DD
+><DT
+>fccat</DT
+><DD
+><P
+>Expands to the output of the default output format of the fc-cat
+command on the pattern, without the final newline.</P
+></DD
+><DT
+>pkgkit</DT
+><DD
+><P
+>Expands to the list of PackageKit font() tags for the pattern.
+Currently this includes tags for each family name, and each language
+from the pattern, enumerated and sanitized into a set of tags terminated
+by newline. Package management systems can use these tags to tag their
+packages accordingly.</P
+></DD
+></DL
+></DIV
+>
+
+For example, the format "%{+family,style{%{=unparse}}}\n" will expand
+to an unparsed name containing only the family and style element values
+from <TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+>.&#13;</P
+><P
+>&#13;The contents of any tag can be followed by a set of zero or more
+<I
+CLASS="FIRSTTERM"
+>converter</I
+>s. A converter is specified by the
+character "|" followed by the converter name and arguments. The
+following converters are defined:
+
+<P
+></P
+><DIV
+CLASS="VARIABLELIST"
+><DL
+><DT
+>basename</DT
+><DD
+><P
+>Replaces text with the results of calling FcStrBasename() on it.</P
+></DD
+><DT
+>dirname</DT
+><DD
+><P
+>Replaces text with the results of calling FcStrDirname() on it.</P
+></DD
+><DT
+>downcase</DT
+><DD
+><P
+>Replaces text with the results of calling FcStrDowncase() on it.</P
+></DD
+><DT
+>shescape</DT
+><DD
+><P
+>Escapes text for one level of shell expansion.
+(Escapes single-quotes, also encloses text in single-quotes.)</P
+></DD
+><DT
+>cescape</DT
+><DD
+><P
+>Escapes text such that it can be used as part of a C string literal.
+(Escapes backslash and double-quotes.)</P
+></DD
+><DT
+>xmlescape</DT
+><DD
+><P
+>Escapes text such that it can be used in XML and HTML.
+(Escapes less-than, greater-than, and ampersand.)</P
+></DD
+><DT
+>delete(<TT
+CLASS="PARAMETER"
+><I
+>chars</I
+></TT
+>)</DT
+><DD
+><P
+>Deletes all occurrences of each of the characters in <TT
+CLASS="PARAMETER"
+><I
+>chars</I
+></TT
+>
+from the text.
+FIXME: This converter is not UTF-8 aware yet.</P
+></DD
+><DT
+>escape(<TT
+CLASS="PARAMETER"
+><I
+>chars</I
+></TT
+>)</DT
+><DD
+><P
+>Escapes all occurrences of each of the characters in <TT
+CLASS="PARAMETER"
+><I
+>chars</I
+></TT
+>
+by prepending it by the first character in <TT
+CLASS="PARAMETER"
+><I
+>chars</I
+></TT
+>.
+FIXME: This converter is not UTF-8 aware yet.</P
+></DD
+><DT
+>translate(<TT
+CLASS="PARAMETER"
+><I
+>from</I
+></TT
+>,<TT
+CLASS="PARAMETER"
+><I
+>to</I
+></TT
+>)</DT
+><DD
+><P
+>Translates all occurrences of each of the characters in <TT
+CLASS="PARAMETER"
+><I
+>from</I
+></TT
+>
+by replacing them with their corresponding character in <TT
+CLASS="PARAMETER"
+><I
+>to</I
+></TT
+>.
+If <TT
+CLASS="PARAMETER"
+><I
+>to</I
+></TT
+> has fewer characters than
+<TT
+CLASS="PARAMETER"
+><I
+>from</I
+></TT
+>, it will be extended by repeating its last
+character.
+FIXME: This converter is not UTF-8 aware yet.</P
+></DD
+></DL
+></DIV
+>
+
+For example, the format "%{family|downcase|delete( )}\n" will expand
+to the values of the family element in <TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+>,
+lower-cased and with spaces removed.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1028"
+></A
+><H2
+>Since</H2
+><P
+>version 2.9.0</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcnameunparse.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcNameUnparse</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatternget-type.html b/doc/fontconfig-devel/fcpatternget-type.html
new file mode 100644
index 00000000..39e54fb6
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatternget-type.html
@@ -0,0 +1,468 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternGet-Type</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternGet"
+HREF="fcpatternget.html"><LINK
+REL="NEXT"
+TITLE="FcPatternBuild"
+HREF="fcpatternbuild.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatternget.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatternbuild.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNGET-TYPE"
+></A
+>FcPatternGet-Type</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN605"
+></A
+><H2
+>Name</H2
+>FcPatternGetInteger, FcPatternGetDouble, FcPatternGetString, FcPatternGetMatrix, FcPatternGetCharSet, FcPatternGetBool, FcPatternGetFTFace, FcPatternGetLangSet, FcPatternGetRange&nbsp;--&nbsp;Return a typed value from a pattern</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN616"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN617"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcResult <TT
+CLASS="FUNCTION"
+>FcPatternGetInteger</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>n</I
+></TT
+>, int *<TT
+CLASS="PARAMETER"
+><I
+>i</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcResult <TT
+CLASS="FUNCTION"
+>FcPatternGetDouble</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>n</I
+></TT
+>, double *<TT
+CLASS="PARAMETER"
+><I
+>d</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcResult <TT
+CLASS="FUNCTION"
+>FcPatternGetString</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>n</I
+></TT
+>, FcChar8 **<TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcResult <TT
+CLASS="FUNCTION"
+>FcPatternGetMatrix</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>n</I
+></TT
+>, FcMatrix **<TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcResult <TT
+CLASS="FUNCTION"
+>FcPatternGetCharSet</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>n</I
+></TT
+>, FcCharSet **<TT
+CLASS="PARAMETER"
+><I
+>c</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcResult <TT
+CLASS="FUNCTION"
+>FcPatternGetBool</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>n</I
+></TT
+>, FcBool *<TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcResult <TT
+CLASS="FUNCTION"
+>FcPatternGetFTFace</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>n</I
+></TT
+>, FT_Face *<TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcResult <TT
+CLASS="FUNCTION"
+>FcPatternGetLangSet</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>n</I
+></TT
+>, FcLangSet **<TT
+CLASS="PARAMETER"
+><I
+>l</I
+></TT
+>);</CODE
+></P
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcResult <TT
+CLASS="FUNCTION"
+>FcPatternGetRange</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>n</I
+></TT
+>, FcRange **<TT
+CLASS="PARAMETER"
+><I
+>r</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN718"
+></A
+><H2
+>Description</H2
+><P
+>These are convenience functions that call FcPatternGet and verify that the
+returned data is of the expected type. They return FcResultTypeMismatch if
+this is not the case. Note that these (like FcPatternGet) do not make a
+copy of any data structure referenced by the return value. Use these
+in preference to FcPatternGet to provide compile-time typechecking.
+
+<TT
+CLASS="FUNCTION"
+>FcPatternGetRange</TT
+> are available since 2.11.91.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatternget.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatternbuild.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternGet</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternBuild</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatternget.html b/doc/fontconfig-devel/fcpatternget.html
new file mode 100644
index 00000000..1c38532c
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatternget.html
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternGet</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternAdd-Type"
+HREF="fcpatternadd-type.html"><LINK
+REL="NEXT"
+TITLE="FcPatternGet-Type"
+HREF="fcpatternget-type.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatternadd-type.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatternget-type.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNGET"
+></A
+>FcPatternGet</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN577"
+></A
+><H2
+>Name</H2
+>FcPatternGet&nbsp;--&nbsp;Return a value from a pattern</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN580"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN581"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcResult <TT
+CLASS="FUNCTION"
+>FcPatternGet</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>id</I
+></TT
+>, FcValue *<TT
+CLASS="PARAMETER"
+><I
+>v</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN594"
+></A
+><H2
+>Description</H2
+><P
+>Returns in <TT
+CLASS="PARAMETER"
+><I
+>v</I
+></TT
+> the <TT
+CLASS="PARAMETER"
+><I
+>id</I
+></TT
+>'th value
+associated with the property <TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>.
+The value returned is not a copy, but rather refers to the data stored
+within the pattern directly. Applications must not free this value.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatternadd-type.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatternget-type.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternAdd-Type</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternGet-Type</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatternhash.html b/doc/fontconfig-devel/fcpatternhash.html
new file mode 100644
index 00000000..54a70352
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatternhash.html
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternHash</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternFilter"
+HREF="fcpatternfilter.html"><LINK
+REL="NEXT"
+TITLE="FcPatternAdd"
+HREF="fcpatternadd.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatternfilter.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatternadd.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNHASH"
+></A
+>FcPatternHash</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN401"
+></A
+><H2
+>Name</H2
+>FcPatternHash&nbsp;--&nbsp;Compute a pattern hash value</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN404"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN405"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar32 <TT
+CLASS="FUNCTION"
+>FcPatternHash</TT
+></CODE
+>(const FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN412"
+></A
+><H2
+>Description</H2
+><P
+>Returns a 32-bit number which is the same for any two patterns which are
+equal.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatternfilter.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatternadd.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternFilter</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternAdd</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatternprint.html b/doc/fontconfig-devel/fcpatternprint.html
new file mode 100644
index 00000000..87a36791
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatternprint.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternPrint</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternRemove"
+HREF="fcpatternremove.html"><LINK
+REL="NEXT"
+TITLE="FcDefaultSubstitute"
+HREF="fcdefaultsubstitute.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatternremove.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcdefaultsubstitute.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNPRINT"
+></A
+>FcPatternPrint</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN821"
+></A
+><H2
+>Name</H2
+>FcPatternPrint&nbsp;--&nbsp;Print a pattern for debugging</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN824"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN825"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcPatternPrint</TT
+></CODE
+>(const FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN832"
+></A
+><H2
+>Description</H2
+><P
+>Prints an easily readable version of the pattern to stdout. There is
+no provision for reparsing data in this format, it's just for diagnostics
+and debugging.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatternremove.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcdefaultsubstitute.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternRemove</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcDefaultSubstitute</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatternreference.html b/doc/fontconfig-devel/fcpatternreference.html
new file mode 100644
index 00000000..aaeac08b
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatternreference.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternReference</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternDuplicate"
+HREF="fcpatternduplicate.html"><LINK
+REL="NEXT"
+TITLE="FcPatternDestroy"
+HREF="fcpatterndestroy.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatternduplicate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatterndestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNREFERENCE"
+></A
+>FcPatternReference</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN288"
+></A
+><H2
+>Name</H2
+>FcPatternReference&nbsp;--&nbsp;Increment pattern reference count</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN291"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN292"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcPatternReference</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN299"
+></A
+><H2
+>Description</H2
+><P
+>Add another reference to <TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>. Patterns are freed only
+when the reference count reaches zero.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatternduplicate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatterndestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternDuplicate</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternDestroy</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcpatternremove.html b/doc/fontconfig-devel/fcpatternremove.html
new file mode 100644
index 00000000..ba59c477
--- /dev/null
+++ b/doc/fontconfig-devel/fcpatternremove.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternRemove</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x102.html#AEN241"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternDel"
+HREF="fcpatterndel.html"><LINK
+REL="NEXT"
+TITLE="FcPatternPrint"
+HREF="fcpatternprint.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatterndel.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatternprint.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNREMOVE"
+></A
+>FcPatternRemove</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN798"
+></A
+><H2
+>Name</H2
+>FcPatternRemove&nbsp;--&nbsp;Remove one object of the specified type from the pattern</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN801"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN802"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcPatternRemove</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>id</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN813"
+></A
+><H2
+>Description</H2
+><P
+>Removes the value associated with the property `object' at position `id', returning
+whether the property existed and had a value at that position or not.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatterndel.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatternprint.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternDel</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN241"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternPrint</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcrangecopy.html b/doc/fontconfig-devel/fcrangecopy.html
new file mode 100644
index 00000000..2f5724a1
--- /dev/null
+++ b/doc/fontconfig-devel/fcrangecopy.html
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcRangeCopy</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcRange"
+HREF="x102.html#AEN2590"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcRangeCreateDouble"
+HREF="fcrangecreatedouble.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcrangecreatedouble.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCRANGECOPY"
+></A
+>FcRangeCopy</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2598"
+></A
+><H2
+>Name</H2
+>FcRangeCopy&nbsp;--&nbsp;Copy a range object</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2601"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2602"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcRange * <TT
+CLASS="FUNCTION"
+>FcRangeCopy</TT
+></CODE
+>(const FcRange *<TT
+CLASS="PARAMETER"
+><I
+>range</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2609"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcRangeCopy</TT
+> creates a new FcRange object and
+populates it with the contents of <TT
+CLASS="PARAMETER"
+><I
+>range</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2614"
+></A
+><H2
+>Since</H2
+><P
+>version 2.11.91</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcrangecreatedouble.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2590"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcRangeCreateDouble</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcrangecreatedouble.html b/doc/fontconfig-devel/fcrangecreatedouble.html
new file mode 100644
index 00000000..e251852d
--- /dev/null
+++ b/doc/fontconfig-devel/fcrangecreatedouble.html
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcRangeCreateDouble</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcRange"
+HREF="x102.html#AEN2590"><LINK
+REL="PREVIOUS"
+TITLE="FcRangeCopy"
+HREF="fcrangecopy.html"><LINK
+REL="NEXT"
+TITLE="FcRangeCreateInteger"
+HREF="fcrangecreateinteger.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcrangecopy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcrangecreateinteger.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCRANGECREATEDOUBLE"
+></A
+>FcRangeCreateDouble</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2622"
+></A
+><H2
+>Name</H2
+>FcRangeCreateDouble&nbsp;--&nbsp;create a range object for double</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2625"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2626"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcRange * <TT
+CLASS="FUNCTION"
+>FcRangeCreateDouble</TT
+></CODE
+>(double<TT
+CLASS="PARAMETER"
+><I
+>begin</I
+></TT
+>, double<TT
+CLASS="PARAMETER"
+><I
+>end</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2635"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcRangeCreateDouble</TT
+> creates a new FcRange object with
+double sized value.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2639"
+></A
+><H2
+>Since</H2
+><P
+>version 2.11.91</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcrangecopy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcrangecreateinteger.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcRangeCopy</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2590"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcRangeCreateInteger</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcrangecreateinteger.html b/doc/fontconfig-devel/fcrangecreateinteger.html
new file mode 100644
index 00000000..64a32a7f
--- /dev/null
+++ b/doc/fontconfig-devel/fcrangecreateinteger.html
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcRangeCreateInteger</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcRange"
+HREF="x102.html#AEN2590"><LINK
+REL="PREVIOUS"
+TITLE="FcRangeCreateDouble"
+HREF="fcrangecreatedouble.html"><LINK
+REL="NEXT"
+TITLE="FcRangeDestroy"
+HREF="fcrangedestroy.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcrangecreatedouble.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcrangedestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCRANGECREATEINTEGER"
+></A
+>FcRangeCreateInteger</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2647"
+></A
+><H2
+>Name</H2
+>FcRangeCreateInteger&nbsp;--&nbsp;create a range object for integer</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2650"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2651"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcRange * <TT
+CLASS="FUNCTION"
+>FcRangeCreateInteger</TT
+></CODE
+>(int<TT
+CLASS="PARAMETER"
+><I
+>begin</I
+></TT
+>, int<TT
+CLASS="PARAMETER"
+><I
+>end</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2660"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcRangeCreateInteger</TT
+> creates a new FcRange object with
+integer sized value.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2664"
+></A
+><H2
+>Since</H2
+><P
+>version 2.11.91</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcrangecreatedouble.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcrangedestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcRangeCreateDouble</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2590"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcRangeDestroy</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcrangedestroy.html b/doc/fontconfig-devel/fcrangedestroy.html
new file mode 100644
index 00000000..848bc5fb
--- /dev/null
+++ b/doc/fontconfig-devel/fcrangedestroy.html
@@ -0,0 +1,218 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcRangeDestroy</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcRange"
+HREF="x102.html#AEN2590"><LINK
+REL="PREVIOUS"
+TITLE="FcRangeCreateInteger"
+HREF="fcrangecreateinteger.html"><LINK
+REL="NEXT"
+TITLE="FcRangeGetDouble"
+HREF="fcrangegetdouble.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcrangecreateinteger.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcrangegetdouble.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCRANGEDESTROY"
+></A
+>FcRangeDestroy</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2672"
+></A
+><H2
+>Name</H2
+>FcRangeDestroy&nbsp;--&nbsp;destroy a range object</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2675"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2676"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcRangeDestroy</TT
+></CODE
+>(FcRange *<TT
+CLASS="PARAMETER"
+><I
+>range</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2683"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcRangeDestroy</TT
+> destroys a FcRange object, freeing
+all memory associated with it.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2687"
+></A
+><H2
+>Since</H2
+><P
+>version 2.11.91</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcrangecreateinteger.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcrangegetdouble.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcRangeCreateInteger</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2590"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcRangeGetDouble</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcrangegetdouble.html b/doc/fontconfig-devel/fcrangegetdouble.html
new file mode 100644
index 00000000..7e831e50
--- /dev/null
+++ b/doc/fontconfig-devel/fcrangegetdouble.html
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcRangeGetDouble</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcRange"
+HREF="x102.html#AEN2590"><LINK
+REL="PREVIOUS"
+TITLE="FcRangeDestroy"
+HREF="fcrangedestroy.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcrangedestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCRANGEGETDOUBLE"
+></A
+>FcRangeGetDouble</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN2695"
+></A
+><H2
+>Name</H2
+>FcRangeGetDouble&nbsp;--&nbsp;Get the range in double</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN2698"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN2699"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcRangeGetDouble</TT
+></CODE
+>(const FcRange *<TT
+CLASS="PARAMETER"
+><I
+>range</I
+></TT
+>, double *<TT
+CLASS="PARAMETER"
+><I
+>begin</I
+></TT
+>, double *<TT
+CLASS="PARAMETER"
+><I
+>end</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2710"
+></A
+><H2
+>Description</H2
+><P
+>Returns in <TT
+CLASS="PARAMETER"
+><I
+>begin</I
+></TT
+> and <TT
+CLASS="PARAMETER"
+><I
+>end</I
+></TT
+> as the range.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN2715"
+></A
+><H2
+>Since</H2
+><P
+>version 2.11.91</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcrangedestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcRangeDestroy</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN2590"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrbasename.html b/doc/fontconfig-devel/fcstrbasename.html
new file mode 100644
index 00000000..a96bacee
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrbasename.html
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrBasename</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcStrDirname"
+HREF="fcstrdirname.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrdirname.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRBASENAME"
+></A
+>FcStrBasename</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4977"
+></A
+><H2
+>Name</H2
+>FcStrBasename&nbsp;--&nbsp;last component of filename</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4980"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4981"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 * <TT
+CLASS="FUNCTION"
+>FcStrBasename</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4988"
+></A
+><H2
+>Description</H2
+><P
+>Returns the filename of <TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+> stripped of any leading
+directory names. This is returned in newly allocated storage which should
+be freed when no longer needed.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrdirname.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrDirname</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrcmp.html b/doc/fontconfig-devel/fcstrcmp.html
new file mode 100644
index 00000000..f216b85e
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrcmp.html
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrCmp</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcStrCopyFilename"
+HREF="fcstrcopyfilename.html"><LINK
+REL="NEXT"
+TITLE="FcStrCmpIgnoreCase"
+HREF="fcstrcmpignorecase.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrcopyfilename.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrcmpignorecase.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRCMP"
+></A
+>FcStrCmp</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4819"
+></A
+><H2
+>Name</H2
+>FcStrCmp&nbsp;--&nbsp;compare UTF-8 strings</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4822"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4823"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>int <TT
+CLASS="FUNCTION"
+>FcStrCmp</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s1</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s2</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4832"
+></A
+><H2
+>Description</H2
+><P
+>Returns the usual &#60;0, 0, &#62;0 result of comparing
+<TT
+CLASS="PARAMETER"
+><I
+>s1</I
+></TT
+> and <TT
+CLASS="PARAMETER"
+><I
+>s2</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrcopyfilename.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrcmpignorecase.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrCopyFilename</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrCmpIgnoreCase</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrcmpignorecase.html b/doc/fontconfig-devel/fcstrcmpignorecase.html
new file mode 100644
index 00000000..c2b2aaa8
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrcmpignorecase.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrCmpIgnoreCase</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcStrCmp"
+HREF="fcstrcmp.html"><LINK
+REL="NEXT"
+TITLE="FcStrStr"
+HREF="fcstrstr.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrcmp.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrstr.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRCMPIGNORECASE"
+></A
+>FcStrCmpIgnoreCase</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4842"
+></A
+><H2
+>Name</H2
+>FcStrCmpIgnoreCase&nbsp;--&nbsp;compare UTF-8 strings ignoring case</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4845"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4846"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>int <TT
+CLASS="FUNCTION"
+>FcStrCmpIgnoreCase</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s1</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s2</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4855"
+></A
+><H2
+>Description</H2
+><P
+>Returns the usual &#60;0, 0, &#62;0 result of comparing
+<TT
+CLASS="PARAMETER"
+><I
+>s1</I
+></TT
+> and <TT
+CLASS="PARAMETER"
+><I
+>s2</I
+></TT
+>. This test is
+case-insensitive for all proper UTF-8 encoded strings.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrcmp.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrstr.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrCmp</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrStr</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrcopy.html b/doc/fontconfig-devel/fcstrcopy.html
new file mode 100644
index 00000000..47bb8dcb
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrcopy.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrCopy</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcToLower"
+HREF="fctolower.html"><LINK
+REL="NEXT"
+TITLE="FcStrDowncase"
+HREF="fcstrdowncase.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fctolower.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrdowncase.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRCOPY"
+></A
+>FcStrCopy</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4756"
+></A
+><H2
+>Name</H2
+>FcStrCopy&nbsp;--&nbsp;duplicate a string</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4759"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4760"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 * <TT
+CLASS="FUNCTION"
+>FcStrCopy</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4767"
+></A
+><H2
+>Description</H2
+><P
+>Allocates memory, copies <TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+> and returns the resulting
+buffer. Yes, this is <TT
+CLASS="FUNCTION"
+>strdup</TT
+>, but that function isn't
+available on every platform.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fctolower.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrdowncase.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcToLower</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrDowncase</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrcopyfilename.html b/doc/fontconfig-devel/fcstrcopyfilename.html
new file mode 100644
index 00000000..26c222b3
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrcopyfilename.html
@@ -0,0 +1,222 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrCopyFilename</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcStrDowncase"
+HREF="fcstrdowncase.html"><LINK
+REL="NEXT"
+TITLE="FcStrCmp"
+HREF="fcstrcmp.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrdowncase.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrcmp.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRCOPYFILENAME"
+></A
+>FcStrCopyFilename</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4797"
+></A
+><H2
+>Name</H2
+>FcStrCopyFilename&nbsp;--&nbsp;create a complete path from a filename</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4800"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4801"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 * <TT
+CLASS="FUNCTION"
+>FcStrCopyFilename</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4808"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcStrCopyFilename</TT
+> constructs an absolute pathname from
+<TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+>. It converts any leading '~' characters in
+to the value of the HOME environment variable, and any relative paths are
+converted to absolute paths using the current working directory. Sequences
+of '/' characters are converted to a single '/', and names containing the
+current directory '.' or parent directory '..' are correctly reconstructed.
+Returns NULL if '~' is the leading character and HOME is unset or disabled
+(see <TT
+CLASS="FUNCTION"
+>FcConfigEnableHome</TT
+>).
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrdowncase.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrcmp.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrDowncase</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrCmp</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrdirname.html b/doc/fontconfig-devel/fcstrdirname.html
new file mode 100644
index 00000000..88a13163
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrdirname.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrDirname</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcStrFree"
+HREF="fcstrfree.html"><LINK
+REL="NEXT"
+TITLE="FcStrBasename"
+HREF="fcstrbasename.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrfree.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrbasename.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRDIRNAME"
+></A
+>FcStrDirname</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4957"
+></A
+><H2
+>Name</H2
+>FcStrDirname&nbsp;--&nbsp;directory part of filename</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4960"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4961"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 * <TT
+CLASS="FUNCTION"
+>FcStrDirname</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4968"
+></A
+><H2
+>Description</H2
+><P
+>Returns the directory containing <TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+>. This
+is returned in newly allocated storage which should be freed when no longer
+needed.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrfree.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrbasename.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrFree</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrBasename</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrdowncase.html b/doc/fontconfig-devel/fcstrdowncase.html
new file mode 100644
index 00000000..5cf426a3
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrdowncase.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrDowncase</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcStrCopy"
+HREF="fcstrcopy.html"><LINK
+REL="NEXT"
+TITLE="FcStrCopyFilename"
+HREF="fcstrcopyfilename.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrcopy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrcopyfilename.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRDOWNCASE"
+></A
+>FcStrDowncase</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4777"
+></A
+><H2
+>Name</H2
+>FcStrDowncase&nbsp;--&nbsp;create a lower case translation of a string</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4780"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4781"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 * <TT
+CLASS="FUNCTION"
+>FcStrDowncase</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4788"
+></A
+><H2
+>Description</H2
+><P
+>Allocates memory, copies <TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+>, converting upper case
+letters to lower case and returns the allocated buffer.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrcopy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrcopyfilename.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrCopy</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrCopyFilename</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrfree.html b/doc/fontconfig-devel/fcstrfree.html
new file mode 100644
index 00000000..c39b2c6f
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrfree.html
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrFree</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcStrPlus"
+HREF="fcstrplus.html"><LINK
+REL="NEXT"
+TITLE="FcStrDirname"
+HREF="fcstrdirname.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrplus.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrdirname.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRFREE"
+></A
+>FcStrFree</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4938"
+></A
+><H2
+>Name</H2
+>FcStrFree&nbsp;--&nbsp;free a string</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4941"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4942"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcStrFree</TT
+></CODE
+>(FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4949"
+></A
+><H2
+>Description</H2
+><P
+>This is just a wrapper around free(3) which helps track memory usage of
+strings within the fontconfig library.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrplus.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrdirname.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrPlus</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrDirname</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrlistcreate.html b/doc/fontconfig-devel/fcstrlistcreate.html
new file mode 100644
index 00000000..71c03fc9
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrlistcreate.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrListCreate</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcStrSet and FcStrList"
+HREF="x102.html#AEN4302"><LINK
+REL="PREVIOUS"
+TITLE="FcStrSetDestroy"
+HREF="fcstrsetdestroy.html"><LINK
+REL="NEXT"
+TITLE="FcStrListFirst"
+HREF="fcstrlistfirst.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrsetdestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrlistfirst.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRLISTCREATE"
+></A
+>FcStrListCreate</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4465"
+></A
+><H2
+>Name</H2
+>FcStrListCreate&nbsp;--&nbsp;create a string iterator</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4468"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4469"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcStrList * <TT
+CLASS="FUNCTION"
+>FcStrListCreate</TT
+></CODE
+>(FcStrSet *<TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4476"
+></A
+><H2
+>Description</H2
+><P
+>Creates an iterator to list the strings in <TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrsetdestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrlistfirst.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrSetDestroy</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4302"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrListFirst</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrlistdone.html b/doc/fontconfig-devel/fcstrlistdone.html
new file mode 100644
index 00000000..f4131bbd
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrlistdone.html
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrListDone</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcStrSet and FcStrList"
+HREF="x102.html#AEN4302"><LINK
+REL="PREVIOUS"
+TITLE="FcStrListNext"
+HREF="fcstrlistnext.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrlistnext.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRLISTDONE"
+></A
+>FcStrListDone</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4528"
+></A
+><H2
+>Name</H2
+>FcStrListDone&nbsp;--&nbsp;destroy a string iterator</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4531"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4532"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcStrListDone</TT
+></CODE
+>(FcStrList *<TT
+CLASS="PARAMETER"
+><I
+>list</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4539"
+></A
+><H2
+>Description</H2
+><P
+>Destroys the enumerator <TT
+CLASS="PARAMETER"
+><I
+>list</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrlistnext.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrListNext</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4302"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrlistfirst.html b/doc/fontconfig-devel/fcstrlistfirst.html
new file mode 100644
index 00000000..05c7d537
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrlistfirst.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrListFirst</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcStrSet and FcStrList"
+HREF="x102.html#AEN4302"><LINK
+REL="PREVIOUS"
+TITLE="FcStrListCreate"
+HREF="fcstrlistcreate.html"><LINK
+REL="NEXT"
+TITLE="FcStrListNext"
+HREF="fcstrlistnext.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrlistcreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrlistnext.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRLISTFIRST"
+></A
+>FcStrListFirst</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4485"
+></A
+><H2
+>Name</H2
+>FcStrListFirst&nbsp;--&nbsp;get first string in iteration</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4488"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4489"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcStrListFirst</TT
+></CODE
+>(FcStrList *<TT
+CLASS="PARAMETER"
+><I
+>list</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4496"
+></A
+><H2
+>Description</H2
+><P
+>Returns the first string in <TT
+CLASS="PARAMETER"
+><I
+>list</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4500"
+></A
+><H2
+>Since</H2
+><P
+>version 2.11.0</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrlistcreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrlistnext.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrListCreate</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4302"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrListNext</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrlistnext.html b/doc/fontconfig-devel/fcstrlistnext.html
new file mode 100644
index 00000000..30f81599
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrlistnext.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrListNext</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcStrSet and FcStrList"
+HREF="x102.html#AEN4302"><LINK
+REL="PREVIOUS"
+TITLE="FcStrListFirst"
+HREF="fcstrlistfirst.html"><LINK
+REL="NEXT"
+TITLE="FcStrListDone"
+HREF="fcstrlistdone.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrlistfirst.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrlistdone.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRLISTNEXT"
+></A
+>FcStrListNext</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4508"
+></A
+><H2
+>Name</H2
+>FcStrListNext&nbsp;--&nbsp;get next string in iteration</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4511"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4512"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 * <TT
+CLASS="FUNCTION"
+>FcStrListNext</TT
+></CODE
+>(FcStrList *<TT
+CLASS="PARAMETER"
+><I
+>list</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4519"
+></A
+><H2
+>Description</H2
+><P
+>Returns the next string in <TT
+CLASS="PARAMETER"
+><I
+>list</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrlistfirst.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrlistdone.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrListFirst</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4302"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrListDone</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrplus.html b/doc/fontconfig-devel/fcstrplus.html
new file mode 100644
index 00000000..55c54871
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrplus.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrPlus</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcStrStrIgnoreCase"
+HREF="fcstrstrignorecase.html"><LINK
+REL="NEXT"
+TITLE="FcStrFree"
+HREF="fcstrfree.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrstrignorecase.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrfree.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRPLUS"
+></A
+>FcStrPlus</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4915"
+></A
+><H2
+>Name</H2
+>FcStrPlus&nbsp;--&nbsp;concatenate two strings</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4918"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4919"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 * <TT
+CLASS="FUNCTION"
+>FcStrPlus</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s1</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s2</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4928"
+></A
+><H2
+>Description</H2
+><P
+>This function allocates new storage and places the concatenation of
+<TT
+CLASS="PARAMETER"
+><I
+>s1</I
+></TT
+> and <TT
+CLASS="PARAMETER"
+><I
+>s2</I
+></TT
+> there, returning the
+new string.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrstrignorecase.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrfree.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrStrIgnoreCase</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrFree</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrsetadd.html b/doc/fontconfig-devel/fcstrsetadd.html
new file mode 100644
index 00000000..ff430a69
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrsetadd.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrSetAdd</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcStrSet and FcStrList"
+HREF="x102.html#AEN4302"><LINK
+REL="PREVIOUS"
+TITLE="FcStrSetEqual"
+HREF="fcstrsetequal.html"><LINK
+REL="NEXT"
+TITLE="FcStrSetAddFilename"
+HREF="fcstrsetaddfilename.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrsetequal.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrsetaddfilename.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRSETADD"
+></A
+>FcStrSetAdd</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4375"
+></A
+><H2
+>Name</H2
+>FcStrSetAdd&nbsp;--&nbsp;add to a string set</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4378"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4379"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcStrSetAdd</TT
+></CODE
+>(FcStrSet *<TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4388"
+></A
+><H2
+>Description</H2
+><P
+>Adds a copy of <TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+> to <TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrsetequal.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrsetaddfilename.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrSetEqual</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4302"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrSetAddFilename</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrsetaddfilename.html b/doc/fontconfig-devel/fcstrsetaddfilename.html
new file mode 100644
index 00000000..dd451451
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrsetaddfilename.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrSetAddFilename</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcStrSet and FcStrList"
+HREF="x102.html#AEN4302"><LINK
+REL="PREVIOUS"
+TITLE="FcStrSetAdd"
+HREF="fcstrsetadd.html"><LINK
+REL="NEXT"
+TITLE="FcStrSetDel"
+HREF="fcstrsetdel.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrsetadd.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrsetdel.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRSETADDFILENAME"
+></A
+>FcStrSetAddFilename</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4398"
+></A
+><H2
+>Name</H2
+>FcStrSetAddFilename&nbsp;--&nbsp;add a filename to a string set</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4401"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4402"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcStrSetAddFilename</TT
+></CODE
+>(FcStrSet *<TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4411"
+></A
+><H2
+>Description</H2
+><P
+>Adds a copy <TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+> to <TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>, The copy
+is created with FcStrCopyFilename so that leading '~' values are replaced
+with the value of the HOME environment variable.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrsetadd.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrsetdel.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrSetAdd</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4302"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrSetDel</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrsetcreate.html b/doc/fontconfig-devel/fcstrsetcreate.html
new file mode 100644
index 00000000..efd1e034
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrsetcreate.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrSetCreate</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcStrSet and FcStrList"
+HREF="x102.html#AEN4302"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcStrSetMember"
+HREF="fcstrsetmember.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrsetmember.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRSETCREATE"
+></A
+>FcStrSetCreate</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4310"
+></A
+><H2
+>Name</H2
+>FcStrSetCreate&nbsp;--&nbsp;create a string set</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4313"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4314"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcStrSet * <TT
+CLASS="FUNCTION"
+>FcStrSetCreate</TT
+></CODE
+>(void<TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4321"
+></A
+><H2
+>Description</H2
+><P
+>Create an empty set.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrsetmember.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4302"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrSetMember</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrsetdel.html b/doc/fontconfig-devel/fcstrsetdel.html
new file mode 100644
index 00000000..aae3eda5
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrsetdel.html
@@ -0,0 +1,225 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrSetDel</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcStrSet and FcStrList"
+HREF="x102.html#AEN4302"><LINK
+REL="PREVIOUS"
+TITLE="FcStrSetAddFilename"
+HREF="fcstrsetaddfilename.html"><LINK
+REL="NEXT"
+TITLE="FcStrSetDestroy"
+HREF="fcstrsetdestroy.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrsetaddfilename.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrsetdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRSETDEL"
+></A
+>FcStrSetDel</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4421"
+></A
+><H2
+>Name</H2
+>FcStrSetDel&nbsp;--&nbsp;delete from a string set</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4424"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4425"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcStrSetDel</TT
+></CODE
+>(FcStrSet *<TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4434"
+></A
+><H2
+>Description</H2
+><P
+>Removes <TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+> from <TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>, returning
+FcTrue if <TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+> was a member else FcFalse.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrsetaddfilename.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrsetdestroy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrSetAddFilename</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4302"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrSetDestroy</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrsetdestroy.html b/doc/fontconfig-devel/fcstrsetdestroy.html
new file mode 100644
index 00000000..9ebe87fa
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrsetdestroy.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrSetDestroy</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcStrSet and FcStrList"
+HREF="x102.html#AEN4302"><LINK
+REL="PREVIOUS"
+TITLE="FcStrSetDel"
+HREF="fcstrsetdel.html"><LINK
+REL="NEXT"
+TITLE="FcStrListCreate"
+HREF="fcstrlistcreate.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrsetdel.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrlistcreate.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRSETDESTROY"
+></A
+>FcStrSetDestroy</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4445"
+></A
+><H2
+>Name</H2
+>FcStrSetDestroy&nbsp;--&nbsp;destroy a string set</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4448"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4449"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcStrSetDestroy</TT
+></CODE
+>(FcStrSet *<TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4456"
+></A
+><H2
+>Description</H2
+><P
+>Destroys <TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrsetdel.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrlistcreate.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrSetDel</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4302"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrListCreate</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrsetequal.html b/doc/fontconfig-devel/fcstrsetequal.html
new file mode 100644
index 00000000..72ffd79e
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrsetequal.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrSetEqual</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcStrSet and FcStrList"
+HREF="x102.html#AEN4302"><LINK
+REL="PREVIOUS"
+TITLE="FcStrSetMember"
+HREF="fcstrsetmember.html"><LINK
+REL="NEXT"
+TITLE="FcStrSetAdd"
+HREF="fcstrsetadd.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrsetmember.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrsetadd.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRSETEQUAL"
+></A
+>FcStrSetEqual</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4352"
+></A
+><H2
+>Name</H2
+>FcStrSetEqual&nbsp;--&nbsp;check sets for equality</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4355"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4356"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcStrSetEqual</TT
+></CODE
+>(FcStrSet *<TT
+CLASS="PARAMETER"
+><I
+>set_a</I
+></TT
+>, FcStrSet *<TT
+CLASS="PARAMETER"
+><I
+>set_b</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4365"
+></A
+><H2
+>Description</H2
+><P
+>Returns whether <TT
+CLASS="PARAMETER"
+><I
+>set_a</I
+></TT
+> contains precisely the same
+strings as <TT
+CLASS="PARAMETER"
+><I
+>set_b</I
+></TT
+>. Ordering of strings within the two
+sets is not considered.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrsetmember.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrsetadd.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrSetMember</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4302"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrSetAdd</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrsetmember.html b/doc/fontconfig-devel/fcstrsetmember.html
new file mode 100644
index 00000000..080998bb
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrsetmember.html
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrSetMember</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcStrSet and FcStrList"
+HREF="x102.html#AEN4302"><LINK
+REL="PREVIOUS"
+TITLE="FcStrSetCreate"
+HREF="fcstrsetcreate.html"><LINK
+REL="NEXT"
+TITLE="FcStrSetEqual"
+HREF="fcstrsetequal.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrsetcreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrsetequal.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRSETMEMBER"
+></A
+>FcStrSetMember</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4329"
+></A
+><H2
+>Name</H2
+>FcStrSetMember&nbsp;--&nbsp;check set for membership</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4332"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4333"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcStrSetMember</TT
+></CODE
+>(FcStrSet *<TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4342"
+></A
+><H2
+>Description</H2
+><P
+>Returns whether <TT
+CLASS="PARAMETER"
+><I
+>s</I
+></TT
+> is a member of
+<TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrsetcreate.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrsetequal.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrSetCreate</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4302"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrSetEqual</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrstr.html b/doc/fontconfig-devel/fcstrstr.html
new file mode 100644
index 00000000..14ea9c65
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrstr.html
@@ -0,0 +1,232 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrStr</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcStrCmpIgnoreCase"
+HREF="fcstrcmpignorecase.html"><LINK
+REL="NEXT"
+TITLE="FcStrStrIgnoreCase"
+HREF="fcstrstrignorecase.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrcmpignorecase.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrstrignorecase.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRSTR"
+></A
+>FcStrStr</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4865"
+></A
+><H2
+>Name</H2
+>FcStrStr&nbsp;--&nbsp;locate UTF-8 substring</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4868"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4869"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 * <TT
+CLASS="FUNCTION"
+>FcStrStr</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s1</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s2</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4878"
+></A
+><H2
+>Description</H2
+><P
+>Returns the location of <TT
+CLASS="PARAMETER"
+><I
+>s2</I
+></TT
+> in
+<TT
+CLASS="PARAMETER"
+><I
+>s1</I
+></TT
+>. Returns NULL if <TT
+CLASS="PARAMETER"
+><I
+>s2</I
+></TT
+>
+is not present in <TT
+CLASS="PARAMETER"
+><I
+>s1</I
+></TT
+>. This test will operate properly
+with UTF8 encoded strings.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrcmpignorecase.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrstrignorecase.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrCmpIgnoreCase</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrStrIgnoreCase</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcstrstrignorecase.html b/doc/fontconfig-devel/fcstrstrignorecase.html
new file mode 100644
index 00000000..0e9ed8d7
--- /dev/null
+++ b/doc/fontconfig-devel/fcstrstrignorecase.html
@@ -0,0 +1,232 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcStrStrIgnoreCase</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcStrStr"
+HREF="fcstrstr.html"><LINK
+REL="NEXT"
+TITLE="FcStrPlus"
+HREF="fcstrplus.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcstrstr.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrplus.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCSTRSTRIGNORECASE"
+></A
+>FcStrStrIgnoreCase</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4890"
+></A
+><H2
+>Name</H2
+>FcStrStrIgnoreCase&nbsp;--&nbsp;locate UTF-8 substring ignoring ASCII case</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4893"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4894"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 * <TT
+CLASS="FUNCTION"
+>FcStrStrIgnoreCase</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s1</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>s2</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4903"
+></A
+><H2
+>Description</H2
+><P
+>Returns the location of <TT
+CLASS="PARAMETER"
+><I
+>s2</I
+></TT
+> in
+<TT
+CLASS="PARAMETER"
+><I
+>s1</I
+></TT
+>, ignoring case. Returns NULL if
+<TT
+CLASS="PARAMETER"
+><I
+>s2</I
+></TT
+> is not present in <TT
+CLASS="PARAMETER"
+><I
+>s1</I
+></TT
+>.
+This test is case-insensitive for all proper UTF-8 encoded strings.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcstrstr.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrplus.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcStrStr</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrPlus</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fctolower.html b/doc/fontconfig-devel/fctolower.html
new file mode 100644
index 00000000..54b4a0ba
--- /dev/null
+++ b/doc/fontconfig-devel/fctolower.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcToLower</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcIsUpper"
+HREF="fcisupper.html"><LINK
+REL="NEXT"
+TITLE="FcStrCopy"
+HREF="fcstrcopy.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcisupper.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcstrcopy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCTOLOWER"
+></A
+>FcToLower</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4736"
+></A
+><H2
+>Name</H2
+>FcToLower&nbsp;--&nbsp;convert upper case ASCII to lower case</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4739"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4740"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcChar8 <TT
+CLASS="FUNCTION"
+>FcToLower</TT
+></CODE
+>(FcChar8<TT
+CLASS="PARAMETER"
+><I
+>c</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4747"
+></A
+><H2
+>Description</H2
+><P
+>This macro converts upper case ASCII <TT
+CLASS="PARAMETER"
+><I
+>c</I
+></TT
+> to the
+equivalent lower case letter.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcisupper.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcstrcopy.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcIsUpper</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcStrCopy</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcucs4toutf8.html b/doc/fontconfig-devel/fcucs4toutf8.html
new file mode 100644
index 00000000..b4cc3994
--- /dev/null
+++ b/doc/fontconfig-devel/fcucs4toutf8.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcUcs4ToUtf8</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcUtf8ToUcs4"
+HREF="fcutf8toucs4.html"><LINK
+REL="NEXT"
+TITLE="FcUtf8Len"
+HREF="fcutf8len.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcutf8toucs4.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcutf8len.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCUCS4TOUTF8"
+></A
+>FcUcs4ToUtf8</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4578"
+></A
+><H2
+>Name</H2
+>FcUcs4ToUtf8&nbsp;--&nbsp;convert UCS4 to UTF-8</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4581"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4582"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>int <TT
+CLASS="FUNCTION"
+>FcUcs4ToUtf8</TT
+></CODE
+>(FcChar32 <TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+>, FcChar8 <TT
+CLASS="PARAMETER"
+><I
+>dst[FC_UTF8_MAX_LEN]</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4591"
+></A
+><H2
+>Description</H2
+><P
+>Converts the Unicode char from <TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+> into
+<TT
+CLASS="PARAMETER"
+><I
+>dst</I
+></TT
+> and returns the number of bytes needed to encode
+the char.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcutf8toucs4.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcutf8len.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcUtf8ToUcs4</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcUtf8Len</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcutf16len.html b/doc/fontconfig-devel/fcutf16len.html
new file mode 100644
index 00000000..c555b011
--- /dev/null
+++ b/doc/fontconfig-devel/fcutf16len.html
@@ -0,0 +1,266 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcUtf16Len</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcUtf16ToUcs4"
+HREF="fcutf16toucs4.html"><LINK
+REL="NEXT"
+TITLE="FcIsLower"
+HREF="fcislower.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcutf16toucs4.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcislower.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCUTF16LEN"
+></A
+>FcUtf16Len</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4662"
+></A
+><H2
+>Name</H2
+>FcUtf16Len&nbsp;--&nbsp;count UTF-16 encoded chars</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4665"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4666"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcUtf16Len</TT
+></CODE
+>(FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+>, FcEndian <TT
+CLASS="PARAMETER"
+><I
+>endian</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+>, int *<TT
+CLASS="PARAMETER"
+><I
+>nchar</I
+></TT
+>, int *<TT
+CLASS="PARAMETER"
+><I
+>wchar</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4681"
+></A
+><H2
+>Description</H2
+><P
+>Counts the number of Unicode chars in <TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+> bytes of
+<TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+>. Bytes of <TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+> are
+combined into 16-bit units according to <TT
+CLASS="PARAMETER"
+><I
+>endian</I
+></TT
+>.
+Places that count in <TT
+CLASS="PARAMETER"
+><I
+>nchar</I
+></TT
+>.
+<TT
+CLASS="PARAMETER"
+><I
+>wchar</I
+></TT
+> contains 1, 2 or 4 depending on the number of
+bytes needed to hold the largest Unicode char counted. The return value
+indicates whether <TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+> is a well-formed UTF16
+string.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcutf16toucs4.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcislower.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcUtf16ToUcs4</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcIsLower</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcutf16toucs4.html b/doc/fontconfig-devel/fcutf16toucs4.html
new file mode 100644
index 00000000..e55ab9b9
--- /dev/null
+++ b/doc/fontconfig-devel/fcutf16toucs4.html
@@ -0,0 +1,253 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcUtf16ToUcs4</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcUtf8Len"
+HREF="fcutf8len.html"><LINK
+REL="NEXT"
+TITLE="FcUtf16Len"
+HREF="fcutf16len.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcutf8len.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcutf16len.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCUTF16TOUCS4"
+></A
+>FcUtf16ToUcs4</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4631"
+></A
+><H2
+>Name</H2
+>FcUtf16ToUcs4&nbsp;--&nbsp;convert UTF-16 to UCS4</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4634"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4635"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>int <TT
+CLASS="FUNCTION"
+>FcUtf16ToUcs4</TT
+></CODE
+>(FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+>, FcEndian <TT
+CLASS="PARAMETER"
+><I
+>endian</I
+></TT
+>, FcChar32 *<TT
+CLASS="PARAMETER"
+><I
+>dst</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4648"
+></A
+><H2
+>Description</H2
+><P
+>Converts the next Unicode char from <TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+> into
+<TT
+CLASS="PARAMETER"
+><I
+>dst</I
+></TT
+> and returns the number of bytes containing the
+char. <TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+> must be at least <TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+>
+bytes long. Bytes of <TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+> are combined into 16-bit
+units according to <TT
+CLASS="PARAMETER"
+><I
+>endian</I
+></TT
+>.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcutf8len.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcutf16len.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcUtf8Len</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcUtf16Len</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcutf8len.html b/doc/fontconfig-devel/fcutf8len.html
new file mode 100644
index 00000000..7eaea165
--- /dev/null
+++ b/doc/fontconfig-devel/fcutf8len.html
@@ -0,0 +1,249 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcUtf8Len</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FcUcs4ToUtf8"
+HREF="fcucs4toutf8.html"><LINK
+REL="NEXT"
+TITLE="FcUtf16ToUcs4"
+HREF="fcutf16toucs4.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcucs4toutf8.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcutf16toucs4.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCUTF8LEN"
+></A
+>FcUtf8Len</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4601"
+></A
+><H2
+>Name</H2
+>FcUtf8Len&nbsp;--&nbsp;count UTF-8 encoded chars</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4604"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4605"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcUtf8Len</TT
+></CODE
+>(FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+>, int *<TT
+CLASS="PARAMETER"
+><I
+>nchar</I
+></TT
+>, int *<TT
+CLASS="PARAMETER"
+><I
+>wchar</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4618"
+></A
+><H2
+>Description</H2
+><P
+>Counts the number of Unicode chars in <TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+> bytes of
+<TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+>. Places that count in
+<TT
+CLASS="PARAMETER"
+><I
+>nchar</I
+></TT
+>. <TT
+CLASS="PARAMETER"
+><I
+>wchar</I
+></TT
+> contains 1, 2 or
+4 depending on the number of bytes needed to hold the largest Unicode char
+counted. The return value indicates whether <TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+> is a
+well-formed UTF8 string.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcucs4toutf8.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcutf16toucs4.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcUcs4ToUtf8</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcUtf16ToUcs4</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcutf8toucs4.html b/doc/fontconfig-devel/fcutf8toucs4.html
new file mode 100644
index 00000000..359b2b2a
--- /dev/null
+++ b/doc/fontconfig-devel/fcutf8toucs4.html
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcUtf8ToUcs4</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="String utilities"
+HREF="x102.html#AEN4543"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcUcs4ToUtf8"
+HREF="fcucs4toutf8.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcucs4toutf8.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCUTF8TOUCS4"
+></A
+>FcUtf8ToUcs4</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4551"
+></A
+><H2
+>Name</H2
+>FcUtf8ToUcs4&nbsp;--&nbsp;convert UTF-8 to UCS4</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4554"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4555"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>int <TT
+CLASS="FUNCTION"
+>FcUtf8ToUcs4</TT
+></CODE
+>(FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+>, FcChar32 *<TT
+CLASS="PARAMETER"
+><I
+>dst</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4566"
+></A
+><H2
+>Description</H2
+><P
+>Converts the next Unicode char from <TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+> into
+<TT
+CLASS="PARAMETER"
+><I
+>dst</I
+></TT
+> and returns the number of bytes containing the
+char. <TT
+CLASS="PARAMETER"
+><I
+>src</I
+></TT
+> must be at least
+<TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+> bytes long.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcucs4toutf8.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN4543"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcUcs4ToUtf8</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcvaluedestroy.html b/doc/fontconfig-devel/fcvaluedestroy.html
new file mode 100644
index 00000000..ff749509
--- /dev/null
+++ b/doc/fontconfig-devel/fcvaluedestroy.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcValueDestroy</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcValue"
+HREF="x102.html#AEN1463"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcValueSave"
+HREF="fcvaluesave.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcvaluesave.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCVALUEDESTROY"
+></A
+>FcValueDestroy</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1472"
+></A
+><H2
+>Name</H2
+>FcValueDestroy&nbsp;--&nbsp;Free a value</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1475"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1476"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcValueDestroy</TT
+></CODE
+>(FcValue <TT
+CLASS="PARAMETER"
+><I
+>v</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1483"
+></A
+><H2
+>Description</H2
+><P
+>Frees any memory referenced by <TT
+CLASS="PARAMETER"
+><I
+>v</I
+></TT
+>. Values of type FcTypeString,
+FcTypeMatrix and FcTypeCharSet reference memory, the other types do not.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcvaluesave.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1463"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcValueSave</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcvalueequal.html b/doc/fontconfig-devel/fcvalueequal.html
new file mode 100644
index 00000000..33f60a2a
--- /dev/null
+++ b/doc/fontconfig-devel/fcvalueequal.html
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcValueEqual</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcValue"
+HREF="x102.html#AEN1463"><LINK
+REL="PREVIOUS"
+TITLE="FcValuePrint"
+HREF="fcvalueprint.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcvalueprint.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCVALUEEQUAL"
+></A
+>FcValueEqual</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1533"
+></A
+><H2
+>Name</H2
+>FcValueEqual&nbsp;--&nbsp;Test two values for equality</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1536"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1537"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcValueEqual</TT
+></CODE
+>(FcValue <TT
+CLASS="PARAMETER"
+><I
+>v_a</I
+></TT
+>, FcValue <TT
+CLASS="PARAMETER"
+><I
+>v_b</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1546"
+></A
+><H2
+>Description</H2
+><P
+>Compares two values. Integers and Doubles are compared as numbers; otherwise
+the two values have to be the same type to be considered equal. Strings are
+compared ignoring case.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcvalueprint.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcValuePrint</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1463"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcvalueprint.html b/doc/fontconfig-devel/fcvalueprint.html
new file mode 100644
index 00000000..3a4fdf6c
--- /dev/null
+++ b/doc/fontconfig-devel/fcvalueprint.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcValuePrint</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcValue"
+HREF="x102.html#AEN1463"><LINK
+REL="PREVIOUS"
+TITLE="FcValueSave"
+HREF="fcvaluesave.html"><LINK
+REL="NEXT"
+TITLE="FcValueEqual"
+HREF="fcvalueequal.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcvaluesave.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcvalueequal.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCVALUEPRINT"
+></A
+>FcValuePrint</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1513"
+></A
+><H2
+>Name</H2
+>FcValuePrint&nbsp;--&nbsp;Print a value to stdout</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1516"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1517"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcValuePrint</TT
+></CODE
+>(FcValue <TT
+CLASS="PARAMETER"
+><I
+>v</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1524"
+></A
+><H2
+>Description</H2
+><P
+>Prints a human-readable representation of <TT
+CLASS="PARAMETER"
+><I
+>v</I
+></TT
+> to
+stdout. The format should not be considered part of the library
+specification as it may change in the future.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcvaluesave.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcvalueequal.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcValueSave</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1463"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcValueEqual</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcvaluesave.html b/doc/fontconfig-devel/fcvaluesave.html
new file mode 100644
index 00000000..dcf67516
--- /dev/null
+++ b/doc/fontconfig-devel/fcvaluesave.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcValueSave</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcValue"
+HREF="x102.html#AEN1463"><LINK
+REL="PREVIOUS"
+TITLE="FcValueDestroy"
+HREF="fcvaluedestroy.html"><LINK
+REL="NEXT"
+TITLE="FcValuePrint"
+HREF="fcvalueprint.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcvaluedestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcvalueprint.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCVALUESAVE"
+></A
+>FcValueSave</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1492"
+></A
+><H2
+>Name</H2
+>FcValueSave&nbsp;--&nbsp;Copy a value</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1495"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1496"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcValue <TT
+CLASS="FUNCTION"
+>FcValueSave</TT
+></CODE
+>(FcValue <TT
+CLASS="PARAMETER"
+><I
+>v</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1503"
+></A
+><H2
+>Description</H2
+><P
+>Returns a copy of <TT
+CLASS="PARAMETER"
+><I
+>v</I
+></TT
+> duplicating any object referenced by it so that <TT
+CLASS="PARAMETER"
+><I
+>v</I
+></TT
+>
+may be safely destroyed without harming the new value.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcvaluedestroy.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcvalueprint.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcValueDestroy</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN1463"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcValuePrint</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcweightfromopentype.html b/doc/fontconfig-devel/fcweightfromopentype.html
new file mode 100644
index 00000000..fca476d8
--- /dev/null
+++ b/doc/fontconfig-devel/fcweightfromopentype.html
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcWeightFromOpenType</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcWeight"
+HREF="x102.html#AEN3573"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x102.html"><LINK
+REL="NEXT"
+TITLE="FcWeightToOpenType"
+HREF="fcweighttoopentype.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcweighttoopentype.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCWEIGHTFROMOPENTYPE"
+></A
+>FcWeightFromOpenType</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3581"
+></A
+><H2
+>Name</H2
+>FcWeightFromOpenType&nbsp;--&nbsp;Convert from OpenType weight values to fontconfig ones</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3584"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3585"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>int <TT
+CLASS="FUNCTION"
+>FcWeightFromOpenType</TT
+></CODE
+>(int<TT
+CLASS="PARAMETER"
+><I
+>ot_weight</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3592"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcWeightFromOpenType</TT
+> returns an integer value
+to use with FC_WEIGHT, from an integer in the 1..1000 range, resembling
+the numbers from OpenType specification's OS/2 usWeight numbers, which
+are also similar to CSS font-weight numbers. If input is negative,
+zero, or greater than 1000, returns -1. This function linearly interpolates
+between various FC_WEIGHT_* constants. As such, the returned value does not
+necessarily match any of the predefined constants.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3596"
+></A
+><H2
+>Since</H2
+><P
+>version 2.11.91</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcweighttoopentype.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3573"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcWeightToOpenType</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/fcweighttoopentype.html b/doc/fontconfig-devel/fcweighttoopentype.html
new file mode 100644
index 00000000..acc66fb3
--- /dev/null
+++ b/doc/fontconfig-devel/fcweighttoopentype.html
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcWeightToOpenType</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcWeight"
+HREF="x102.html#AEN3573"><LINK
+REL="PREVIOUS"
+TITLE="FcWeightFromOpenType"
+HREF="fcweightfromopentype.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcweightfromopentype.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCWEIGHTTOOPENTYPE"
+></A
+>FcWeightToOpenType</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3604"
+></A
+><H2
+>Name</H2
+>FcWeightToOpenType&nbsp;--&nbsp;Convert from fontconfig weight values to OpenType ones</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3607"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3608"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include &#60;fontconfig/fontconfig.h&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>int <TT
+CLASS="FUNCTION"
+>FcWeightToOpenType</TT
+></CODE
+>(int<TT
+CLASS="PARAMETER"
+><I
+>ot_weight</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3615"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcWeightToOpenType</TT
+> is the inverse of
+<TT
+CLASS="FUNCTION"
+>FcWeightFromOpenType</TT
+>. If the input is less than
+FC_WEIGHT_THIN or greater than FC_WEIGHT_EXTRABLACK, returns -1. Otherwise
+returns a number in the range 1 to 1000.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3620"
+></A
+><H2
+>Since</H2
+><P
+>version 2.11.91</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcweightfromopentype.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcWeightFromOpenType</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x102.html#AEN3573"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/ln12.html b/doc/fontconfig-devel/ln12.html
new file mode 100644
index 00000000..eb0448d0
--- /dev/null
+++ b/doc/fontconfig-devel/ln12.html
@@ -0,0 +1,128 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+HREF="t1.html#AEN3"><LINK
+REL="NEXT"
+TITLE="FUNCTIONAL OVERVIEW"
+HREF="x19.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="LEGALNOTICE"
+><P
+></P
+><A
+NAME="AEN12"
+></A
+><P
+>
+Copyright © 2002 Keith Packard
+ </P
+><P
+>Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of the author(s) not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. The authors make no
+representations about the suitability of this software for any purpose. It
+is provided "as is" without express or implied warranty.
+ </P
+><P
+>THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+ </P
+><P
+></P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html#AEN3"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/t1.html b/doc/fontconfig-devel/t1.html
new file mode 100644
index 00000000..74f0a00b
--- /dev/null
+++ b/doc/fontconfig-devel/t1.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>Fontconfig Developers Reference, Version 2.11.93
+ </TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="NEXT"
+TITLE="FUNCTIONAL OVERVIEW"
+HREF="x19.html"></HEAD
+><BODY
+CLASS="ARTICLE"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="ARTICLE"
+><DIV
+CLASS="TITLEPAGE"
+><H1
+CLASS="TITLE"
+><A
+NAME="AEN1"
+>Fontconfig Developers Reference, Version 2.11.93</A
+></H1
+><A
+HREF="ln12.html"
+>Legal Notice</A
+><HR
+WIDTH="75%"
+ALIGN="CENTER"
+COLOR="#000000"
+SIZE="1"></DIV
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="t1.html#AEN16"
+>DESCRIPTION</A
+></DT
+><DT
+><A
+HREF="x19.html"
+>FUNCTIONAL OVERVIEW</A
+></DT
+><DT
+><A
+HREF="x31.html"
+>Datatypes</A
+></DT
+><DT
+><A
+HREF="x102.html"
+>FUNCTIONS</A
+></DT
+></DL
+></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN16"
+>DESCRIPTION</A
+></H1
+><P
+>Fontconfig is a library designed to provide system-wide font configuration,
+customization and application access.
+ </P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x19.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FUNCTIONAL OVERVIEW</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/x102.html b/doc/fontconfig-devel/x102.html
new file mode 100644
index 00000000..d8fd2ef2
--- /dev/null
+++ b/doc/fontconfig-devel/x102.html
@@ -0,0 +1,1606 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FUNCTIONS</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="PREVIOUS"
+TITLE="Datatypes"
+HREF="x31.html"></HEAD
+><BODY
+CLASS="SECT1"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x31.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN102"
+>FUNCTIONS</A
+></H1
+><P
+>These are grouped by functionality, often using the main data type being
+manipulated.
+ </P
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN105"
+>Initialization</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fcinitloadconfig.html"
+>FcInitLoadConfig</A
+>&nbsp;--&nbsp;load configuration</DT
+><DT
+><A
+HREF="fcinitloadconfigandfonts.html"
+>FcInitLoadConfigAndFonts</A
+>&nbsp;--&nbsp;load configuration and font data</DT
+><DT
+><A
+HREF="fcinit.html"
+>FcInit</A
+>&nbsp;--&nbsp;initialize fontconfig library</DT
+><DT
+><A
+HREF="fcfini.html"
+>FcFini</A
+>&nbsp;--&nbsp;finalize fontconfig library</DT
+><DT
+><A
+HREF="fcgetversion.html"
+>FcGetVersion</A
+>&nbsp;--&nbsp;library version number</DT
+><DT
+><A
+HREF="fcinitreinitialize.html"
+>FcInitReinitialize</A
+>&nbsp;--&nbsp;re-initialize library</DT
+><DT
+><A
+HREF="fcinitbringuptodate.html"
+>FcInitBringUptoDate</A
+>&nbsp;--&nbsp;reload configuration files if needed</DT
+></DL
+></DIV
+><P
+>These functions provide some control over how the library is initialized.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN241"
+>FcPattern</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fcpatterncreate.html"
+>FcPatternCreate</A
+>&nbsp;--&nbsp;Create a pattern</DT
+><DT
+><A
+HREF="fcpatternduplicate.html"
+>FcPatternDuplicate</A
+>&nbsp;--&nbsp;Copy a pattern</DT
+><DT
+><A
+HREF="fcpatternreference.html"
+>FcPatternReference</A
+>&nbsp;--&nbsp;Increment pattern reference count</DT
+><DT
+><A
+HREF="fcpatterndestroy.html"
+>FcPatternDestroy</A
+>&nbsp;--&nbsp;Destroy a pattern</DT
+><DT
+><A
+HREF="fcpatternequal.html"
+>FcPatternEqual</A
+>&nbsp;--&nbsp;Compare patterns</DT
+><DT
+><A
+HREF="fcpatternequalsubset.html"
+>FcPatternEqualSubset</A
+>&nbsp;--&nbsp;Compare portions of patterns</DT
+><DT
+><A
+HREF="fcpatternfilter.html"
+>FcPatternFilter</A
+>&nbsp;--&nbsp;Filter the objects of pattern</DT
+><DT
+><A
+HREF="fcpatternhash.html"
+>FcPatternHash</A
+>&nbsp;--&nbsp;Compute a pattern hash value</DT
+><DT
+><A
+HREF="fcpatternadd.html"
+>FcPatternAdd</A
+>&nbsp;--&nbsp;Add a value to a pattern</DT
+><DT
+><A
+HREF="fcpatternaddweak.html"
+>FcPatternAddWeak</A
+>&nbsp;--&nbsp;Add a value to a pattern with weak binding</DT
+><DT
+><A
+HREF="fcpatternadd-type.html"
+>FcPatternAdd-Type</A
+>&nbsp;--&nbsp;Add a typed value to a pattern</DT
+><DT
+><A
+HREF="fcpatternget.html"
+>FcPatternGet</A
+>&nbsp;--&nbsp;Return a value from a pattern</DT
+><DT
+><A
+HREF="fcpatternget-type.html"
+>FcPatternGet-Type</A
+>&nbsp;--&nbsp;Return a typed value from a pattern</DT
+><DT
+><A
+HREF="fcpatternbuild.html"
+>FcPatternBuild</A
+>&nbsp;--&nbsp;Create patterns from arguments</DT
+><DT
+><A
+HREF="fcpatterndel.html"
+>FcPatternDel</A
+>&nbsp;--&nbsp;Delete a property from a pattern</DT
+><DT
+><A
+HREF="fcpatternremove.html"
+>FcPatternRemove</A
+>&nbsp;--&nbsp;Remove one object of the specified type from the pattern</DT
+><DT
+><A
+HREF="fcpatternprint.html"
+>FcPatternPrint</A
+>&nbsp;--&nbsp;Print a pattern for debugging</DT
+><DT
+><A
+HREF="fcdefaultsubstitute.html"
+>FcDefaultSubstitute</A
+>&nbsp;--&nbsp;Perform default substitutions in a pattern</DT
+><DT
+><A
+HREF="fcnameparse.html"
+>FcNameParse</A
+>&nbsp;--&nbsp;Parse a pattern string</DT
+><DT
+><A
+HREF="fcnameunparse.html"
+>FcNameUnparse</A
+>&nbsp;--&nbsp;Convert a pattern back into a string that can be parsed</DT
+><DT
+><A
+HREF="fcpatternformat.html"
+>FcPatternFormat</A
+>&nbsp;--&nbsp;Format a pattern into a string according to a format specifier</DT
+></DL
+></DIV
+><P
+>An FcPattern is an opaque type that holds both patterns to match against the
+available fonts, as well as the information about each font.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1031"
+>FcFontSet</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fcfontsetcreate.html"
+>FcFontSetCreate</A
+>&nbsp;--&nbsp;Create a font set</DT
+><DT
+><A
+HREF="fcfontsetdestroy.html"
+>FcFontSetDestroy</A
+>&nbsp;--&nbsp;Destroy a font set</DT
+><DT
+><A
+HREF="fcfontsetadd.html"
+>FcFontSetAdd</A
+>&nbsp;--&nbsp;Add to a font set</DT
+><DT
+><A
+HREF="fcfontsetlist.html"
+>FcFontSetList</A
+>&nbsp;--&nbsp;List fonts from a set of font sets</DT
+><DT
+><A
+HREF="fcfontsetmatch.html"
+>FcFontSetMatch</A
+>&nbsp;--&nbsp;Return the best font from a set of font sets</DT
+><DT
+><A
+HREF="fcfontsetprint.html"
+>FcFontSetPrint</A
+>&nbsp;--&nbsp;Print a set of patterns to stdout</DT
+><DT
+><A
+HREF="fcfontsetsort.html"
+>FcFontSetSort</A
+>&nbsp;--&nbsp;Add to a font set</DT
+><DT
+><A
+HREF="fcfontsetsortdestroy.html"
+>FcFontSetSortDestroy</A
+>&nbsp;--&nbsp;DEPRECATED destroy a font set</DT
+></DL
+></DIV
+><P
+>An FcFontSet simply holds a list of patterns; these are used to return the
+results of listing available fonts.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1242"
+>FcObjectSet</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fcobjectsetcreate.html"
+>FcObjectSetCreate</A
+>&nbsp;--&nbsp;Create an object set</DT
+><DT
+><A
+HREF="fcobjectsetadd.html"
+>FcObjectSetAdd</A
+>&nbsp;--&nbsp;Add to an object set</DT
+><DT
+><A
+HREF="fcobjectsetdestroy.html"
+>FcObjectSetDestroy</A
+>&nbsp;--&nbsp;Destroy an object set</DT
+><DT
+><A
+HREF="fcobjectsetbuild.html"
+>FcObjectSetBuild</A
+>&nbsp;--&nbsp;Build object set from args</DT
+></DL
+></DIV
+><P
+>An FcObjectSet holds a list of pattern property names; it is used to
+indicate which properties are to be returned in the patterns from
+FcFontList.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1344"
+>FreeType specific functions</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fcfreetypecharindex.html"
+>FcFreeTypeCharIndex</A
+>&nbsp;--&nbsp;map Unicode to glyph id</DT
+><DT
+><A
+HREF="fcfreetypecharset.html"
+>FcFreeTypeCharSet</A
+>&nbsp;--&nbsp;compute Unicode coverage</DT
+><DT
+><A
+HREF="fcfreetypecharsetandspacing.html"
+>FcFreeTypeCharSetAndSpacing</A
+>&nbsp;--&nbsp;compute Unicode coverage and spacing type</DT
+><DT
+><A
+HREF="fcfreetypequery.html"
+>FcFreeTypeQuery</A
+>&nbsp;--&nbsp;compute pattern from font file (and index)</DT
+><DT
+><A
+HREF="fcfreetypequeryface.html"
+>FcFreeTypeQueryFace</A
+>&nbsp;--&nbsp;compute pattern from FT_Face</DT
+></DL
+></DIV
+><P
+>While the fontconfig library doesn't insist that FreeType be used as the
+rasterization mechanism for fonts, it does provide some convenience
+functions.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1463"
+>FcValue</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fcvaluedestroy.html"
+>FcValueDestroy</A
+>&nbsp;--&nbsp;Free a value</DT
+><DT
+><A
+HREF="fcvaluesave.html"
+>FcValueSave</A
+>&nbsp;--&nbsp;Copy a value</DT
+><DT
+><A
+HREF="fcvalueprint.html"
+>FcValuePrint</A
+>&nbsp;--&nbsp;Print a value to stdout</DT
+><DT
+><A
+HREF="fcvalueequal.html"
+>FcValueEqual</A
+>&nbsp;--&nbsp;Test two values for equality</DT
+></DL
+></DIV
+><P
+>FcValue is a structure containing a type tag and a union of all possible
+datatypes. The tag is an enum of type
+<I
+CLASS="EMPHASIS"
+>FcType</I
+>
+and is intended to provide a measure of run-time
+typechecking, although that depends on careful programming.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1549"
+>FcCharSet</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fccharsetcreate.html"
+>FcCharSetCreate</A
+>&nbsp;--&nbsp;Create an empty character set</DT
+><DT
+><A
+HREF="fccharsetdestroy.html"
+>FcCharSetDestroy</A
+>&nbsp;--&nbsp;Destroy a character set</DT
+><DT
+><A
+HREF="fccharsetaddchar.html"
+>FcCharSetAddChar</A
+>&nbsp;--&nbsp;Add a character to a charset</DT
+><DT
+><A
+HREF="fccharsetdelchar.html"
+>FcCharSetDelChar</A
+>&nbsp;--&nbsp;Add a character to a charset</DT
+><DT
+><A
+HREF="fccharsetcopy.html"
+>FcCharSetCopy</A
+>&nbsp;--&nbsp;Copy a charset</DT
+><DT
+><A
+HREF="fccharsetequal.html"
+>FcCharSetEqual</A
+>&nbsp;--&nbsp;Compare two charsets</DT
+><DT
+><A
+HREF="fccharsetintersect.html"
+>FcCharSetIntersect</A
+>&nbsp;--&nbsp;Intersect charsets</DT
+><DT
+><A
+HREF="fccharsetunion.html"
+>FcCharSetUnion</A
+>&nbsp;--&nbsp;Add charsets</DT
+><DT
+><A
+HREF="fccharsetsubtract.html"
+>FcCharSetSubtract</A
+>&nbsp;--&nbsp;Subtract charsets</DT
+><DT
+><A
+HREF="fccharsetmerge.html"
+>FcCharSetMerge</A
+>&nbsp;--&nbsp;Merge charsets</DT
+><DT
+><A
+HREF="fccharsethaschar.html"
+>FcCharSetHasChar</A
+>&nbsp;--&nbsp;Check a charset for a char</DT
+><DT
+><A
+HREF="fccharsetcount.html"
+>FcCharSetCount</A
+>&nbsp;--&nbsp;Count entries in a charset</DT
+><DT
+><A
+HREF="fccharsetintersectcount.html"
+>FcCharSetIntersectCount</A
+>&nbsp;--&nbsp;Intersect and count charsets</DT
+><DT
+><A
+HREF="fccharsetsubtractcount.html"
+>FcCharSetSubtractCount</A
+>&nbsp;--&nbsp;Subtract and count charsets</DT
+><DT
+><A
+HREF="fccharsetissubset.html"
+>FcCharSetIsSubset</A
+>&nbsp;--&nbsp;Test for charset inclusion</DT
+><DT
+><A
+HREF="fccharsetfirstpage.html"
+>FcCharSetFirstPage</A
+>&nbsp;--&nbsp;Start enumerating charset contents</DT
+><DT
+><A
+HREF="fccharsetnextpage.html"
+>FcCharSetNextPage</A
+>&nbsp;--&nbsp;Continue enumerating charset contents</DT
+><DT
+><A
+HREF="fccharsetcoverage.html"
+>FcCharSetCoverage</A
+>&nbsp;--&nbsp;DEPRECATED return coverage for a Unicode page</DT
+><DT
+><A
+HREF="fccharsetnew.html"
+>FcCharSetNew</A
+>&nbsp;--&nbsp;DEPRECATED alias for FcCharSetCreate</DT
+></DL
+></DIV
+><P
+>An FcCharSet is a boolean array indicating a set of Unicode chars. Those
+associated with a font are marked constant and cannot be edited.
+FcCharSets may be reference counted internally to reduce memory consumption;
+this may be visible to applications as the result of FcCharSetCopy may
+return it's argument, and that CharSet may remain unmodifiable.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN2016"
+>FcLangSet</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fclangsetcreate.html"
+>FcLangSetCreate</A
+>&nbsp;--&nbsp;create a langset object</DT
+><DT
+><A
+HREF="fclangsetdestroy.html"
+>FcLangSetDestroy</A
+>&nbsp;--&nbsp;destroy a langset object</DT
+><DT
+><A
+HREF="fclangsetcopy.html"
+>FcLangSetCopy</A
+>&nbsp;--&nbsp;copy a langset object</DT
+><DT
+><A
+HREF="fclangsetadd.html"
+>FcLangSetAdd</A
+>&nbsp;--&nbsp;add a language to a langset</DT
+><DT
+><A
+HREF="fclangsetdel.html"
+>FcLangSetDel</A
+>&nbsp;--&nbsp;delete a language from a langset</DT
+><DT
+><A
+HREF="fclangsetunion.html"
+>FcLangSetUnion</A
+>&nbsp;--&nbsp;Add langsets</DT
+><DT
+><A
+HREF="fclangsetsubtract.html"
+>FcLangSetSubtract</A
+>&nbsp;--&nbsp;Subtract langsets</DT
+><DT
+><A
+HREF="fclangsetcompare.html"
+>FcLangSetCompare</A
+>&nbsp;--&nbsp;compare language sets</DT
+><DT
+><A
+HREF="fclangsetcontains.html"
+>FcLangSetContains</A
+>&nbsp;--&nbsp;check langset subset relation</DT
+><DT
+><A
+HREF="fclangsetequal.html"
+>FcLangSetEqual</A
+>&nbsp;--&nbsp;test for matching langsets</DT
+><DT
+><A
+HREF="fclangsethash.html"
+>FcLangSetHash</A
+>&nbsp;--&nbsp;return a hash value for a langset</DT
+><DT
+><A
+HREF="fclangsethaslang.html"
+>FcLangSetHasLang</A
+>&nbsp;--&nbsp;test langset for language support</DT
+><DT
+><A
+HREF="fcgetdefaultlangs.html"
+>FcGetDefaultLangs</A
+>&nbsp;--&nbsp;Get the default languages list</DT
+><DT
+><A
+HREF="fclangsetgetlangs.html"
+>FcLangSetGetLangs</A
+>&nbsp;--&nbsp;get the list of languages in the langset</DT
+><DT
+><A
+HREF="fcgetlangs.html"
+>FcGetLangs</A
+>&nbsp;--&nbsp;Get list of languages</DT
+><DT
+><A
+HREF="fclangnormalize.html"
+>FcLangNormalize</A
+>&nbsp;--&nbsp;Normalize the language string</DT
+><DT
+><A
+HREF="fclanggetcharset.html"
+>FcLangGetCharSet</A
+>&nbsp;--&nbsp;Get character map for a language</DT
+></DL
+></DIV
+><P
+>An FcLangSet is a set of language names (each of which include language and
+an optional territory). They are used when selecting fonts to indicate which
+languages the fonts need to support. Each font is marked, using language
+orthography information built into fontconfig, with the set of supported
+languages.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN2410"
+>FcMatrix</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fcmatrixinit.html"
+>FcMatrixInit</A
+>&nbsp;--&nbsp;initialize an FcMatrix structure</DT
+><DT
+><A
+HREF="fcmatrixcopy.html"
+>FcMatrixCopy</A
+>&nbsp;--&nbsp;Copy a matrix</DT
+><DT
+><A
+HREF="fcmatrixequal.html"
+>FcMatrixEqual</A
+>&nbsp;--&nbsp;Compare two matrices</DT
+><DT
+><A
+HREF="fcmatrixmultiply.html"
+>FcMatrixMultiply</A
+>&nbsp;--&nbsp;Multiply matrices</DT
+><DT
+><A
+HREF="fcmatrixrotate.html"
+>FcMatrixRotate</A
+>&nbsp;--&nbsp;Rotate a matrix</DT
+><DT
+><A
+HREF="fcmatrixscale.html"
+>FcMatrixScale</A
+>&nbsp;--&nbsp;Scale a matrix</DT
+><DT
+><A
+HREF="fcmatrixshear.html"
+>FcMatrixShear</A
+>&nbsp;--&nbsp;Shear a matrix</DT
+></DL
+></DIV
+><P
+>FcMatrix structures hold an affine transformation in matrix form.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN2590"
+>FcRange</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fcrangecopy.html"
+>FcRangeCopy</A
+>&nbsp;--&nbsp;Copy a range object</DT
+><DT
+><A
+HREF="fcrangecreatedouble.html"
+>FcRangeCreateDouble</A
+>&nbsp;--&nbsp;create a range object for double</DT
+><DT
+><A
+HREF="fcrangecreateinteger.html"
+>FcRangeCreateInteger</A
+>&nbsp;--&nbsp;create a range object for integer</DT
+><DT
+><A
+HREF="fcrangedestroy.html"
+>FcRangeDestroy</A
+>&nbsp;--&nbsp;destroy a range object</DT
+><DT
+><A
+HREF="fcrangegetdouble.html"
+>FcRangeGetDouble</A
+>&nbsp;--&nbsp;Get the range in double</DT
+></DL
+></DIV
+><P
+>An FcRange holds two variables to indicate a range in between.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN2718"
+>FcConfig</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fcconfigcreate.html"
+>FcConfigCreate</A
+>&nbsp;--&nbsp;Create a configuration</DT
+><DT
+><A
+HREF="fcconfigreference.html"
+>FcConfigReference</A
+>&nbsp;--&nbsp;Increment config reference count</DT
+><DT
+><A
+HREF="fcconfigdestroy.html"
+>FcConfigDestroy</A
+>&nbsp;--&nbsp;Destroy a configuration</DT
+><DT
+><A
+HREF="fcconfigsetcurrent.html"
+>FcConfigSetCurrent</A
+>&nbsp;--&nbsp;Set configuration as default</DT
+><DT
+><A
+HREF="fcconfiggetcurrent.html"
+>FcConfigGetCurrent</A
+>&nbsp;--&nbsp;Return current configuration</DT
+><DT
+><A
+HREF="fcconfiguptodate.html"
+>FcConfigUptoDate</A
+>&nbsp;--&nbsp;Check timestamps on config files</DT
+><DT
+><A
+HREF="fcconfighome.html"
+>FcConfigHome</A
+>&nbsp;--&nbsp;return the current home directory.</DT
+><DT
+><A
+HREF="fcconfigenablehome.html"
+>FcConfigEnableHome</A
+>&nbsp;--&nbsp;controls use of the home directory.</DT
+><DT
+><A
+HREF="fcconfigbuildfonts.html"
+>FcConfigBuildFonts</A
+>&nbsp;--&nbsp;Build font database</DT
+><DT
+><A
+HREF="fcconfiggetconfigdirs.html"
+>FcConfigGetConfigDirs</A
+>&nbsp;--&nbsp;Get config directories</DT
+><DT
+><A
+HREF="fcconfiggetfontdirs.html"
+>FcConfigGetFontDirs</A
+>&nbsp;--&nbsp;Get font directories</DT
+><DT
+><A
+HREF="fcconfiggetconfigfiles.html"
+>FcConfigGetConfigFiles</A
+>&nbsp;--&nbsp;Get config files</DT
+><DT
+><A
+HREF="fcconfiggetcache.html"
+>FcConfigGetCache</A
+>&nbsp;--&nbsp;DEPRECATED used to return per-user cache filename</DT
+><DT
+><A
+HREF="fcconfiggetcachedirs.html"
+>FcConfigGetCacheDirs</A
+>&nbsp;--&nbsp;return the list of directories searched for cache files</DT
+><DT
+><A
+HREF="fcconfiggetfonts.html"
+>FcConfigGetFonts</A
+>&nbsp;--&nbsp;Get config font set</DT
+><DT
+><A
+HREF="fcconfiggetblanks.html"
+>FcConfigGetBlanks</A
+>&nbsp;--&nbsp;Get config blanks</DT
+><DT
+><A
+HREF="fcconfiggetrescaninterval.html"
+>FcConfigGetRescanInterval</A
+>&nbsp;--&nbsp;Get config rescan interval</DT
+><DT
+><A
+HREF="fcconfigsetrescaninterval.html"
+>FcConfigSetRescanInterval</A
+>&nbsp;--&nbsp;Set config rescan interval</DT
+><DT
+><A
+HREF="fcconfigappfontaddfile.html"
+>FcConfigAppFontAddFile</A
+>&nbsp;--&nbsp;Add font file to font database</DT
+><DT
+><A
+HREF="fcconfigappfontadddir.html"
+>FcConfigAppFontAddDir</A
+>&nbsp;--&nbsp;Add fonts from directory to font database</DT
+><DT
+><A
+HREF="fcconfigappfontclear.html"
+>FcConfigAppFontClear</A
+>&nbsp;--&nbsp;Remove all app fonts from font database</DT
+><DT
+><A
+HREF="fcconfigsubstitutewithpat.html"
+>FcConfigSubstituteWithPat</A
+>&nbsp;--&nbsp;Execute substitutions</DT
+><DT
+><A
+HREF="fcconfigsubstitute.html"
+>FcConfigSubstitute</A
+>&nbsp;--&nbsp;Execute substitutions</DT
+><DT
+><A
+HREF="fcfontmatch.html"
+>FcFontMatch</A
+>&nbsp;--&nbsp;Return best font</DT
+><DT
+><A
+HREF="fcfontsort.html"
+>FcFontSort</A
+>&nbsp;--&nbsp;Return list of matching fonts</DT
+><DT
+><A
+HREF="fcfontrenderprepare.html"
+>FcFontRenderPrepare</A
+>&nbsp;--&nbsp;Prepare pattern for loading font file</DT
+><DT
+><A
+HREF="fcfontlist.html"
+>FcFontList</A
+>&nbsp;--&nbsp;List fonts</DT
+><DT
+><A
+HREF="fcconfigfilename.html"
+>FcConfigFilename</A
+>&nbsp;--&nbsp;Find a config file</DT
+><DT
+><A
+HREF="fcconfigparseandload.html"
+>FcConfigParseAndLoad</A
+>&nbsp;--&nbsp;load a configuration file</DT
+><DT
+><A
+HREF="fcconfiggetsysroot.html"
+>FcConfigGetSysRoot</A
+>&nbsp;--&nbsp;Obtain the system root directory</DT
+><DT
+><A
+HREF="fcconfigsetsysroot.html"
+>FcConfigSetSysRoot</A
+>&nbsp;--&nbsp;Set the system root directory</DT
+></DL
+></DIV
+><P
+>An FcConfig object holds the internal representation of a configuration.
+There is a default configuration which applications may use by passing 0 to
+any function using the data within an FcConfig.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN3420"
+>FcObjectType</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fcnameregisterobjecttypes.html"
+>FcNameRegisterObjectTypes</A
+>&nbsp;--&nbsp;Register object types</DT
+><DT
+><A
+HREF="fcnameunregisterobjecttypes.html"
+>FcNameUnregisterObjectTypes</A
+>&nbsp;--&nbsp;Unregister object types</DT
+><DT
+><A
+HREF="fcnamegetobjecttype.html"
+>FcNameGetObjectType</A
+>&nbsp;--&nbsp;Lookup an object type</DT
+></DL
+></DIV
+><P
+>Provides for application-specified font name object types so that new
+pattern elements can be generated from font names.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN3485"
+>FcConstant</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fcnameregisterconstants.html"
+>FcNameRegisterConstants</A
+>&nbsp;--&nbsp;Register symbolic constants</DT
+><DT
+><A
+HREF="fcnameunregisterconstants.html"
+>FcNameUnregisterConstants</A
+>&nbsp;--&nbsp;Unregister symbolic constants</DT
+><DT
+><A
+HREF="fcnamegetconstant.html"
+>FcNameGetConstant</A
+>&nbsp;--&nbsp;Lookup symbolic constant</DT
+><DT
+><A
+HREF="fcnameconstant.html"
+>FcNameConstant</A
+>&nbsp;--&nbsp;Get the value for a symbolic constant</DT
+></DL
+></DIV
+><P
+>Provides for application-specified symbolic constants for font names.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN3573"
+>FcWeight</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fcweightfromopentype.html"
+>FcWeightFromOpenType</A
+>&nbsp;--&nbsp;Convert from OpenType weight values to fontconfig ones</DT
+><DT
+><A
+HREF="fcweighttoopentype.html"
+>FcWeightToOpenType</A
+>&nbsp;--&nbsp;Convert from fontconfig weight values to OpenType ones</DT
+></DL
+></DIV
+><P
+>Maps weights to and from OpenType weights.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN3623"
+>FcBlanks</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fcblankscreate.html"
+>FcBlanksCreate</A
+>&nbsp;--&nbsp;Create an FcBlanks</DT
+><DT
+><A
+HREF="fcblanksdestroy.html"
+>FcBlanksDestroy</A
+>&nbsp;--&nbsp;Destroy and FcBlanks</DT
+><DT
+><A
+HREF="fcblanksadd.html"
+>FcBlanksAdd</A
+>&nbsp;--&nbsp;Add a character to an FcBlanks</DT
+><DT
+><A
+HREF="fcblanksismember.html"
+>FcBlanksIsMember</A
+>&nbsp;--&nbsp;Query membership in an FcBlanks</DT
+></DL
+></DIV
+><P
+>An FcBlanks object holds a list of Unicode chars which are expected to
+be blank when drawn. When scanning new fonts, any glyphs which are
+empty and not in this list will be assumed to be broken and not placed in
+the FcCharSet associated with the font. This provides a significantly more
+accurate CharSet for applications.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN3706"
+>FcAtomic</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fcatomiccreate.html"
+>FcAtomicCreate</A
+>&nbsp;--&nbsp;create an FcAtomic object</DT
+><DT
+><A
+HREF="fcatomiclock.html"
+>FcAtomicLock</A
+>&nbsp;--&nbsp;lock a file</DT
+><DT
+><A
+HREF="fcatomicnewfile.html"
+>FcAtomicNewFile</A
+>&nbsp;--&nbsp;return new temporary file name</DT
+><DT
+><A
+HREF="fcatomicorigfile.html"
+>FcAtomicOrigFile</A
+>&nbsp;--&nbsp;return original file name</DT
+><DT
+><A
+HREF="fcatomicreplaceorig.html"
+>FcAtomicReplaceOrig</A
+>&nbsp;--&nbsp;replace original with new</DT
+><DT
+><A
+HREF="fcatomicdeletenew.html"
+>FcAtomicDeleteNew</A
+>&nbsp;--&nbsp;delete new file</DT
+><DT
+><A
+HREF="fcatomicunlock.html"
+>FcAtomicUnlock</A
+>&nbsp;--&nbsp;unlock a file</DT
+><DT
+><A
+HREF="fcatomicdestroy.html"
+>FcAtomicDestroy</A
+>&nbsp;--&nbsp;destroy an FcAtomic object</DT
+></DL
+></DIV
+><P
+>These functions provide a safe way to update configuration files, allowing ongoing
+reading of the old configuration file while locked for writing and ensuring that a
+consistent and complete version of the configuration file is always available.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN3867"
+>File and Directory routines</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fcfilescan.html"
+>FcFileScan</A
+>&nbsp;--&nbsp;scan a font file</DT
+><DT
+><A
+HREF="fcfileisdir.html"
+>FcFileIsDir</A
+>&nbsp;--&nbsp;check whether a file is a directory</DT
+><DT
+><A
+HREF="fcdirscan.html"
+>FcDirScan</A
+>&nbsp;--&nbsp;scan a font directory without caching it</DT
+><DT
+><A
+HREF="fcdirsave.html"
+>FcDirSave</A
+>&nbsp;--&nbsp;DEPRECATED: formerly used to save a directory cache</DT
+><DT
+><A
+HREF="fcdircacheunlink.html"
+>FcDirCacheUnlink</A
+>&nbsp;--&nbsp;Remove all caches related to <TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+></DT
+><DT
+><A
+HREF="fcdircachevalid.html"
+>FcDirCacheValid</A
+>&nbsp;--&nbsp;check directory cache</DT
+><DT
+><A
+HREF="fcdircacheload.html"
+>FcDirCacheLoad</A
+>&nbsp;--&nbsp;load a directory cache</DT
+><DT
+><A
+HREF="fcdircacherescan.html"
+>FcDirCacheRescan</A
+>&nbsp;--&nbsp;Re-scan a directory cache</DT
+><DT
+><A
+HREF="fcdircacheread.html"
+>FcDirCacheRead</A
+>&nbsp;--&nbsp;read or construct a directory cache</DT
+><DT
+><A
+HREF="fcdircacheloadfile.html"
+>FcDirCacheLoadFile</A
+>&nbsp;--&nbsp;load a cache file</DT
+><DT
+><A
+HREF="fcdircacheunload.html"
+>FcDirCacheUnload</A
+>&nbsp;--&nbsp;unload a cache file</DT
+></DL
+></DIV
+><P
+>These routines work with font files and directories, including font
+directory cache files.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN4145"
+>FcCache routines</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fccachedir.html"
+>FcCacheDir</A
+>&nbsp;--&nbsp;Return directory of <TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+></DT
+><DT
+><A
+HREF="fccachecopyset.html"
+>FcCacheCopySet</A
+>&nbsp;--&nbsp;Returns a copy of the fontset from <TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+></DT
+><DT
+><A
+HREF="fccachesubdir.html"
+>FcCacheSubdir</A
+>&nbsp;--&nbsp;Return the <TT
+CLASS="PARAMETER"
+><I
+>i</I
+></TT
+>'th subdirectory.</DT
+><DT
+><A
+HREF="fccachenumsubdir.html"
+>FcCacheNumSubdir</A
+>&nbsp;--&nbsp;Return the number of subdirectories in <TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+>.</DT
+><DT
+><A
+HREF="fccachenumfont.html"
+>FcCacheNumFont</A
+>&nbsp;--&nbsp;Returns the number of fonts in <TT
+CLASS="PARAMETER"
+><I
+>cache</I
+></TT
+>.</DT
+><DT
+><A
+HREF="fcdircacheclean.html"
+>FcDirCacheClean</A
+>&nbsp;--&nbsp;This tries to clean up the cache directory of <TT
+CLASS="PARAMETER"
+><I
+>cache_dir</I
+></TT
+>.
+This returns FcTrue if the operation is successfully complete. otherwise FcFalse.</DT
+><DT
+><A
+HREF="fccachecreatetagfile.html"
+>FcCacheCreateTagFile</A
+>&nbsp;--&nbsp;Create CACHEDIR.TAG at cache directory.</DT
+></DL
+></DIV
+><P
+>These routines work with font directory caches, accessing their contents in
+limited ways. It is not expected that normal applications will need to use
+these functions.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN4302"
+>FcStrSet and FcStrList</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fcstrsetcreate.html"
+>FcStrSetCreate</A
+>&nbsp;--&nbsp;create a string set</DT
+><DT
+><A
+HREF="fcstrsetmember.html"
+>FcStrSetMember</A
+>&nbsp;--&nbsp;check set for membership</DT
+><DT
+><A
+HREF="fcstrsetequal.html"
+>FcStrSetEqual</A
+>&nbsp;--&nbsp;check sets for equality</DT
+><DT
+><A
+HREF="fcstrsetadd.html"
+>FcStrSetAdd</A
+>&nbsp;--&nbsp;add to a string set</DT
+><DT
+><A
+HREF="fcstrsetaddfilename.html"
+>FcStrSetAddFilename</A
+>&nbsp;--&nbsp;add a filename to a string set</DT
+><DT
+><A
+HREF="fcstrsetdel.html"
+>FcStrSetDel</A
+>&nbsp;--&nbsp;delete from a string set</DT
+><DT
+><A
+HREF="fcstrsetdestroy.html"
+>FcStrSetDestroy</A
+>&nbsp;--&nbsp;destroy a string set</DT
+><DT
+><A
+HREF="fcstrlistcreate.html"
+>FcStrListCreate</A
+>&nbsp;--&nbsp;create a string iterator</DT
+><DT
+><A
+HREF="fcstrlistfirst.html"
+>FcStrListFirst</A
+>&nbsp;--&nbsp;get first string in iteration</DT
+><DT
+><A
+HREF="fcstrlistnext.html"
+>FcStrListNext</A
+>&nbsp;--&nbsp;get next string in iteration</DT
+><DT
+><A
+HREF="fcstrlistdone.html"
+>FcStrListDone</A
+>&nbsp;--&nbsp;destroy a string iterator</DT
+></DL
+></DIV
+><P
+>A data structure for enumerating strings, used to list directories while
+scanning the configuration as directories are added while scanning.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN4543"
+>String utilities</A
+></H2
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="fcutf8toucs4.html"
+>FcUtf8ToUcs4</A
+>&nbsp;--&nbsp;convert UTF-8 to UCS4</DT
+><DT
+><A
+HREF="fcucs4toutf8.html"
+>FcUcs4ToUtf8</A
+>&nbsp;--&nbsp;convert UCS4 to UTF-8</DT
+><DT
+><A
+HREF="fcutf8len.html"
+>FcUtf8Len</A
+>&nbsp;--&nbsp;count UTF-8 encoded chars</DT
+><DT
+><A
+HREF="fcutf16toucs4.html"
+>FcUtf16ToUcs4</A
+>&nbsp;--&nbsp;convert UTF-16 to UCS4</DT
+><DT
+><A
+HREF="fcutf16len.html"
+>FcUtf16Len</A
+>&nbsp;--&nbsp;count UTF-16 encoded chars</DT
+><DT
+><A
+HREF="fcislower.html"
+>FcIsLower</A
+>&nbsp;--&nbsp;check for lower case ASCII character</DT
+><DT
+><A
+HREF="fcisupper.html"
+>FcIsUpper</A
+>&nbsp;--&nbsp;check for upper case ASCII character</DT
+><DT
+><A
+HREF="fctolower.html"
+>FcToLower</A
+>&nbsp;--&nbsp;convert upper case ASCII to lower case</DT
+><DT
+><A
+HREF="fcstrcopy.html"
+>FcStrCopy</A
+>&nbsp;--&nbsp;duplicate a string</DT
+><DT
+><A
+HREF="fcstrdowncase.html"
+>FcStrDowncase</A
+>&nbsp;--&nbsp;create a lower case translation of a string</DT
+><DT
+><A
+HREF="fcstrcopyfilename.html"
+>FcStrCopyFilename</A
+>&nbsp;--&nbsp;create a complete path from a filename</DT
+><DT
+><A
+HREF="fcstrcmp.html"
+>FcStrCmp</A
+>&nbsp;--&nbsp;compare UTF-8 strings</DT
+><DT
+><A
+HREF="fcstrcmpignorecase.html"
+>FcStrCmpIgnoreCase</A
+>&nbsp;--&nbsp;compare UTF-8 strings ignoring case</DT
+><DT
+><A
+HREF="fcstrstr.html"
+>FcStrStr</A
+>&nbsp;--&nbsp;locate UTF-8 substring</DT
+><DT
+><A
+HREF="fcstrstrignorecase.html"
+>FcStrStrIgnoreCase</A
+>&nbsp;--&nbsp;locate UTF-8 substring ignoring ASCII case</DT
+><DT
+><A
+HREF="fcstrplus.html"
+>FcStrPlus</A
+>&nbsp;--&nbsp;concatenate two strings</DT
+><DT
+><A
+HREF="fcstrfree.html"
+>FcStrFree</A
+>&nbsp;--&nbsp;free a string</DT
+><DT
+><A
+HREF="fcstrdirname.html"
+>FcStrDirname</A
+>&nbsp;--&nbsp;directory part of filename</DT
+><DT
+><A
+HREF="fcstrbasename.html"
+>FcStrBasename</A
+>&nbsp;--&nbsp;last component of filename</DT
+></DL
+></DIV
+><P
+>Fontconfig manipulates many UTF-8 strings represented with the FcChar8 type.
+These functions are exposed to help applications deal with these UTF-8
+strings in a locale-insensitive manner.
+ </P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x31.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Datatypes</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/x19.html b/doc/fontconfig-devel/x19.html
new file mode 100644
index 00000000..b7ecebe7
--- /dev/null
+++ b/doc/fontconfig-devel/x19.html
@@ -0,0 +1,279 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FUNCTIONAL OVERVIEW</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="PREVIOUS"
+HREF="t1.html"><LINK
+REL="NEXT"
+TITLE="Datatypes"
+HREF="x31.html"></HEAD
+><BODY
+CLASS="SECT1"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="t1.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x31.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN19"
+>FUNCTIONAL OVERVIEW</A
+></H1
+><P
+>Fontconfig contains two essential modules, the configuration module which
+builds an internal configuration from XML files and the matching module
+which accepts font patterns and returns the nearest matching font.
+ </P
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN22"
+>FONT CONFIGURATION</A
+></H2
+><P
+>The configuration module consists of the FcConfig datatype, libexpat and
+FcConfigParse which walks over an XML tree and amends a configuration with
+data found within. From an external perspective, configuration of the
+library consists of generating a valid XML tree and feeding that to
+FcConfigParse. The only other mechanism provided to applications for
+changing the running configuration is to add fonts and directories to the
+list of application-provided font files.
+ </P
+><P
+>The intent is to make font configurations relatively static, and shared by
+as many applications as possible. It is hoped that this will lead to more
+stable font selection when passing names from one application to another.
+XML was chosen as a configuration file format because it provides a format
+which is easy for external agents to edit while retaining the correct
+structure and syntax.
+ </P
+><P
+>Font configuration is separate from font matching; applications needing to
+do their own matching can access the available fonts from the library and
+perform private matching. The intent is to permit applications to pick and
+choose appropriate functionality from the library instead of forcing them to
+choose between this library and a private configuration mechanism. The hope
+is that this will ensure that configuration of fonts for all applications
+can be centralized in one place. Centralizing font configuration will
+simplify and regularize font installation and customization.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN27"
+>FONT PROPERTIES</A
+></H2
+><P
+>While font patterns may contain essentially any properties, there are some
+well known properties with associated types. Fontconfig uses some of these
+properties for font matching and font completion. Others are provided as a
+convenience for the application's rendering mechanism.
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> Property Definitions
+
+ Property C Preprocessor Symbol Type Description
+ ----------------------------------------------------
+ family FC_FAMILY String Font family names
+ familylang FC_FAMILYLANG String Language corresponding to
+ each family name
+ style FC_STYLE String Font style. Overrides weight
+ and slant
+ stylelang FC_STYLELANG String Language corresponding to
+ each style name
+ fullname FC_FULLNAME String Font face full name where
+ different from family and
+ family + style
+ fullnamelang FC_FULLNAMELANG String Language corresponding to
+ each fullname
+ slant FC_SLANT Int Italic, oblique or roman
+ weight FC_WEIGHT Int Light, medium, demibold,
+ bold or black
+ size FC_SIZE Double Point size
+ width FC_WIDTH Int Condensed, normal or expanded
+ aspect FC_ASPECT Double Stretches glyphs horizontally
+ before hinting
+ pixelsize FC_PIXEL_SIZE Double Pixel size
+ spacing FC_SPACING Int Proportional, dual-width,
+ monospace or charcell
+ foundry FC_FOUNDRY String Font foundry name
+ antialias FC_ANTIALIAS Bool Whether glyphs can be
+ antialiased
+ hinting FC_HINTING Bool Whether the rasterizer should
+ use hinting
+ hintstyle FC_HINT_STYLE Int Automatic hinting style
+ verticallayout FC_VERTICAL_LAYOUT Bool Use vertical layout
+ autohint FC_AUTOHINT Bool Use autohinter instead of
+ normal hinter
+ globaladvance FC_GLOBAL_ADVANCE Bool Use font global advance data (deprecated)
+ file FC_FILE String The filename holding the font
+ index FC_INDEX Int The index of the font within
+ the file
+ ftface FC_FT_FACE FT_Face Use the specified FreeType
+ face object
+ rasterizer FC_RASTERIZER String Which rasterizer is in use (deprecated)
+ outline FC_OUTLINE Bool Whether the glyphs are outlines
+ scalable FC_SCALABLE Bool Whether glyphs can be scaled
+ scale FC_SCALE Double Scale factor for point-&#62;pixel
+ conversions
+ color FC_COLOR Bool Whether any glyphs have color
+ dpi FC_DPI Double Target dots per inch
+ rgba FC_RGBA Int unknown, rgb, bgr, vrgb,
+ vbgr, none - subpixel geometry
+ lcdfilter FC_LCD_FILTER Int Type of LCD filter
+ minspace FC_MINSPACE Bool Eliminate leading from line
+ spacing
+ charset FC_CHARSET CharSet Unicode chars encoded by
+ the font
+ lang FC_LANG LangSet Set of RFC-3066-style
+ languages this font supports
+ fontversion FC_FONTVERSION Int Version number of the font
+ capability FC_CAPABILITY String List of layout capabilities in
+ the font
+ fontformat FC_FONTFORMAT String String name of the font format
+ embolden FC_EMBOLDEN Bool Rasterizer should
+ synthetically embolden the font
+ embeddedbitmap FC_EMBEDDED_BITMAP Bool Use the embedded bitmap instead
+ of the outline
+ decorative FC_DECORATIVE Bool Whether the style is a decorative
+ variant
+ fontfeatures FC_FONT_FEATURES String List of extra feature tags in
+ OpenType to be enabled
+ namelang FC_NAMELANG String Language name to be used for the
+ default value of familylang,
+ stylelang and fullnamelang
+ prgname FC_PRGNAME String Name of the running program
+ hash FC_HASH String SHA256 hash value of the font data
+ with "sha256:" prefix (deprecated)
+ postscriptname FC_POSTSCRIPT_NAME String Font name in PostScript
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x31.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Datatypes</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-devel/x31.html b/doc/fontconfig-devel/x31.html
new file mode 100644
index 00000000..9330be66
--- /dev/null
+++ b/doc/fontconfig-devel/x31.html
@@ -0,0 +1,590 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>Datatypes</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONAL OVERVIEW"
+HREF="x19.html"><LINK
+REL="NEXT"
+TITLE="FUNCTIONS"
+HREF="x102.html"></HEAD
+><BODY
+CLASS="SECT1"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x19.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x102.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN31"
+>Datatypes</A
+></H1
+><P
+>Fontconfig uses abstract data types to hide internal implementation details
+for most data structures. A few structures are exposed where appropriate.
+ </P
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN34"
+>FcChar8, FcChar16, FcChar32, FcBool</A
+></H2
+><P
+>These are primitive data types; the FcChar* types hold precisely the number
+of bits stated (if supported by the C implementation). FcBool holds
+one of two C preprocessor symbols: FcFalse or FcTrue.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN37"
+>FcMatrix</A
+></H2
+><P
+>An FcMatrix holds an affine transformation, usually used to reshape glyphs.
+A small set of matrix operations are provided to manipulate these.
+ <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> typedef struct _FcMatrix {
+ double xx, xy, yx, yy;
+ } FcMatrix;
+ </PRE
+></TD
+></TR
+></TABLE
+>
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN41"
+>FcCharSet</A
+></H2
+><P
+>An FcCharSet is an abstract type that holds the set of encoded Unicode chars
+in a font. Operations to build and compare these sets are provided.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN44"
+>FcLangSet</A
+></H2
+><P
+>An FcLangSet is an abstract type that holds the set of languages supported
+by a font. Operations to build and compare these sets are provided. These
+are computed for a font based on orthographic information built into the
+fontconfig library. Fontconfig has orthographies for all of the ISO 639-1
+languages except for MS, NA, PA, PS, QU, RN, RW, SD, SG, SN, SU and ZA. If
+you have orthographic information for any of these languages, please submit
+them.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN47"
+>FcLangResult</A
+></H2
+><P
+>An FcLangResult is an enumeration used to return the results of comparing
+two language strings or FcLangSet objects. FcLangEqual means the
+objects match language and territory. FcLangDifferentTerritory means
+the objects match in language but differ in territory.
+FcLangDifferentLang means the objects differ in language.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN50"
+>FcType</A
+></H2
+><P
+>Tags the kind of data stored in an FcValue.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN53"
+>FcValue</A
+></H2
+><P
+>An FcValue object holds a single value with one of a number of different
+types. The 'type' tag indicates which member is valid.
+ <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> typedef struct _FcValue {
+ FcType type;
+ union {
+ const FcChar8 *s;
+ int i;
+ FcBool b;
+ double d;
+ const FcMatrix *m;
+ const FcCharSet *c;
+ void *f;
+ const FcLangSet *l;
+ } u;
+ } FcValue;
+ </PRE
+></TD
+></TR
+></TABLE
+>
+ <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> FcValue Members
+
+ Type Union member Datatype
+ --------------------------------
+ FcTypeVoid (none) (none)
+ FcTypeInteger i int
+ FcTypeDouble d double
+ FcTypeString s FcChar8 *
+ FcTypeBool b b
+ FcTypeMatrix m FcMatrix *
+ FcTypeCharSet c FcCharSet *
+ FcTypeFTFace f void * (FT_Face)
+ FcTypeLangSet l FcLangSet *
+ </PRE
+></TD
+></TR
+></TABLE
+>
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN58"
+>FcPattern</A
+></H2
+><P
+>holds a set of names with associated value lists; each name refers to a
+property of a font. FcPatterns are used as inputs to the matching code as
+well as holding information about specific fonts. Each property can hold
+one or more values; conventionally all of the same type, although the
+interface doesn't demand that.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN61"
+>FcFontSet</A
+></H2
+><P
+> <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> typedef struct _FcFontSet {
+ int nfont;
+ int sfont;
+ FcPattern **fonts;
+ } FcFontSet;
+ </PRE
+></TD
+></TR
+></TABLE
+>
+An FcFontSet contains a list of FcPatterns. Internally fontconfig uses this
+data structure to hold sets of fonts. Externally, fontconfig returns the
+results of listing fonts in this format. 'nfont' holds the number of
+patterns in the 'fonts' array; 'sfont' is used to indicate the size of that
+array.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN65"
+>FcStrSet, FcStrList</A
+></H2
+><P
+>FcStrSet holds a list of strings that can be appended to and enumerated.
+Its unique characteristic is that the enumeration works even while strings
+are appended during enumeration. FcStrList is used during enumeration to
+safely and correctly walk the list of strings even while that list is edited
+in the middle of enumeration.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN68"
+>FcObjectSet</A
+></H2
+><P
+> <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> typedef struct _FcObjectSet {
+ int nobject;
+ int sobject;
+ const char **objects;
+ } FcObjectSet;
+ </PRE
+></TD
+></TR
+></TABLE
+>
+holds a set of names and is used to specify which fields from fonts are
+placed in the the list of returned patterns when listing fonts.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN72"
+>FcObjectType</A
+></H2
+><P
+> <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> typedef struct _FcObjectType {
+ const char *object;
+ FcType type;
+ } FcObjectType;
+ </PRE
+></TD
+></TR
+></TABLE
+>
+marks the type of a pattern element generated when parsing font names.
+Applications can add new object types so that font names may contain the new
+elements.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN76"
+>FcConstant</A
+></H2
+><P
+> <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> typedef struct _FcConstant {
+ const FcChar8 *name;
+ const char *object;
+ int value;
+ } FcConstant;
+ </PRE
+></TD
+></TR
+></TABLE
+>
+Provides for symbolic constants for new pattern elements. When 'name' is
+seen in a font name, an 'object' element is created with value 'value'.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN80"
+>FcBlanks</A
+></H2
+><P
+>holds a list of Unicode chars which are expected to be blank; unexpectedly
+blank chars are assumed to be invalid and are elided from the charset
+associated with the font.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN83"
+>FcFileCache</A
+></H2
+><P
+>holds the per-user cache information for use while loading the font
+database. This is built automatically for the current configuration when
+that is loaded. Applications must always pass '0' when one is requested.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN86"
+>FcConfig</A
+></H2
+><P
+>holds a complete configuration of the library; there is one default
+configuration, other can be constructed from XML data structures. All
+public entry points that need global data can take an optional FcConfig*
+argument; passing 0 uses the default configuration. FcConfig objects hold two
+sets of fonts, the first contains those specified by the configuration, the
+second set holds those added by the application at run-time. Interfaces
+that need to reference a particular set use one of the FcSetName enumerated
+values.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN89"
+>FcSetName</A
+></H2
+><P
+>Specifies one of the two sets of fonts available in a configuration;
+FcSetSystem for those fonts specified in the configuration and
+FcSetApplication which holds fonts provided by the application.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN92"
+>FcResult</A
+></H2
+><P
+>Used as a return type for functions manipulating FcPattern objects.
+ <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> FcResult Values
+ Result Code Meaning
+ -----------------------------------------------------------
+ FcResultMatch Object exists with the specified ID
+ FcResultNoMatch Object doesn't exist at all
+ FcResultTypeMismatch Object exists, but the type doesn't match
+ FcResultNoId Object exists, but has fewer values
+ than specified
+ FcResultOutOfMemory malloc failed
+ </PRE
+></TD
+></TR
+></TABLE
+>
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN96"
+>FcAtomic</A
+></H2
+><P
+>Used for locking access to configuration files. Provides a safe way to update
+configuration files.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN99"
+>FcCache</A
+></H2
+><P
+>Holds information about the fonts contained in a single directory. Normal
+applications need not worry about this as caches for font access are
+automatically managed by the library. Applications dealing with cache
+management may want to use some of these objects in their work, however the
+included 'fc-cache' program generally suffices for all of that.
+ </P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x19.html"
+ACCESSKEY="P"
+>&#60;&#60;&#60; Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x102.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONAL OVERVIEW</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FUNCTIONS</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-user.html b/doc/fontconfig-user.html
new file mode 100644
index 00000000..098befab
--- /dev/null
+++ b/doc/fontconfig-user.html
@@ -0,0 +1,1548 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>fonts-conf</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><H1
+><A
+NAME="AEN1"
+></A
+>fonts-conf</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN5"
+></A
+><H2
+>Name</H2
+>fonts.conf&nbsp;--&nbsp;Font configuration files</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN8"
+></A
+><H2
+>Synopsis</H2
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="SYNOPSIS"
+> /etc/fonts/fonts.conf
+ /etc/fonts/fonts.dtd
+ /etc/fonts/conf.d
+ $XDG_CONFIG_HOME/fontconfig/conf.d
+ $XDG_CONFIG_HOME/fontconfig/fonts.conf
+ ~/.fonts.conf.d
+ ~/.fonts.conf</PRE
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN10"
+></A
+><H2
+>Description</H2
+><P
+>Fontconfig is a library designed to provide system-wide font configuration,
+customization and application access.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN13"
+></A
+><H2
+>Functional Overview</H2
+><P
+>Fontconfig contains two essential modules, the configuration module which
+builds an internal configuration from XML files and the matching module
+which accepts font patterns and returns the nearest matching font.
+ </P
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN16"
+></A
+><H3
+>Font Configuration</H3
+><P
+>The configuration module consists of the FcConfig datatype, libexpat and
+FcConfigParse which walks over an XML tree and amends a configuration with
+data found within. From an external perspective, configuration of the
+library consists of generating a valid XML tree and feeding that to
+FcConfigParse. The only other mechanism provided to applications for
+changing the running configuration is to add fonts and directories to the
+list of application-provided font files.
+ </P
+><P
+>The intent is to make font configurations relatively static, and shared by
+as many applications as possible. It is hoped that this will lead to more
+stable font selection when passing names from one application to another.
+XML was chosen as a configuration file format because it provides a format
+which is easy for external agents to edit while retaining the correct
+structure and syntax.
+ </P
+><P
+>Font configuration is separate from font matching; applications needing to
+do their own matching can access the available fonts from the library and
+perform private matching. The intent is to permit applications to pick and
+choose appropriate functionality from the library instead of forcing them to
+choose between this library and a private configuration mechanism. The hope
+is that this will ensure that configuration of fonts for all applications
+can be centralized in one place. Centralizing font configuration will
+simplify and regularize font installation and customization.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN21"
+></A
+><H3
+>Font Properties</H3
+><P
+>While font patterns may contain essentially any properties, there are some
+well known properties with associated types. Fontconfig uses some of these
+properties for font matching and font completion. Others are provided as a
+convenience for the applications' rendering mechanism.
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> Property Type Description
+ --------------------------------------------------------------
+ family String Font family names
+ familylang String Languages corresponding to each family
+ style String Font style. Overrides weight and slant
+ stylelang String Languages corresponding to each style
+ fullname String Font full names (often includes style)
+ fullnamelang String Languages corresponding to each fullname
+ slant Int Italic, oblique or roman
+ weight Int Light, medium, demibold, bold or black
+ size Double Point size
+ width Int Condensed, normal or expanded
+ aspect Double Stretches glyphs horizontally before hinting
+ pixelsize Double Pixel size
+ spacing Int Proportional, dual-width, monospace or charcell
+ foundry String Font foundry name
+ antialias Bool Whether glyphs can be antialiased
+ hinting Bool Whether the rasterizer should use hinting
+ hintstyle Int Automatic hinting style
+ verticallayout Bool Use vertical layout
+ autohint Bool Use autohinter instead of normal hinter
+ globaladvance Bool Use font global advance data (deprecated)
+ file String The filename holding the font
+ index Int The index of the font within the file
+ ftface FT_Face Use the specified FreeType face object
+ rasterizer String Which rasterizer is in use (deprecated)
+ outline Bool Whether the glyphs are outlines
+ scalable Bool Whether glyphs can be scaled
+ color Bool Whether any glyphs have color
+ scale Double Scale factor for point-&#62;pixel conversions
+ dpi Double Target dots per inch
+ rgba Int unknown, rgb, bgr, vrgb, vbgr,
+ none - subpixel geometry
+ lcdfilter Int Type of LCD filter
+ minspace Bool Eliminate leading from line spacing
+ charset CharSet Unicode chars encoded by the font
+ lang String List of RFC-3066-style languages this
+ font supports
+ fontversion Int Version number of the font
+ capability String List of layout capabilities in the font
+ fontformat String String name of the font format
+ embolden Bool Rasterizer should synthetically embolden the font
+ embeddedbitmap Bool Use the embedded bitmap instead of the outline
+ decorative Bool Whether the style is a decorative variant
+ fontfeatures String List of the feature tags in OpenType to be enabled
+ namelang String Language name to be used for the default value of
+ familylang, stylelang, and fullnamelang
+ prgname String String Name of the running program
+ postscriptname String Font family name in PostScript
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN25"
+></A
+><H3
+>Font Matching</H3
+><P
+>Fontconfig performs matching by measuring the distance from a provided
+pattern to all of the available fonts in the system. The closest matching
+font is selected. This ensures that a font will always be returned, but
+doesn't ensure that it is anything like the requested pattern.
+ </P
+><P
+>
+Font matching starts with an application constructed pattern. The desired
+attributes of the resulting font are collected together in a pattern. Each
+property of the pattern can contain one or more values; these are listed in
+priority order; matches earlier in the list are considered "closer" than
+matches later in the list.
+ </P
+><P
+>The initial pattern is modified by applying the list of editing instructions
+specific to patterns found in the configuration; each consists of a match
+predicate and a set of editing operations. They are executed in the order
+they appeared in the configuration. Each match causes the associated
+sequence of editing operations to be applied.
+ </P
+><P
+>After the pattern has been edited, a sequence of default substitutions are
+performed to canonicalize the set of available properties; this avoids the
+need for the lower layers to constantly provide default values for various
+font properties during rendering.
+ </P
+><P
+>The canonical font pattern is finally matched against all available fonts.
+The distance from the pattern to the font is measured for each of several
+properties: foundry, charset, family, lang, spacing, pixelsize, style,
+slant, weight, antialias, rasterizer and outline. This list is in priority
+order -- results of comparing earlier elements of this list weigh more
+heavily than later elements.
+ </P
+><P
+>There is one special case to this rule; family names are split into two
+bindings; strong and weak. Strong family names are given greater precedence
+in the match than lang elements while weak family names are given lower
+precedence than lang elements. This permits the document language to drive
+font selection when any document specified font is unavailable.
+ </P
+><P
+>The pattern representing that font is augmented to include any properties
+found in the pattern but not found in the font itself; this permits the
+application to pass rendering instructions or any other data through the
+matching system. Finally, the list of editing instructions specific to
+fonts found in the configuration are applied to the pattern. This modified
+pattern is returned to the application.
+ </P
+><P
+>The return value contains sufficient information to locate and rasterize the
+font, including the file name, pixel size and other rendering data. As
+none of the information involved pertains to the FreeType library,
+applications are free to use any rasterization engine or even to take
+the identified font file and access it directly.
+ </P
+><P
+>The match/edit sequences in the configuration are performed in two passes
+because there are essentially two different operations necessary -- the
+first is to modify how fonts are selected; aliasing families and adding
+suitable defaults. The second is to modify how the selected fonts are
+rasterized. Those must apply to the selected font, not the original pattern
+as false matches will often occur.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN36"
+></A
+><H3
+>Font Names</H3
+><P
+>Fontconfig provides a textual representation for patterns that the library
+can both accept and generate. The representation is in three parts, first a
+list of family names, second a list of point sizes and finally a list of
+additional properties:
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> &#60;families&#62;-&#60;point sizes&#62;:&#60;name1&#62;=&#60;values1&#62;:&#60;name2&#62;=&#60;values2&#62;...
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+>Values in a list are separated with commas. The name needn't include either
+families or point sizes; they can be elided. In addition, there are
+symbolic constants that simultaneously indicate both a name and a value.
+Here are some examples:
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> Name Meaning
+ ----------------------------------------------------------
+ Times-12 12 point Times Roman
+ Times-12:bold 12 point Times Bold
+ Courier:italic Courier Italic in the default size
+ Monospace:matrix=1 .1 0 1 The users preferred monospace font
+ with artificial obliquing
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+>The '\', '-', ':' and ',' characters in family names must be preceded by a
+'\' character to avoid having them misinterpreted. Similarly, values
+containing '\', '=', '_', ':' and ',' must also have them preceded by a
+'\' character. The '\' characters are stripped out of the family name and
+values as the font name is read.
+ </P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="DEBUG"
+></A
+><H2
+>Debugging Applications</H2
+><P
+>To help diagnose font and applications problems, fontconfig is built with a
+large amount of internal debugging left enabled. It is controlled by means
+of the FC_DEBUG environment variable. The value of this variable is
+interpreted as a number, and each bit within that value controls different
+debugging messages.
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> Name Value Meaning
+ ---------------------------------------------------------
+ MATCH 1 Brief information about font matching
+ MATCHV 2 Extensive font matching information
+ EDIT 4 Monitor match/test/edit execution
+ FONTSET 8 Track loading of font information at startup
+ CACHE 16 Watch cache files being written
+ CACHEV 32 Extensive cache file writing information
+ PARSE 64 (no longer in use)
+ SCAN 128 Watch font files being scanned to build caches
+ SCANV 256 Verbose font file scanning information
+ MEMORY 512 Monitor fontconfig memory usage
+ CONFIG 1024 Monitor which config files are loaded
+ LANGSET 2048 Dump char sets used to construct lang values
+ OBJTYPES 4096 Display message when value typechecks fail
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+>Add the value of the desired debug levels together and assign that (in
+base 10) to the FC_DEBUG environment variable before running the
+application. Output from these statements is sent to stdout.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN48"
+></A
+><H2
+>Lang Tags</H2
+><P
+>Each font in the database contains a list of languages it supports. This is
+computed by comparing the Unicode coverage of the font with the orthography
+of each language. Languages are tagged using an RFC-3066 compatible naming
+and occur in two parts -- the ISO 639 language tag followed a hyphen and then
+by the ISO 3166 country code. The hyphen and country code may be elided.
+ </P
+><P
+>Fontconfig has orthographies for several languages built into the library.
+No provision has been made for adding new ones aside from rebuilding the
+library. It currently supports 122 of the 139 languages named in ISO 639-1,
+141 of the languages with two-letter codes from ISO 639-2 and another 30
+languages with only three-letter codes. Languages with both two and three
+letter codes are provided with only the two letter code.
+ </P
+><P
+>For languages used in multiple territories with radically different
+character sets, fontconfig includes per-territory orthographies. This
+includes Azerbaijani, Kurdish, Pashto, Tigrinya and Chinese.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN53"
+></A
+><H2
+>Configuration File Format</H2
+><P
+>Configuration files for fontconfig are stored in XML format; this
+format makes external configuration tools easier to write and ensures that
+they will generate syntactically correct configuration files. As XML
+files are plain text, they can also be manipulated by the expert user using
+a text editor.
+ </P
+><P
+>The fontconfig document type definition resides in the external entity
+"fonts.dtd"; this is normally stored in the default font configuration
+directory (/etc/fonts). Each configuration file should contain the
+following structure:
+ <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> &#60;?xml version="1.0"?&#62;
+ &#60;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&#62;
+ &#60;fontconfig&#62;
+ ...
+ &#60;/fontconfig&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+>
+ </P
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN58"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;fontconfig&#62;</TT
+></H3
+><P
+>This is the top level element for a font configuration and can contain
+<TT
+CLASS="LITERAL"
+>&#60;dir&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;cachedir&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;include&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;match&#62;</TT
+> and <TT
+CLASS="LITERAL"
+>&#60;alias&#62;</TT
+> elements in any order.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN67"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;dir prefix="default"&#62;</TT
+></H3
+><P
+>This element contains a directory name which will be scanned for font files
+to include in the set of available fonts. If 'prefix' is set to "xdg", the value in the XDG_DATA_HOME environment variable will be added as the path prefix. please see XDG Base Directory Specification for more details.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN71"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;cachedir prefix="default"&#62;</TT
+></H3
+><P
+>This element contains a directory name that is supposed to be stored or read
+the cache of font information. If multiple elements are specified in
+the configuration file, the directory that can be accessed first in the list
+will be used to store the cache files. If it starts with '~', it refers to
+a directory in the users home directory. If 'prefix' is set to "xdg", the value in the XDG_CACHE_HOME environment variable will be added as the path prefix. please see XDG Base Directory Specification for more details.
+The default directory is ``$XDG_CACHE_HOME/fontconfig'' and it contains the cache files
+named ``<TT
+CLASS="LITERAL"
+>&#60;hash value&#62;</TT
+>-<TT
+CLASS="LITERAL"
+>&#60;architecture&#62;</TT
+>.cache-<TT
+CLASS="LITERAL"
+>&#60;version&#62;</TT
+>'',
+where <TT
+CLASS="LITERAL"
+>&#60;version&#62;</TT
+> is the font configureation file
+version number (currently 3).
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN79"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;include ignore_missing="no" prefix="default"&#62;</TT
+></H3
+><P
+>This element contains the name of an additional configuration file or
+directory. If a directory, every file within that directory starting with an
+ASCII digit (U+0030 - U+0039) and ending with the string ``.conf'' will be processed in sorted order. When
+the XML datatype is traversed by FcConfigParse, the contents of the file(s)
+will also be incorporated into the configuration by passing the filename(s) to
+FcConfigLoadAndParse. If 'ignore_missing' is set to "yes" instead of the
+default "no", a missing file or directory will elicit no warning message from
+the library. If 'prefix' is set to "xdg", the value in the XDG_CONFIG_HOME environment variable will be added as the path prefix. please see XDG Base Directory Specification for more details.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN83"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;config&#62;</TT
+></H3
+><P
+>This element provides a place to consolidate additional configuration
+information. <TT
+CLASS="LITERAL"
+>&#60;config&#62;</TT
+> can contain <TT
+CLASS="LITERAL"
+>&#60;blank&#62;</TT
+> and <TT
+CLASS="LITERAL"
+>&#60;rescan&#62;</TT
+> elements in any
+order.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN90"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;blank&#62;</TT
+></H3
+><P
+>Fonts often include "broken" glyphs which appear in the encoding but are
+drawn as blanks on the screen. Within the <TT
+CLASS="LITERAL"
+>&#60;blank&#62;</TT
+> element, place each
+Unicode characters which is supposed to be blank in an <TT
+CLASS="LITERAL"
+>&#60;int&#62;</TT
+> element.
+Characters outside of this set which are drawn as blank will be elided from
+the set of characters supported by the font.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN96"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;rescan&#62;</TT
+></H3
+><P
+>The <TT
+CLASS="LITERAL"
+>&#60;rescan&#62;</TT
+> element holds an <TT
+CLASS="LITERAL"
+>&#60;int&#62;</TT
+> element which indicates the default
+interval between automatic checks for font configuration changes.
+Fontconfig will validate all of the configuration files and directories and
+automatically rebuild the internal datastructures when this interval passes.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN102"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;selectfont&#62;</TT
+></H3
+><P
+>This element is used to black/white list fonts from being listed or matched
+against. It holds acceptfont and rejectfont elements.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN106"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;acceptfont&#62;</TT
+></H3
+><P
+>Fonts matched by an acceptfont element are "whitelisted"; such fonts are
+explicitly included in the set of fonts used to resolve list and match
+requests; including them in this list protects them from being "blacklisted"
+by a rejectfont element. Acceptfont elements include glob and pattern
+elements which are used to match fonts.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN110"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;rejectfont&#62;</TT
+></H3
+><P
+>Fonts matched by an rejectfont element are "blacklisted"; such fonts are
+excluded from the set of fonts used to resolve list and match requests as if
+they didn't exist in the system. Rejectfont elements include glob and
+pattern elements which are used to match fonts.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN114"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;glob&#62;</TT
+></H3
+><P
+>Glob elements hold shell-style filename matching patterns (including ? and
+*) which match fonts based on their complete pathnames. This can be used to
+exclude a set of directories (/usr/share/fonts/uglyfont*), or particular
+font file types (*.pcf.gz), but the latter mechanism relies rather heavily
+on filenaming conventions which can't be relied upon. Note that globs
+only apply to directories, not to individual fonts.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN118"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;pattern&#62;</TT
+></H3
+><P
+>Pattern elements perform list-style matching on incoming fonts; that is,
+they hold a list of elements and associated values. If all of those
+elements have a matching value, then the pattern matches the font. This can
+be used to select fonts based on attributes of the font (scalable, bold,
+etc), which is a more reliable mechanism than using file extensions.
+Pattern elements include patelt elements.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN122"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;patelt name="property"&#62;</TT
+></H3
+><P
+>Patelt elements hold a single pattern element and list of values. They must
+have a 'name' attribute which indicates the pattern element name. Patelt
+elements include int, double, string, matrix, bool, charset and const
+elements.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN126"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;match target="pattern"&#62;</TT
+></H3
+><P
+>This element holds first a (possibly empty) list of <TT
+CLASS="LITERAL"
+>&#60;test&#62;</TT
+> elements and then
+a (possibly empty) list of <TT
+CLASS="LITERAL"
+>&#60;edit&#62;</TT
+> elements. Patterns which match all of the
+tests are subjected to all the edits. If 'target' is set to "font" instead
+of the default "pattern", then this element applies to the font name
+resulting from a match rather than a font pattern to be matched. If 'target'
+is set to "scan", then this element applies when the font is scanned to
+build the fontconfig database.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN132"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;test qual="any" name="property" target="default" compare="eq"&#62;</TT
+></H3
+><P
+>This element contains a single value which is compared with the target
+('pattern', 'font', 'scan' or 'default') property "property" (substitute any of the property names seen
+above). 'compare' can be one of "eq", "not_eq", "less", "less_eq", "more", "more_eq", "contains" or
+"not_contains". 'qual' may either be the default, "any", in which case the match
+succeeds if any value associated with the property matches the test value, or
+"all", in which case all of the values associated with the property must
+match the test value. 'ignore-blanks' takes a boolean value. if 'ignore-blanks' is set "true", any blanks in the string will be ignored on its comparison. this takes effects only when compare="eq" or compare="not_eq".
+When used in a &#60;match target="font"&#62; element,
+the target= attribute in the &#60;test&#62; element selects between matching
+the original pattern or the font. "default" selects whichever target the
+outer &#60;match&#62; element has selected.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN136"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;edit name="property" mode="assign" binding="weak"&#62;</TT
+></H3
+><P
+>This element contains a list of expression elements (any of the value or
+operator elements). The expression elements are evaluated at run-time and
+modify the property "property". The modification depends on whether
+"property" was matched by one of the associated <TT
+CLASS="LITERAL"
+>&#60;test&#62;</TT
+> elements, if so, the
+modification may affect the first matched value. Any values inserted into
+the property are given the indicated binding ("strong", "weak" or "same")
+with "same" binding using the value from the matched pattern element.
+'mode' is one of:
+ <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> Mode With Match Without Match
+ ---------------------------------------------------------------------
+ "assign" Replace matching value Replace all values
+ "assign_replace" Replace all values Replace all values
+ "prepend" Insert before matching Insert at head of list
+ "prepend_first" Insert at head of list Insert at head of list
+ "append" Append after matching Append at end of list
+ "append_last" Append at end of list Append at end of list
+ "delete" Delete matching value Delete all values
+ "delete_all" Delete all values Delete all values
+ </PRE
+></TD
+></TR
+></TABLE
+>
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN142"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;int&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;double&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;string&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;bool&#62;</TT
+></H3
+><P
+>These elements hold a single value of the indicated type. <TT
+CLASS="LITERAL"
+>&#60;bool&#62;</TT
+>
+elements hold either true or false. An important limitation exists in
+the parsing of floating point numbers -- fontconfig requires that
+the mantissa start with a digit, not a decimal point, so insert a leading
+zero for purely fractional values (e.g. use 0.5 instead of .5 and -0.5
+instead of -.5).
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN150"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;matrix&#62;</TT
+></H3
+><P
+>This element holds four numerical expressions of an affine transformation.
+At their simplest these will be four <TT
+CLASS="LITERAL"
+>&#60;double&#62;</TT
+> elements
+but they can also be more involved expressions.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN155"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;range&#62;</TT
+></H3
+><P
+>This element holds the two <TT
+CLASS="LITERAL"
+>&#60;int&#62;</TT
+> elements of a range
+representation.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN160"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;charset&#62;</TT
+></H3
+><P
+>This element holds at least one <TT
+CLASS="LITERAL"
+>&#60;int&#62;</TT
+> element of
+an Unicode code point or more.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN165"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;langset&#62;</TT
+></H3
+><P
+>This element holds at least one <TT
+CLASS="LITERAL"
+>&#60;string&#62;</TT
+> element of
+a RFC-3066-style languages or more.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN170"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;name&#62;</TT
+></H3
+><P
+>Holds a property name. Evaluates to the first value from the property of
+the pattern. If the 'target' attribute is not present, it will default to
+'default', in which case the property is returned from the font pattern
+during a target="font" match, and to the pattern during a target="pattern"
+match. The attribute can also take the values 'font' or 'pattern' to
+explicitly choose which pattern to use. It is an error to use a target
+of 'font' in a match that has target="pattern".
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN174"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;const&#62;</TT
+></H3
+><P
+>Holds the name of a constant; these are always integers and serve as
+symbolic names for common font values:
+ <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> Constant Property Value
+ -------------------------------------
+ thin weight 0
+ extralight weight 40
+ ultralight weight 40
+ light weight 50
+ demilight weight 55
+ semilight weight 55
+ book weight 75
+ regular weight 80
+ normal weight 80
+ medium weight 100
+ demibold weight 180
+ semibold weight 180
+ bold weight 200
+ extrabold weight 205
+ black weight 210
+ heavy weight 210
+ roman slant 0
+ italic slant 100
+ oblique slant 110
+ ultracondensed width 50
+ extracondensed width 63
+ condensed width 75
+ semicondensed width 87
+ normal width 100
+ semiexpanded width 113
+ expanded width 125
+ extraexpanded width 150
+ ultraexpanded width 200
+ proportional spacing 0
+ dual spacing 90
+ mono spacing 100
+ charcell spacing 110
+ unknown rgba 0
+ rgb rgba 1
+ bgr rgba 2
+ vrgb rgba 3
+ vbgr rgba 4
+ none rgba 5
+ lcdnone lcdfilter 0
+ lcddefault lcdfilter 1
+ lcdlight lcdfilter 2
+ lcdlegacy lcdfilter 3
+ hintnone hintstyle 0
+ hintslight hintstyle 1
+ hintmedium hintstyle 2
+ hintfull hintstyle 3
+ </PRE
+></TD
+></TR
+></TABLE
+>
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN179"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;or&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;and&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;plus&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;minus&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;times&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;divide&#62;</TT
+></H3
+><P
+>These elements perform the specified operation on a list of expression
+elements. <TT
+CLASS="LITERAL"
+>&#60;or&#62;</TT
+> and <TT
+CLASS="LITERAL"
+>&#60;and&#62;</TT
+> are boolean, not bitwise.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN190"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;eq&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;not_eq&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;less&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;less_eq&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;more&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;more_eq&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;contains&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;not_contains</TT
+></H3
+><P
+>These elements compare two values, producing a boolean result.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN201"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;not&#62;</TT
+></H3
+><P
+>Inverts the boolean sense of its one expression element
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN205"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;if&#62;</TT
+></H3
+><P
+>This element takes three expression elements; if the value of the first is
+true, it produces the value of the second, otherwise it produces the value
+of the third.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN209"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;alias&#62;</TT
+></H3
+><P
+>Alias elements provide a shorthand notation for the set of common match
+operations needed to substitute one font family for another. They contain a
+<TT
+CLASS="LITERAL"
+>&#60;family&#62;</TT
+> element followed by optional <TT
+CLASS="LITERAL"
+>&#60;prefer&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;accept&#62;</TT
+> and <TT
+CLASS="LITERAL"
+>&#60;default&#62;</TT
+>
+elements. Fonts matching the <TT
+CLASS="LITERAL"
+>&#60;family&#62;</TT
+> element are edited to prepend the
+list of <TT
+CLASS="LITERAL"
+>&#60;prefer&#62;</TT
+>ed families before the matching <TT
+CLASS="LITERAL"
+>&#60;family&#62;</TT
+>, append the
+<TT
+CLASS="LITERAL"
+>&#60;accept&#62;</TT
+>able families after the matching <TT
+CLASS="LITERAL"
+>&#60;family&#62;</TT
+> and append the <TT
+CLASS="LITERAL"
+>&#60;default&#62;</TT
+>
+families to the end of the family list.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN223"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;family&#62;</TT
+></H3
+><P
+>Holds a single font family name
+ </P
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN227"
+></A
+><H3
+><TT
+CLASS="LITERAL"
+>&#60;prefer&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;accept&#62;</TT
+>, <TT
+CLASS="LITERAL"
+>&#60;default&#62;</TT
+></H3
+><P
+>These hold a list of <TT
+CLASS="LITERAL"
+>&#60;family&#62;</TT
+> elements to be used by the <TT
+CLASS="LITERAL"
+>&#60;alias&#62;</TT
+> element.
+ </P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN235"
+></A
+><H2
+>EXAMPLE CONFIGURATION FILE</H2
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN237"
+></A
+><H3
+>System configuration file</H3
+><P
+>This is an example of a system-wide configuration file
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>&#60;?xml version="1.0"?&#62;
+&#60;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&#62;
+&#60;!-- /etc/fonts/fonts.conf file to configure system font access --&#62;
+&#60;fontconfig&#62;
+&#60;!--
+ Find fonts in these directories
+--&#62;
+&#60;dir&#62;/usr/share/fonts&#60;/dir&#62;
+&#60;dir&#62;/usr/X11R6/lib/X11/fonts&#60;/dir&#62;
+
+&#60;!--
+ Accept deprecated 'mono' alias, replacing it with 'monospace'
+--&#62;
+&#60;match target="pattern"&#62;
+ &#60;test qual="any" name="family"&#62;&#60;string&#62;mono&#60;/string&#62;&#60;/test&#62;
+ &#60;edit name="family" mode="assign"&#62;&#60;string&#62;monospace&#60;/string&#62;&#60;/edit&#62;
+&#60;/match&#62;
+
+&#60;!--
+ Names not including any well known alias are given 'sans-serif'
+--&#62;
+&#60;match target="pattern"&#62;
+ &#60;test qual="all" name="family" mode="not_eq"&#62;&#60;string&#62;sans-serif&#60;/string&#62;&#60;/test&#62;
+ &#60;test qual="all" name="family" mode="not_eq"&#62;&#60;string&#62;serif&#60;/string&#62;&#60;/test&#62;
+ &#60;test qual="all" name="family" mode="not_eq"&#62;&#60;string&#62;monospace&#60;/string&#62;&#60;/test&#62;
+ &#60;edit name="family" mode="append_last"&#62;&#60;string&#62;sans-serif&#60;/string&#62;&#60;/edit&#62;
+&#60;/match&#62;
+
+&#60;!--
+ Load per-user customization file, but don't complain
+ if it doesn't exist
+--&#62;
+&#60;include ignore_missing="yes" prefix="xdg"&#62;fontconfig/fonts.conf&#60;/include&#62;
+
+&#60;!--
+ Load local customization files, but don't complain
+ if there aren't any
+--&#62;
+&#60;include ignore_missing="yes"&#62;conf.d&#60;/include&#62;
+&#60;include ignore_missing="yes"&#62;local.conf&#60;/include&#62;
+
+&#60;!--
+ Alias well known font names to available TrueType fonts.
+ These substitute TrueType faces for similar Type1
+ faces to improve screen appearance.
+--&#62;
+&#60;alias&#62;
+ &#60;family&#62;Times&#60;/family&#62;
+ &#60;prefer&#62;&#60;family&#62;Times New Roman&#60;/family&#62;&#60;/prefer&#62;
+ &#60;default&#62;&#60;family&#62;serif&#60;/family&#62;&#60;/default&#62;
+&#60;/alias&#62;
+&#60;alias&#62;
+ &#60;family&#62;Helvetica&#60;/family&#62;
+ &#60;prefer&#62;&#60;family&#62;Arial&#60;/family&#62;&#60;/prefer&#62;
+ &#60;default&#62;&#60;family&#62;sans&#60;/family&#62;&#60;/default&#62;
+&#60;/alias&#62;
+&#60;alias&#62;
+ &#60;family&#62;Courier&#60;/family&#62;
+ &#60;prefer&#62;&#60;family&#62;Courier New&#60;/family&#62;&#60;/prefer&#62;
+ &#60;default&#62;&#60;family&#62;monospace&#60;/family&#62;&#60;/default&#62;
+&#60;/alias&#62;
+
+&#60;!--
+ Provide required aliases for standard names
+ Do these after the users configuration file so that
+ any aliases there are used preferentially
+--&#62;
+&#60;alias&#62;
+ &#60;family&#62;serif&#60;/family&#62;
+ &#60;prefer&#62;&#60;family&#62;Times New Roman&#60;/family&#62;&#60;/prefer&#62;
+&#60;/alias&#62;
+&#60;alias&#62;
+ &#60;family&#62;sans&#60;/family&#62;
+ &#60;prefer&#62;&#60;family&#62;Arial&#60;/family&#62;&#60;/prefer&#62;
+&#60;/alias&#62;
+&#60;alias&#62;
+ &#60;family&#62;monospace&#60;/family&#62;
+ &#60;prefer&#62;&#60;family&#62;Andale Mono&#60;/family&#62;&#60;/prefer&#62;
+&#60;/alias&#62;
+
+&#60;--
+ The example of the requirements of OR operator;
+ If the 'family' contains 'Courier New' OR 'Courier'
+ add 'monospace' as the alternative
+--&#62;
+&#60;match target="pattern"&#62;
+ &#60;test name="family" mode="eq"&#62;
+ &#60;string&#62;Courier New&#60;/string&#62;
+ &#60;/test&#62;
+ &#60;edit name="family" mode="prepend"&#62;
+ &#60;string&#62;monospace&#60;/string&#62;
+ &#60;/edit&#62;
+&#60;/match&#62;
+&#60;match target="pattern"&#62;
+ &#60;test name="family" mode="eq"&#62;
+ &#60;string&#62;Courier&#60;/string&#62;
+ &#60;/test&#62;
+ &#60;edit name="family" mode="prepend"&#62;
+ &#60;string&#62;monospace&#60;/string&#62;
+ &#60;/edit&#62;
+&#60;/match&#62;
+
+&#60;/fontconfig&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN241"
+></A
+><H3
+>User configuration file</H3
+><P
+>This is an example of a per-user configuration file that lives in
+$XDG_CONFIG_HOME/fontconfig/fonts.conf
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>&#60;?xml version="1.0"?&#62;
+&#60;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&#62;
+&#60;!-- $XDG_CONFIG_HOME/fontconfig/fonts.conf for per-user font configuration --&#62;
+&#60;fontconfig&#62;
+
+&#60;!--
+ Private font directory
+--&#62;
+&#60;dir prefix="xdg"&#62;fonts&#60;/dir&#62;
+
+&#60;!--
+ use rgb sub-pixel ordering to improve glyph appearance on
+ LCD screens. Changes affecting rendering, but not matching
+ should always use target="font".
+--&#62;
+&#60;match target="font"&#62;
+ &#60;edit name="rgba" mode="assign"&#62;&#60;const&#62;rgb&#60;/const&#62;&#60;/edit&#62;
+&#60;/match&#62;
+&#60;!--
+ use WenQuanYi Zen Hei font when serif is requested for Chinese
+--&#62;
+&#60;match&#62;
+ &#60;!--
+ If you don't want to use WenQuanYi Zen Hei font for zh-tw etc,
+ you can use zh-cn instead of zh.
+ Please note, even if you set zh-cn, it still matches zh.
+ if you don't like it, you can use compare="eq"
+ instead of compare="contains".
+ --&#62;
+ &#60;test name="lang" compare="contains"&#62;
+ &#60;string&#62;zh&#60;/string&#62;
+ &#60;/test&#62;
+ &#60;test name="family"&#62;
+ &#60;string&#62;serif&#60;/string&#62;
+ &#60;/test&#62;
+ &#60;edit name="family" mode="prepend"&#62;
+ &#60;string&#62;WenQuanYi Zen Hei&#60;/string&#62;
+ &#60;/edit&#62;
+&#60;/match&#62;
+&#60;!--
+ use VL Gothic font when sans-serif is requested for Japanese
+--&#62;
+&#60;match&#62;
+ &#60;test name="lang" compare="contains"&#62;
+ &#60;string&#62;ja&#60;/string&#62;
+ &#60;/test&#62;
+ &#60;test name="family"&#62;
+ &#60;string&#62;sans-serif&#60;/string&#62;
+ &#60;/test&#62;
+ &#60;edit name="family" mode="prepend"&#62;
+ &#60;string&#62;VL Gothic&#60;/string&#62;
+ &#60;/edit&#62;
+&#60;/match&#62;
+&#60;/fontconfig&#62;
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN245"
+></A
+><H2
+>Files</H2
+><P
+><I
+CLASS="EMPHASIS"
+>fonts.conf</I
+>
+contains configuration information for the fontconfig library
+consisting of directories to look at for font information as well as
+instructions on editing program specified font patterns before attempting to
+match the available fonts. It is in XML format.
+ </P
+><P
+><I
+CLASS="EMPHASIS"
+>conf.d</I
+>
+is the conventional name for a directory of additional configuration files
+managed by external applications or the local administrator. The
+filenames starting with decimal digits are sorted in lexicographic order
+and used as additional configuration files. All of these files are in XML
+format. The master fonts.conf file references this directory in an
+&#60;include&#62; directive.
+ </P
+><P
+><I
+CLASS="EMPHASIS"
+>fonts.dtd</I
+>
+is a DTD that describes the format of the configuration files.
+ </P
+><P
+><I
+CLASS="EMPHASIS"
+>$XDG_CONFIG_HOME/fontconfig/conf.d</I
+> and <I
+CLASS="EMPHASIS"
+>~/.fonts.conf.d</I
+>
+is the conventional name for a per-user directory of (typically
+auto-generated) configuration files, although the
+actual location is specified in the global fonts.conf file. please note that ~/.fonts.conf.d is deprecated now. it will not be read by default in the future version.
+ </P
+><P
+><I
+CLASS="EMPHASIS"
+>$XDG_CONFIG_HOME/fontconfig/fonts.conf</I
+> and <I
+CLASS="EMPHASIS"
+>~/.fonts.conf</I
+>
+is the conventional location for per-user font configuration, although the
+actual location is specified in the global fonts.conf file. please note that ~/.fonts.conf is deprecated now. it will not be read by default in the future version.
+ </P
+><P
+><I
+CLASS="EMPHASIS"
+>$XDG_CACHE_HOME/fontconfig/*.cache-*</I
+> and <I
+CLASS="EMPHASIS"
+> ~/.fontconfig/*.cache-*</I
+>
+is the conventional repository of font information that isn't found in the
+per-directory caches. This file is automatically maintained by fontconfig. please note that ~/.fontconfig/*.cache-* is deprecated now. it will not be read by default in the future version.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN262"
+></A
+><H2
+>Environment variables</H2
+><P
+><I
+CLASS="EMPHASIS"
+>FONTCONFIG_FILE</I
+>
+is used to override the default configuration file.
+ </P
+><P
+><I
+CLASS="EMPHASIS"
+>FONTCONFIG_PATH</I
+>
+is used to override the default configuration directory.
+ </P
+><P
+><I
+CLASS="EMPHASIS"
+>FC_DEBUG</I
+>
+is used to output the detailed debugging messages. see <A
+HREF="#DEBUG"
+>Debugging Applications</A
+> section for more details.
+ </P
+><P
+><I
+CLASS="EMPHASIS"
+>FONTCONFIG_USE_MMAP</I
+>
+is used to control the use of mmap(2) for the cache files if available. this take a boolean value. fontconfig will checks if the cache files are stored on the filesystem that is safe to use mmap(2). explicitly setting this environment variable will causes skipping this check and enforce to use or not use mmap(2) anyway.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN273"
+></A
+><H2
+>See Also</H2
+><P
+>fc-cat(1), fc-cache(1), fc-list(1), fc-match(1), fc-query(1)
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN276"
+></A
+><H2
+>Version</H2
+><P
+>Fontconfig version 2.11.93
+
+ </P
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/fontconfig-user.pdf b/doc/fontconfig-user.pdf
new file mode 100644
index 00000000..c976f7e9
--- /dev/null
+++ b/doc/fontconfig-user.pdf
Binary files differ
diff --git a/doc/fontconfig-user.sgml b/doc/fontconfig-user.sgml
index 775d1f72..ac9d8079 100644
--- a/doc/fontconfig-user.sgml
+++ b/doc/fontconfig-user.sgml
@@ -119,6 +119,7 @@ convenience for the applications' rendering mechanism.
rasterizer String Which rasterizer is in use (deprecated)
outline Bool Whether the glyphs are outlines
scalable Bool Whether glyphs can be scaled
+ color Bool Whether any glyphs have color
scale Double Scale factor for point->pixel conversions
dpi Double Target dots per inch
rgba Int unknown, rgb, bgr, vrgb, vbgr,
@@ -130,9 +131,15 @@ convenience for the applications' rendering mechanism.
font supports
fontversion Int Version number of the font
capability String List of layout capabilities in the font
+ fontformat String String name of the font format
embolden Bool Rasterizer should synthetically embolden the font
+ embeddedbitmap Bool Use the embedded bitmap instead of the outline
+ decorative Bool Whether the style is a decorative variant
fontfeatures String List of the feature tags in OpenType to be enabled
+ namelang String Language name to be used for the default value of
+ familylang, stylelang, and fullnamelang
prgname String String Name of the running program
+ postscriptname String Font family name in PostScript
</programlisting>
</refsect2>
<refsect2>
@@ -314,7 +321,7 @@ the configuration file, the directory that can be accessed first in the list
will be used to store the cache files. If it starts with '~', it refers to
a directory in the users home directory. If 'prefix' is set to "xdg", the value in the XDG_CACHE_HOME environment variable will be added as the path prefix. please see XDG Base Directory Specification for more details.
The default directory is ``$XDG_CACHE_HOME/fontconfig'' and it contains the cache files
-named ``<literal>&lt;hash value&gt;</literal>-<literal>&lt;architecture&gt;</literal>.cache-<literal>&lt;version</literal>'',
+named ``<literal>&lt;hash value&gt;</literal>-<literal>&lt;architecture&gt;</literal>.cache-<literal>&lt;version&gt;</literal>'',
where <literal>&lt;version&gt;</literal> is the font configureation file
version number (currently 3).
</para></refsect2>
@@ -473,6 +480,8 @@ symbolic names for common font values:
extralight weight 40
ultralight weight 40
light weight 50
+ demilight weight 55
+ semilight weight 55
book weight 75
regular weight 80
normal weight 80
diff --git a/doc/fontconfig-user.txt b/doc/fontconfig-user.txt
new file mode 100644
index 00000000..f18c0837
--- /dev/null
+++ b/doc/fontconfig-user.txt
@@ -0,0 +1,827 @@
+ fonts-conf
+
+Name
+
+ fonts.conf -- Font configuration files
+
+Synopsis
+
+ /etc/fonts/fonts.conf
+ /etc/fonts/fonts.dtd
+ /etc/fonts/conf.d
+ $XDG_CONFIG_HOME/fontconfig/conf.d
+ $XDG_CONFIG_HOME/fontconfig/fonts.conf
+ ~/.fonts.conf.d
+ ~/.fonts.conf
+
+Description
+
+ Fontconfig is a library designed to provide system-wide font
+ configuration, customization and application access.
+
+Functional Overview
+
+ Fontconfig contains two essential modules, the configuration
+ module which builds an internal configuration from XML files
+ and the matching module which accepts font patterns and returns
+ the nearest matching font.
+
+Font Configuration
+
+ The configuration module consists of the FcConfig datatype,
+ libexpat and FcConfigParse which walks over an XML tree and
+ amends a configuration with data found within. From an external
+ perspective, configuration of the library consists of
+ generating a valid XML tree and feeding that to FcConfigParse.
+ The only other mechanism provided to applications for changing
+ the running configuration is to add fonts and directories to
+ the list of application-provided font files.
+
+ The intent is to make font configurations relatively static,
+ and shared by as many applications as possible. It is hoped
+ that this will lead to more stable font selection when passing
+ names from one application to another. XML was chosen as a
+ configuration file format because it provides a format which is
+ easy for external agents to edit while retaining the correct
+ structure and syntax.
+
+ Font configuration is separate from font matching; applications
+ needing to do their own matching can access the available fonts
+ from the library and perform private matching. The intent is to
+ permit applications to pick and choose appropriate
+ functionality from the library instead of forcing them to
+ choose between this library and a private configuration
+ mechanism. The hope is that this will ensure that configuration
+ of fonts for all applications can be centralized in one place.
+ Centralizing font configuration will simplify and regularize
+ font installation and customization.
+
+Font Properties
+
+ While font patterns may contain essentially any properties,
+ there are some well known properties with associated types.
+ Fontconfig uses some of these properties for font matching and
+ font completion. Others are provided as a convenience for the
+ applications' rendering mechanism.
+ Property Type Description
+ --------------------------------------------------------------
+ family String Font family names
+ familylang String Languages corresponding to each family
+ style String Font style. Overrides weight and slant
+ stylelang String Languages corresponding to each style
+ fullname String Font full names (often includes style)
+ fullnamelang String Languages corresponding to each fullname
+ slant Int Italic, oblique or roman
+ weight Int Light, medium, demibold, bold or black
+ size Double Point size
+ width Int Condensed, normal or expanded
+ aspect Double Stretches glyphs horizontally before hinting
+ pixelsize Double Pixel size
+ spacing Int Proportional, dual-width, monospace or charcel
+l
+ foundry String Font foundry name
+ antialias Bool Whether glyphs can be antialiased
+ hinting Bool Whether the rasterizer should use hinting
+ hintstyle Int Automatic hinting style
+ verticallayout Bool Use vertical layout
+ autohint Bool Use autohinter instead of normal hinter
+ globaladvance Bool Use font global advance data (deprecated)
+ file String The filename holding the font
+ index Int The index of the font within the file
+ ftface FT_Face Use the specified FreeType face object
+ rasterizer String Which rasterizer is in use (deprecated)
+ outline Bool Whether the glyphs are outlines
+ scalable Bool Whether glyphs can be scaled
+ color Bool Whether any glyphs have color
+ scale Double Scale factor for point->pixel conversions
+ dpi Double Target dots per inch
+ rgba Int unknown, rgb, bgr, vrgb, vbgr,
+ none - subpixel geometry
+ lcdfilter Int Type of LCD filter
+ minspace Bool Eliminate leading from line spacing
+ charset CharSet Unicode chars encoded by the font
+ lang String List of RFC-3066-style languages this
+ font supports
+ fontversion Int Version number of the font
+ capability String List of layout capabilities in the font
+ fontformat String String name of the font format
+ embolden Bool Rasterizer should synthetically embolden the f
+ont
+ embeddedbitmap Bool Use the embedded bitmap instead of the outline
+ decorative Bool Whether the style is a decorative variant
+ fontfeatures String List of the feature tags in OpenType to be ena
+bled
+ namelang String Language name to be used for the default value
+ of
+ familylang, stylelang, and fullnamelang
+ prgname String String Name of the running program
+ postscriptname String Font family name in PostScript
+
+Font Matching
+
+ Fontconfig performs matching by measuring the distance from a
+ provided pattern to all of the available fonts in the system.
+ The closest matching font is selected. This ensures that a font
+ will always be returned, but doesn't ensure that it is anything
+ like the requested pattern.
+
+ Font matching starts with an application constructed pattern.
+ The desired attributes of the resulting font are collected
+ together in a pattern. Each property of the pattern can contain
+ one or more values; these are listed in priority order; matches
+ earlier in the list are considered "closer" than matches later
+ in the list.
+
+ The initial pattern is modified by applying the list of editing
+ instructions specific to patterns found in the configuration;
+ each consists of a match predicate and a set of editing
+ operations. They are executed in the order they appeared in the
+ configuration. Each match causes the associated sequence of
+ editing operations to be applied.
+
+ After the pattern has been edited, a sequence of default
+ substitutions are performed to canonicalize the set of
+ available properties; this avoids the need for the lower layers
+ to constantly provide default values for various font
+ properties during rendering.
+
+ The canonical font pattern is finally matched against all
+ available fonts. The distance from the pattern to the font is
+ measured for each of several properties: foundry, charset,
+ family, lang, spacing, pixelsize, style, slant, weight,
+ antialias, rasterizer and outline. This list is in priority
+ order -- results of comparing earlier elements of this list
+ weigh more heavily than later elements.
+
+ There is one special case to this rule; family names are split
+ into two bindings; strong and weak. Strong family names are
+ given greater precedence in the match than lang elements while
+ weak family names are given lower precedence than lang
+ elements. This permits the document language to drive font
+ selection when any document specified font is unavailable.
+
+ The pattern representing that font is augmented to include any
+ properties found in the pattern but not found in the font
+ itself; this permits the application to pass rendering
+ instructions or any other data through the matching system.
+ Finally, the list of editing instructions specific to fonts
+ found in the configuration are applied to the pattern. This
+ modified pattern is returned to the application.
+
+ The return value contains sufficient information to locate and
+ rasterize the font, including the file name, pixel size and
+ other rendering data. As none of the information involved
+ pertains to the FreeType library, applications are free to use
+ any rasterization engine or even to take the identified font
+ file and access it directly.
+
+ The match/edit sequences in the configuration are performed in
+ two passes because there are essentially two different
+ operations necessary -- the first is to modify how fonts are
+ selected; aliasing families and adding suitable defaults. The
+ second is to modify how the selected fonts are rasterized.
+ Those must apply to the selected font, not the original pattern
+ as false matches will often occur.
+
+Font Names
+
+ Fontconfig provides a textual representation for patterns that
+ the library can both accept and generate. The representation is
+ in three parts, first a list of family names, second a list of
+ point sizes and finally a list of additional properties:
+ <families>-<point sizes>:<name1>=<values1>:<name2>=<values2>...
+
+ Values in a list are separated with commas. The name needn't
+ include either families or point sizes; they can be elided. In
+ addition, there are symbolic constants that simultaneously
+ indicate both a name and a value. Here are some examples:
+ Name Meaning
+ ----------------------------------------------------------
+ Times-12 12 point Times Roman
+ Times-12:bold 12 point Times Bold
+ Courier:italic Courier Italic in the default size
+ Monospace:matrix=1 .1 0 1 The users preferred monospace font
+ with artificial obliquing
+
+ The '\', '-', ':' and ',' characters in family names must be
+ preceded by a '\' character to avoid having them
+ misinterpreted. Similarly, values containing '\', '=', '_', ':'
+ and ',' must also have them preceded by a '\' character. The
+ '\' characters are stripped out of the family name and values
+ as the font name is read.
+
+Debugging Applications
+
+ To help diagnose font and applications problems, fontconfig is
+ built with a large amount of internal debugging left enabled.
+ It is controlled by means of the FC_DEBUG environment variable.
+ The value of this variable is interpreted as a number, and each
+ bit within that value controls different debugging messages.
+ Name Value Meaning
+ ---------------------------------------------------------
+ MATCH 1 Brief information about font matching
+ MATCHV 2 Extensive font matching information
+ EDIT 4 Monitor match/test/edit execution
+ FONTSET 8 Track loading of font information at startup
+ CACHE 16 Watch cache files being written
+ CACHEV 32 Extensive cache file writing information
+ PARSE 64 (no longer in use)
+ SCAN 128 Watch font files being scanned to build caches
+ SCANV 256 Verbose font file scanning information
+ MEMORY 512 Monitor fontconfig memory usage
+ CONFIG 1024 Monitor which config files are loaded
+ LANGSET 2048 Dump char sets used to construct lang values
+ OBJTYPES 4096 Display message when value typechecks fail
+
+ Add the value of the desired debug levels together and assign
+ that (in base 10) to the FC_DEBUG environment variable before
+ running the application. Output from these statements is sent
+ to stdout.
+
+Lang Tags
+
+ Each font in the database contains a list of languages it
+ supports. This is computed by comparing the Unicode coverage of
+ the font with the orthography of each language. Languages are
+ tagged using an RFC-3066 compatible naming and occur in two
+ parts -- the ISO 639 language tag followed a hyphen and then by
+ the ISO 3166 country code. The hyphen and country code may be
+ elided.
+
+ Fontconfig has orthographies for several languages built into
+ the library. No provision has been made for adding new ones
+ aside from rebuilding the library. It currently supports 122 of
+ the 139 languages named in ISO 639-1, 141 of the languages with
+ two-letter codes from ISO 639-2 and another 30 languages with
+ only three-letter codes. Languages with both two and three
+ letter codes are provided with only the two letter code.
+
+ For languages used in multiple territories with radically
+ different character sets, fontconfig includes per-territory
+ orthographies. This includes Azerbaijani, Kurdish, Pashto,
+ Tigrinya and Chinese.
+
+Configuration File Format
+
+ Configuration files for fontconfig are stored in XML format;
+ this format makes external configuration tools easier to write
+ and ensures that they will generate syntactically correct
+ configuration files. As XML files are plain text, they can also
+ be manipulated by the expert user using a text editor.
+
+ The fontconfig document type definition resides in the external
+ entity "fonts.dtd"; this is normally stored in the default font
+ configuration directory (/etc/fonts). Each configuration file
+ should contain the following structure:
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+ ...
+ </fontconfig>
+
+<fontconfig>
+
+ This is the top level element for a font configuration and can
+ contain <dir>, <cachedir>, <include>, <match> and <alias>
+ elements in any order.
+
+<dir prefix="default">
+
+ This element contains a directory name which will be scanned
+ for font files to include in the set of available fonts. If
+ 'prefix' is set to "xdg", the value in the XDG_DATA_HOME
+ environment variable will be added as the path prefix. please
+ see XDG Base Directory Specification for more details.
+
+<cachedir prefix="default">
+
+ This element contains a directory name that is supposed to be
+ stored or read the cache of font information. If multiple
+ elements are specified in the configuration file, the directory
+ that can be accessed first in the list will be used to store
+ the cache files. If it starts with '~', it refers to a
+ directory in the users home directory. If 'prefix' is set to
+ "xdg", the value in the XDG_CACHE_HOME environment variable
+ will be added as the path prefix. please see XDG Base Directory
+ Specification for more details. The default directory is
+ ``$XDG_CACHE_HOME/fontconfig'' and it contains the cache files
+ named ``<hash value>-<architecture>.cache-<version>'', where
+ <version> is the font configureation file version number
+ (currently 3).
+
+<include ignore_missing="no" prefix="default">
+
+ This element contains the name of an additional configuration
+ file or directory. If a directory, every file within that
+ directory starting with an ASCII digit (U+0030 - U+0039) and
+ ending with the string ``.conf'' will be processed in sorted
+ order. When the XML datatype is traversed by FcConfigParse, the
+ contents of the file(s) will also be incorporated into the
+ configuration by passing the filename(s) to
+ FcConfigLoadAndParse. If 'ignore_missing' is set to "yes"
+ instead of the default "no", a missing file or directory will
+ elicit no warning message from the library. If 'prefix' is set
+ to "xdg", the value in the XDG_CONFIG_HOME environment variable
+ will be added as the path prefix. please see XDG Base Directory
+ Specification for more details.
+
+<config>
+
+ This element provides a place to consolidate additional
+ configuration information. <config> can contain <blank> and
+ <rescan> elements in any order.
+
+<blank>
+
+ Fonts often include "broken" glyphs which appear in the
+ encoding but are drawn as blanks on the screen. Within the
+ <blank> element, place each Unicode characters which is
+ supposed to be blank in an <int> element. Characters outside of
+ this set which are drawn as blank will be elided from the set
+ of characters supported by the font.
+
+<rescan>
+
+ The <rescan> element holds an <int> element which indicates the
+ default interval between automatic checks for font
+ configuration changes. Fontconfig will validate all of the
+ configuration files and directories and automatically rebuild
+ the internal datastructures when this interval passes.
+
+<selectfont>
+
+ This element is used to black/white list fonts from being
+ listed or matched against. It holds acceptfont and rejectfont
+ elements.
+
+<acceptfont>
+
+ Fonts matched by an acceptfont element are "whitelisted"; such
+ fonts are explicitly included in the set of fonts used to
+ resolve list and match requests; including them in this list
+ protects them from being "blacklisted" by a rejectfont element.
+ Acceptfont elements include glob and pattern elements which are
+ used to match fonts.
+
+<rejectfont>
+
+ Fonts matched by an rejectfont element are "blacklisted"; such
+ fonts are excluded from the set of fonts used to resolve list
+ and match requests as if they didn't exist in the system.
+ Rejectfont elements include glob and pattern elements which are
+ used to match fonts.
+
+<glob>
+
+ Glob elements hold shell-style filename matching patterns
+ (including ? and *) which match fonts based on their complete
+ pathnames. This can be used to exclude a set of directories
+ (/usr/share/fonts/uglyfont*), or particular font file types
+ (*.pcf.gz), but the latter mechanism relies rather heavily on
+ filenaming conventions which can't be relied upon. Note that
+ globs only apply to directories, not to individual fonts.
+
+<pattern>
+
+ Pattern elements perform list-style matching on incoming fonts;
+ that is, they hold a list of elements and associated values. If
+ all of those elements have a matching value, then the pattern
+ matches the font. This can be used to select fonts based on
+ attributes of the font (scalable, bold, etc), which is a more
+ reliable mechanism than using file extensions. Pattern elements
+ include patelt elements.
+
+<patelt name="property">
+
+ Patelt elements hold a single pattern element and list of
+ values. They must have a 'name' attribute which indicates the
+ pattern element name. Patelt elements include int, double,
+ string, matrix, bool, charset and const elements.
+
+<match target="pattern">
+
+ This element holds first a (possibly empty) list of <test>
+ elements and then a (possibly empty) list of <edit> elements.
+ Patterns which match all of the tests are subjected to all the
+ edits. If 'target' is set to "font" instead of the default
+ "pattern", then this element applies to the font name resulting
+ from a match rather than a font pattern to be matched. If
+ 'target' is set to "scan", then this element applies when the
+ font is scanned to build the fontconfig database.
+
+<test qual="any" name="property" target="default" compare="eq">
+
+ This element contains a single value which is compared with the
+ target ('pattern', 'font', 'scan' or 'default') property
+ "property" (substitute any of the property names seen above).
+ 'compare' can be one of "eq", "not_eq", "less", "less_eq",
+ "more", "more_eq", "contains" or "not_contains". 'qual' may
+ either be the default, "any", in which case the match succeeds
+ if any value associated with the property matches the test
+ value, or "all", in which case all of the values associated
+ with the property must match the test value. 'ignore-blanks'
+ takes a boolean value. if 'ignore-blanks' is set "true", any
+ blanks in the string will be ignored on its comparison. this
+ takes effects only when compare="eq" or compare="not_eq". When
+ used in a <match target="font"> element, the target= attribute
+ in the <test> element selects between matching the original
+ pattern or the font. "default" selects whichever target the
+ outer <match> element has selected.
+
+<edit name="property" mode="assign" binding="weak">
+
+ This element contains a list of expression elements (any of the
+ value or operator elements). The expression elements are
+ evaluated at run-time and modify the property "property". The
+ modification depends on whether "property" was matched by one
+ of the associated <test> elements, if so, the modification may
+ affect the first matched value. Any values inserted into the
+ property are given the indicated binding ("strong", "weak" or
+ "same") with "same" binding using the value from the matched
+ pattern element. 'mode' is one of:
+ Mode With Match Without Match
+ ---------------------------------------------------------------------
+ "assign" Replace matching value Replace all values
+ "assign_replace" Replace all values Replace all values
+ "prepend" Insert before matching Insert at head of list
+ "prepend_first" Insert at head of list Insert at head of list
+ "append" Append after matching Append at end of list
+ "append_last" Append at end of list Append at end of list
+ "delete" Delete matching value Delete all values
+ "delete_all" Delete all values Delete all values
+
+<int>, <double>, <string>, <bool>
+
+ These elements hold a single value of the indicated type.
+ <bool> elements hold either true or false. An important
+ limitation exists in the parsing of floating point numbers --
+ fontconfig requires that the mantissa start with a digit, not a
+ decimal point, so insert a leading zero for purely fractional
+ values (e.g. use 0.5 instead of .5 and -0.5 instead of -.5).
+
+<matrix>
+
+ This element holds four numerical expressions of an affine
+ transformation. At their simplest these will be four <double>
+ elements but they can also be more involved expressions.
+
+<range>
+
+ This element holds the two <int> elements of a range
+ representation.
+
+<charset>
+
+ This element holds at least one <int> element of an Unicode
+ code point or more.
+
+<langset>
+
+ This element holds at least one <string> element of a
+ RFC-3066-style languages or more.
+
+<name>
+
+ Holds a property name. Evaluates to the first value from the
+ property of the pattern. If the 'target' attribute is not
+ present, it will default to 'default', in which case the
+ property is returned from the font pattern during a
+ target="font" match, and to the pattern during a
+ target="pattern" match. The attribute can also take the values
+ 'font' or 'pattern' to explicitly choose which pattern to use.
+ It is an error to use a target of 'font' in a match that has
+ target="pattern".
+
+<const>
+
+ Holds the name of a constant; these are always integers and
+ serve as symbolic names for common font values:
+ Constant Property Value
+ -------------------------------------
+ thin weight 0
+ extralight weight 40
+ ultralight weight 40
+ light weight 50
+ demilight weight 55
+ semilight weight 55
+ book weight 75
+ regular weight 80
+ normal weight 80
+ medium weight 100
+ demibold weight 180
+ semibold weight 180
+ bold weight 200
+ extrabold weight 205
+ black weight 210
+ heavy weight 210
+ roman slant 0
+ italic slant 100
+ oblique slant 110
+ ultracondensed width 50
+ extracondensed width 63
+ condensed width 75
+ semicondensed width 87
+ normal width 100
+ semiexpanded width 113
+ expanded width 125
+ extraexpanded width 150
+ ultraexpanded width 200
+ proportional spacing 0
+ dual spacing 90
+ mono spacing 100
+ charcell spacing 110
+ unknown rgba 0
+ rgb rgba 1
+ bgr rgba 2
+ vrgb rgba 3
+ vbgr rgba 4
+ none rgba 5
+ lcdnone lcdfilter 0
+ lcddefault lcdfilter 1
+ lcdlight lcdfilter 2
+ lcdlegacy lcdfilter 3
+ hintnone hintstyle 0
+ hintslight hintstyle 1
+ hintmedium hintstyle 2
+ hintfull hintstyle 3
+
+<or>, <and>, <plus>, <minus>, <times>, <divide>
+
+ These elements perform the specified operation on a list of
+ expression elements. <or> and <and> are boolean, not bitwise.
+
+<eq>, <not_eq>, <less>, <less_eq>, <more>, <more_eq>, <contains>,
+<not_contains
+
+ These elements compare two values, producing a boolean result.
+
+<not>
+
+ Inverts the boolean sense of its one expression element
+
+<if>
+
+ This element takes three expression elements; if the value of
+ the first is true, it produces the value of the second,
+ otherwise it produces the value of the third.
+
+<alias>
+
+ Alias elements provide a shorthand notation for the set of
+ common match operations needed to substitute one font family
+ for another. They contain a <family> element followed by
+ optional <prefer>, <accept> and <default> elements. Fonts
+ matching the <family> element are edited to prepend the list of
+ <prefer>ed families before the matching <family>, append the
+ <accept>able families after the matching <family> and append
+ the <default> families to the end of the family list.
+
+<family>
+
+ Holds a single font family name
+
+<prefer>, <accept>, <default>
+
+ These hold a list of <family> elements to be used by the
+ <alias> element.
+
+EXAMPLE CONFIGURATION FILE
+
+System configuration file
+
+ This is an example of a system-wide configuration file
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- /etc/fonts/fonts.conf file to configure system font access -->
+<fontconfig>
+<!--
+ Find fonts in these directories
+-->
+<dir>/usr/share/fonts</dir>
+<dir>/usr/X11R6/lib/X11/fonts</dir>
+
+<!--
+ Accept deprecated 'mono' alias, replacing it with 'monospace'
+-->
+<match target="pattern">
+ <test qual="any" name="family"><string>mono</string></test>
+ <edit name="family" mode="assign"><string>monospace</string></ed
+it>
+</match>
+
+<!--
+ Names not including any well known alias are given 'sans-serif'
+-->
+<match target="pattern">
+ <test qual="all" name="family" mode="not_eq"><string>sans-serif<
+/string></test>
+ <test qual="all" name="family" mode="not_eq"><string>serif</stri
+ng></test>
+ <test qual="all" name="family" mode="not_eq"><string>monospace</
+string></test>
+ <edit name="family" mode="append_last"><string>sans-serif</strin
+g></edit>
+</match>
+
+<!--
+ Load per-user customization file, but don't complain
+ if it doesn't exist
+-->
+<include ignore_missing="yes" prefix="xdg">fontconfig/fonts.conf</includ
+e>
+
+<!--
+ Load local customization files, but don't complain
+ if there aren't any
+-->
+<include ignore_missing="yes">conf.d</include>
+<include ignore_missing="yes">local.conf</include>
+
+<!--
+ Alias well known font names to available TrueType fonts.
+ These substitute TrueType faces for similar Type1
+ faces to improve screen appearance.
+-->
+<alias>
+ <family>Times</family>
+ <prefer><family>Times New Roman</family></prefer>
+ <default><family>serif</family></default>
+</alias>
+<alias>
+ <family>Helvetica</family>
+ <prefer><family>Arial</family></prefer>
+ <default><family>sans</family></default>
+</alias>
+<alias>
+ <family>Courier</family>
+ <prefer><family>Courier New</family></prefer>
+ <default><family>monospace</family></default>
+</alias>
+
+<!--
+ Provide required aliases for standard names
+ Do these after the users configuration file so that
+ any aliases there are used preferentially
+-->
+<alias>
+ <family>serif</family>
+ <prefer><family>Times New Roman</family></prefer>
+</alias>
+<alias>
+ <family>sans</family>
+ <prefer><family>Arial</family></prefer>
+</alias>
+<alias>
+ <family>monospace</family>
+ <prefer><family>Andale Mono</family></prefer>
+</alias>
+
+<--
+ The example of the requirements of OR operator;
+ If the 'family' contains 'Courier New' OR 'Courier'
+ add 'monospace' as the alternative
+-->
+<match target="pattern">
+ <test name="family" mode="eq">
+ <string>Courier New</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>monospace</string>
+ </edit>
+</match>
+<match target="pattern">
+ <test name="family" mode="eq">
+ <string>Courier</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>monospace</string>
+ </edit>
+</match>
+
+</fontconfig>
+
+User configuration file
+
+ This is an example of a per-user configuration file that lives
+ in $XDG_CONFIG_HOME/fontconfig/fonts.conf
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- $XDG_CONFIG_HOME/fontconfig/fonts.conf for per-user font configurat
+ion -->
+<fontconfig>
+
+<!--
+ Private font directory
+-->
+<dir prefix="xdg">fonts</dir>
+
+<!--
+ use rgb sub-pixel ordering to improve glyph appearance on
+ LCD screens. Changes affecting rendering, but not matching
+ should always use target="font".
+-->
+<match target="font">
+ <edit name="rgba" mode="assign"><const>rgb</const></edit>
+</match>
+<!--
+ use WenQuanYi Zen Hei font when serif is requested for Chinese
+-->
+<match>
+ <!--
+ If you don't want to use WenQuanYi Zen Hei font for zh-t
+w etc,
+ you can use zh-cn instead of zh.
+ Please note, even if you set zh-cn, it still matches zh.
+ if you don't like it, you can use compare="eq"
+ instead of compare="contains".
+ -->
+ <test name="lang" compare="contains">
+ <string>zh</string>
+ </test>
+ <test name="family">
+ <string>serif</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>WenQuanYi Zen Hei</string>
+ </edit>
+</match>
+<!--
+ use VL Gothic font when sans-serif is requested for Japanese
+-->
+<match>
+ <test name="lang" compare="contains">
+ <string>ja</string>
+ </test>
+ <test name="family">
+ <string>sans-serif</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>VL Gothic</string>
+ </edit>
+</match>
+</fontconfig>
+
+Files
+
+ fonts.conf contains configuration information for the
+ fontconfig library consisting of directories to look at for
+ font information as well as instructions on editing program
+ specified font patterns before attempting to match the
+ available fonts. It is in XML format.
+
+ conf.d is the conventional name for a directory of additional
+ configuration files managed by external applications or the
+ local administrator. The filenames starting with decimal digits
+ are sorted in lexicographic order and used as additional
+ configuration files. All of these files are in XML format. The
+ master fonts.conf file references this directory in an
+ <include> directive.
+
+ fonts.dtd is a DTD that describes the format of the
+ configuration files.
+
+ $XDG_CONFIG_HOME/fontconfig/conf.d and ~/.fonts.conf.d is the
+ conventional name for a per-user directory of (typically
+ auto-generated) configuration files, although the actual
+ location is specified in the global fonts.conf file. please
+ note that ~/.fonts.conf.d is deprecated now. it will not be
+ read by default in the future version.
+
+ $XDG_CONFIG_HOME/fontconfig/fonts.conf and ~/.fonts.conf is the
+ conventional location for per-user font configuration, although
+ the actual location is specified in the global fonts.conf file.
+ please note that ~/.fonts.conf is deprecated now. it will not
+ be read by default in the future version.
+
+ $XDG_CACHE_HOME/fontconfig/*.cache-* and
+ ~/.fontconfig/*.cache-* is the conventional repository of font
+ information that isn't found in the per-directory caches. This
+ file is automatically maintained by fontconfig. please note
+ that ~/.fontconfig/*.cache-* is deprecated now. it will not be
+ read by default in the future version.
+
+Environment variables
+
+ FONTCONFIG_FILE is used to override the default configuration
+ file.
+
+ FONTCONFIG_PATH is used to override the default configuration
+ directory.
+
+ FC_DEBUG is used to output the detailed debugging messages. see
+ Debugging Applications section for more details.
+
+ FONTCONFIG_USE_MMAP is used to control the use of mmap(2) for
+ the cache files if available. this take a boolean value.
+ fontconfig will checks if the cache files are stored on the
+ filesystem that is safe to use mmap(2). explicitly setting this
+ environment variable will causes skipping this check and
+ enforce to use or not use mmap(2) anyway.
+
+See Also
+
+ fc-cat(1), fc-cache(1), fc-list(1), fc-match(1), fc-query(1)
+
+Version
+
+ Fontconfig version 2.11.93
diff --git a/doc/fonts-conf.5 b/doc/fonts-conf.5
new file mode 100644
index 00000000..a799049c
--- /dev/null
+++ b/doc/fonts-conf.5
@@ -0,0 +1,751 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FONTS-CONF" "5" "09 3月 2015" "" ""
+.SH NAME
+fonts.conf \- Font configuration files
+.SH SYNOPSIS
+.sp
+.nf
+ /etc/fonts/fonts.conf
+ /etc/fonts/fonts.dtd
+ /etc/fonts/conf.d
+ $XDG_CONFIG_HOME/fontconfig/conf.d
+ $XDG_CONFIG_HOME/fontconfig/fonts.conf
+ ~/.fonts.conf.d
+ ~/.fonts.conf
+.sp
+.fi
+.SH "DESCRIPTION"
+.PP
+Fontconfig is a library designed to provide system-wide font configuration,
+customization and application access.
+.SH "FUNCTIONAL OVERVIEW"
+.PP
+Fontconfig contains two essential modules, the configuration module which
+builds an internal configuration from XML files and the matching module
+which accepts font patterns and returns the nearest matching font.
+.SS "FONT CONFIGURATION"
+.PP
+The configuration module consists of the FcConfig datatype, libexpat and
+FcConfigParse which walks over an XML tree and amends a configuration with
+data found within. From an external perspective, configuration of the
+library consists of generating a valid XML tree and feeding that to
+FcConfigParse. The only other mechanism provided to applications for
+changing the running configuration is to add fonts and directories to the
+list of application-provided font files.
+.PP
+The intent is to make font configurations relatively static, and shared by
+as many applications as possible. It is hoped that this will lead to more
+stable font selection when passing names from one application to another.
+XML was chosen as a configuration file format because it provides a format
+which is easy for external agents to edit while retaining the correct
+structure and syntax.
+.PP
+Font configuration is separate from font matching; applications needing to
+do their own matching can access the available fonts from the library and
+perform private matching. The intent is to permit applications to pick and
+choose appropriate functionality from the library instead of forcing them to
+choose between this library and a private configuration mechanism. The hope
+is that this will ensure that configuration of fonts for all applications
+can be centralized in one place. Centralizing font configuration will
+simplify and regularize font installation and customization.
+.SS "FONT PROPERTIES"
+.PP
+While font patterns may contain essentially any properties, there are some
+well known properties with associated types. Fontconfig uses some of these
+properties for font matching and font completion. Others are provided as a
+convenience for the applications' rendering mechanism.
+.sp
+.nf
+ Property Type Description
+ --------------------------------------------------------------
+ family String Font family names
+ familylang String Languages corresponding to each family
+ style String Font style. Overrides weight and slant
+ stylelang String Languages corresponding to each style
+ fullname String Font full names (often includes style)
+ fullnamelang String Languages corresponding to each fullname
+ slant Int Italic, oblique or roman
+ weight Int Light, medium, demibold, bold or black
+ size Double Point size
+ width Int Condensed, normal or expanded
+ aspect Double Stretches glyphs horizontally before hinting
+ pixelsize Double Pixel size
+ spacing Int Proportional, dual-width, monospace or charcell
+ foundry String Font foundry name
+ antialias Bool Whether glyphs can be antialiased
+ hinting Bool Whether the rasterizer should use hinting
+ hintstyle Int Automatic hinting style
+ verticallayout Bool Use vertical layout
+ autohint Bool Use autohinter instead of normal hinter
+ globaladvance Bool Use font global advance data (deprecated)
+ file String The filename holding the font
+ index Int The index of the font within the file
+ ftface FT_Face Use the specified FreeType face object
+ rasterizer String Which rasterizer is in use (deprecated)
+ outline Bool Whether the glyphs are outlines
+ scalable Bool Whether glyphs can be scaled
+ color Bool Whether any glyphs have color
+ scale Double Scale factor for point->pixel conversions
+ dpi Double Target dots per inch
+ rgba Int unknown, rgb, bgr, vrgb, vbgr,
+ none - subpixel geometry
+ lcdfilter Int Type of LCD filter
+ minspace Bool Eliminate leading from line spacing
+ charset CharSet Unicode chars encoded by the font
+ lang String List of RFC-3066-style languages this
+ font supports
+ fontversion Int Version number of the font
+ capability String List of layout capabilities in the font
+ fontformat String String name of the font format
+ embolden Bool Rasterizer should synthetically embolden the font
+ embeddedbitmap Bool Use the embedded bitmap instead of the outline
+ decorative Bool Whether the style is a decorative variant
+ fontfeatures String List of the feature tags in OpenType to be enabled
+ namelang String Language name to be used for the default value of
+ familylang, stylelang, and fullnamelang
+ prgname String String Name of the running program
+ postscriptname String Font family name in PostScript
+
+.sp
+.fi
+.SS "FONT MATCHING"
+.PP
+Fontconfig performs matching by measuring the distance from a provided
+pattern to all of the available fonts in the system. The closest matching
+font is selected. This ensures that a font will always be returned, but
+doesn't ensure that it is anything like the requested pattern.
+.PP
+Font matching starts with an application constructed pattern. The desired
+attributes of the resulting font are collected together in a pattern. Each
+property of the pattern can contain one or more values; these are listed in
+priority order; matches earlier in the list are considered "closer" than
+matches later in the list.
+.PP
+The initial pattern is modified by applying the list of editing instructions
+specific to patterns found in the configuration; each consists of a match
+predicate and a set of editing operations. They are executed in the order
+they appeared in the configuration. Each match causes the associated
+sequence of editing operations to be applied.
+.PP
+After the pattern has been edited, a sequence of default substitutions are
+performed to canonicalize the set of available properties; this avoids the
+need for the lower layers to constantly provide default values for various
+font properties during rendering.
+.PP
+The canonical font pattern is finally matched against all available fonts.
+The distance from the pattern to the font is measured for each of several
+properties: foundry, charset, family, lang, spacing, pixelsize, style,
+slant, weight, antialias, rasterizer and outline. This list is in priority
+order -- results of comparing earlier elements of this list weigh more
+heavily than later elements.
+.PP
+There is one special case to this rule; family names are split into two
+bindings; strong and weak. Strong family names are given greater precedence
+in the match than lang elements while weak family names are given lower
+precedence than lang elements. This permits the document language to drive
+font selection when any document specified font is unavailable.
+.PP
+The pattern representing that font is augmented to include any properties
+found in the pattern but not found in the font itself; this permits the
+application to pass rendering instructions or any other data through the
+matching system. Finally, the list of editing instructions specific to
+fonts found in the configuration are applied to the pattern. This modified
+pattern is returned to the application.
+.PP
+The return value contains sufficient information to locate and rasterize the
+font, including the file name, pixel size and other rendering data. As
+none of the information involved pertains to the FreeType library,
+applications are free to use any rasterization engine or even to take
+the identified font file and access it directly.
+.PP
+The match/edit sequences in the configuration are performed in two passes
+because there are essentially two different operations necessary -- the
+first is to modify how fonts are selected; aliasing families and adding
+suitable defaults. The second is to modify how the selected fonts are
+rasterized. Those must apply to the selected font, not the original pattern
+as false matches will often occur.
+.SS "FONT NAMES"
+.PP
+Fontconfig provides a textual representation for patterns that the library
+can both accept and generate. The representation is in three parts, first a
+list of family names, second a list of point sizes and finally a list of
+additional properties:
+.sp
+.nf
+ <families>-<point sizes>:<name1>=<values1>:<name2>=<values2>\&...
+
+.sp
+.fi
+.PP
+Values in a list are separated with commas. The name needn't include either
+families or point sizes; they can be elided. In addition, there are
+symbolic constants that simultaneously indicate both a name and a value.
+Here are some examples:
+.sp
+.nf
+ Name Meaning
+ ----------------------------------------------------------
+ Times-12 12 point Times Roman
+ Times-12:bold 12 point Times Bold
+ Courier:italic Courier Italic in the default size
+ Monospace:matrix=1 .1 0 1 The users preferred monospace font
+ with artificial obliquing
+
+.sp
+.fi
+.PP
+The '\\', '-', ':' and ',' characters in family names must be preceded by a
+\&'\\' character to avoid having them misinterpreted. Similarly, values
+containing '\\', '=', '_', ':' and ',' must also have them preceded by a
+\&'\\' character. The '\\' characters are stripped out of the family name and
+values as the font name is read.
+.SH "DEBUGGING APPLICATIONS"
+.PP
+To help diagnose font and applications problems, fontconfig is built with a
+large amount of internal debugging left enabled. It is controlled by means
+of the FC_DEBUG environment variable. The value of this variable is
+interpreted as a number, and each bit within that value controls different
+debugging messages.
+.sp
+.nf
+ Name Value Meaning
+ ---------------------------------------------------------
+ MATCH 1 Brief information about font matching
+ MATCHV 2 Extensive font matching information
+ EDIT 4 Monitor match/test/edit execution
+ FONTSET 8 Track loading of font information at startup
+ CACHE 16 Watch cache files being written
+ CACHEV 32 Extensive cache file writing information
+ PARSE 64 (no longer in use)
+ SCAN 128 Watch font files being scanned to build caches
+ SCANV 256 Verbose font file scanning information
+ MEMORY 512 Monitor fontconfig memory usage
+ CONFIG 1024 Monitor which config files are loaded
+ LANGSET 2048 Dump char sets used to construct lang values
+ OBJTYPES 4096 Display message when value typechecks fail
+
+.sp
+.fi
+.PP
+Add the value of the desired debug levels together and assign that (in
+base 10) to the FC_DEBUG environment variable before running the
+application. Output from these statements is sent to stdout.
+.SH "LANG TAGS"
+.PP
+Each font in the database contains a list of languages it supports. This is
+computed by comparing the Unicode coverage of the font with the orthography
+of each language. Languages are tagged using an RFC-3066 compatible naming
+and occur in two parts -- the ISO 639 language tag followed a hyphen and then
+by the ISO 3166 country code. The hyphen and country code may be elided.
+.PP
+Fontconfig has orthographies for several languages built into the library.
+No provision has been made for adding new ones aside from rebuilding the
+library. It currently supports 122 of the 139 languages named in ISO 639-1,
+141 of the languages with two-letter codes from ISO 639-2 and another 30
+languages with only three-letter codes. Languages with both two and three
+letter codes are provided with only the two letter code.
+.PP
+For languages used in multiple territories with radically different
+character sets, fontconfig includes per-territory orthographies. This
+includes Azerbaijani, Kurdish, Pashto, Tigrinya and Chinese.
+.SH "CONFIGURATION FILE FORMAT"
+.PP
+Configuration files for fontconfig are stored in XML format; this
+format makes external configuration tools easier to write and ensures that
+they will generate syntactically correct configuration files. As XML
+files are plain text, they can also be manipulated by the expert user using
+a text editor.
+.PP
+The fontconfig document type definition resides in the external entity
+"fonts.dtd"; this is normally stored in the default font configuration
+directory (/etc/fonts). Each configuration file should contain the
+following structure:
+.sp
+.nf
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+\&...
+ </fontconfig>
+
+.sp
+.fi
+.SS "<FONTCONFIG>"
+.PP
+This is the top level element for a font configuration and can contain
+<dir>, <cachedir>, <include>, <match> and <alias> elements in any order.
+.SS "<DIR PREFIX=""DEFAULT"">"
+.PP
+This element contains a directory name which will be scanned for font files
+to include in the set of available fonts. If 'prefix' is set to "xdg", the value in the XDG_DATA_HOME environment variable will be added as the path prefix. please see XDG Base Directory Specification for more details.
+.SS "<CACHEDIR PREFIX=""DEFAULT"">"
+.PP
+This element contains a directory name that is supposed to be stored or read
+the cache of font information. If multiple elements are specified in
+the configuration file, the directory that can be accessed first in the list
+will be used to store the cache files. If it starts with '~', it refers to
+a directory in the users home directory. If 'prefix' is set to "xdg", the value in the XDG_CACHE_HOME environment variable will be added as the path prefix. please see XDG Base Directory Specification for more details.
+The default directory is ``$XDG_CACHE_HOME/fontconfig'' and it contains the cache files
+named ``<hash value>-<architecture>\&.cache-<version>\&'',
+where <version> is the font configureation file
+version number (currently 3).
+.SS "<INCLUDE IGNORE_MISSING=""NO"" PREFIX=""DEFAULT"">"
+.PP
+This element contains the name of an additional configuration file or
+directory. If a directory, every file within that directory starting with an
+ASCII digit (U+0030 - U+0039) and ending with the string ``.conf'' will be processed in sorted order. When
+the XML datatype is traversed by FcConfigParse, the contents of the file(s)
+will also be incorporated into the configuration by passing the filename(s) to
+FcConfigLoadAndParse. If 'ignore_missing' is set to "yes" instead of the
+default "no", a missing file or directory will elicit no warning message from
+the library. If 'prefix' is set to "xdg", the value in the XDG_CONFIG_HOME environment variable will be added as the path prefix. please see XDG Base Directory Specification for more details.
+.SS "<CONFIG>"
+.PP
+This element provides a place to consolidate additional configuration
+information. <config> can contain <blank> and <rescan> elements in any
+order.
+.SS "<BLANK>"
+.PP
+Fonts often include "broken" glyphs which appear in the encoding but are
+drawn as blanks on the screen. Within the <blank> element, place each
+Unicode characters which is supposed to be blank in an <int> element.
+Characters outside of this set which are drawn as blank will be elided from
+the set of characters supported by the font.
+.SS "<RESCAN>"
+.PP
+The <rescan> element holds an <int> element which indicates the default
+interval between automatic checks for font configuration changes.
+Fontconfig will validate all of the configuration files and directories and
+automatically rebuild the internal datastructures when this interval passes.
+.SS "<SELECTFONT>"
+.PP
+This element is used to black/white list fonts from being listed or matched
+against. It holds acceptfont and rejectfont elements.
+.SS "<ACCEPTFONT>"
+.PP
+Fonts matched by an acceptfont element are "whitelisted"; such fonts are
+explicitly included in the set of fonts used to resolve list and match
+requests; including them in this list protects them from being "blacklisted"
+by a rejectfont element. Acceptfont elements include glob and pattern
+elements which are used to match fonts.
+.SS "<REJECTFONT>"
+.PP
+Fonts matched by an rejectfont element are "blacklisted"; such fonts are
+excluded from the set of fonts used to resolve list and match requests as if
+they didn't exist in the system. Rejectfont elements include glob and
+pattern elements which are used to match fonts.
+.SS "<GLOB>"
+.PP
+Glob elements hold shell-style filename matching patterns (including ? and
+*) which match fonts based on their complete pathnames. This can be used to
+exclude a set of directories (/usr/share/fonts/uglyfont*), or particular
+font file types (*.pcf.gz), but the latter mechanism relies rather heavily
+on filenaming conventions which can't be relied upon. Note that globs
+only apply to directories, not to individual fonts.
+.SS "<PATTERN>"
+.PP
+Pattern elements perform list-style matching on incoming fonts; that is,
+they hold a list of elements and associated values. If all of those
+elements have a matching value, then the pattern matches the font. This can
+be used to select fonts based on attributes of the font (scalable, bold,
+etc), which is a more reliable mechanism than using file extensions.
+Pattern elements include patelt elements.
+.SS "<PATELT NAME=""PROPERTY"">"
+.PP
+Patelt elements hold a single pattern element and list of values. They must
+have a 'name' attribute which indicates the pattern element name. Patelt
+elements include int, double, string, matrix, bool, charset and const
+elements.
+.SS "<MATCH TARGET=""PATTERN"">"
+.PP
+This element holds first a (possibly empty) list of <test> elements and then
+a (possibly empty) list of <edit> elements. Patterns which match all of the
+tests are subjected to all the edits. If 'target' is set to "font" instead
+of the default "pattern", then this element applies to the font name
+resulting from a match rather than a font pattern to be matched. If 'target'
+is set to "scan", then this element applies when the font is scanned to
+build the fontconfig database.
+.SS "<TEST QUAL=""ANY"" NAME=""PROPERTY"" TARGET=""DEFAULT"" COMPARE=""EQ"">"
+.PP
+This element contains a single value which is compared with the target
+('pattern', 'font', 'scan' or 'default') property "property" (substitute any of the property names seen
+above). 'compare' can be one of "eq", "not_eq", "less", "less_eq", "more", "more_eq", "contains" or
+"not_contains". 'qual' may either be the default, "any", in which case the match
+succeeds if any value associated with the property matches the test value, or
+"all", in which case all of the values associated with the property must
+match the test value. 'ignore-blanks' takes a boolean value. if 'ignore-blanks' is set "true", any blanks in the string will be ignored on its comparison. this takes effects only when compare="eq" or compare="not_eq".
+When used in a <match target="font"> element,
+the target= attribute in the <test> element selects between matching
+the original pattern or the font. "default" selects whichever target the
+outer <match> element has selected.
+.SS "<EDIT NAME=""PROPERTY"" MODE=""ASSIGN"" BINDING=""WEAK"">"
+.PP
+This element contains a list of expression elements (any of the value or
+operator elements). The expression elements are evaluated at run-time and
+modify the property "property". The modification depends on whether
+"property" was matched by one of the associated <test> elements, if so, the
+modification may affect the first matched value. Any values inserted into
+the property are given the indicated binding ("strong", "weak" or "same")
+with "same" binding using the value from the matched pattern element.
+\&'mode' is one of:
+.sp
+.nf
+ Mode With Match Without Match
+ ---------------------------------------------------------------------
+ "assign" Replace matching value Replace all values
+ "assign_replace" Replace all values Replace all values
+ "prepend" Insert before matching Insert at head of list
+ "prepend_first" Insert at head of list Insert at head of list
+ "append" Append after matching Append at end of list
+ "append_last" Append at end of list Append at end of list
+ "delete" Delete matching value Delete all values
+ "delete_all" Delete all values Delete all values
+
+.sp
+.fi
+.SS "<INT>, <DOUBLE>, <STRING>, <BOOL>"
+.PP
+These elements hold a single value of the indicated type. <bool>
+elements hold either true or false. An important limitation exists in
+the parsing of floating point numbers -- fontconfig requires that
+the mantissa start with a digit, not a decimal point, so insert a leading
+zero for purely fractional values (e.g. use 0.5 instead of .5 and -0.5
+instead of -.5).
+.SS "<MATRIX>"
+.PP
+This element holds four numerical expressions of an affine transformation.
+At their simplest these will be four <double> elements
+but they can also be more involved expressions.
+.SS "<RANGE>"
+.PP
+This element holds the two <int> elements of a range
+representation.
+.SS "<CHARSET>"
+.PP
+This element holds at least one <int> element of
+an Unicode code point or more.
+.SS "<LANGSET>"
+.PP
+This element holds at least one <string> element of
+a RFC-3066-style languages or more.
+.SS "<NAME>"
+.PP
+Holds a property name. Evaluates to the first value from the property of
+the pattern. If the 'target' attribute is not present, it will default to
+\&'default', in which case the property is returned from the font pattern
+during a target="font" match, and to the pattern during a target="pattern"
+match. The attribute can also take the values 'font' or 'pattern' to
+explicitly choose which pattern to use. It is an error to use a target
+of 'font' in a match that has target="pattern".
+.SS "<CONST>"
+.PP
+Holds the name of a constant; these are always integers and serve as
+symbolic names for common font values:
+.sp
+.nf
+ Constant Property Value
+ -------------------------------------
+ thin weight 0
+ extralight weight 40
+ ultralight weight 40
+ light weight 50
+ demilight weight 55
+ semilight weight 55
+ book weight 75
+ regular weight 80
+ normal weight 80
+ medium weight 100
+ demibold weight 180
+ semibold weight 180
+ bold weight 200
+ extrabold weight 205
+ black weight 210
+ heavy weight 210
+ roman slant 0
+ italic slant 100
+ oblique slant 110
+ ultracondensed width 50
+ extracondensed width 63
+ condensed width 75
+ semicondensed width 87
+ normal width 100
+ semiexpanded width 113
+ expanded width 125
+ extraexpanded width 150
+ ultraexpanded width 200
+ proportional spacing 0
+ dual spacing 90
+ mono spacing 100
+ charcell spacing 110
+ unknown rgba 0
+ rgb rgba 1
+ bgr rgba 2
+ vrgb rgba 3
+ vbgr rgba 4
+ none rgba 5
+ lcdnone lcdfilter 0
+ lcddefault lcdfilter 1
+ lcdlight lcdfilter 2
+ lcdlegacy lcdfilter 3
+ hintnone hintstyle 0
+ hintslight hintstyle 1
+ hintmedium hintstyle 2
+ hintfull hintstyle 3
+
+.sp
+.fi
+.SS "<OR>, <AND>, <PLUS>, <MINUS>, <TIMES>, <DIVIDE>"
+.PP
+These elements perform the specified operation on a list of expression
+elements. <or> and <and> are boolean, not bitwise.
+.SS "<EQ>, <NOT_EQ>, <LESS>, <LESS_EQ>, <MORE>, <MORE_EQ>, <CONTAINS>, <NOT_CONTAINS"
+.PP
+These elements compare two values, producing a boolean result.
+.SS "<NOT>"
+.PP
+Inverts the boolean sense of its one expression element
+.SS "<IF>"
+.PP
+This element takes three expression elements; if the value of the first is
+true, it produces the value of the second, otherwise it produces the value
+of the third.
+.SS "<ALIAS>"
+.PP
+Alias elements provide a shorthand notation for the set of common match
+operations needed to substitute one font family for another. They contain a
+<family> element followed by optional <prefer>, <accept> and <default>
+elements. Fonts matching the <family> element are edited to prepend the
+list of <prefer>ed families before the matching <family>, append the
+<accept>able families after the matching <family> and append the <default>
+families to the end of the family list.
+.SS "<FAMILY>"
+.PP
+Holds a single font family name
+.SS "<PREFER>, <ACCEPT>, <DEFAULT>"
+.PP
+These hold a list of <family> elements to be used by the <alias> element.
+.SH "EXAMPLE CONFIGURATION FILE"
+.SS "SYSTEM CONFIGURATION FILE"
+.PP
+This is an example of a system-wide configuration file
+.sp
+.nf
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- /etc/fonts/fonts.conf file to configure system font access -->
+<fontconfig>
+<!--
+ Find fonts in these directories
+-->
+<dir>/usr/share/fonts</dir>
+<dir>/usr/X11R6/lib/X11/fonts</dir>
+
+<!--
+ Accept deprecated 'mono' alias, replacing it with 'monospace'
+-->
+<match target="pattern">
+ <test qual="any" name="family"><string>mono</string></test>
+ <edit name="family" mode="assign"><string>monospace</string></edit>
+</match>
+
+<!--
+ Names not including any well known alias are given 'sans-serif'
+-->
+<match target="pattern">
+ <test qual="all" name="family" mode="not_eq"><string>sans-serif</string></test>
+ <test qual="all" name="family" mode="not_eq"><string>serif</string></test>
+ <test qual="all" name="family" mode="not_eq"><string>monospace</string></test>
+ <edit name="family" mode="append_last"><string>sans-serif</string></edit>
+</match>
+
+<!--
+ Load per-user customization file, but don't complain
+ if it doesn't exist
+-->
+<include ignore_missing="yes" prefix="xdg">fontconfig/fonts.conf</include>
+
+<!--
+ Load local customization files, but don't complain
+ if there aren't any
+-->
+<include ignore_missing="yes">conf.d</include>
+<include ignore_missing="yes">local.conf</include>
+
+<!--
+ Alias well known font names to available TrueType fonts.
+ These substitute TrueType faces for similar Type1
+ faces to improve screen appearance.
+-->
+<alias>
+ <family>Times</family>
+ <prefer><family>Times New Roman</family></prefer>
+ <default><family>serif</family></default>
+</alias>
+<alias>
+ <family>Helvetica</family>
+ <prefer><family>Arial</family></prefer>
+ <default><family>sans</family></default>
+</alias>
+<alias>
+ <family>Courier</family>
+ <prefer><family>Courier New</family></prefer>
+ <default><family>monospace</family></default>
+</alias>
+
+<!--
+ Provide required aliases for standard names
+ Do these after the users configuration file so that
+ any aliases there are used preferentially
+-->
+<alias>
+ <family>serif</family>
+ <prefer><family>Times New Roman</family></prefer>
+</alias>
+<alias>
+ <family>sans</family>
+ <prefer><family>Arial</family></prefer>
+</alias>
+<alias>
+ <family>monospace</family>
+ <prefer><family>Andale Mono</family></prefer>
+</alias>
+
+<--
+ The example of the requirements of OR operator;
+ If the 'family' contains 'Courier New' OR 'Courier'
+ add 'monospace' as the alternative
+-->
+<match target="pattern">
+ <test name="family" mode="eq">
+ <string>Courier New</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>monospace</string>
+ </edit>
+</match>
+<match target="pattern">
+ <test name="family" mode="eq">
+ <string>Courier</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>monospace</string>
+ </edit>
+</match>
+
+</fontconfig>
+
+.sp
+.fi
+.SS "USER CONFIGURATION FILE"
+.PP
+This is an example of a per-user configuration file that lives in
+$XDG_CONFIG_HOME/fontconfig/fonts.conf
+.sp
+.nf
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- $XDG_CONFIG_HOME/fontconfig/fonts.conf for per-user font configuration -->
+<fontconfig>
+
+<!--
+ Private font directory
+-->
+<dir prefix="xdg">fonts</dir>
+
+<!--
+ use rgb sub-pixel ordering to improve glyph appearance on
+ LCD screens. Changes affecting rendering, but not matching
+ should always use target="font".
+-->
+<match target="font">
+ <edit name="rgba" mode="assign"><const>rgb</const></edit>
+</match>
+<!--
+ use WenQuanYi Zen Hei font when serif is requested for Chinese
+-->
+<match>
+ <!--
+ If you don't want to use WenQuanYi Zen Hei font for zh-tw etc,
+ you can use zh-cn instead of zh.
+ Please note, even if you set zh-cn, it still matches zh.
+ if you don't like it, you can use compare="eq"
+ instead of compare="contains".
+ -->
+ <test name="lang" compare="contains">
+ <string>zh</string>
+ </test>
+ <test name="family">
+ <string>serif</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>WenQuanYi Zen Hei</string>
+ </edit>
+</match>
+<!--
+ use VL Gothic font when sans-serif is requested for Japanese
+-->
+<match>
+ <test name="lang" compare="contains">
+ <string>ja</string>
+ </test>
+ <test name="family">
+ <string>sans-serif</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>VL Gothic</string>
+ </edit>
+</match>
+</fontconfig>
+
+.sp
+.fi
+.SH "FILES"
+.PP
+\fBfonts.conf\fR
+contains configuration information for the fontconfig library
+consisting of directories to look at for font information as well as
+instructions on editing program specified font patterns before attempting to
+match the available fonts. It is in XML format.
+.PP
+\fBconf.d\fR
+is the conventional name for a directory of additional configuration files
+managed by external applications or the local administrator. The
+filenames starting with decimal digits are sorted in lexicographic order
+and used as additional configuration files. All of these files are in XML
+format. The master fonts.conf file references this directory in an
+<include> directive.
+.PP
+\fBfonts.dtd\fR
+is a DTD that describes the format of the configuration files.
+.PP
+\fB$XDG_CONFIG_HOME/fontconfig/conf.d\fR and \fB~/.fonts.conf.d\fR
+is the conventional name for a per-user directory of (typically
+auto-generated) configuration files, although the
+actual location is specified in the global fonts.conf file. please note that ~/.fonts.conf.d is deprecated now. it will not be read by default in the future version.
+.PP
+\fB$XDG_CONFIG_HOME/fontconfig/fonts.conf\fR and \fB~/.fonts.conf\fR
+is the conventional location for per-user font configuration, although the
+actual location is specified in the global fonts.conf file. please note that ~/.fonts.conf is deprecated now. it will not be read by default in the future version.
+.PP
+\fB$XDG_CACHE_HOME/fontconfig/*.cache-*\fR and \fB ~/.fontconfig/*.cache-*\fR
+is the conventional repository of font information that isn't found in the
+per-directory caches. This file is automatically maintained by fontconfig. please note that ~/.fontconfig/*.cache-* is deprecated now. it will not be read by default in the future version.
+.SH "ENVIRONMENT VARIABLES"
+.PP
+\fBFONTCONFIG_FILE\fR
+is used to override the default configuration file.
+.PP
+\fBFONTCONFIG_PATH\fR
+is used to override the default configuration directory.
+.PP
+\fBFC_DEBUG\fR
+is used to output the detailed debugging messages. see Debugging Applications section for more details.
+.PP
+\fBFONTCONFIG_USE_MMAP\fR
+is used to control the use of mmap(2) for the cache files if available. this take a boolean value. fontconfig will checks if the cache files are stored on the filesystem that is safe to use mmap(2). explicitly setting this environment variable will causes skipping this check and enforce to use or not use mmap(2) anyway.
+.SH "SEE ALSO"
+.PP
+fc-cat(1), fc-cache(1), fc-list(1), fc-match(1), fc-query(1)
+.SH "VERSION"
+.PP
+Fontconfig version 2.11.93
diff --git a/fc-lang/pes.orth b/fc-blanks/Makefile.am
index 0c160f9b..e9de1fe1 100644
--- a/fc-lang/pes.orth
+++ b/fc-blanks/Makefile.am
@@ -1,7 +1,6 @@
+# -*- encoding: utf-8 -*-
#
-# fontconfig/fc-lang/pes.orth
-#
-# Copyright © 2009 Roozbeh Pournader
+# Copyright © 2003 Keith Packard
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
@@ -20,7 +19,23 @@
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-#
-# Western Farsi (pes)
-#
-include fa.orth
+
+NULL =
+BLANKSPY = fc-blanks.py
+BLANKS_H = fcblanks.h
+TMPL = fcblanks.tmpl.h
+noinst_SCRIPTS = $(BLANKSPY)
+noinst_HEADERS = $(BLANKS_H)
+
+$(BLANKS_H): $(TMPL) $(BLANKSPY)
+ $(AM_V_GEN) $(PYTHON) $(srcdir)/$(BLANKSPY) < $< > $(BLANKS_H).tmp && \
+ mv $(BLANKS_H).tmp $(BLANKS_H) || ($(RM) $(BLANKS_H).tmp && false)
+
+EXTRA_DIST = \
+ $(BLANKSPY) \
+ $(BLANKS_H) \
+ $(TMPL) \
+ $(NULL)
+DISTCLEANFILES = $(BLANKS_H)
+
+-include $(top_srcdir)/git.mk
diff --git a/fc-blanks/Makefile.in b/fc-blanks/Makefile.in
new file mode 100644
index 00000000..52b860b5
--- /dev/null
+++ b/fc-blanks/Makefile.in
@@ -0,0 +1,588 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# -*- encoding: utf-8 -*-
+#
+# Copyright © 2003 Keith Packard
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = fc-blanks
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(noinst_HEADERS)
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+SCRIPTS = $(noinst_SCRIPTS)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+NULL =
+BLANKSPY = fc-blanks.py
+BLANKS_H = fcblanks.h
+TMPL = fcblanks.tmpl.h
+noinst_SCRIPTS = $(BLANKSPY)
+noinst_HEADERS = $(BLANKS_H)
+EXTRA_DIST = \
+ $(BLANKSPY) \
+ $(BLANKS_H) \
+ $(TMPL) \
+ $(NULL)
+
+DISTCLEANFILES = $(BLANKS_H)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-blanks/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu fc-blanks/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(SCRIPTS) $(HEADERS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool cscopelist-am ctags ctags-am distclean \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am
+
+
+$(BLANKS_H): $(TMPL) $(BLANKSPY)
+ $(AM_V_GEN) $(PYTHON) $(srcdir)/$(BLANKSPY) < $< > $(BLANKS_H).tmp && \
+ mv $(BLANKS_H).tmp $(BLANKS_H) || ($(RM) $(BLANKS_H).tmp && false)
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/fc-blanks/fc-blanks.py b/fc-blanks/fc-blanks.py
new file mode 100755
index 00000000..a2f0b950
--- /dev/null
+++ b/fc-blanks/fc-blanks.py
@@ -0,0 +1,132 @@
+#! /usr/bin/python
+
+import urllib2
+import sys
+from lxml import html
+
+fp = urllib2.urlopen('http://unicode.org/cldr/utility/list-unicodeset.jsp?a=[%3AGC%3DZs%3A][%3ADI%3A]&abb=on&ucd=on&esc=on&g')
+data = fp.read()
+fp.close()
+
+dom = html.fromstring(data)
+x = dom.xpath('/html/body/form/p/text()')
+p = x[1]
+if p[0] == '[' and p[-1] == ']':
+ p = p.replace('[', '').replace(']', '')
+else:
+ sys.exit(1)
+fescape = False
+funicode = False
+frange = False
+fprocess = False
+v = 0
+vbegin = 0
+vend = 0
+n = 0
+l = []
+
+def insert(db, begin, end):
+ db.append([begin, end])
+
+for i in p:
+ if i == '\\':
+ if n > 0:
+ if frange == True and funicode == True:
+ vend = v
+ insert(l, vbegin, vend)
+ fprocess = True
+ elif funicode == True:
+ vbegin = v
+ vend = v
+ insert(l, vbegin, vend)
+ fprocess = True
+ funicode = False
+ fescape = True
+ elif i.lower() == 'u' and fescape == True:
+ funicode = True
+ fescape = False
+ elif i >= '0' and i <= '9' or i.lower() >= 'a' and i.lower() <= 'f':
+ if fescape == True:
+ raise RuntimeError, "Unexpected escape code"
+ if funicode == True:
+ v <<= 4
+ v += int(i, 16)
+ else:
+ raise RuntimeError, "Unable to parse Unicode"
+ elif i == ' ':
+ if fescape == True:
+ funicode = True
+ fescape = False
+ v = 0x20
+ if frange == True and funicode == True:
+ vend = v
+ insert(l, vbegin, vend)
+ fprocess = True
+ elif funicode == True:
+ vbegin = v
+ vend = v
+ insert(l, vbegin, vend)
+ fprocess = True
+ funicode = False
+ frange = False
+ elif i == '-':
+ if fescape == True:
+ raise RuntimeError, "Unexpected escape code"
+ vbegin = v
+ v = 0
+ funicode = False
+ frange = True
+ else:
+ raise RuntimeError, "Unable to parse Unicode: %s" % i
+
+ if fprocess == True:
+ vbegin = 0
+ vend = 0
+ v = 0
+ fprocess = False
+ funicode = False
+ frange = False
+ n += 1
+
+if frange == True and funicode == True:
+ vend = v
+ insert(l, vbegin, vend)
+elif funicode == True:
+ vbegin = vend = v
+ insert(l, vbegin, vend)
+
+ncode = 0
+for i in l:
+ ncode += (i[1] - i[0] + 1)
+
+a = int(x[0].split(' ')[0].replace(',', ''))
+if a != ncode:
+ sys.stderr.write("Unexpected the amount of code points: %d (expected %d)\n" % (ncode, a))
+ sys.exit(1)
+
+# exception; BRAILLE PATTERN BLANK
+insert(l, 0x2800, 0x2800)
+
+while True:
+ s = sys.stdin.readline().rstrip()
+ if s == "@@@":
+ break
+ print s
+
+print "static FcChar32 _fcBlanks[%s] = {" % (ncode + 1)
+k = 0
+for i in sorted(l, key=lambda(a): a[0]):
+ for j in range(i[0], i[1] + 1):
+ if k != 0:
+ print ","
+ print " 0x%04x" % j,
+ k += 1
+
+print "};"
+print '''
+static FcBlanks fcBlanks = {
+ %s,
+ -1,
+ _fcBlanks
+};
+''' % (ncode + 1)
diff --git a/fc-blanks/fcblanks.h b/fc-blanks/fcblanks.h
new file mode 100644
index 00000000..51ba34df
--- /dev/null
+++ b/fc-blanks/fcblanks.h
@@ -0,0 +1,4223 @@
+/*
+ * fontconfig/fc-blanks/fcblanks.tmpl.h
+ *
+ * Copyright © 2003 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. The authors make no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+static FcChar32 _fcBlanks[4191] = {
+ 0x0020 ,
+ 0x00a0 ,
+ 0x00ad ,
+ 0x034f ,
+ 0x061c ,
+ 0x115f ,
+ 0x1160 ,
+ 0x1680 ,
+ 0x17b4 ,
+ 0x17b5 ,
+ 0x180b ,
+ 0x180c ,
+ 0x180d ,
+ 0x180e ,
+ 0x2000 ,
+ 0x2001 ,
+ 0x2002 ,
+ 0x2003 ,
+ 0x2004 ,
+ 0x2005 ,
+ 0x2006 ,
+ 0x2007 ,
+ 0x2008 ,
+ 0x2009 ,
+ 0x200a ,
+ 0x200b ,
+ 0x200c ,
+ 0x200d ,
+ 0x200e ,
+ 0x200f ,
+ 0x202a ,
+ 0x202b ,
+ 0x202c ,
+ 0x202d ,
+ 0x202e ,
+ 0x202f ,
+ 0x205f ,
+ 0x2060 ,
+ 0x2061 ,
+ 0x2062 ,
+ 0x2063 ,
+ 0x2064 ,
+ 0x2065 ,
+ 0x2066 ,
+ 0x2067 ,
+ 0x2068 ,
+ 0x2069 ,
+ 0x206a ,
+ 0x206b ,
+ 0x206c ,
+ 0x206d ,
+ 0x206e ,
+ 0x206f ,
+ 0x2800 ,
+ 0x3000 ,
+ 0x3164 ,
+ 0xfe00 ,
+ 0xfe01 ,
+ 0xfe02 ,
+ 0xfe03 ,
+ 0xfe04 ,
+ 0xfe05 ,
+ 0xfe06 ,
+ 0xfe07 ,
+ 0xfe08 ,
+ 0xfe09 ,
+ 0xfe0a ,
+ 0xfe0b ,
+ 0xfe0c ,
+ 0xfe0d ,
+ 0xfe0e ,
+ 0xfe0f ,
+ 0xfeff ,
+ 0xffa0 ,
+ 0xfff0 ,
+ 0xfff1 ,
+ 0xfff2 ,
+ 0xfff3 ,
+ 0xfff4 ,
+ 0xfff5 ,
+ 0xfff6 ,
+ 0xfff7 ,
+ 0xfff8 ,
+ 0x1bca0 ,
+ 0x1bca1 ,
+ 0x1bca2 ,
+ 0x1bca3 ,
+ 0x1d173 ,
+ 0x1d174 ,
+ 0x1d175 ,
+ 0x1d176 ,
+ 0x1d177 ,
+ 0x1d178 ,
+ 0x1d179 ,
+ 0x1d17a ,
+ 0xe0000 ,
+ 0xe0001 ,
+ 0xe0002 ,
+ 0xe0003 ,
+ 0xe0004 ,
+ 0xe0005 ,
+ 0xe0006 ,
+ 0xe0007 ,
+ 0xe0008 ,
+ 0xe0009 ,
+ 0xe000a ,
+ 0xe000b ,
+ 0xe000c ,
+ 0xe000d ,
+ 0xe000e ,
+ 0xe000f ,
+ 0xe0010 ,
+ 0xe0011 ,
+ 0xe0012 ,
+ 0xe0013 ,
+ 0xe0014 ,
+ 0xe0015 ,
+ 0xe0016 ,
+ 0xe0017 ,
+ 0xe0018 ,
+ 0xe0019 ,
+ 0xe001a ,
+ 0xe001b ,
+ 0xe001c ,
+ 0xe001d ,
+ 0xe001e ,
+ 0xe001f ,
+ 0xe0020 ,
+ 0xe0021 ,
+ 0xe0022 ,
+ 0xe0023 ,
+ 0xe0024 ,
+ 0xe0025 ,
+ 0xe0026 ,
+ 0xe0027 ,
+ 0xe0028 ,
+ 0xe0029 ,
+ 0xe002a ,
+ 0xe002b ,
+ 0xe002c ,
+ 0xe002d ,
+ 0xe002e ,
+ 0xe002f ,
+ 0xe0030 ,
+ 0xe0031 ,
+ 0xe0032 ,
+ 0xe0033 ,
+ 0xe0034 ,
+ 0xe0035 ,
+ 0xe0036 ,
+ 0xe0037 ,
+ 0xe0038 ,
+ 0xe0039 ,
+ 0xe003a ,
+ 0xe003b ,
+ 0xe003c ,
+ 0xe003d ,
+ 0xe003e ,
+ 0xe003f ,
+ 0xe0040 ,
+ 0xe0041 ,
+ 0xe0042 ,
+ 0xe0043 ,
+ 0xe0044 ,
+ 0xe0045 ,
+ 0xe0046 ,
+ 0xe0047 ,
+ 0xe0048 ,
+ 0xe0049 ,
+ 0xe004a ,
+ 0xe004b ,
+ 0xe004c ,
+ 0xe004d ,
+ 0xe004e ,
+ 0xe004f ,
+ 0xe0050 ,
+ 0xe0051 ,
+ 0xe0052 ,
+ 0xe0053 ,
+ 0xe0054 ,
+ 0xe0055 ,
+ 0xe0056 ,
+ 0xe0057 ,
+ 0xe0058 ,
+ 0xe0059 ,
+ 0xe005a ,
+ 0xe005b ,
+ 0xe005c ,
+ 0xe005d ,
+ 0xe005e ,
+ 0xe005f ,
+ 0xe0060 ,
+ 0xe0061 ,
+ 0xe0062 ,
+ 0xe0063 ,
+ 0xe0064 ,
+ 0xe0065 ,
+ 0xe0066 ,
+ 0xe0067 ,
+ 0xe0068 ,
+ 0xe0069 ,
+ 0xe006a ,
+ 0xe006b ,
+ 0xe006c ,
+ 0xe006d ,
+ 0xe006e ,
+ 0xe006f ,
+ 0xe0070 ,
+ 0xe0071 ,
+ 0xe0072 ,
+ 0xe0073 ,
+ 0xe0074 ,
+ 0xe0075 ,
+ 0xe0076 ,
+ 0xe0077 ,
+ 0xe0078 ,
+ 0xe0079 ,
+ 0xe007a ,
+ 0xe007b ,
+ 0xe007c ,
+ 0xe007d ,
+ 0xe007e ,
+ 0xe007f ,
+ 0xe0080 ,
+ 0xe0081 ,
+ 0xe0082 ,
+ 0xe0083 ,
+ 0xe0084 ,
+ 0xe0085 ,
+ 0xe0086 ,
+ 0xe0087 ,
+ 0xe0088 ,
+ 0xe0089 ,
+ 0xe008a ,
+ 0xe008b ,
+ 0xe008c ,
+ 0xe008d ,
+ 0xe008e ,
+ 0xe008f ,
+ 0xe0090 ,
+ 0xe0091 ,
+ 0xe0092 ,
+ 0xe0093 ,
+ 0xe0094 ,
+ 0xe0095 ,
+ 0xe0096 ,
+ 0xe0097 ,
+ 0xe0098 ,
+ 0xe0099 ,
+ 0xe009a ,
+ 0xe009b ,
+ 0xe009c ,
+ 0xe009d ,
+ 0xe009e ,
+ 0xe009f ,
+ 0xe00a0 ,
+ 0xe00a1 ,
+ 0xe00a2 ,
+ 0xe00a3 ,
+ 0xe00a4 ,
+ 0xe00a5 ,
+ 0xe00a6 ,
+ 0xe00a7 ,
+ 0xe00a8 ,
+ 0xe00a9 ,
+ 0xe00aa ,
+ 0xe00ab ,
+ 0xe00ac ,
+ 0xe00ad ,
+ 0xe00ae ,
+ 0xe00af ,
+ 0xe00b0 ,
+ 0xe00b1 ,
+ 0xe00b2 ,
+ 0xe00b3 ,
+ 0xe00b4 ,
+ 0xe00b5 ,
+ 0xe00b6 ,
+ 0xe00b7 ,
+ 0xe00b8 ,
+ 0xe00b9 ,
+ 0xe00ba ,
+ 0xe00bb ,
+ 0xe00bc ,
+ 0xe00bd ,
+ 0xe00be ,
+ 0xe00bf ,
+ 0xe00c0 ,
+ 0xe00c1 ,
+ 0xe00c2 ,
+ 0xe00c3 ,
+ 0xe00c4 ,
+ 0xe00c5 ,
+ 0xe00c6 ,
+ 0xe00c7 ,
+ 0xe00c8 ,
+ 0xe00c9 ,
+ 0xe00ca ,
+ 0xe00cb ,
+ 0xe00cc ,
+ 0xe00cd ,
+ 0xe00ce ,
+ 0xe00cf ,
+ 0xe00d0 ,
+ 0xe00d1 ,
+ 0xe00d2 ,
+ 0xe00d3 ,
+ 0xe00d4 ,
+ 0xe00d5 ,
+ 0xe00d6 ,
+ 0xe00d7 ,
+ 0xe00d8 ,
+ 0xe00d9 ,
+ 0xe00da ,
+ 0xe00db ,
+ 0xe00dc ,
+ 0xe00dd ,
+ 0xe00de ,
+ 0xe00df ,
+ 0xe00e0 ,
+ 0xe00e1 ,
+ 0xe00e2 ,
+ 0xe00e3 ,
+ 0xe00e4 ,
+ 0xe00e5 ,
+ 0xe00e6 ,
+ 0xe00e7 ,
+ 0xe00e8 ,
+ 0xe00e9 ,
+ 0xe00ea ,
+ 0xe00eb ,
+ 0xe00ec ,
+ 0xe00ed ,
+ 0xe00ee ,
+ 0xe00ef ,
+ 0xe00f0 ,
+ 0xe00f1 ,
+ 0xe00f2 ,
+ 0xe00f3 ,
+ 0xe00f4 ,
+ 0xe00f5 ,
+ 0xe00f6 ,
+ 0xe00f7 ,
+ 0xe00f8 ,
+ 0xe00f9 ,
+ 0xe00fa ,
+ 0xe00fb ,
+ 0xe00fc ,
+ 0xe00fd ,
+ 0xe00fe ,
+ 0xe00ff ,
+ 0xe0100 ,
+ 0xe0101 ,
+ 0xe0102 ,
+ 0xe0103 ,
+ 0xe0104 ,
+ 0xe0105 ,
+ 0xe0106 ,
+ 0xe0107 ,
+ 0xe0108 ,
+ 0xe0109 ,
+ 0xe010a ,
+ 0xe010b ,
+ 0xe010c ,
+ 0xe010d ,
+ 0xe010e ,
+ 0xe010f ,
+ 0xe0110 ,
+ 0xe0111 ,
+ 0xe0112 ,
+ 0xe0113 ,
+ 0xe0114 ,
+ 0xe0115 ,
+ 0xe0116 ,
+ 0xe0117 ,
+ 0xe0118 ,
+ 0xe0119 ,
+ 0xe011a ,
+ 0xe011b ,
+ 0xe011c ,
+ 0xe011d ,
+ 0xe011e ,
+ 0xe011f ,
+ 0xe0120 ,
+ 0xe0121 ,
+ 0xe0122 ,
+ 0xe0123 ,
+ 0xe0124 ,
+ 0xe0125 ,
+ 0xe0126 ,
+ 0xe0127 ,
+ 0xe0128 ,
+ 0xe0129 ,
+ 0xe012a ,
+ 0xe012b ,
+ 0xe012c ,
+ 0xe012d ,
+ 0xe012e ,
+ 0xe012f ,
+ 0xe0130 ,
+ 0xe0131 ,
+ 0xe0132 ,
+ 0xe0133 ,
+ 0xe0134 ,
+ 0xe0135 ,
+ 0xe0136 ,
+ 0xe0137 ,
+ 0xe0138 ,
+ 0xe0139 ,
+ 0xe013a ,
+ 0xe013b ,
+ 0xe013c ,
+ 0xe013d ,
+ 0xe013e ,
+ 0xe013f ,
+ 0xe0140 ,
+ 0xe0141 ,
+ 0xe0142 ,
+ 0xe0143 ,
+ 0xe0144 ,
+ 0xe0145 ,
+ 0xe0146 ,
+ 0xe0147 ,
+ 0xe0148 ,
+ 0xe0149 ,
+ 0xe014a ,
+ 0xe014b ,
+ 0xe014c ,
+ 0xe014d ,
+ 0xe014e ,
+ 0xe014f ,
+ 0xe0150 ,
+ 0xe0151 ,
+ 0xe0152 ,
+ 0xe0153 ,
+ 0xe0154 ,
+ 0xe0155 ,
+ 0xe0156 ,
+ 0xe0157 ,
+ 0xe0158 ,
+ 0xe0159 ,
+ 0xe015a ,
+ 0xe015b ,
+ 0xe015c ,
+ 0xe015d ,
+ 0xe015e ,
+ 0xe015f ,
+ 0xe0160 ,
+ 0xe0161 ,
+ 0xe0162 ,
+ 0xe0163 ,
+ 0xe0164 ,
+ 0xe0165 ,
+ 0xe0166 ,
+ 0xe0167 ,
+ 0xe0168 ,
+ 0xe0169 ,
+ 0xe016a ,
+ 0xe016b ,
+ 0xe016c ,
+ 0xe016d ,
+ 0xe016e ,
+ 0xe016f ,
+ 0xe0170 ,
+ 0xe0171 ,
+ 0xe0172 ,
+ 0xe0173 ,
+ 0xe0174 ,
+ 0xe0175 ,
+ 0xe0176 ,
+ 0xe0177 ,
+ 0xe0178 ,
+ 0xe0179 ,
+ 0xe017a ,
+ 0xe017b ,
+ 0xe017c ,
+ 0xe017d ,
+ 0xe017e ,
+ 0xe017f ,
+ 0xe0180 ,
+ 0xe0181 ,
+ 0xe0182 ,
+ 0xe0183 ,
+ 0xe0184 ,
+ 0xe0185 ,
+ 0xe0186 ,
+ 0xe0187 ,
+ 0xe0188 ,
+ 0xe0189 ,
+ 0xe018a ,
+ 0xe018b ,
+ 0xe018c ,
+ 0xe018d ,
+ 0xe018e ,
+ 0xe018f ,
+ 0xe0190 ,
+ 0xe0191 ,
+ 0xe0192 ,
+ 0xe0193 ,
+ 0xe0194 ,
+ 0xe0195 ,
+ 0xe0196 ,
+ 0xe0197 ,
+ 0xe0198 ,
+ 0xe0199 ,
+ 0xe019a ,
+ 0xe019b ,
+ 0xe019c ,
+ 0xe019d ,
+ 0xe019e ,
+ 0xe019f ,
+ 0xe01a0 ,
+ 0xe01a1 ,
+ 0xe01a2 ,
+ 0xe01a3 ,
+ 0xe01a4 ,
+ 0xe01a5 ,
+ 0xe01a6 ,
+ 0xe01a7 ,
+ 0xe01a8 ,
+ 0xe01a9 ,
+ 0xe01aa ,
+ 0xe01ab ,
+ 0xe01ac ,
+ 0xe01ad ,
+ 0xe01ae ,
+ 0xe01af ,
+ 0xe01b0 ,
+ 0xe01b1 ,
+ 0xe01b2 ,
+ 0xe01b3 ,
+ 0xe01b4 ,
+ 0xe01b5 ,
+ 0xe01b6 ,
+ 0xe01b7 ,
+ 0xe01b8 ,
+ 0xe01b9 ,
+ 0xe01ba ,
+ 0xe01bb ,
+ 0xe01bc ,
+ 0xe01bd ,
+ 0xe01be ,
+ 0xe01bf ,
+ 0xe01c0 ,
+ 0xe01c1 ,
+ 0xe01c2 ,
+ 0xe01c3 ,
+ 0xe01c4 ,
+ 0xe01c5 ,
+ 0xe01c6 ,
+ 0xe01c7 ,
+ 0xe01c8 ,
+ 0xe01c9 ,
+ 0xe01ca ,
+ 0xe01cb ,
+ 0xe01cc ,
+ 0xe01cd ,
+ 0xe01ce ,
+ 0xe01cf ,
+ 0xe01d0 ,
+ 0xe01d1 ,
+ 0xe01d2 ,
+ 0xe01d3 ,
+ 0xe01d4 ,
+ 0xe01d5 ,
+ 0xe01d6 ,
+ 0xe01d7 ,
+ 0xe01d8 ,
+ 0xe01d9 ,
+ 0xe01da ,
+ 0xe01db ,
+ 0xe01dc ,
+ 0xe01dd ,
+ 0xe01de ,
+ 0xe01df ,
+ 0xe01e0 ,
+ 0xe01e1 ,
+ 0xe01e2 ,
+ 0xe01e3 ,
+ 0xe01e4 ,
+ 0xe01e5 ,
+ 0xe01e6 ,
+ 0xe01e7 ,
+ 0xe01e8 ,
+ 0xe01e9 ,
+ 0xe01ea ,
+ 0xe01eb ,
+ 0xe01ec ,
+ 0xe01ed ,
+ 0xe01ee ,
+ 0xe01ef ,
+ 0xe01f0 ,
+ 0xe01f1 ,
+ 0xe01f2 ,
+ 0xe01f3 ,
+ 0xe01f4 ,
+ 0xe01f5 ,
+ 0xe01f6 ,
+ 0xe01f7 ,
+ 0xe01f8 ,
+ 0xe01f9 ,
+ 0xe01fa ,
+ 0xe01fb ,
+ 0xe01fc ,
+ 0xe01fd ,
+ 0xe01fe ,
+ 0xe01ff ,
+ 0xe0200 ,
+ 0xe0201 ,
+ 0xe0202 ,
+ 0xe0203 ,
+ 0xe0204 ,
+ 0xe0205 ,
+ 0xe0206 ,
+ 0xe0207 ,
+ 0xe0208 ,
+ 0xe0209 ,
+ 0xe020a ,
+ 0xe020b ,
+ 0xe020c ,
+ 0xe020d ,
+ 0xe020e ,
+ 0xe020f ,
+ 0xe0210 ,
+ 0xe0211 ,
+ 0xe0212 ,
+ 0xe0213 ,
+ 0xe0214 ,
+ 0xe0215 ,
+ 0xe0216 ,
+ 0xe0217 ,
+ 0xe0218 ,
+ 0xe0219 ,
+ 0xe021a ,
+ 0xe021b ,
+ 0xe021c ,
+ 0xe021d ,
+ 0xe021e ,
+ 0xe021f ,
+ 0xe0220 ,
+ 0xe0221 ,
+ 0xe0222 ,
+ 0xe0223 ,
+ 0xe0224 ,
+ 0xe0225 ,
+ 0xe0226 ,
+ 0xe0227 ,
+ 0xe0228 ,
+ 0xe0229 ,
+ 0xe022a ,
+ 0xe022b ,
+ 0xe022c ,
+ 0xe022d ,
+ 0xe022e ,
+ 0xe022f ,
+ 0xe0230 ,
+ 0xe0231 ,
+ 0xe0232 ,
+ 0xe0233 ,
+ 0xe0234 ,
+ 0xe0235 ,
+ 0xe0236 ,
+ 0xe0237 ,
+ 0xe0238 ,
+ 0xe0239 ,
+ 0xe023a ,
+ 0xe023b ,
+ 0xe023c ,
+ 0xe023d ,
+ 0xe023e ,
+ 0xe023f ,
+ 0xe0240 ,
+ 0xe0241 ,
+ 0xe0242 ,
+ 0xe0243 ,
+ 0xe0244 ,
+ 0xe0245 ,
+ 0xe0246 ,
+ 0xe0247 ,
+ 0xe0248 ,
+ 0xe0249 ,
+ 0xe024a ,
+ 0xe024b ,
+ 0xe024c ,
+ 0xe024d ,
+ 0xe024e ,
+ 0xe024f ,
+ 0xe0250 ,
+ 0xe0251 ,
+ 0xe0252 ,
+ 0xe0253 ,
+ 0xe0254 ,
+ 0xe0255 ,
+ 0xe0256 ,
+ 0xe0257 ,
+ 0xe0258 ,
+ 0xe0259 ,
+ 0xe025a ,
+ 0xe025b ,
+ 0xe025c ,
+ 0xe025d ,
+ 0xe025e ,
+ 0xe025f ,
+ 0xe0260 ,
+ 0xe0261 ,
+ 0xe0262 ,
+ 0xe0263 ,
+ 0xe0264 ,
+ 0xe0265 ,
+ 0xe0266 ,
+ 0xe0267 ,
+ 0xe0268 ,
+ 0xe0269 ,
+ 0xe026a ,
+ 0xe026b ,
+ 0xe026c ,
+ 0xe026d ,
+ 0xe026e ,
+ 0xe026f ,
+ 0xe0270 ,
+ 0xe0271 ,
+ 0xe0272 ,
+ 0xe0273 ,
+ 0xe0274 ,
+ 0xe0275 ,
+ 0xe0276 ,
+ 0xe0277 ,
+ 0xe0278 ,
+ 0xe0279 ,
+ 0xe027a ,
+ 0xe027b ,
+ 0xe027c ,
+ 0xe027d ,
+ 0xe027e ,
+ 0xe027f ,
+ 0xe0280 ,
+ 0xe0281 ,
+ 0xe0282 ,
+ 0xe0283 ,
+ 0xe0284 ,
+ 0xe0285 ,
+ 0xe0286 ,
+ 0xe0287 ,
+ 0xe0288 ,
+ 0xe0289 ,
+ 0xe028a ,
+ 0xe028b ,
+ 0xe028c ,
+ 0xe028d ,
+ 0xe028e ,
+ 0xe028f ,
+ 0xe0290 ,
+ 0xe0291 ,
+ 0xe0292 ,
+ 0xe0293 ,
+ 0xe0294 ,
+ 0xe0295 ,
+ 0xe0296 ,
+ 0xe0297 ,
+ 0xe0298 ,
+ 0xe0299 ,
+ 0xe029a ,
+ 0xe029b ,
+ 0xe029c ,
+ 0xe029d ,
+ 0xe029e ,
+ 0xe029f ,
+ 0xe02a0 ,
+ 0xe02a1 ,
+ 0xe02a2 ,
+ 0xe02a3 ,
+ 0xe02a4 ,
+ 0xe02a5 ,
+ 0xe02a6 ,
+ 0xe02a7 ,
+ 0xe02a8 ,
+ 0xe02a9 ,
+ 0xe02aa ,
+ 0xe02ab ,
+ 0xe02ac ,
+ 0xe02ad ,
+ 0xe02ae ,
+ 0xe02af ,
+ 0xe02b0 ,
+ 0xe02b1 ,
+ 0xe02b2 ,
+ 0xe02b3 ,
+ 0xe02b4 ,
+ 0xe02b5 ,
+ 0xe02b6 ,
+ 0xe02b7 ,
+ 0xe02b8 ,
+ 0xe02b9 ,
+ 0xe02ba ,
+ 0xe02bb ,
+ 0xe02bc ,
+ 0xe02bd ,
+ 0xe02be ,
+ 0xe02bf ,
+ 0xe02c0 ,
+ 0xe02c1 ,
+ 0xe02c2 ,
+ 0xe02c3 ,
+ 0xe02c4 ,
+ 0xe02c5 ,
+ 0xe02c6 ,
+ 0xe02c7 ,
+ 0xe02c8 ,
+ 0xe02c9 ,
+ 0xe02ca ,
+ 0xe02cb ,
+ 0xe02cc ,
+ 0xe02cd ,
+ 0xe02ce ,
+ 0xe02cf ,
+ 0xe02d0 ,
+ 0xe02d1 ,
+ 0xe02d2 ,
+ 0xe02d3 ,
+ 0xe02d4 ,
+ 0xe02d5 ,
+ 0xe02d6 ,
+ 0xe02d7 ,
+ 0xe02d8 ,
+ 0xe02d9 ,
+ 0xe02da ,
+ 0xe02db ,
+ 0xe02dc ,
+ 0xe02dd ,
+ 0xe02de ,
+ 0xe02df ,
+ 0xe02e0 ,
+ 0xe02e1 ,
+ 0xe02e2 ,
+ 0xe02e3 ,
+ 0xe02e4 ,
+ 0xe02e5 ,
+ 0xe02e6 ,
+ 0xe02e7 ,
+ 0xe02e8 ,
+ 0xe02e9 ,
+ 0xe02ea ,
+ 0xe02eb ,
+ 0xe02ec ,
+ 0xe02ed ,
+ 0xe02ee ,
+ 0xe02ef ,
+ 0xe02f0 ,
+ 0xe02f1 ,
+ 0xe02f2 ,
+ 0xe02f3 ,
+ 0xe02f4 ,
+ 0xe02f5 ,
+ 0xe02f6 ,
+ 0xe02f7 ,
+ 0xe02f8 ,
+ 0xe02f9 ,
+ 0xe02fa ,
+ 0xe02fb ,
+ 0xe02fc ,
+ 0xe02fd ,
+ 0xe02fe ,
+ 0xe02ff ,
+ 0xe0300 ,
+ 0xe0301 ,
+ 0xe0302 ,
+ 0xe0303 ,
+ 0xe0304 ,
+ 0xe0305 ,
+ 0xe0306 ,
+ 0xe0307 ,
+ 0xe0308 ,
+ 0xe0309 ,
+ 0xe030a ,
+ 0xe030b ,
+ 0xe030c ,
+ 0xe030d ,
+ 0xe030e ,
+ 0xe030f ,
+ 0xe0310 ,
+ 0xe0311 ,
+ 0xe0312 ,
+ 0xe0313 ,
+ 0xe0314 ,
+ 0xe0315 ,
+ 0xe0316 ,
+ 0xe0317 ,
+ 0xe0318 ,
+ 0xe0319 ,
+ 0xe031a ,
+ 0xe031b ,
+ 0xe031c ,
+ 0xe031d ,
+ 0xe031e ,
+ 0xe031f ,
+ 0xe0320 ,
+ 0xe0321 ,
+ 0xe0322 ,
+ 0xe0323 ,
+ 0xe0324 ,
+ 0xe0325 ,
+ 0xe0326 ,
+ 0xe0327 ,
+ 0xe0328 ,
+ 0xe0329 ,
+ 0xe032a ,
+ 0xe032b ,
+ 0xe032c ,
+ 0xe032d ,
+ 0xe032e ,
+ 0xe032f ,
+ 0xe0330 ,
+ 0xe0331 ,
+ 0xe0332 ,
+ 0xe0333 ,
+ 0xe0334 ,
+ 0xe0335 ,
+ 0xe0336 ,
+ 0xe0337 ,
+ 0xe0338 ,
+ 0xe0339 ,
+ 0xe033a ,
+ 0xe033b ,
+ 0xe033c ,
+ 0xe033d ,
+ 0xe033e ,
+ 0xe033f ,
+ 0xe0340 ,
+ 0xe0341 ,
+ 0xe0342 ,
+ 0xe0343 ,
+ 0xe0344 ,
+ 0xe0345 ,
+ 0xe0346 ,
+ 0xe0347 ,
+ 0xe0348 ,
+ 0xe0349 ,
+ 0xe034a ,
+ 0xe034b ,
+ 0xe034c ,
+ 0xe034d ,
+ 0xe034e ,
+ 0xe034f ,
+ 0xe0350 ,
+ 0xe0351 ,
+ 0xe0352 ,
+ 0xe0353 ,
+ 0xe0354 ,
+ 0xe0355 ,
+ 0xe0356 ,
+ 0xe0357 ,
+ 0xe0358 ,
+ 0xe0359 ,
+ 0xe035a ,
+ 0xe035b ,
+ 0xe035c ,
+ 0xe035d ,
+ 0xe035e ,
+ 0xe035f ,
+ 0xe0360 ,
+ 0xe0361 ,
+ 0xe0362 ,
+ 0xe0363 ,
+ 0xe0364 ,
+ 0xe0365 ,
+ 0xe0366 ,
+ 0xe0367 ,
+ 0xe0368 ,
+ 0xe0369 ,
+ 0xe036a ,
+ 0xe036b ,
+ 0xe036c ,
+ 0xe036d ,
+ 0xe036e ,
+ 0xe036f ,
+ 0xe0370 ,
+ 0xe0371 ,
+ 0xe0372 ,
+ 0xe0373 ,
+ 0xe0374 ,
+ 0xe0375 ,
+ 0xe0376 ,
+ 0xe0377 ,
+ 0xe0378 ,
+ 0xe0379 ,
+ 0xe037a ,
+ 0xe037b ,
+ 0xe037c ,
+ 0xe037d ,
+ 0xe037e ,
+ 0xe037f ,
+ 0xe0380 ,
+ 0xe0381 ,
+ 0xe0382 ,
+ 0xe0383 ,
+ 0xe0384 ,
+ 0xe0385 ,
+ 0xe0386 ,
+ 0xe0387 ,
+ 0xe0388 ,
+ 0xe0389 ,
+ 0xe038a ,
+ 0xe038b ,
+ 0xe038c ,
+ 0xe038d ,
+ 0xe038e ,
+ 0xe038f ,
+ 0xe0390 ,
+ 0xe0391 ,
+ 0xe0392 ,
+ 0xe0393 ,
+ 0xe0394 ,
+ 0xe0395 ,
+ 0xe0396 ,
+ 0xe0397 ,
+ 0xe0398 ,
+ 0xe0399 ,
+ 0xe039a ,
+ 0xe039b ,
+ 0xe039c ,
+ 0xe039d ,
+ 0xe039e ,
+ 0xe039f ,
+ 0xe03a0 ,
+ 0xe03a1 ,
+ 0xe03a2 ,
+ 0xe03a3 ,
+ 0xe03a4 ,
+ 0xe03a5 ,
+ 0xe03a6 ,
+ 0xe03a7 ,
+ 0xe03a8 ,
+ 0xe03a9 ,
+ 0xe03aa ,
+ 0xe03ab ,
+ 0xe03ac ,
+ 0xe03ad ,
+ 0xe03ae ,
+ 0xe03af ,
+ 0xe03b0 ,
+ 0xe03b1 ,
+ 0xe03b2 ,
+ 0xe03b3 ,
+ 0xe03b4 ,
+ 0xe03b5 ,
+ 0xe03b6 ,
+ 0xe03b7 ,
+ 0xe03b8 ,
+ 0xe03b9 ,
+ 0xe03ba ,
+ 0xe03bb ,
+ 0xe03bc ,
+ 0xe03bd ,
+ 0xe03be ,
+ 0xe03bf ,
+ 0xe03c0 ,
+ 0xe03c1 ,
+ 0xe03c2 ,
+ 0xe03c3 ,
+ 0xe03c4 ,
+ 0xe03c5 ,
+ 0xe03c6 ,
+ 0xe03c7 ,
+ 0xe03c8 ,
+ 0xe03c9 ,
+ 0xe03ca ,
+ 0xe03cb ,
+ 0xe03cc ,
+ 0xe03cd ,
+ 0xe03ce ,
+ 0xe03cf ,
+ 0xe03d0 ,
+ 0xe03d1 ,
+ 0xe03d2 ,
+ 0xe03d3 ,
+ 0xe03d4 ,
+ 0xe03d5 ,
+ 0xe03d6 ,
+ 0xe03d7 ,
+ 0xe03d8 ,
+ 0xe03d9 ,
+ 0xe03da ,
+ 0xe03db ,
+ 0xe03dc ,
+ 0xe03dd ,
+ 0xe03de ,
+ 0xe03df ,
+ 0xe03e0 ,
+ 0xe03e1 ,
+ 0xe03e2 ,
+ 0xe03e3 ,
+ 0xe03e4 ,
+ 0xe03e5 ,
+ 0xe03e6 ,
+ 0xe03e7 ,
+ 0xe03e8 ,
+ 0xe03e9 ,
+ 0xe03ea ,
+ 0xe03eb ,
+ 0xe03ec ,
+ 0xe03ed ,
+ 0xe03ee ,
+ 0xe03ef ,
+ 0xe03f0 ,
+ 0xe03f1 ,
+ 0xe03f2 ,
+ 0xe03f3 ,
+ 0xe03f4 ,
+ 0xe03f5 ,
+ 0xe03f6 ,
+ 0xe03f7 ,
+ 0xe03f8 ,
+ 0xe03f9 ,
+ 0xe03fa ,
+ 0xe03fb ,
+ 0xe03fc ,
+ 0xe03fd ,
+ 0xe03fe ,
+ 0xe03ff ,
+ 0xe0400 ,
+ 0xe0401 ,
+ 0xe0402 ,
+ 0xe0403 ,
+ 0xe0404 ,
+ 0xe0405 ,
+ 0xe0406 ,
+ 0xe0407 ,
+ 0xe0408 ,
+ 0xe0409 ,
+ 0xe040a ,
+ 0xe040b ,
+ 0xe040c ,
+ 0xe040d ,
+ 0xe040e ,
+ 0xe040f ,
+ 0xe0410 ,
+ 0xe0411 ,
+ 0xe0412 ,
+ 0xe0413 ,
+ 0xe0414 ,
+ 0xe0415 ,
+ 0xe0416 ,
+ 0xe0417 ,
+ 0xe0418 ,
+ 0xe0419 ,
+ 0xe041a ,
+ 0xe041b ,
+ 0xe041c ,
+ 0xe041d ,
+ 0xe041e ,
+ 0xe041f ,
+ 0xe0420 ,
+ 0xe0421 ,
+ 0xe0422 ,
+ 0xe0423 ,
+ 0xe0424 ,
+ 0xe0425 ,
+ 0xe0426 ,
+ 0xe0427 ,
+ 0xe0428 ,
+ 0xe0429 ,
+ 0xe042a ,
+ 0xe042b ,
+ 0xe042c ,
+ 0xe042d ,
+ 0xe042e ,
+ 0xe042f ,
+ 0xe0430 ,
+ 0xe0431 ,
+ 0xe0432 ,
+ 0xe0433 ,
+ 0xe0434 ,
+ 0xe0435 ,
+ 0xe0436 ,
+ 0xe0437 ,
+ 0xe0438 ,
+ 0xe0439 ,
+ 0xe043a ,
+ 0xe043b ,
+ 0xe043c ,
+ 0xe043d ,
+ 0xe043e ,
+ 0xe043f ,
+ 0xe0440 ,
+ 0xe0441 ,
+ 0xe0442 ,
+ 0xe0443 ,
+ 0xe0444 ,
+ 0xe0445 ,
+ 0xe0446 ,
+ 0xe0447 ,
+ 0xe0448 ,
+ 0xe0449 ,
+ 0xe044a ,
+ 0xe044b ,
+ 0xe044c ,
+ 0xe044d ,
+ 0xe044e ,
+ 0xe044f ,
+ 0xe0450 ,
+ 0xe0451 ,
+ 0xe0452 ,
+ 0xe0453 ,
+ 0xe0454 ,
+ 0xe0455 ,
+ 0xe0456 ,
+ 0xe0457 ,
+ 0xe0458 ,
+ 0xe0459 ,
+ 0xe045a ,
+ 0xe045b ,
+ 0xe045c ,
+ 0xe045d ,
+ 0xe045e ,
+ 0xe045f ,
+ 0xe0460 ,
+ 0xe0461 ,
+ 0xe0462 ,
+ 0xe0463 ,
+ 0xe0464 ,
+ 0xe0465 ,
+ 0xe0466 ,
+ 0xe0467 ,
+ 0xe0468 ,
+ 0xe0469 ,
+ 0xe046a ,
+ 0xe046b ,
+ 0xe046c ,
+ 0xe046d ,
+ 0xe046e ,
+ 0xe046f ,
+ 0xe0470 ,
+ 0xe0471 ,
+ 0xe0472 ,
+ 0xe0473 ,
+ 0xe0474 ,
+ 0xe0475 ,
+ 0xe0476 ,
+ 0xe0477 ,
+ 0xe0478 ,
+ 0xe0479 ,
+ 0xe047a ,
+ 0xe047b ,
+ 0xe047c ,
+ 0xe047d ,
+ 0xe047e ,
+ 0xe047f ,
+ 0xe0480 ,
+ 0xe0481 ,
+ 0xe0482 ,
+ 0xe0483 ,
+ 0xe0484 ,
+ 0xe0485 ,
+ 0xe0486 ,
+ 0xe0487 ,
+ 0xe0488 ,
+ 0xe0489 ,
+ 0xe048a ,
+ 0xe048b ,
+ 0xe048c ,
+ 0xe048d ,
+ 0xe048e ,
+ 0xe048f ,
+ 0xe0490 ,
+ 0xe0491 ,
+ 0xe0492 ,
+ 0xe0493 ,
+ 0xe0494 ,
+ 0xe0495 ,
+ 0xe0496 ,
+ 0xe0497 ,
+ 0xe0498 ,
+ 0xe0499 ,
+ 0xe049a ,
+ 0xe049b ,
+ 0xe049c ,
+ 0xe049d ,
+ 0xe049e ,
+ 0xe049f ,
+ 0xe04a0 ,
+ 0xe04a1 ,
+ 0xe04a2 ,
+ 0xe04a3 ,
+ 0xe04a4 ,
+ 0xe04a5 ,
+ 0xe04a6 ,
+ 0xe04a7 ,
+ 0xe04a8 ,
+ 0xe04a9 ,
+ 0xe04aa ,
+ 0xe04ab ,
+ 0xe04ac ,
+ 0xe04ad ,
+ 0xe04ae ,
+ 0xe04af ,
+ 0xe04b0 ,
+ 0xe04b1 ,
+ 0xe04b2 ,
+ 0xe04b3 ,
+ 0xe04b4 ,
+ 0xe04b5 ,
+ 0xe04b6 ,
+ 0xe04b7 ,
+ 0xe04b8 ,
+ 0xe04b9 ,
+ 0xe04ba ,
+ 0xe04bb ,
+ 0xe04bc ,
+ 0xe04bd ,
+ 0xe04be ,
+ 0xe04bf ,
+ 0xe04c0 ,
+ 0xe04c1 ,
+ 0xe04c2 ,
+ 0xe04c3 ,
+ 0xe04c4 ,
+ 0xe04c5 ,
+ 0xe04c6 ,
+ 0xe04c7 ,
+ 0xe04c8 ,
+ 0xe04c9 ,
+ 0xe04ca ,
+ 0xe04cb ,
+ 0xe04cc ,
+ 0xe04cd ,
+ 0xe04ce ,
+ 0xe04cf ,
+ 0xe04d0 ,
+ 0xe04d1 ,
+ 0xe04d2 ,
+ 0xe04d3 ,
+ 0xe04d4 ,
+ 0xe04d5 ,
+ 0xe04d6 ,
+ 0xe04d7 ,
+ 0xe04d8 ,
+ 0xe04d9 ,
+ 0xe04da ,
+ 0xe04db ,
+ 0xe04dc ,
+ 0xe04dd ,
+ 0xe04de ,
+ 0xe04df ,
+ 0xe04e0 ,
+ 0xe04e1 ,
+ 0xe04e2 ,
+ 0xe04e3 ,
+ 0xe04e4 ,
+ 0xe04e5 ,
+ 0xe04e6 ,
+ 0xe04e7 ,
+ 0xe04e8 ,
+ 0xe04e9 ,
+ 0xe04ea ,
+ 0xe04eb ,
+ 0xe04ec ,
+ 0xe04ed ,
+ 0xe04ee ,
+ 0xe04ef ,
+ 0xe04f0 ,
+ 0xe04f1 ,
+ 0xe04f2 ,
+ 0xe04f3 ,
+ 0xe04f4 ,
+ 0xe04f5 ,
+ 0xe04f6 ,
+ 0xe04f7 ,
+ 0xe04f8 ,
+ 0xe04f9 ,
+ 0xe04fa ,
+ 0xe04fb ,
+ 0xe04fc ,
+ 0xe04fd ,
+ 0xe04fe ,
+ 0xe04ff ,
+ 0xe0500 ,
+ 0xe0501 ,
+ 0xe0502 ,
+ 0xe0503 ,
+ 0xe0504 ,
+ 0xe0505 ,
+ 0xe0506 ,
+ 0xe0507 ,
+ 0xe0508 ,
+ 0xe0509 ,
+ 0xe050a ,
+ 0xe050b ,
+ 0xe050c ,
+ 0xe050d ,
+ 0xe050e ,
+ 0xe050f ,
+ 0xe0510 ,
+ 0xe0511 ,
+ 0xe0512 ,
+ 0xe0513 ,
+ 0xe0514 ,
+ 0xe0515 ,
+ 0xe0516 ,
+ 0xe0517 ,
+ 0xe0518 ,
+ 0xe0519 ,
+ 0xe051a ,
+ 0xe051b ,
+ 0xe051c ,
+ 0xe051d ,
+ 0xe051e ,
+ 0xe051f ,
+ 0xe0520 ,
+ 0xe0521 ,
+ 0xe0522 ,
+ 0xe0523 ,
+ 0xe0524 ,
+ 0xe0525 ,
+ 0xe0526 ,
+ 0xe0527 ,
+ 0xe0528 ,
+ 0xe0529 ,
+ 0xe052a ,
+ 0xe052b ,
+ 0xe052c ,
+ 0xe052d ,
+ 0xe052e ,
+ 0xe052f ,
+ 0xe0530 ,
+ 0xe0531 ,
+ 0xe0532 ,
+ 0xe0533 ,
+ 0xe0534 ,
+ 0xe0535 ,
+ 0xe0536 ,
+ 0xe0537 ,
+ 0xe0538 ,
+ 0xe0539 ,
+ 0xe053a ,
+ 0xe053b ,
+ 0xe053c ,
+ 0xe053d ,
+ 0xe053e ,
+ 0xe053f ,
+ 0xe0540 ,
+ 0xe0541 ,
+ 0xe0542 ,
+ 0xe0543 ,
+ 0xe0544 ,
+ 0xe0545 ,
+ 0xe0546 ,
+ 0xe0547 ,
+ 0xe0548 ,
+ 0xe0549 ,
+ 0xe054a ,
+ 0xe054b ,
+ 0xe054c ,
+ 0xe054d ,
+ 0xe054e ,
+ 0xe054f ,
+ 0xe0550 ,
+ 0xe0551 ,
+ 0xe0552 ,
+ 0xe0553 ,
+ 0xe0554 ,
+ 0xe0555 ,
+ 0xe0556 ,
+ 0xe0557 ,
+ 0xe0558 ,
+ 0xe0559 ,
+ 0xe055a ,
+ 0xe055b ,
+ 0xe055c ,
+ 0xe055d ,
+ 0xe055e ,
+ 0xe055f ,
+ 0xe0560 ,
+ 0xe0561 ,
+ 0xe0562 ,
+ 0xe0563 ,
+ 0xe0564 ,
+ 0xe0565 ,
+ 0xe0566 ,
+ 0xe0567 ,
+ 0xe0568 ,
+ 0xe0569 ,
+ 0xe056a ,
+ 0xe056b ,
+ 0xe056c ,
+ 0xe056d ,
+ 0xe056e ,
+ 0xe056f ,
+ 0xe0570 ,
+ 0xe0571 ,
+ 0xe0572 ,
+ 0xe0573 ,
+ 0xe0574 ,
+ 0xe0575 ,
+ 0xe0576 ,
+ 0xe0577 ,
+ 0xe0578 ,
+ 0xe0579 ,
+ 0xe057a ,
+ 0xe057b ,
+ 0xe057c ,
+ 0xe057d ,
+ 0xe057e ,
+ 0xe057f ,
+ 0xe0580 ,
+ 0xe0581 ,
+ 0xe0582 ,
+ 0xe0583 ,
+ 0xe0584 ,
+ 0xe0585 ,
+ 0xe0586 ,
+ 0xe0587 ,
+ 0xe0588 ,
+ 0xe0589 ,
+ 0xe058a ,
+ 0xe058b ,
+ 0xe058c ,
+ 0xe058d ,
+ 0xe058e ,
+ 0xe058f ,
+ 0xe0590 ,
+ 0xe0591 ,
+ 0xe0592 ,
+ 0xe0593 ,
+ 0xe0594 ,
+ 0xe0595 ,
+ 0xe0596 ,
+ 0xe0597 ,
+ 0xe0598 ,
+ 0xe0599 ,
+ 0xe059a ,
+ 0xe059b ,
+ 0xe059c ,
+ 0xe059d ,
+ 0xe059e ,
+ 0xe059f ,
+ 0xe05a0 ,
+ 0xe05a1 ,
+ 0xe05a2 ,
+ 0xe05a3 ,
+ 0xe05a4 ,
+ 0xe05a5 ,
+ 0xe05a6 ,
+ 0xe05a7 ,
+ 0xe05a8 ,
+ 0xe05a9 ,
+ 0xe05aa ,
+ 0xe05ab ,
+ 0xe05ac ,
+ 0xe05ad ,
+ 0xe05ae ,
+ 0xe05af ,
+ 0xe05b0 ,
+ 0xe05b1 ,
+ 0xe05b2 ,
+ 0xe05b3 ,
+ 0xe05b4 ,
+ 0xe05b5 ,
+ 0xe05b6 ,
+ 0xe05b7 ,
+ 0xe05b8 ,
+ 0xe05b9 ,
+ 0xe05ba ,
+ 0xe05bb ,
+ 0xe05bc ,
+ 0xe05bd ,
+ 0xe05be ,
+ 0xe05bf ,
+ 0xe05c0 ,
+ 0xe05c1 ,
+ 0xe05c2 ,
+ 0xe05c3 ,
+ 0xe05c4 ,
+ 0xe05c5 ,
+ 0xe05c6 ,
+ 0xe05c7 ,
+ 0xe05c8 ,
+ 0xe05c9 ,
+ 0xe05ca ,
+ 0xe05cb ,
+ 0xe05cc ,
+ 0xe05cd ,
+ 0xe05ce ,
+ 0xe05cf ,
+ 0xe05d0 ,
+ 0xe05d1 ,
+ 0xe05d2 ,
+ 0xe05d3 ,
+ 0xe05d4 ,
+ 0xe05d5 ,
+ 0xe05d6 ,
+ 0xe05d7 ,
+ 0xe05d8 ,
+ 0xe05d9 ,
+ 0xe05da ,
+ 0xe05db ,
+ 0xe05dc ,
+ 0xe05dd ,
+ 0xe05de ,
+ 0xe05df ,
+ 0xe05e0 ,
+ 0xe05e1 ,
+ 0xe05e2 ,
+ 0xe05e3 ,
+ 0xe05e4 ,
+ 0xe05e5 ,
+ 0xe05e6 ,
+ 0xe05e7 ,
+ 0xe05e8 ,
+ 0xe05e9 ,
+ 0xe05ea ,
+ 0xe05eb ,
+ 0xe05ec ,
+ 0xe05ed ,
+ 0xe05ee ,
+ 0xe05ef ,
+ 0xe05f0 ,
+ 0xe05f1 ,
+ 0xe05f2 ,
+ 0xe05f3 ,
+ 0xe05f4 ,
+ 0xe05f5 ,
+ 0xe05f6 ,
+ 0xe05f7 ,
+ 0xe05f8 ,
+ 0xe05f9 ,
+ 0xe05fa ,
+ 0xe05fb ,
+ 0xe05fc ,
+ 0xe05fd ,
+ 0xe05fe ,
+ 0xe05ff ,
+ 0xe0600 ,
+ 0xe0601 ,
+ 0xe0602 ,
+ 0xe0603 ,
+ 0xe0604 ,
+ 0xe0605 ,
+ 0xe0606 ,
+ 0xe0607 ,
+ 0xe0608 ,
+ 0xe0609 ,
+ 0xe060a ,
+ 0xe060b ,
+ 0xe060c ,
+ 0xe060d ,
+ 0xe060e ,
+ 0xe060f ,
+ 0xe0610 ,
+ 0xe0611 ,
+ 0xe0612 ,
+ 0xe0613 ,
+ 0xe0614 ,
+ 0xe0615 ,
+ 0xe0616 ,
+ 0xe0617 ,
+ 0xe0618 ,
+ 0xe0619 ,
+ 0xe061a ,
+ 0xe061b ,
+ 0xe061c ,
+ 0xe061d ,
+ 0xe061e ,
+ 0xe061f ,
+ 0xe0620 ,
+ 0xe0621 ,
+ 0xe0622 ,
+ 0xe0623 ,
+ 0xe0624 ,
+ 0xe0625 ,
+ 0xe0626 ,
+ 0xe0627 ,
+ 0xe0628 ,
+ 0xe0629 ,
+ 0xe062a ,
+ 0xe062b ,
+ 0xe062c ,
+ 0xe062d ,
+ 0xe062e ,
+ 0xe062f ,
+ 0xe0630 ,
+ 0xe0631 ,
+ 0xe0632 ,
+ 0xe0633 ,
+ 0xe0634 ,
+ 0xe0635 ,
+ 0xe0636 ,
+ 0xe0637 ,
+ 0xe0638 ,
+ 0xe0639 ,
+ 0xe063a ,
+ 0xe063b ,
+ 0xe063c ,
+ 0xe063d ,
+ 0xe063e ,
+ 0xe063f ,
+ 0xe0640 ,
+ 0xe0641 ,
+ 0xe0642 ,
+ 0xe0643 ,
+ 0xe0644 ,
+ 0xe0645 ,
+ 0xe0646 ,
+ 0xe0647 ,
+ 0xe0648 ,
+ 0xe0649 ,
+ 0xe064a ,
+ 0xe064b ,
+ 0xe064c ,
+ 0xe064d ,
+ 0xe064e ,
+ 0xe064f ,
+ 0xe0650 ,
+ 0xe0651 ,
+ 0xe0652 ,
+ 0xe0653 ,
+ 0xe0654 ,
+ 0xe0655 ,
+ 0xe0656 ,
+ 0xe0657 ,
+ 0xe0658 ,
+ 0xe0659 ,
+ 0xe065a ,
+ 0xe065b ,
+ 0xe065c ,
+ 0xe065d ,
+ 0xe065e ,
+ 0xe065f ,
+ 0xe0660 ,
+ 0xe0661 ,
+ 0xe0662 ,
+ 0xe0663 ,
+ 0xe0664 ,
+ 0xe0665 ,
+ 0xe0666 ,
+ 0xe0667 ,
+ 0xe0668 ,
+ 0xe0669 ,
+ 0xe066a ,
+ 0xe066b ,
+ 0xe066c ,
+ 0xe066d ,
+ 0xe066e ,
+ 0xe066f ,
+ 0xe0670 ,
+ 0xe0671 ,
+ 0xe0672 ,
+ 0xe0673 ,
+ 0xe0674 ,
+ 0xe0675 ,
+ 0xe0676 ,
+ 0xe0677 ,
+ 0xe0678 ,
+ 0xe0679 ,
+ 0xe067a ,
+ 0xe067b ,
+ 0xe067c ,
+ 0xe067d ,
+ 0xe067e ,
+ 0xe067f ,
+ 0xe0680 ,
+ 0xe0681 ,
+ 0xe0682 ,
+ 0xe0683 ,
+ 0xe0684 ,
+ 0xe0685 ,
+ 0xe0686 ,
+ 0xe0687 ,
+ 0xe0688 ,
+ 0xe0689 ,
+ 0xe068a ,
+ 0xe068b ,
+ 0xe068c ,
+ 0xe068d ,
+ 0xe068e ,
+ 0xe068f ,
+ 0xe0690 ,
+ 0xe0691 ,
+ 0xe0692 ,
+ 0xe0693 ,
+ 0xe0694 ,
+ 0xe0695 ,
+ 0xe0696 ,
+ 0xe0697 ,
+ 0xe0698 ,
+ 0xe0699 ,
+ 0xe069a ,
+ 0xe069b ,
+ 0xe069c ,
+ 0xe069d ,
+ 0xe069e ,
+ 0xe069f ,
+ 0xe06a0 ,
+ 0xe06a1 ,
+ 0xe06a2 ,
+ 0xe06a3 ,
+ 0xe06a4 ,
+ 0xe06a5 ,
+ 0xe06a6 ,
+ 0xe06a7 ,
+ 0xe06a8 ,
+ 0xe06a9 ,
+ 0xe06aa ,
+ 0xe06ab ,
+ 0xe06ac ,
+ 0xe06ad ,
+ 0xe06ae ,
+ 0xe06af ,
+ 0xe06b0 ,
+ 0xe06b1 ,
+ 0xe06b2 ,
+ 0xe06b3 ,
+ 0xe06b4 ,
+ 0xe06b5 ,
+ 0xe06b6 ,
+ 0xe06b7 ,
+ 0xe06b8 ,
+ 0xe06b9 ,
+ 0xe06ba ,
+ 0xe06bb ,
+ 0xe06bc ,
+ 0xe06bd ,
+ 0xe06be ,
+ 0xe06bf ,
+ 0xe06c0 ,
+ 0xe06c1 ,
+ 0xe06c2 ,
+ 0xe06c3 ,
+ 0xe06c4 ,
+ 0xe06c5 ,
+ 0xe06c6 ,
+ 0xe06c7 ,
+ 0xe06c8 ,
+ 0xe06c9 ,
+ 0xe06ca ,
+ 0xe06cb ,
+ 0xe06cc ,
+ 0xe06cd ,
+ 0xe06ce ,
+ 0xe06cf ,
+ 0xe06d0 ,
+ 0xe06d1 ,
+ 0xe06d2 ,
+ 0xe06d3 ,
+ 0xe06d4 ,
+ 0xe06d5 ,
+ 0xe06d6 ,
+ 0xe06d7 ,
+ 0xe06d8 ,
+ 0xe06d9 ,
+ 0xe06da ,
+ 0xe06db ,
+ 0xe06dc ,
+ 0xe06dd ,
+ 0xe06de ,
+ 0xe06df ,
+ 0xe06e0 ,
+ 0xe06e1 ,
+ 0xe06e2 ,
+ 0xe06e3 ,
+ 0xe06e4 ,
+ 0xe06e5 ,
+ 0xe06e6 ,
+ 0xe06e7 ,
+ 0xe06e8 ,
+ 0xe06e9 ,
+ 0xe06ea ,
+ 0xe06eb ,
+ 0xe06ec ,
+ 0xe06ed ,
+ 0xe06ee ,
+ 0xe06ef ,
+ 0xe06f0 ,
+ 0xe06f1 ,
+ 0xe06f2 ,
+ 0xe06f3 ,
+ 0xe06f4 ,
+ 0xe06f5 ,
+ 0xe06f6 ,
+ 0xe06f7 ,
+ 0xe06f8 ,
+ 0xe06f9 ,
+ 0xe06fa ,
+ 0xe06fb ,
+ 0xe06fc ,
+ 0xe06fd ,
+ 0xe06fe ,
+ 0xe06ff ,
+ 0xe0700 ,
+ 0xe0701 ,
+ 0xe0702 ,
+ 0xe0703 ,
+ 0xe0704 ,
+ 0xe0705 ,
+ 0xe0706 ,
+ 0xe0707 ,
+ 0xe0708 ,
+ 0xe0709 ,
+ 0xe070a ,
+ 0xe070b ,
+ 0xe070c ,
+ 0xe070d ,
+ 0xe070e ,
+ 0xe070f ,
+ 0xe0710 ,
+ 0xe0711 ,
+ 0xe0712 ,
+ 0xe0713 ,
+ 0xe0714 ,
+ 0xe0715 ,
+ 0xe0716 ,
+ 0xe0717 ,
+ 0xe0718 ,
+ 0xe0719 ,
+ 0xe071a ,
+ 0xe071b ,
+ 0xe071c ,
+ 0xe071d ,
+ 0xe071e ,
+ 0xe071f ,
+ 0xe0720 ,
+ 0xe0721 ,
+ 0xe0722 ,
+ 0xe0723 ,
+ 0xe0724 ,
+ 0xe0725 ,
+ 0xe0726 ,
+ 0xe0727 ,
+ 0xe0728 ,
+ 0xe0729 ,
+ 0xe072a ,
+ 0xe072b ,
+ 0xe072c ,
+ 0xe072d ,
+ 0xe072e ,
+ 0xe072f ,
+ 0xe0730 ,
+ 0xe0731 ,
+ 0xe0732 ,
+ 0xe0733 ,
+ 0xe0734 ,
+ 0xe0735 ,
+ 0xe0736 ,
+ 0xe0737 ,
+ 0xe0738 ,
+ 0xe0739 ,
+ 0xe073a ,
+ 0xe073b ,
+ 0xe073c ,
+ 0xe073d ,
+ 0xe073e ,
+ 0xe073f ,
+ 0xe0740 ,
+ 0xe0741 ,
+ 0xe0742 ,
+ 0xe0743 ,
+ 0xe0744 ,
+ 0xe0745 ,
+ 0xe0746 ,
+ 0xe0747 ,
+ 0xe0748 ,
+ 0xe0749 ,
+ 0xe074a ,
+ 0xe074b ,
+ 0xe074c ,
+ 0xe074d ,
+ 0xe074e ,
+ 0xe074f ,
+ 0xe0750 ,
+ 0xe0751 ,
+ 0xe0752 ,
+ 0xe0753 ,
+ 0xe0754 ,
+ 0xe0755 ,
+ 0xe0756 ,
+ 0xe0757 ,
+ 0xe0758 ,
+ 0xe0759 ,
+ 0xe075a ,
+ 0xe075b ,
+ 0xe075c ,
+ 0xe075d ,
+ 0xe075e ,
+ 0xe075f ,
+ 0xe0760 ,
+ 0xe0761 ,
+ 0xe0762 ,
+ 0xe0763 ,
+ 0xe0764 ,
+ 0xe0765 ,
+ 0xe0766 ,
+ 0xe0767 ,
+ 0xe0768 ,
+ 0xe0769 ,
+ 0xe076a ,
+ 0xe076b ,
+ 0xe076c ,
+ 0xe076d ,
+ 0xe076e ,
+ 0xe076f ,
+ 0xe0770 ,
+ 0xe0771 ,
+ 0xe0772 ,
+ 0xe0773 ,
+ 0xe0774 ,
+ 0xe0775 ,
+ 0xe0776 ,
+ 0xe0777 ,
+ 0xe0778 ,
+ 0xe0779 ,
+ 0xe077a ,
+ 0xe077b ,
+ 0xe077c ,
+ 0xe077d ,
+ 0xe077e ,
+ 0xe077f ,
+ 0xe0780 ,
+ 0xe0781 ,
+ 0xe0782 ,
+ 0xe0783 ,
+ 0xe0784 ,
+ 0xe0785 ,
+ 0xe0786 ,
+ 0xe0787 ,
+ 0xe0788 ,
+ 0xe0789 ,
+ 0xe078a ,
+ 0xe078b ,
+ 0xe078c ,
+ 0xe078d ,
+ 0xe078e ,
+ 0xe078f ,
+ 0xe0790 ,
+ 0xe0791 ,
+ 0xe0792 ,
+ 0xe0793 ,
+ 0xe0794 ,
+ 0xe0795 ,
+ 0xe0796 ,
+ 0xe0797 ,
+ 0xe0798 ,
+ 0xe0799 ,
+ 0xe079a ,
+ 0xe079b ,
+ 0xe079c ,
+ 0xe079d ,
+ 0xe079e ,
+ 0xe079f ,
+ 0xe07a0 ,
+ 0xe07a1 ,
+ 0xe07a2 ,
+ 0xe07a3 ,
+ 0xe07a4 ,
+ 0xe07a5 ,
+ 0xe07a6 ,
+ 0xe07a7 ,
+ 0xe07a8 ,
+ 0xe07a9 ,
+ 0xe07aa ,
+ 0xe07ab ,
+ 0xe07ac ,
+ 0xe07ad ,
+ 0xe07ae ,
+ 0xe07af ,
+ 0xe07b0 ,
+ 0xe07b1 ,
+ 0xe07b2 ,
+ 0xe07b3 ,
+ 0xe07b4 ,
+ 0xe07b5 ,
+ 0xe07b6 ,
+ 0xe07b7 ,
+ 0xe07b8 ,
+ 0xe07b9 ,
+ 0xe07ba ,
+ 0xe07bb ,
+ 0xe07bc ,
+ 0xe07bd ,
+ 0xe07be ,
+ 0xe07bf ,
+ 0xe07c0 ,
+ 0xe07c1 ,
+ 0xe07c2 ,
+ 0xe07c3 ,
+ 0xe07c4 ,
+ 0xe07c5 ,
+ 0xe07c6 ,
+ 0xe07c7 ,
+ 0xe07c8 ,
+ 0xe07c9 ,
+ 0xe07ca ,
+ 0xe07cb ,
+ 0xe07cc ,
+ 0xe07cd ,
+ 0xe07ce ,
+ 0xe07cf ,
+ 0xe07d0 ,
+ 0xe07d1 ,
+ 0xe07d2 ,
+ 0xe07d3 ,
+ 0xe07d4 ,
+ 0xe07d5 ,
+ 0xe07d6 ,
+ 0xe07d7 ,
+ 0xe07d8 ,
+ 0xe07d9 ,
+ 0xe07da ,
+ 0xe07db ,
+ 0xe07dc ,
+ 0xe07dd ,
+ 0xe07de ,
+ 0xe07df ,
+ 0xe07e0 ,
+ 0xe07e1 ,
+ 0xe07e2 ,
+ 0xe07e3 ,
+ 0xe07e4 ,
+ 0xe07e5 ,
+ 0xe07e6 ,
+ 0xe07e7 ,
+ 0xe07e8 ,
+ 0xe07e9 ,
+ 0xe07ea ,
+ 0xe07eb ,
+ 0xe07ec ,
+ 0xe07ed ,
+ 0xe07ee ,
+ 0xe07ef ,
+ 0xe07f0 ,
+ 0xe07f1 ,
+ 0xe07f2 ,
+ 0xe07f3 ,
+ 0xe07f4 ,
+ 0xe07f5 ,
+ 0xe07f6 ,
+ 0xe07f7 ,
+ 0xe07f8 ,
+ 0xe07f9 ,
+ 0xe07fa ,
+ 0xe07fb ,
+ 0xe07fc ,
+ 0xe07fd ,
+ 0xe07fe ,
+ 0xe07ff ,
+ 0xe0800 ,
+ 0xe0801 ,
+ 0xe0802 ,
+ 0xe0803 ,
+ 0xe0804 ,
+ 0xe0805 ,
+ 0xe0806 ,
+ 0xe0807 ,
+ 0xe0808 ,
+ 0xe0809 ,
+ 0xe080a ,
+ 0xe080b ,
+ 0xe080c ,
+ 0xe080d ,
+ 0xe080e ,
+ 0xe080f ,
+ 0xe0810 ,
+ 0xe0811 ,
+ 0xe0812 ,
+ 0xe0813 ,
+ 0xe0814 ,
+ 0xe0815 ,
+ 0xe0816 ,
+ 0xe0817 ,
+ 0xe0818 ,
+ 0xe0819 ,
+ 0xe081a ,
+ 0xe081b ,
+ 0xe081c ,
+ 0xe081d ,
+ 0xe081e ,
+ 0xe081f ,
+ 0xe0820 ,
+ 0xe0821 ,
+ 0xe0822 ,
+ 0xe0823 ,
+ 0xe0824 ,
+ 0xe0825 ,
+ 0xe0826 ,
+ 0xe0827 ,
+ 0xe0828 ,
+ 0xe0829 ,
+ 0xe082a ,
+ 0xe082b ,
+ 0xe082c ,
+ 0xe082d ,
+ 0xe082e ,
+ 0xe082f ,
+ 0xe0830 ,
+ 0xe0831 ,
+ 0xe0832 ,
+ 0xe0833 ,
+ 0xe0834 ,
+ 0xe0835 ,
+ 0xe0836 ,
+ 0xe0837 ,
+ 0xe0838 ,
+ 0xe0839 ,
+ 0xe083a ,
+ 0xe083b ,
+ 0xe083c ,
+ 0xe083d ,
+ 0xe083e ,
+ 0xe083f ,
+ 0xe0840 ,
+ 0xe0841 ,
+ 0xe0842 ,
+ 0xe0843 ,
+ 0xe0844 ,
+ 0xe0845 ,
+ 0xe0846 ,
+ 0xe0847 ,
+ 0xe0848 ,
+ 0xe0849 ,
+ 0xe084a ,
+ 0xe084b ,
+ 0xe084c ,
+ 0xe084d ,
+ 0xe084e ,
+ 0xe084f ,
+ 0xe0850 ,
+ 0xe0851 ,
+ 0xe0852 ,
+ 0xe0853 ,
+ 0xe0854 ,
+ 0xe0855 ,
+ 0xe0856 ,
+ 0xe0857 ,
+ 0xe0858 ,
+ 0xe0859 ,
+ 0xe085a ,
+ 0xe085b ,
+ 0xe085c ,
+ 0xe085d ,
+ 0xe085e ,
+ 0xe085f ,
+ 0xe0860 ,
+ 0xe0861 ,
+ 0xe0862 ,
+ 0xe0863 ,
+ 0xe0864 ,
+ 0xe0865 ,
+ 0xe0866 ,
+ 0xe0867 ,
+ 0xe0868 ,
+ 0xe0869 ,
+ 0xe086a ,
+ 0xe086b ,
+ 0xe086c ,
+ 0xe086d ,
+ 0xe086e ,
+ 0xe086f ,
+ 0xe0870 ,
+ 0xe0871 ,
+ 0xe0872 ,
+ 0xe0873 ,
+ 0xe0874 ,
+ 0xe0875 ,
+ 0xe0876 ,
+ 0xe0877 ,
+ 0xe0878 ,
+ 0xe0879 ,
+ 0xe087a ,
+ 0xe087b ,
+ 0xe087c ,
+ 0xe087d ,
+ 0xe087e ,
+ 0xe087f ,
+ 0xe0880 ,
+ 0xe0881 ,
+ 0xe0882 ,
+ 0xe0883 ,
+ 0xe0884 ,
+ 0xe0885 ,
+ 0xe0886 ,
+ 0xe0887 ,
+ 0xe0888 ,
+ 0xe0889 ,
+ 0xe088a ,
+ 0xe088b ,
+ 0xe088c ,
+ 0xe088d ,
+ 0xe088e ,
+ 0xe088f ,
+ 0xe0890 ,
+ 0xe0891 ,
+ 0xe0892 ,
+ 0xe0893 ,
+ 0xe0894 ,
+ 0xe0895 ,
+ 0xe0896 ,
+ 0xe0897 ,
+ 0xe0898 ,
+ 0xe0899 ,
+ 0xe089a ,
+ 0xe089b ,
+ 0xe089c ,
+ 0xe089d ,
+ 0xe089e ,
+ 0xe089f ,
+ 0xe08a0 ,
+ 0xe08a1 ,
+ 0xe08a2 ,
+ 0xe08a3 ,
+ 0xe08a4 ,
+ 0xe08a5 ,
+ 0xe08a6 ,
+ 0xe08a7 ,
+ 0xe08a8 ,
+ 0xe08a9 ,
+ 0xe08aa ,
+ 0xe08ab ,
+ 0xe08ac ,
+ 0xe08ad ,
+ 0xe08ae ,
+ 0xe08af ,
+ 0xe08b0 ,
+ 0xe08b1 ,
+ 0xe08b2 ,
+ 0xe08b3 ,
+ 0xe08b4 ,
+ 0xe08b5 ,
+ 0xe08b6 ,
+ 0xe08b7 ,
+ 0xe08b8 ,
+ 0xe08b9 ,
+ 0xe08ba ,
+ 0xe08bb ,
+ 0xe08bc ,
+ 0xe08bd ,
+ 0xe08be ,
+ 0xe08bf ,
+ 0xe08c0 ,
+ 0xe08c1 ,
+ 0xe08c2 ,
+ 0xe08c3 ,
+ 0xe08c4 ,
+ 0xe08c5 ,
+ 0xe08c6 ,
+ 0xe08c7 ,
+ 0xe08c8 ,
+ 0xe08c9 ,
+ 0xe08ca ,
+ 0xe08cb ,
+ 0xe08cc ,
+ 0xe08cd ,
+ 0xe08ce ,
+ 0xe08cf ,
+ 0xe08d0 ,
+ 0xe08d1 ,
+ 0xe08d2 ,
+ 0xe08d3 ,
+ 0xe08d4 ,
+ 0xe08d5 ,
+ 0xe08d6 ,
+ 0xe08d7 ,
+ 0xe08d8 ,
+ 0xe08d9 ,
+ 0xe08da ,
+ 0xe08db ,
+ 0xe08dc ,
+ 0xe08dd ,
+ 0xe08de ,
+ 0xe08df ,
+ 0xe08e0 ,
+ 0xe08e1 ,
+ 0xe08e2 ,
+ 0xe08e3 ,
+ 0xe08e4 ,
+ 0xe08e5 ,
+ 0xe08e6 ,
+ 0xe08e7 ,
+ 0xe08e8 ,
+ 0xe08e9 ,
+ 0xe08ea ,
+ 0xe08eb ,
+ 0xe08ec ,
+ 0xe08ed ,
+ 0xe08ee ,
+ 0xe08ef ,
+ 0xe08f0 ,
+ 0xe08f1 ,
+ 0xe08f2 ,
+ 0xe08f3 ,
+ 0xe08f4 ,
+ 0xe08f5 ,
+ 0xe08f6 ,
+ 0xe08f7 ,
+ 0xe08f8 ,
+ 0xe08f9 ,
+ 0xe08fa ,
+ 0xe08fb ,
+ 0xe08fc ,
+ 0xe08fd ,
+ 0xe08fe ,
+ 0xe08ff ,
+ 0xe0900 ,
+ 0xe0901 ,
+ 0xe0902 ,
+ 0xe0903 ,
+ 0xe0904 ,
+ 0xe0905 ,
+ 0xe0906 ,
+ 0xe0907 ,
+ 0xe0908 ,
+ 0xe0909 ,
+ 0xe090a ,
+ 0xe090b ,
+ 0xe090c ,
+ 0xe090d ,
+ 0xe090e ,
+ 0xe090f ,
+ 0xe0910 ,
+ 0xe0911 ,
+ 0xe0912 ,
+ 0xe0913 ,
+ 0xe0914 ,
+ 0xe0915 ,
+ 0xe0916 ,
+ 0xe0917 ,
+ 0xe0918 ,
+ 0xe0919 ,
+ 0xe091a ,
+ 0xe091b ,
+ 0xe091c ,
+ 0xe091d ,
+ 0xe091e ,
+ 0xe091f ,
+ 0xe0920 ,
+ 0xe0921 ,
+ 0xe0922 ,
+ 0xe0923 ,
+ 0xe0924 ,
+ 0xe0925 ,
+ 0xe0926 ,
+ 0xe0927 ,
+ 0xe0928 ,
+ 0xe0929 ,
+ 0xe092a ,
+ 0xe092b ,
+ 0xe092c ,
+ 0xe092d ,
+ 0xe092e ,
+ 0xe092f ,
+ 0xe0930 ,
+ 0xe0931 ,
+ 0xe0932 ,
+ 0xe0933 ,
+ 0xe0934 ,
+ 0xe0935 ,
+ 0xe0936 ,
+ 0xe0937 ,
+ 0xe0938 ,
+ 0xe0939 ,
+ 0xe093a ,
+ 0xe093b ,
+ 0xe093c ,
+ 0xe093d ,
+ 0xe093e ,
+ 0xe093f ,
+ 0xe0940 ,
+ 0xe0941 ,
+ 0xe0942 ,
+ 0xe0943 ,
+ 0xe0944 ,
+ 0xe0945 ,
+ 0xe0946 ,
+ 0xe0947 ,
+ 0xe0948 ,
+ 0xe0949 ,
+ 0xe094a ,
+ 0xe094b ,
+ 0xe094c ,
+ 0xe094d ,
+ 0xe094e ,
+ 0xe094f ,
+ 0xe0950 ,
+ 0xe0951 ,
+ 0xe0952 ,
+ 0xe0953 ,
+ 0xe0954 ,
+ 0xe0955 ,
+ 0xe0956 ,
+ 0xe0957 ,
+ 0xe0958 ,
+ 0xe0959 ,
+ 0xe095a ,
+ 0xe095b ,
+ 0xe095c ,
+ 0xe095d ,
+ 0xe095e ,
+ 0xe095f ,
+ 0xe0960 ,
+ 0xe0961 ,
+ 0xe0962 ,
+ 0xe0963 ,
+ 0xe0964 ,
+ 0xe0965 ,
+ 0xe0966 ,
+ 0xe0967 ,
+ 0xe0968 ,
+ 0xe0969 ,
+ 0xe096a ,
+ 0xe096b ,
+ 0xe096c ,
+ 0xe096d ,
+ 0xe096e ,
+ 0xe096f ,
+ 0xe0970 ,
+ 0xe0971 ,
+ 0xe0972 ,
+ 0xe0973 ,
+ 0xe0974 ,
+ 0xe0975 ,
+ 0xe0976 ,
+ 0xe0977 ,
+ 0xe0978 ,
+ 0xe0979 ,
+ 0xe097a ,
+ 0xe097b ,
+ 0xe097c ,
+ 0xe097d ,
+ 0xe097e ,
+ 0xe097f ,
+ 0xe0980 ,
+ 0xe0981 ,
+ 0xe0982 ,
+ 0xe0983 ,
+ 0xe0984 ,
+ 0xe0985 ,
+ 0xe0986 ,
+ 0xe0987 ,
+ 0xe0988 ,
+ 0xe0989 ,
+ 0xe098a ,
+ 0xe098b ,
+ 0xe098c ,
+ 0xe098d ,
+ 0xe098e ,
+ 0xe098f ,
+ 0xe0990 ,
+ 0xe0991 ,
+ 0xe0992 ,
+ 0xe0993 ,
+ 0xe0994 ,
+ 0xe0995 ,
+ 0xe0996 ,
+ 0xe0997 ,
+ 0xe0998 ,
+ 0xe0999 ,
+ 0xe099a ,
+ 0xe099b ,
+ 0xe099c ,
+ 0xe099d ,
+ 0xe099e ,
+ 0xe099f ,
+ 0xe09a0 ,
+ 0xe09a1 ,
+ 0xe09a2 ,
+ 0xe09a3 ,
+ 0xe09a4 ,
+ 0xe09a5 ,
+ 0xe09a6 ,
+ 0xe09a7 ,
+ 0xe09a8 ,
+ 0xe09a9 ,
+ 0xe09aa ,
+ 0xe09ab ,
+ 0xe09ac ,
+ 0xe09ad ,
+ 0xe09ae ,
+ 0xe09af ,
+ 0xe09b0 ,
+ 0xe09b1 ,
+ 0xe09b2 ,
+ 0xe09b3 ,
+ 0xe09b4 ,
+ 0xe09b5 ,
+ 0xe09b6 ,
+ 0xe09b7 ,
+ 0xe09b8 ,
+ 0xe09b9 ,
+ 0xe09ba ,
+ 0xe09bb ,
+ 0xe09bc ,
+ 0xe09bd ,
+ 0xe09be ,
+ 0xe09bf ,
+ 0xe09c0 ,
+ 0xe09c1 ,
+ 0xe09c2 ,
+ 0xe09c3 ,
+ 0xe09c4 ,
+ 0xe09c5 ,
+ 0xe09c6 ,
+ 0xe09c7 ,
+ 0xe09c8 ,
+ 0xe09c9 ,
+ 0xe09ca ,
+ 0xe09cb ,
+ 0xe09cc ,
+ 0xe09cd ,
+ 0xe09ce ,
+ 0xe09cf ,
+ 0xe09d0 ,
+ 0xe09d1 ,
+ 0xe09d2 ,
+ 0xe09d3 ,
+ 0xe09d4 ,
+ 0xe09d5 ,
+ 0xe09d6 ,
+ 0xe09d7 ,
+ 0xe09d8 ,
+ 0xe09d9 ,
+ 0xe09da ,
+ 0xe09db ,
+ 0xe09dc ,
+ 0xe09dd ,
+ 0xe09de ,
+ 0xe09df ,
+ 0xe09e0 ,
+ 0xe09e1 ,
+ 0xe09e2 ,
+ 0xe09e3 ,
+ 0xe09e4 ,
+ 0xe09e5 ,
+ 0xe09e6 ,
+ 0xe09e7 ,
+ 0xe09e8 ,
+ 0xe09e9 ,
+ 0xe09ea ,
+ 0xe09eb ,
+ 0xe09ec ,
+ 0xe09ed ,
+ 0xe09ee ,
+ 0xe09ef ,
+ 0xe09f0 ,
+ 0xe09f1 ,
+ 0xe09f2 ,
+ 0xe09f3 ,
+ 0xe09f4 ,
+ 0xe09f5 ,
+ 0xe09f6 ,
+ 0xe09f7 ,
+ 0xe09f8 ,
+ 0xe09f9 ,
+ 0xe09fa ,
+ 0xe09fb ,
+ 0xe09fc ,
+ 0xe09fd ,
+ 0xe09fe ,
+ 0xe09ff ,
+ 0xe0a00 ,
+ 0xe0a01 ,
+ 0xe0a02 ,
+ 0xe0a03 ,
+ 0xe0a04 ,
+ 0xe0a05 ,
+ 0xe0a06 ,
+ 0xe0a07 ,
+ 0xe0a08 ,
+ 0xe0a09 ,
+ 0xe0a0a ,
+ 0xe0a0b ,
+ 0xe0a0c ,
+ 0xe0a0d ,
+ 0xe0a0e ,
+ 0xe0a0f ,
+ 0xe0a10 ,
+ 0xe0a11 ,
+ 0xe0a12 ,
+ 0xe0a13 ,
+ 0xe0a14 ,
+ 0xe0a15 ,
+ 0xe0a16 ,
+ 0xe0a17 ,
+ 0xe0a18 ,
+ 0xe0a19 ,
+ 0xe0a1a ,
+ 0xe0a1b ,
+ 0xe0a1c ,
+ 0xe0a1d ,
+ 0xe0a1e ,
+ 0xe0a1f ,
+ 0xe0a20 ,
+ 0xe0a21 ,
+ 0xe0a22 ,
+ 0xe0a23 ,
+ 0xe0a24 ,
+ 0xe0a25 ,
+ 0xe0a26 ,
+ 0xe0a27 ,
+ 0xe0a28 ,
+ 0xe0a29 ,
+ 0xe0a2a ,
+ 0xe0a2b ,
+ 0xe0a2c ,
+ 0xe0a2d ,
+ 0xe0a2e ,
+ 0xe0a2f ,
+ 0xe0a30 ,
+ 0xe0a31 ,
+ 0xe0a32 ,
+ 0xe0a33 ,
+ 0xe0a34 ,
+ 0xe0a35 ,
+ 0xe0a36 ,
+ 0xe0a37 ,
+ 0xe0a38 ,
+ 0xe0a39 ,
+ 0xe0a3a ,
+ 0xe0a3b ,
+ 0xe0a3c ,
+ 0xe0a3d ,
+ 0xe0a3e ,
+ 0xe0a3f ,
+ 0xe0a40 ,
+ 0xe0a41 ,
+ 0xe0a42 ,
+ 0xe0a43 ,
+ 0xe0a44 ,
+ 0xe0a45 ,
+ 0xe0a46 ,
+ 0xe0a47 ,
+ 0xe0a48 ,
+ 0xe0a49 ,
+ 0xe0a4a ,
+ 0xe0a4b ,
+ 0xe0a4c ,
+ 0xe0a4d ,
+ 0xe0a4e ,
+ 0xe0a4f ,
+ 0xe0a50 ,
+ 0xe0a51 ,
+ 0xe0a52 ,
+ 0xe0a53 ,
+ 0xe0a54 ,
+ 0xe0a55 ,
+ 0xe0a56 ,
+ 0xe0a57 ,
+ 0xe0a58 ,
+ 0xe0a59 ,
+ 0xe0a5a ,
+ 0xe0a5b ,
+ 0xe0a5c ,
+ 0xe0a5d ,
+ 0xe0a5e ,
+ 0xe0a5f ,
+ 0xe0a60 ,
+ 0xe0a61 ,
+ 0xe0a62 ,
+ 0xe0a63 ,
+ 0xe0a64 ,
+ 0xe0a65 ,
+ 0xe0a66 ,
+ 0xe0a67 ,
+ 0xe0a68 ,
+ 0xe0a69 ,
+ 0xe0a6a ,
+ 0xe0a6b ,
+ 0xe0a6c ,
+ 0xe0a6d ,
+ 0xe0a6e ,
+ 0xe0a6f ,
+ 0xe0a70 ,
+ 0xe0a71 ,
+ 0xe0a72 ,
+ 0xe0a73 ,
+ 0xe0a74 ,
+ 0xe0a75 ,
+ 0xe0a76 ,
+ 0xe0a77 ,
+ 0xe0a78 ,
+ 0xe0a79 ,
+ 0xe0a7a ,
+ 0xe0a7b ,
+ 0xe0a7c ,
+ 0xe0a7d ,
+ 0xe0a7e ,
+ 0xe0a7f ,
+ 0xe0a80 ,
+ 0xe0a81 ,
+ 0xe0a82 ,
+ 0xe0a83 ,
+ 0xe0a84 ,
+ 0xe0a85 ,
+ 0xe0a86 ,
+ 0xe0a87 ,
+ 0xe0a88 ,
+ 0xe0a89 ,
+ 0xe0a8a ,
+ 0xe0a8b ,
+ 0xe0a8c ,
+ 0xe0a8d ,
+ 0xe0a8e ,
+ 0xe0a8f ,
+ 0xe0a90 ,
+ 0xe0a91 ,
+ 0xe0a92 ,
+ 0xe0a93 ,
+ 0xe0a94 ,
+ 0xe0a95 ,
+ 0xe0a96 ,
+ 0xe0a97 ,
+ 0xe0a98 ,
+ 0xe0a99 ,
+ 0xe0a9a ,
+ 0xe0a9b ,
+ 0xe0a9c ,
+ 0xe0a9d ,
+ 0xe0a9e ,
+ 0xe0a9f ,
+ 0xe0aa0 ,
+ 0xe0aa1 ,
+ 0xe0aa2 ,
+ 0xe0aa3 ,
+ 0xe0aa4 ,
+ 0xe0aa5 ,
+ 0xe0aa6 ,
+ 0xe0aa7 ,
+ 0xe0aa8 ,
+ 0xe0aa9 ,
+ 0xe0aaa ,
+ 0xe0aab ,
+ 0xe0aac ,
+ 0xe0aad ,
+ 0xe0aae ,
+ 0xe0aaf ,
+ 0xe0ab0 ,
+ 0xe0ab1 ,
+ 0xe0ab2 ,
+ 0xe0ab3 ,
+ 0xe0ab4 ,
+ 0xe0ab5 ,
+ 0xe0ab6 ,
+ 0xe0ab7 ,
+ 0xe0ab8 ,
+ 0xe0ab9 ,
+ 0xe0aba ,
+ 0xe0abb ,
+ 0xe0abc ,
+ 0xe0abd ,
+ 0xe0abe ,
+ 0xe0abf ,
+ 0xe0ac0 ,
+ 0xe0ac1 ,
+ 0xe0ac2 ,
+ 0xe0ac3 ,
+ 0xe0ac4 ,
+ 0xe0ac5 ,
+ 0xe0ac6 ,
+ 0xe0ac7 ,
+ 0xe0ac8 ,
+ 0xe0ac9 ,
+ 0xe0aca ,
+ 0xe0acb ,
+ 0xe0acc ,
+ 0xe0acd ,
+ 0xe0ace ,
+ 0xe0acf ,
+ 0xe0ad0 ,
+ 0xe0ad1 ,
+ 0xe0ad2 ,
+ 0xe0ad3 ,
+ 0xe0ad4 ,
+ 0xe0ad5 ,
+ 0xe0ad6 ,
+ 0xe0ad7 ,
+ 0xe0ad8 ,
+ 0xe0ad9 ,
+ 0xe0ada ,
+ 0xe0adb ,
+ 0xe0adc ,
+ 0xe0add ,
+ 0xe0ade ,
+ 0xe0adf ,
+ 0xe0ae0 ,
+ 0xe0ae1 ,
+ 0xe0ae2 ,
+ 0xe0ae3 ,
+ 0xe0ae4 ,
+ 0xe0ae5 ,
+ 0xe0ae6 ,
+ 0xe0ae7 ,
+ 0xe0ae8 ,
+ 0xe0ae9 ,
+ 0xe0aea ,
+ 0xe0aeb ,
+ 0xe0aec ,
+ 0xe0aed ,
+ 0xe0aee ,
+ 0xe0aef ,
+ 0xe0af0 ,
+ 0xe0af1 ,
+ 0xe0af2 ,
+ 0xe0af3 ,
+ 0xe0af4 ,
+ 0xe0af5 ,
+ 0xe0af6 ,
+ 0xe0af7 ,
+ 0xe0af8 ,
+ 0xe0af9 ,
+ 0xe0afa ,
+ 0xe0afb ,
+ 0xe0afc ,
+ 0xe0afd ,
+ 0xe0afe ,
+ 0xe0aff ,
+ 0xe0b00 ,
+ 0xe0b01 ,
+ 0xe0b02 ,
+ 0xe0b03 ,
+ 0xe0b04 ,
+ 0xe0b05 ,
+ 0xe0b06 ,
+ 0xe0b07 ,
+ 0xe0b08 ,
+ 0xe0b09 ,
+ 0xe0b0a ,
+ 0xe0b0b ,
+ 0xe0b0c ,
+ 0xe0b0d ,
+ 0xe0b0e ,
+ 0xe0b0f ,
+ 0xe0b10 ,
+ 0xe0b11 ,
+ 0xe0b12 ,
+ 0xe0b13 ,
+ 0xe0b14 ,
+ 0xe0b15 ,
+ 0xe0b16 ,
+ 0xe0b17 ,
+ 0xe0b18 ,
+ 0xe0b19 ,
+ 0xe0b1a ,
+ 0xe0b1b ,
+ 0xe0b1c ,
+ 0xe0b1d ,
+ 0xe0b1e ,
+ 0xe0b1f ,
+ 0xe0b20 ,
+ 0xe0b21 ,
+ 0xe0b22 ,
+ 0xe0b23 ,
+ 0xe0b24 ,
+ 0xe0b25 ,
+ 0xe0b26 ,
+ 0xe0b27 ,
+ 0xe0b28 ,
+ 0xe0b29 ,
+ 0xe0b2a ,
+ 0xe0b2b ,
+ 0xe0b2c ,
+ 0xe0b2d ,
+ 0xe0b2e ,
+ 0xe0b2f ,
+ 0xe0b30 ,
+ 0xe0b31 ,
+ 0xe0b32 ,
+ 0xe0b33 ,
+ 0xe0b34 ,
+ 0xe0b35 ,
+ 0xe0b36 ,
+ 0xe0b37 ,
+ 0xe0b38 ,
+ 0xe0b39 ,
+ 0xe0b3a ,
+ 0xe0b3b ,
+ 0xe0b3c ,
+ 0xe0b3d ,
+ 0xe0b3e ,
+ 0xe0b3f ,
+ 0xe0b40 ,
+ 0xe0b41 ,
+ 0xe0b42 ,
+ 0xe0b43 ,
+ 0xe0b44 ,
+ 0xe0b45 ,
+ 0xe0b46 ,
+ 0xe0b47 ,
+ 0xe0b48 ,
+ 0xe0b49 ,
+ 0xe0b4a ,
+ 0xe0b4b ,
+ 0xe0b4c ,
+ 0xe0b4d ,
+ 0xe0b4e ,
+ 0xe0b4f ,
+ 0xe0b50 ,
+ 0xe0b51 ,
+ 0xe0b52 ,
+ 0xe0b53 ,
+ 0xe0b54 ,
+ 0xe0b55 ,
+ 0xe0b56 ,
+ 0xe0b57 ,
+ 0xe0b58 ,
+ 0xe0b59 ,
+ 0xe0b5a ,
+ 0xe0b5b ,
+ 0xe0b5c ,
+ 0xe0b5d ,
+ 0xe0b5e ,
+ 0xe0b5f ,
+ 0xe0b60 ,
+ 0xe0b61 ,
+ 0xe0b62 ,
+ 0xe0b63 ,
+ 0xe0b64 ,
+ 0xe0b65 ,
+ 0xe0b66 ,
+ 0xe0b67 ,
+ 0xe0b68 ,
+ 0xe0b69 ,
+ 0xe0b6a ,
+ 0xe0b6b ,
+ 0xe0b6c ,
+ 0xe0b6d ,
+ 0xe0b6e ,
+ 0xe0b6f ,
+ 0xe0b70 ,
+ 0xe0b71 ,
+ 0xe0b72 ,
+ 0xe0b73 ,
+ 0xe0b74 ,
+ 0xe0b75 ,
+ 0xe0b76 ,
+ 0xe0b77 ,
+ 0xe0b78 ,
+ 0xe0b79 ,
+ 0xe0b7a ,
+ 0xe0b7b ,
+ 0xe0b7c ,
+ 0xe0b7d ,
+ 0xe0b7e ,
+ 0xe0b7f ,
+ 0xe0b80 ,
+ 0xe0b81 ,
+ 0xe0b82 ,
+ 0xe0b83 ,
+ 0xe0b84 ,
+ 0xe0b85 ,
+ 0xe0b86 ,
+ 0xe0b87 ,
+ 0xe0b88 ,
+ 0xe0b89 ,
+ 0xe0b8a ,
+ 0xe0b8b ,
+ 0xe0b8c ,
+ 0xe0b8d ,
+ 0xe0b8e ,
+ 0xe0b8f ,
+ 0xe0b90 ,
+ 0xe0b91 ,
+ 0xe0b92 ,
+ 0xe0b93 ,
+ 0xe0b94 ,
+ 0xe0b95 ,
+ 0xe0b96 ,
+ 0xe0b97 ,
+ 0xe0b98 ,
+ 0xe0b99 ,
+ 0xe0b9a ,
+ 0xe0b9b ,
+ 0xe0b9c ,
+ 0xe0b9d ,
+ 0xe0b9e ,
+ 0xe0b9f ,
+ 0xe0ba0 ,
+ 0xe0ba1 ,
+ 0xe0ba2 ,
+ 0xe0ba3 ,
+ 0xe0ba4 ,
+ 0xe0ba5 ,
+ 0xe0ba6 ,
+ 0xe0ba7 ,
+ 0xe0ba8 ,
+ 0xe0ba9 ,
+ 0xe0baa ,
+ 0xe0bab ,
+ 0xe0bac ,
+ 0xe0bad ,
+ 0xe0bae ,
+ 0xe0baf ,
+ 0xe0bb0 ,
+ 0xe0bb1 ,
+ 0xe0bb2 ,
+ 0xe0bb3 ,
+ 0xe0bb4 ,
+ 0xe0bb5 ,
+ 0xe0bb6 ,
+ 0xe0bb7 ,
+ 0xe0bb8 ,
+ 0xe0bb9 ,
+ 0xe0bba ,
+ 0xe0bbb ,
+ 0xe0bbc ,
+ 0xe0bbd ,
+ 0xe0bbe ,
+ 0xe0bbf ,
+ 0xe0bc0 ,
+ 0xe0bc1 ,
+ 0xe0bc2 ,
+ 0xe0bc3 ,
+ 0xe0bc4 ,
+ 0xe0bc5 ,
+ 0xe0bc6 ,
+ 0xe0bc7 ,
+ 0xe0bc8 ,
+ 0xe0bc9 ,
+ 0xe0bca ,
+ 0xe0bcb ,
+ 0xe0bcc ,
+ 0xe0bcd ,
+ 0xe0bce ,
+ 0xe0bcf ,
+ 0xe0bd0 ,
+ 0xe0bd1 ,
+ 0xe0bd2 ,
+ 0xe0bd3 ,
+ 0xe0bd4 ,
+ 0xe0bd5 ,
+ 0xe0bd6 ,
+ 0xe0bd7 ,
+ 0xe0bd8 ,
+ 0xe0bd9 ,
+ 0xe0bda ,
+ 0xe0bdb ,
+ 0xe0bdc ,
+ 0xe0bdd ,
+ 0xe0bde ,
+ 0xe0bdf ,
+ 0xe0be0 ,
+ 0xe0be1 ,
+ 0xe0be2 ,
+ 0xe0be3 ,
+ 0xe0be4 ,
+ 0xe0be5 ,
+ 0xe0be6 ,
+ 0xe0be7 ,
+ 0xe0be8 ,
+ 0xe0be9 ,
+ 0xe0bea ,
+ 0xe0beb ,
+ 0xe0bec ,
+ 0xe0bed ,
+ 0xe0bee ,
+ 0xe0bef ,
+ 0xe0bf0 ,
+ 0xe0bf1 ,
+ 0xe0bf2 ,
+ 0xe0bf3 ,
+ 0xe0bf4 ,
+ 0xe0bf5 ,
+ 0xe0bf6 ,
+ 0xe0bf7 ,
+ 0xe0bf8 ,
+ 0xe0bf9 ,
+ 0xe0bfa ,
+ 0xe0bfb ,
+ 0xe0bfc ,
+ 0xe0bfd ,
+ 0xe0bfe ,
+ 0xe0bff ,
+ 0xe0c00 ,
+ 0xe0c01 ,
+ 0xe0c02 ,
+ 0xe0c03 ,
+ 0xe0c04 ,
+ 0xe0c05 ,
+ 0xe0c06 ,
+ 0xe0c07 ,
+ 0xe0c08 ,
+ 0xe0c09 ,
+ 0xe0c0a ,
+ 0xe0c0b ,
+ 0xe0c0c ,
+ 0xe0c0d ,
+ 0xe0c0e ,
+ 0xe0c0f ,
+ 0xe0c10 ,
+ 0xe0c11 ,
+ 0xe0c12 ,
+ 0xe0c13 ,
+ 0xe0c14 ,
+ 0xe0c15 ,
+ 0xe0c16 ,
+ 0xe0c17 ,
+ 0xe0c18 ,
+ 0xe0c19 ,
+ 0xe0c1a ,
+ 0xe0c1b ,
+ 0xe0c1c ,
+ 0xe0c1d ,
+ 0xe0c1e ,
+ 0xe0c1f ,
+ 0xe0c20 ,
+ 0xe0c21 ,
+ 0xe0c22 ,
+ 0xe0c23 ,
+ 0xe0c24 ,
+ 0xe0c25 ,
+ 0xe0c26 ,
+ 0xe0c27 ,
+ 0xe0c28 ,
+ 0xe0c29 ,
+ 0xe0c2a ,
+ 0xe0c2b ,
+ 0xe0c2c ,
+ 0xe0c2d ,
+ 0xe0c2e ,
+ 0xe0c2f ,
+ 0xe0c30 ,
+ 0xe0c31 ,
+ 0xe0c32 ,
+ 0xe0c33 ,
+ 0xe0c34 ,
+ 0xe0c35 ,
+ 0xe0c36 ,
+ 0xe0c37 ,
+ 0xe0c38 ,
+ 0xe0c39 ,
+ 0xe0c3a ,
+ 0xe0c3b ,
+ 0xe0c3c ,
+ 0xe0c3d ,
+ 0xe0c3e ,
+ 0xe0c3f ,
+ 0xe0c40 ,
+ 0xe0c41 ,
+ 0xe0c42 ,
+ 0xe0c43 ,
+ 0xe0c44 ,
+ 0xe0c45 ,
+ 0xe0c46 ,
+ 0xe0c47 ,
+ 0xe0c48 ,
+ 0xe0c49 ,
+ 0xe0c4a ,
+ 0xe0c4b ,
+ 0xe0c4c ,
+ 0xe0c4d ,
+ 0xe0c4e ,
+ 0xe0c4f ,
+ 0xe0c50 ,
+ 0xe0c51 ,
+ 0xe0c52 ,
+ 0xe0c53 ,
+ 0xe0c54 ,
+ 0xe0c55 ,
+ 0xe0c56 ,
+ 0xe0c57 ,
+ 0xe0c58 ,
+ 0xe0c59 ,
+ 0xe0c5a ,
+ 0xe0c5b ,
+ 0xe0c5c ,
+ 0xe0c5d ,
+ 0xe0c5e ,
+ 0xe0c5f ,
+ 0xe0c60 ,
+ 0xe0c61 ,
+ 0xe0c62 ,
+ 0xe0c63 ,
+ 0xe0c64 ,
+ 0xe0c65 ,
+ 0xe0c66 ,
+ 0xe0c67 ,
+ 0xe0c68 ,
+ 0xe0c69 ,
+ 0xe0c6a ,
+ 0xe0c6b ,
+ 0xe0c6c ,
+ 0xe0c6d ,
+ 0xe0c6e ,
+ 0xe0c6f ,
+ 0xe0c70 ,
+ 0xe0c71 ,
+ 0xe0c72 ,
+ 0xe0c73 ,
+ 0xe0c74 ,
+ 0xe0c75 ,
+ 0xe0c76 ,
+ 0xe0c77 ,
+ 0xe0c78 ,
+ 0xe0c79 ,
+ 0xe0c7a ,
+ 0xe0c7b ,
+ 0xe0c7c ,
+ 0xe0c7d ,
+ 0xe0c7e ,
+ 0xe0c7f ,
+ 0xe0c80 ,
+ 0xe0c81 ,
+ 0xe0c82 ,
+ 0xe0c83 ,
+ 0xe0c84 ,
+ 0xe0c85 ,
+ 0xe0c86 ,
+ 0xe0c87 ,
+ 0xe0c88 ,
+ 0xe0c89 ,
+ 0xe0c8a ,
+ 0xe0c8b ,
+ 0xe0c8c ,
+ 0xe0c8d ,
+ 0xe0c8e ,
+ 0xe0c8f ,
+ 0xe0c90 ,
+ 0xe0c91 ,
+ 0xe0c92 ,
+ 0xe0c93 ,
+ 0xe0c94 ,
+ 0xe0c95 ,
+ 0xe0c96 ,
+ 0xe0c97 ,
+ 0xe0c98 ,
+ 0xe0c99 ,
+ 0xe0c9a ,
+ 0xe0c9b ,
+ 0xe0c9c ,
+ 0xe0c9d ,
+ 0xe0c9e ,
+ 0xe0c9f ,
+ 0xe0ca0 ,
+ 0xe0ca1 ,
+ 0xe0ca2 ,
+ 0xe0ca3 ,
+ 0xe0ca4 ,
+ 0xe0ca5 ,
+ 0xe0ca6 ,
+ 0xe0ca7 ,
+ 0xe0ca8 ,
+ 0xe0ca9 ,
+ 0xe0caa ,
+ 0xe0cab ,
+ 0xe0cac ,
+ 0xe0cad ,
+ 0xe0cae ,
+ 0xe0caf ,
+ 0xe0cb0 ,
+ 0xe0cb1 ,
+ 0xe0cb2 ,
+ 0xe0cb3 ,
+ 0xe0cb4 ,
+ 0xe0cb5 ,
+ 0xe0cb6 ,
+ 0xe0cb7 ,
+ 0xe0cb8 ,
+ 0xe0cb9 ,
+ 0xe0cba ,
+ 0xe0cbb ,
+ 0xe0cbc ,
+ 0xe0cbd ,
+ 0xe0cbe ,
+ 0xe0cbf ,
+ 0xe0cc0 ,
+ 0xe0cc1 ,
+ 0xe0cc2 ,
+ 0xe0cc3 ,
+ 0xe0cc4 ,
+ 0xe0cc5 ,
+ 0xe0cc6 ,
+ 0xe0cc7 ,
+ 0xe0cc8 ,
+ 0xe0cc9 ,
+ 0xe0cca ,
+ 0xe0ccb ,
+ 0xe0ccc ,
+ 0xe0ccd ,
+ 0xe0cce ,
+ 0xe0ccf ,
+ 0xe0cd0 ,
+ 0xe0cd1 ,
+ 0xe0cd2 ,
+ 0xe0cd3 ,
+ 0xe0cd4 ,
+ 0xe0cd5 ,
+ 0xe0cd6 ,
+ 0xe0cd7 ,
+ 0xe0cd8 ,
+ 0xe0cd9 ,
+ 0xe0cda ,
+ 0xe0cdb ,
+ 0xe0cdc ,
+ 0xe0cdd ,
+ 0xe0cde ,
+ 0xe0cdf ,
+ 0xe0ce0 ,
+ 0xe0ce1 ,
+ 0xe0ce2 ,
+ 0xe0ce3 ,
+ 0xe0ce4 ,
+ 0xe0ce5 ,
+ 0xe0ce6 ,
+ 0xe0ce7 ,
+ 0xe0ce8 ,
+ 0xe0ce9 ,
+ 0xe0cea ,
+ 0xe0ceb ,
+ 0xe0cec ,
+ 0xe0ced ,
+ 0xe0cee ,
+ 0xe0cef ,
+ 0xe0cf0 ,
+ 0xe0cf1 ,
+ 0xe0cf2 ,
+ 0xe0cf3 ,
+ 0xe0cf4 ,
+ 0xe0cf5 ,
+ 0xe0cf6 ,
+ 0xe0cf7 ,
+ 0xe0cf8 ,
+ 0xe0cf9 ,
+ 0xe0cfa ,
+ 0xe0cfb ,
+ 0xe0cfc ,
+ 0xe0cfd ,
+ 0xe0cfe ,
+ 0xe0cff ,
+ 0xe0d00 ,
+ 0xe0d01 ,
+ 0xe0d02 ,
+ 0xe0d03 ,
+ 0xe0d04 ,
+ 0xe0d05 ,
+ 0xe0d06 ,
+ 0xe0d07 ,
+ 0xe0d08 ,
+ 0xe0d09 ,
+ 0xe0d0a ,
+ 0xe0d0b ,
+ 0xe0d0c ,
+ 0xe0d0d ,
+ 0xe0d0e ,
+ 0xe0d0f ,
+ 0xe0d10 ,
+ 0xe0d11 ,
+ 0xe0d12 ,
+ 0xe0d13 ,
+ 0xe0d14 ,
+ 0xe0d15 ,
+ 0xe0d16 ,
+ 0xe0d17 ,
+ 0xe0d18 ,
+ 0xe0d19 ,
+ 0xe0d1a ,
+ 0xe0d1b ,
+ 0xe0d1c ,
+ 0xe0d1d ,
+ 0xe0d1e ,
+ 0xe0d1f ,
+ 0xe0d20 ,
+ 0xe0d21 ,
+ 0xe0d22 ,
+ 0xe0d23 ,
+ 0xe0d24 ,
+ 0xe0d25 ,
+ 0xe0d26 ,
+ 0xe0d27 ,
+ 0xe0d28 ,
+ 0xe0d29 ,
+ 0xe0d2a ,
+ 0xe0d2b ,
+ 0xe0d2c ,
+ 0xe0d2d ,
+ 0xe0d2e ,
+ 0xe0d2f ,
+ 0xe0d30 ,
+ 0xe0d31 ,
+ 0xe0d32 ,
+ 0xe0d33 ,
+ 0xe0d34 ,
+ 0xe0d35 ,
+ 0xe0d36 ,
+ 0xe0d37 ,
+ 0xe0d38 ,
+ 0xe0d39 ,
+ 0xe0d3a ,
+ 0xe0d3b ,
+ 0xe0d3c ,
+ 0xe0d3d ,
+ 0xe0d3e ,
+ 0xe0d3f ,
+ 0xe0d40 ,
+ 0xe0d41 ,
+ 0xe0d42 ,
+ 0xe0d43 ,
+ 0xe0d44 ,
+ 0xe0d45 ,
+ 0xe0d46 ,
+ 0xe0d47 ,
+ 0xe0d48 ,
+ 0xe0d49 ,
+ 0xe0d4a ,
+ 0xe0d4b ,
+ 0xe0d4c ,
+ 0xe0d4d ,
+ 0xe0d4e ,
+ 0xe0d4f ,
+ 0xe0d50 ,
+ 0xe0d51 ,
+ 0xe0d52 ,
+ 0xe0d53 ,
+ 0xe0d54 ,
+ 0xe0d55 ,
+ 0xe0d56 ,
+ 0xe0d57 ,
+ 0xe0d58 ,
+ 0xe0d59 ,
+ 0xe0d5a ,
+ 0xe0d5b ,
+ 0xe0d5c ,
+ 0xe0d5d ,
+ 0xe0d5e ,
+ 0xe0d5f ,
+ 0xe0d60 ,
+ 0xe0d61 ,
+ 0xe0d62 ,
+ 0xe0d63 ,
+ 0xe0d64 ,
+ 0xe0d65 ,
+ 0xe0d66 ,
+ 0xe0d67 ,
+ 0xe0d68 ,
+ 0xe0d69 ,
+ 0xe0d6a ,
+ 0xe0d6b ,
+ 0xe0d6c ,
+ 0xe0d6d ,
+ 0xe0d6e ,
+ 0xe0d6f ,
+ 0xe0d70 ,
+ 0xe0d71 ,
+ 0xe0d72 ,
+ 0xe0d73 ,
+ 0xe0d74 ,
+ 0xe0d75 ,
+ 0xe0d76 ,
+ 0xe0d77 ,
+ 0xe0d78 ,
+ 0xe0d79 ,
+ 0xe0d7a ,
+ 0xe0d7b ,
+ 0xe0d7c ,
+ 0xe0d7d ,
+ 0xe0d7e ,
+ 0xe0d7f ,
+ 0xe0d80 ,
+ 0xe0d81 ,
+ 0xe0d82 ,
+ 0xe0d83 ,
+ 0xe0d84 ,
+ 0xe0d85 ,
+ 0xe0d86 ,
+ 0xe0d87 ,
+ 0xe0d88 ,
+ 0xe0d89 ,
+ 0xe0d8a ,
+ 0xe0d8b ,
+ 0xe0d8c ,
+ 0xe0d8d ,
+ 0xe0d8e ,
+ 0xe0d8f ,
+ 0xe0d90 ,
+ 0xe0d91 ,
+ 0xe0d92 ,
+ 0xe0d93 ,
+ 0xe0d94 ,
+ 0xe0d95 ,
+ 0xe0d96 ,
+ 0xe0d97 ,
+ 0xe0d98 ,
+ 0xe0d99 ,
+ 0xe0d9a ,
+ 0xe0d9b ,
+ 0xe0d9c ,
+ 0xe0d9d ,
+ 0xe0d9e ,
+ 0xe0d9f ,
+ 0xe0da0 ,
+ 0xe0da1 ,
+ 0xe0da2 ,
+ 0xe0da3 ,
+ 0xe0da4 ,
+ 0xe0da5 ,
+ 0xe0da6 ,
+ 0xe0da7 ,
+ 0xe0da8 ,
+ 0xe0da9 ,
+ 0xe0daa ,
+ 0xe0dab ,
+ 0xe0dac ,
+ 0xe0dad ,
+ 0xe0dae ,
+ 0xe0daf ,
+ 0xe0db0 ,
+ 0xe0db1 ,
+ 0xe0db2 ,
+ 0xe0db3 ,
+ 0xe0db4 ,
+ 0xe0db5 ,
+ 0xe0db6 ,
+ 0xe0db7 ,
+ 0xe0db8 ,
+ 0xe0db9 ,
+ 0xe0dba ,
+ 0xe0dbb ,
+ 0xe0dbc ,
+ 0xe0dbd ,
+ 0xe0dbe ,
+ 0xe0dbf ,
+ 0xe0dc0 ,
+ 0xe0dc1 ,
+ 0xe0dc2 ,
+ 0xe0dc3 ,
+ 0xe0dc4 ,
+ 0xe0dc5 ,
+ 0xe0dc6 ,
+ 0xe0dc7 ,
+ 0xe0dc8 ,
+ 0xe0dc9 ,
+ 0xe0dca ,
+ 0xe0dcb ,
+ 0xe0dcc ,
+ 0xe0dcd ,
+ 0xe0dce ,
+ 0xe0dcf ,
+ 0xe0dd0 ,
+ 0xe0dd1 ,
+ 0xe0dd2 ,
+ 0xe0dd3 ,
+ 0xe0dd4 ,
+ 0xe0dd5 ,
+ 0xe0dd6 ,
+ 0xe0dd7 ,
+ 0xe0dd8 ,
+ 0xe0dd9 ,
+ 0xe0dda ,
+ 0xe0ddb ,
+ 0xe0ddc ,
+ 0xe0ddd ,
+ 0xe0dde ,
+ 0xe0ddf ,
+ 0xe0de0 ,
+ 0xe0de1 ,
+ 0xe0de2 ,
+ 0xe0de3 ,
+ 0xe0de4 ,
+ 0xe0de5 ,
+ 0xe0de6 ,
+ 0xe0de7 ,
+ 0xe0de8 ,
+ 0xe0de9 ,
+ 0xe0dea ,
+ 0xe0deb ,
+ 0xe0dec ,
+ 0xe0ded ,
+ 0xe0dee ,
+ 0xe0def ,
+ 0xe0df0 ,
+ 0xe0df1 ,
+ 0xe0df2 ,
+ 0xe0df3 ,
+ 0xe0df4 ,
+ 0xe0df5 ,
+ 0xe0df6 ,
+ 0xe0df7 ,
+ 0xe0df8 ,
+ 0xe0df9 ,
+ 0xe0dfa ,
+ 0xe0dfb ,
+ 0xe0dfc ,
+ 0xe0dfd ,
+ 0xe0dfe ,
+ 0xe0dff ,
+ 0xe0e00 ,
+ 0xe0e01 ,
+ 0xe0e02 ,
+ 0xe0e03 ,
+ 0xe0e04 ,
+ 0xe0e05 ,
+ 0xe0e06 ,
+ 0xe0e07 ,
+ 0xe0e08 ,
+ 0xe0e09 ,
+ 0xe0e0a ,
+ 0xe0e0b ,
+ 0xe0e0c ,
+ 0xe0e0d ,
+ 0xe0e0e ,
+ 0xe0e0f ,
+ 0xe0e10 ,
+ 0xe0e11 ,
+ 0xe0e12 ,
+ 0xe0e13 ,
+ 0xe0e14 ,
+ 0xe0e15 ,
+ 0xe0e16 ,
+ 0xe0e17 ,
+ 0xe0e18 ,
+ 0xe0e19 ,
+ 0xe0e1a ,
+ 0xe0e1b ,
+ 0xe0e1c ,
+ 0xe0e1d ,
+ 0xe0e1e ,
+ 0xe0e1f ,
+ 0xe0e20 ,
+ 0xe0e21 ,
+ 0xe0e22 ,
+ 0xe0e23 ,
+ 0xe0e24 ,
+ 0xe0e25 ,
+ 0xe0e26 ,
+ 0xe0e27 ,
+ 0xe0e28 ,
+ 0xe0e29 ,
+ 0xe0e2a ,
+ 0xe0e2b ,
+ 0xe0e2c ,
+ 0xe0e2d ,
+ 0xe0e2e ,
+ 0xe0e2f ,
+ 0xe0e30 ,
+ 0xe0e31 ,
+ 0xe0e32 ,
+ 0xe0e33 ,
+ 0xe0e34 ,
+ 0xe0e35 ,
+ 0xe0e36 ,
+ 0xe0e37 ,
+ 0xe0e38 ,
+ 0xe0e39 ,
+ 0xe0e3a ,
+ 0xe0e3b ,
+ 0xe0e3c ,
+ 0xe0e3d ,
+ 0xe0e3e ,
+ 0xe0e3f ,
+ 0xe0e40 ,
+ 0xe0e41 ,
+ 0xe0e42 ,
+ 0xe0e43 ,
+ 0xe0e44 ,
+ 0xe0e45 ,
+ 0xe0e46 ,
+ 0xe0e47 ,
+ 0xe0e48 ,
+ 0xe0e49 ,
+ 0xe0e4a ,
+ 0xe0e4b ,
+ 0xe0e4c ,
+ 0xe0e4d ,
+ 0xe0e4e ,
+ 0xe0e4f ,
+ 0xe0e50 ,
+ 0xe0e51 ,
+ 0xe0e52 ,
+ 0xe0e53 ,
+ 0xe0e54 ,
+ 0xe0e55 ,
+ 0xe0e56 ,
+ 0xe0e57 ,
+ 0xe0e58 ,
+ 0xe0e59 ,
+ 0xe0e5a ,
+ 0xe0e5b ,
+ 0xe0e5c ,
+ 0xe0e5d ,
+ 0xe0e5e ,
+ 0xe0e5f ,
+ 0xe0e60 ,
+ 0xe0e61 ,
+ 0xe0e62 ,
+ 0xe0e63 ,
+ 0xe0e64 ,
+ 0xe0e65 ,
+ 0xe0e66 ,
+ 0xe0e67 ,
+ 0xe0e68 ,
+ 0xe0e69 ,
+ 0xe0e6a ,
+ 0xe0e6b ,
+ 0xe0e6c ,
+ 0xe0e6d ,
+ 0xe0e6e ,
+ 0xe0e6f ,
+ 0xe0e70 ,
+ 0xe0e71 ,
+ 0xe0e72 ,
+ 0xe0e73 ,
+ 0xe0e74 ,
+ 0xe0e75 ,
+ 0xe0e76 ,
+ 0xe0e77 ,
+ 0xe0e78 ,
+ 0xe0e79 ,
+ 0xe0e7a ,
+ 0xe0e7b ,
+ 0xe0e7c ,
+ 0xe0e7d ,
+ 0xe0e7e ,
+ 0xe0e7f ,
+ 0xe0e80 ,
+ 0xe0e81 ,
+ 0xe0e82 ,
+ 0xe0e83 ,
+ 0xe0e84 ,
+ 0xe0e85 ,
+ 0xe0e86 ,
+ 0xe0e87 ,
+ 0xe0e88 ,
+ 0xe0e89 ,
+ 0xe0e8a ,
+ 0xe0e8b ,
+ 0xe0e8c ,
+ 0xe0e8d ,
+ 0xe0e8e ,
+ 0xe0e8f ,
+ 0xe0e90 ,
+ 0xe0e91 ,
+ 0xe0e92 ,
+ 0xe0e93 ,
+ 0xe0e94 ,
+ 0xe0e95 ,
+ 0xe0e96 ,
+ 0xe0e97 ,
+ 0xe0e98 ,
+ 0xe0e99 ,
+ 0xe0e9a ,
+ 0xe0e9b ,
+ 0xe0e9c ,
+ 0xe0e9d ,
+ 0xe0e9e ,
+ 0xe0e9f ,
+ 0xe0ea0 ,
+ 0xe0ea1 ,
+ 0xe0ea2 ,
+ 0xe0ea3 ,
+ 0xe0ea4 ,
+ 0xe0ea5 ,
+ 0xe0ea6 ,
+ 0xe0ea7 ,
+ 0xe0ea8 ,
+ 0xe0ea9 ,
+ 0xe0eaa ,
+ 0xe0eab ,
+ 0xe0eac ,
+ 0xe0ead ,
+ 0xe0eae ,
+ 0xe0eaf ,
+ 0xe0eb0 ,
+ 0xe0eb1 ,
+ 0xe0eb2 ,
+ 0xe0eb3 ,
+ 0xe0eb4 ,
+ 0xe0eb5 ,
+ 0xe0eb6 ,
+ 0xe0eb7 ,
+ 0xe0eb8 ,
+ 0xe0eb9 ,
+ 0xe0eba ,
+ 0xe0ebb ,
+ 0xe0ebc ,
+ 0xe0ebd ,
+ 0xe0ebe ,
+ 0xe0ebf ,
+ 0xe0ec0 ,
+ 0xe0ec1 ,
+ 0xe0ec2 ,
+ 0xe0ec3 ,
+ 0xe0ec4 ,
+ 0xe0ec5 ,
+ 0xe0ec6 ,
+ 0xe0ec7 ,
+ 0xe0ec8 ,
+ 0xe0ec9 ,
+ 0xe0eca ,
+ 0xe0ecb ,
+ 0xe0ecc ,
+ 0xe0ecd ,
+ 0xe0ece ,
+ 0xe0ecf ,
+ 0xe0ed0 ,
+ 0xe0ed1 ,
+ 0xe0ed2 ,
+ 0xe0ed3 ,
+ 0xe0ed4 ,
+ 0xe0ed5 ,
+ 0xe0ed6 ,
+ 0xe0ed7 ,
+ 0xe0ed8 ,
+ 0xe0ed9 ,
+ 0xe0eda ,
+ 0xe0edb ,
+ 0xe0edc ,
+ 0xe0edd ,
+ 0xe0ede ,
+ 0xe0edf ,
+ 0xe0ee0 ,
+ 0xe0ee1 ,
+ 0xe0ee2 ,
+ 0xe0ee3 ,
+ 0xe0ee4 ,
+ 0xe0ee5 ,
+ 0xe0ee6 ,
+ 0xe0ee7 ,
+ 0xe0ee8 ,
+ 0xe0ee9 ,
+ 0xe0eea ,
+ 0xe0eeb ,
+ 0xe0eec ,
+ 0xe0eed ,
+ 0xe0eee ,
+ 0xe0eef ,
+ 0xe0ef0 ,
+ 0xe0ef1 ,
+ 0xe0ef2 ,
+ 0xe0ef3 ,
+ 0xe0ef4 ,
+ 0xe0ef5 ,
+ 0xe0ef6 ,
+ 0xe0ef7 ,
+ 0xe0ef8 ,
+ 0xe0ef9 ,
+ 0xe0efa ,
+ 0xe0efb ,
+ 0xe0efc ,
+ 0xe0efd ,
+ 0xe0efe ,
+ 0xe0eff ,
+ 0xe0f00 ,
+ 0xe0f01 ,
+ 0xe0f02 ,
+ 0xe0f03 ,
+ 0xe0f04 ,
+ 0xe0f05 ,
+ 0xe0f06 ,
+ 0xe0f07 ,
+ 0xe0f08 ,
+ 0xe0f09 ,
+ 0xe0f0a ,
+ 0xe0f0b ,
+ 0xe0f0c ,
+ 0xe0f0d ,
+ 0xe0f0e ,
+ 0xe0f0f ,
+ 0xe0f10 ,
+ 0xe0f11 ,
+ 0xe0f12 ,
+ 0xe0f13 ,
+ 0xe0f14 ,
+ 0xe0f15 ,
+ 0xe0f16 ,
+ 0xe0f17 ,
+ 0xe0f18 ,
+ 0xe0f19 ,
+ 0xe0f1a ,
+ 0xe0f1b ,
+ 0xe0f1c ,
+ 0xe0f1d ,
+ 0xe0f1e ,
+ 0xe0f1f ,
+ 0xe0f20 ,
+ 0xe0f21 ,
+ 0xe0f22 ,
+ 0xe0f23 ,
+ 0xe0f24 ,
+ 0xe0f25 ,
+ 0xe0f26 ,
+ 0xe0f27 ,
+ 0xe0f28 ,
+ 0xe0f29 ,
+ 0xe0f2a ,
+ 0xe0f2b ,
+ 0xe0f2c ,
+ 0xe0f2d ,
+ 0xe0f2e ,
+ 0xe0f2f ,
+ 0xe0f30 ,
+ 0xe0f31 ,
+ 0xe0f32 ,
+ 0xe0f33 ,
+ 0xe0f34 ,
+ 0xe0f35 ,
+ 0xe0f36 ,
+ 0xe0f37 ,
+ 0xe0f38 ,
+ 0xe0f39 ,
+ 0xe0f3a ,
+ 0xe0f3b ,
+ 0xe0f3c ,
+ 0xe0f3d ,
+ 0xe0f3e ,
+ 0xe0f3f ,
+ 0xe0f40 ,
+ 0xe0f41 ,
+ 0xe0f42 ,
+ 0xe0f43 ,
+ 0xe0f44 ,
+ 0xe0f45 ,
+ 0xe0f46 ,
+ 0xe0f47 ,
+ 0xe0f48 ,
+ 0xe0f49 ,
+ 0xe0f4a ,
+ 0xe0f4b ,
+ 0xe0f4c ,
+ 0xe0f4d ,
+ 0xe0f4e ,
+ 0xe0f4f ,
+ 0xe0f50 ,
+ 0xe0f51 ,
+ 0xe0f52 ,
+ 0xe0f53 ,
+ 0xe0f54 ,
+ 0xe0f55 ,
+ 0xe0f56 ,
+ 0xe0f57 ,
+ 0xe0f58 ,
+ 0xe0f59 ,
+ 0xe0f5a ,
+ 0xe0f5b ,
+ 0xe0f5c ,
+ 0xe0f5d ,
+ 0xe0f5e ,
+ 0xe0f5f ,
+ 0xe0f60 ,
+ 0xe0f61 ,
+ 0xe0f62 ,
+ 0xe0f63 ,
+ 0xe0f64 ,
+ 0xe0f65 ,
+ 0xe0f66 ,
+ 0xe0f67 ,
+ 0xe0f68 ,
+ 0xe0f69 ,
+ 0xe0f6a ,
+ 0xe0f6b ,
+ 0xe0f6c ,
+ 0xe0f6d ,
+ 0xe0f6e ,
+ 0xe0f6f ,
+ 0xe0f70 ,
+ 0xe0f71 ,
+ 0xe0f72 ,
+ 0xe0f73 ,
+ 0xe0f74 ,
+ 0xe0f75 ,
+ 0xe0f76 ,
+ 0xe0f77 ,
+ 0xe0f78 ,
+ 0xe0f79 ,
+ 0xe0f7a ,
+ 0xe0f7b ,
+ 0xe0f7c ,
+ 0xe0f7d ,
+ 0xe0f7e ,
+ 0xe0f7f ,
+ 0xe0f80 ,
+ 0xe0f81 ,
+ 0xe0f82 ,
+ 0xe0f83 ,
+ 0xe0f84 ,
+ 0xe0f85 ,
+ 0xe0f86 ,
+ 0xe0f87 ,
+ 0xe0f88 ,
+ 0xe0f89 ,
+ 0xe0f8a ,
+ 0xe0f8b ,
+ 0xe0f8c ,
+ 0xe0f8d ,
+ 0xe0f8e ,
+ 0xe0f8f ,
+ 0xe0f90 ,
+ 0xe0f91 ,
+ 0xe0f92 ,
+ 0xe0f93 ,
+ 0xe0f94 ,
+ 0xe0f95 ,
+ 0xe0f96 ,
+ 0xe0f97 ,
+ 0xe0f98 ,
+ 0xe0f99 ,
+ 0xe0f9a ,
+ 0xe0f9b ,
+ 0xe0f9c ,
+ 0xe0f9d ,
+ 0xe0f9e ,
+ 0xe0f9f ,
+ 0xe0fa0 ,
+ 0xe0fa1 ,
+ 0xe0fa2 ,
+ 0xe0fa3 ,
+ 0xe0fa4 ,
+ 0xe0fa5 ,
+ 0xe0fa6 ,
+ 0xe0fa7 ,
+ 0xe0fa8 ,
+ 0xe0fa9 ,
+ 0xe0faa ,
+ 0xe0fab ,
+ 0xe0fac ,
+ 0xe0fad ,
+ 0xe0fae ,
+ 0xe0faf ,
+ 0xe0fb0 ,
+ 0xe0fb1 ,
+ 0xe0fb2 ,
+ 0xe0fb3 ,
+ 0xe0fb4 ,
+ 0xe0fb5 ,
+ 0xe0fb6 ,
+ 0xe0fb7 ,
+ 0xe0fb8 ,
+ 0xe0fb9 ,
+ 0xe0fba ,
+ 0xe0fbb ,
+ 0xe0fbc ,
+ 0xe0fbd ,
+ 0xe0fbe ,
+ 0xe0fbf ,
+ 0xe0fc0 ,
+ 0xe0fc1 ,
+ 0xe0fc2 ,
+ 0xe0fc3 ,
+ 0xe0fc4 ,
+ 0xe0fc5 ,
+ 0xe0fc6 ,
+ 0xe0fc7 ,
+ 0xe0fc8 ,
+ 0xe0fc9 ,
+ 0xe0fca ,
+ 0xe0fcb ,
+ 0xe0fcc ,
+ 0xe0fcd ,
+ 0xe0fce ,
+ 0xe0fcf ,
+ 0xe0fd0 ,
+ 0xe0fd1 ,
+ 0xe0fd2 ,
+ 0xe0fd3 ,
+ 0xe0fd4 ,
+ 0xe0fd5 ,
+ 0xe0fd6 ,
+ 0xe0fd7 ,
+ 0xe0fd8 ,
+ 0xe0fd9 ,
+ 0xe0fda ,
+ 0xe0fdb ,
+ 0xe0fdc ,
+ 0xe0fdd ,
+ 0xe0fde ,
+ 0xe0fdf ,
+ 0xe0fe0 ,
+ 0xe0fe1 ,
+ 0xe0fe2 ,
+ 0xe0fe3 ,
+ 0xe0fe4 ,
+ 0xe0fe5 ,
+ 0xe0fe6 ,
+ 0xe0fe7 ,
+ 0xe0fe8 ,
+ 0xe0fe9 ,
+ 0xe0fea ,
+ 0xe0feb ,
+ 0xe0fec ,
+ 0xe0fed ,
+ 0xe0fee ,
+ 0xe0fef ,
+ 0xe0ff0 ,
+ 0xe0ff1 ,
+ 0xe0ff2 ,
+ 0xe0ff3 ,
+ 0xe0ff4 ,
+ 0xe0ff5 ,
+ 0xe0ff6 ,
+ 0xe0ff7 ,
+ 0xe0ff8 ,
+ 0xe0ff9 ,
+ 0xe0ffa ,
+ 0xe0ffb ,
+ 0xe0ffc ,
+ 0xe0ffd ,
+ 0xe0ffe ,
+ 0xe0fff };
+
+static FcBlanks fcBlanks = {
+ 4191,
+ -1,
+ _fcBlanks
+};
+
diff --git a/fc-blanks/fcblanks.tmpl.h b/fc-blanks/fcblanks.tmpl.h
new file mode 100644
index 00000000..2bcaa21d
--- /dev/null
+++ b/fc-blanks/fcblanks.tmpl.h
@@ -0,0 +1,25 @@
+/*
+ * fontconfig/fc-blanks/fcblanks.tmpl.h
+ *
+ * Copyright © 2003 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. The authors make no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+@@@
diff --git a/fc-cache/Makefile.in b/fc-cache/Makefile.in
new file mode 100644
index 00000000..598c91c1
--- /dev/null
+++ b/fc-cache/Makefile.in
@@ -0,0 +1,795 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+# fontconfig/fc-cache/Makefile.am
+#
+# Copyright © 2003 Keith Packard
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = fc-cache$(EXEEXT)
+@USEDOCBOOK_TRUE@am__append_1 = ${man_MANS}
+subdir = fc-cache
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
+PROGRAMS = $(bin_PROGRAMS)
+fc_cache_SOURCES = fc-cache.c
+fc_cache_OBJECTS = fc-cache.$(OBJEXT)
+fc_cache_DEPENDENCIES = ${top_builddir}/src/libfontconfig.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = fc-cache.c
+DIST_SOURCES = fc-cache.c
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(man_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+DOC2MAN = docbook2man
+FC_CACHE_SRC = ${top_srcdir}/fc-cache
+SGML = ${FC_CACHE_SRC}/fc-cache.sgml
+AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/src $(WARN_CFLAGS)
+BUILT_MANS = fc-cache.1
+@ENABLE_DOCS_TRUE@man_MANS = ${BUILT_MANS}
+EXTRA_DIST = fc-cache.sgml $(BUILT_MANS)
+CLEANFILES = $(am__append_1)
+fc_cache_LDADD = ${top_builddir}/src/libfontconfig.la
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-cache/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu fc-cache/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+fc-cache$(EXEEXT): $(fc_cache_OBJECTS) $(fc_cache_DEPENDENCIES) $(EXTRA_fc_cache_DEPENDENCIES)
+ @rm -f fc-cache$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fc_cache_OBJECTS) $(fc_cache_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fc-cache.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man1: $(man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS) $(MANS) all-local
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+@OS_WIN32_TRUE@uninstall-local:
+@OS_WIN32_TRUE@install-data-local:
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-local uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-data-local install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-man1 install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am uninstall-binPROGRAMS uninstall-local \
+ uninstall-man uninstall-man1
+
+
+@OS_WIN32_FALSE@install-data-local:
+@OS_WIN32_FALSE@ -$(mkinstalldirs) "$(DESTDIR)$(fc_cachedir)"
+
+@OS_WIN32_FALSE@uninstall-local:
+@OS_WIN32_FALSE@ -$(RM) -rf "$(DESTDIR)$(fc_cachedir)"
+
+@USEDOCBOOK_TRUE@${man_MANS}: ${SGML}
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(RM) $@; \
+@USEDOCBOOK_TRUE@ $(DOC2MAN) ${SGML}; \
+@USEDOCBOOK_TRUE@ $(RM) manpage.*
+
+@USEDOCBOOK_TRUE@all-local: $(man_MANS)
+@USEDOCBOOK_FALSE@all-local:
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/fc-cache/fc-cache.1 b/fc-cache/fc-cache.1
new file mode 100644
index 00000000..e514779b
--- /dev/null
+++ b/fc-cache/fc-cache.1
@@ -0,0 +1,85 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FC-CACHE" "1" "Aug 13, 2008" "" ""
+.SH NAME
+fc-cache \- build font information cache files
+.SH SYNOPSIS
+.sp
+\fBfc-cache\fR [ \fB-EfrsvVh\fR ] [ \fB--error-on-no-fonts\fR ] [ \fB--force\fR ] [ \fB--really-force\fR ] [ \fB [ -y \fIdir\fB ] [ --sysroot \fIdir\fB ] \fR ] [ \fB--system-only\fR ] [ \fB--verbose\fR ] [ \fB--version\fR ] [ \fB--help\fR ] [ \fB\fIdir\fB\fR\fI...\fR ]
+.SH "DESCRIPTION"
+.PP
+\fBfc-cache\fR scans the font directories on
+the system and builds font information cache files for
+applications using fontconfig for their font handling.
+.PP
+If directory arguments are not given,
+\fBfc-cache\fR uses each directory in the
+current font configuration. Each directory is scanned for
+font files readable by FreeType. A cache is created which
+contains properties of each font and the associated filename.
+This cache is used to speed up application startup when using
+the fontconfig library.
+.PP
+Note that \fBfc-cache\fR must be executed
+once per architecture to generate font information customized
+for that architecture.
+.SH "OPTIONS"
+.PP
+This program follows the usual GNU command line syntax,
+with long options starting with two dashes (`-'). A summary of
+options is included below.
+.TP
+\fB-E\fR
+Raise an error if there are no fonts in
+\fB\fIdir\fB\fR or directories
+in the configuration if not given.
+.TP
+\fB-f\fR
+Force re-generation of apparently up-to-date cache files,
+overriding the timestamp checking.
+.TP
+\fB-r\fR
+Erase all existing cache files and rescan.
+.TP
+\fB-s\fR
+Only scan system-wide directories, omitting the places
+located in the user's home directory.
+.TP
+\fB-v\fR
+Display status information while busy.
+.TP
+\fB-y\fR
+Prepend \fB\fIdir\fB\fR to all paths for scanning.
+.TP
+\fB-h\fR
+Show summary of options.
+.TP
+\fB-V\fR
+Show version of the program and exit.
+.TP
+\fB\fIdir\fB\fR
+Directory to scan for fonts.
+.SH "RETURN CODES"
+.PP
+\fBfc-cache\fR returns zero if the caches successfully generated. otherwise non-zero.
+.SH "FILES"
+.TP
+\fB\fI%cachedir%/*-%arch%\&.cache-%version%\fB\fR
+These files are generated by \fBfc-cache\fR
+and contain maps from file names to font properties. They are
+read by the fontconfig library at application startup to locate
+appropriate fonts.
+.SH "SEE ALSO"
+.PP
+\fBfc-cat\fR(1)
+\fBfc-list\fR(1)
+\fBfc-match\fR(1)
+\fBfc-pattern\fR(1)
+\fBfc-query\fR(1)
+\fBfc-scan\fR(1)
+.PP
+The fontconfig user's guide, in HTML format:
+\fI/usr/share/doc/fontconfig/fontconfig-user.html\fR\&.
+.SH "AUTHOR"
+.PP
+This manual page was written by Keith Packard
+<keithp@keithp.com> and Josselin Mouette <joss@debian.org>\&.
diff --git a/fc-cache/fc-cache.c b/fc-cache/fc-cache.c
index 99e0e9f4..18cd6c5d 100644
--- a/fc-cache/fc-cache.c
+++ b/fc-cache/fc-cache.c
@@ -65,6 +65,7 @@
#define _GNU_SOURCE
#include <getopt.h>
const struct option longopts[] = {
+ {"error-on-no-fonts", 0, 0, 'E'},
{"force", 0, 0, 'f'},
{"really-force", 0, 0, 'r'},
{"sysroot", required_argument, 0, 'y'},
@@ -86,16 +87,17 @@ usage (char *program, int error)
{
FILE *file = error ? stderr : stdout;
#if HAVE_GETOPT_LONG
- fprintf (file, "usage: %s [-frsvVh] [-y SYSROOT] [--force|--really-force] [--sysroot=SYSROOT] [--system-only] [--verbose] [--version] [--help] [dirs]\n",
+ fprintf (file, "usage: %s [-EfrsvVh] [-y SYSROOT] [--error-on-no-fonts] [--force|--really-force] [--sysroot=SYSROOT] [--system-only] [--verbose] [--version] [--help] [dirs]\n",
program);
#else
- fprintf (file, "usage: %s [-frsvVh] [-y SYSROOT] [dirs]\n",
+ fprintf (file, "usage: %s [-EfrsvVh] [-y SYSROOT] [dirs]\n",
program);
#endif
fprintf (file, "Build font information caches in [dirs]\n"
"(all directories in font configuration by default).\n");
fprintf (file, "\n");
#if HAVE_GETOPT_LONG
+ fprintf (file, " -E, --error-on-no-fonts raise an error if no fonts in a directory\n");
fprintf (file, " -f, --force scan directories with apparently valid caches\n");
fprintf (file, " -r, --really-force erase all existing caches, then rescan\n");
fprintf (file, " -s, --system-only scan system-wide directories only\n");
@@ -104,6 +106,8 @@ usage (char *program, int error)
fprintf (file, " -V, --version display font config version and exit\n");
fprintf (file, " -h, --help display this help and exit\n");
#else
+ fprintf (file, " -E (error-on-no-fonts)\n");
+ fprintf (file, " raise an error if no fonts in a directory\n");
fprintf (file, " -f (force) scan directories with apparently valid caches\n");
fprintf (file, " -r, (really force) erase all existing caches, then rescan\n");
fprintf (file, " -s (system) scan system-wide directories only\n");
@@ -118,7 +122,7 @@ usage (char *program, int error)
static FcStrSet *processed_dirs;
static int
-scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force, FcBool verbose, FcBool recursive, int *changed, FcStrSet *updateDirs)
+scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force, FcBool verbose, FcBool recursive, FcBool error_on_no_fonts, int *changed, FcStrSet *updateDirs)
{
int ret = 0;
const FcChar8 *dir;
@@ -126,9 +130,10 @@ scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force,
FcStrList *sublist;
FcCache *cache;
struct stat statb;
- FcBool was_valid;
+ FcBool was_valid, was_processed = FcFalse;
int i;
-
+ const FcChar8 *sysroot = FcConfigGetSysRoot (config);
+
/*
* Now scan all of the directories into separate databases
* and write out the results
@@ -138,9 +143,10 @@ scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force,
if (verbose)
{
if (!recursive)
- printf ("Re-scanning %s: ", dir);
- else
- printf ("%s: ", dir);
+ printf ("Re-scanning ");
+ if (sysroot)
+ printf ("[%s]", sysroot);
+ printf ("%s: ", dir);
fflush (stdout);
}
@@ -173,6 +179,7 @@ scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force,
fprintf (stderr, "\"%s\": not a directory, skipping\n", dir);
continue;
}
+ was_processed = FcTrue;
if (really_force)
FcDirCacheUnlink (dir, config);
@@ -248,12 +255,14 @@ scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force,
continue;
}
FcStrSetAdd (processed_dirs, dir);
- ret += scanDirs (sublist, config, force, really_force, verbose, recursive, changed, updateDirs);
+ ret += scanDirs (sublist, config, force, really_force, verbose, recursive, error_on_no_fonts, changed, updateDirs);
FcStrListDone (sublist);
}
else
FcDirCacheUnload (cache);
}
+ if (error_on_no_fonts && !was_processed)
+ ret++;
return ret;
}
@@ -287,6 +296,7 @@ main (int argc, char **argv)
FcBool force = FcFalse;
FcBool really_force = FcFalse;
FcBool systemOnly = FcFalse;
+ FcBool error_on_no_fonts = FcFalse;
FcConfig *config;
FcChar8 *sysroot = NULL;
int i;
@@ -296,12 +306,15 @@ main (int argc, char **argv)
int c;
#if HAVE_GETOPT_LONG
- while ((c = getopt_long (argc, argv, "frsy:Vvh", longopts, NULL)) != -1)
+ while ((c = getopt_long (argc, argv, "Efrsy:Vvh", longopts, NULL)) != -1)
#else
- while ((c = getopt (argc, argv, "frsy:Vvh")) != -1)
+ while ((c = getopt (argc, argv, "Efrsy:Vvh")) != -1)
#endif
{
switch (c) {
+ case 'E':
+ error_on_no_fonts = FcTrue;
+ break;
case 'r':
really_force = FcTrue;
/* fall through */
@@ -382,13 +395,13 @@ main (int argc, char **argv)
updateDirs = FcStrSetCreate ();
changed = 0;
- ret = scanDirs (list, config, force, really_force, verbose, FcTrue, &changed, updateDirs);
+ ret = scanDirs (list, config, force, really_force, verbose, FcTrue, error_on_no_fonts, &changed, updateDirs);
/* Update the directory cache again to avoid the race condition as much as possible */
FcStrListDone (list);
list = FcStrListCreate (updateDirs);
if (list)
{
- ret += scanDirs (list, config, FcTrue, really_force, verbose, FcFalse, &changed, NULL);
+ ret += scanDirs (list, config, FcTrue, FcFalse, verbose, FcFalse, error_on_no_fonts, &changed, NULL);
FcStrListDone (list);
}
FcStrSetDestroy (updateDirs);
diff --git a/fc-cache/fc-cache.sgml b/fc-cache/fc-cache.sgml
index 3740be77..5ae01076 100644
--- a/fc-cache/fc-cache.sgml
+++ b/fc-cache/fc-cache.sgml
@@ -63,9 +63,14 @@ manpage.1: manpage.sgml
<cmdsynopsis>
<command>&dhpackage;</command>
- <arg><option>-frsvVh</option></arg>
+ <arg><option>-EfrsvVh</option></arg>
+ <arg><option>--error-on-no-fonts</option></arg>
<arg><option>--force</option></arg>
<arg><option>--really-force</option></arg>
+ <group>
+ <arg><option>-y</option> <option><replaceable>dir</replaceable></option></arg>
+ <arg><option>--sysroot</option> <option><replaceable>dir</replaceable></option></arg>
+ </group>
<arg><option>--system-only</option></arg>
<arg><option>--verbose</option></arg>
<arg><option>--version</option></arg>
@@ -103,6 +108,16 @@ manpage.1: manpage.sgml
<variablelist>
<varlistentry>
+ <term><option>-E</option>
+ <option>--error-on-no-fonts</option>
+ </term>
+ <listitem>
+ <para>Raise an error if there are no fonts in
+ <option><replaceable>dir</replaceable></option> or directories
+ in the configuration if not given.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><option>-f</option>
<option>--force</option>
</term>
@@ -137,6 +152,15 @@ manpage.1: manpage.sgml
</listitem>
</varlistentry>
<varlistentry>
+ <term><option>-y</option>
+ <option>-sysroot</option>
+ <option><replaceable>dir</replaceable></option>
+ </term>
+ <listitem>
+ <para>Prepend <option><replaceable>dir</replaceable></option> to all paths for scanning.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><option>-h</option>
<option>--help</option>
</term>
@@ -163,10 +187,15 @@ manpage.1: manpage.sgml
</refsect1>
<refsect1>
+ <title>RETURN CODES</title>
+ <para><command>fc-cache</command> returns zero if the caches successfully generated. otherwise non-zero.</para>
+ </refsect1>
+
+ <refsect1>
<title>FILES</title>
<variablelist>
<varlistentry>
- <term><filename><replaceable>%cachdir%</replaceable>/*-<replaceable>%arch%</replaceable>.cache-2</filename></term>
+ <term><filename><replaceable>%cachedir%</replaceable>/*-<replaceable>%arch%</replaceable>.cache-%version%</filename></term>
<listitem>
<para>These files are generated by <command>&dhpackage;</command>
and contain maps from file names to font properties. They are
diff --git a/fc-case/CaseFolding.txt b/fc-case/CaseFolding.txt
index cf5779f4..13c10a6c 100644
--- a/fc-case/CaseFolding.txt
+++ b/fc-case/CaseFolding.txt
@@ -1,8 +1,8 @@
-# CaseFolding-6.3.0.txt
-# Date: 2012-12-20, 22:14:35 GMT [MD]
+# CaseFolding-7.0.0.txt
+# Date: 2014-04-09, 20:00:56 GMT [MD]
#
# Unicode Character Database
-# Copyright (c) 1991-2013 Unicode, Inc.
+# Copyright (c) 1991-2014 Unicode, Inc.
# For terms of use, see http://www.unicode.org/terms_of_use.html
# For documentation, see http://www.unicode.org/reports/tr44/
#
@@ -25,7 +25,7 @@
#
# For information on case folding, including how to have case folding
# preserve normalization formats, see Section 3.13 Default Case Algorithms in
-# The Unicode Standard, Version 5.0.
+# The Unicode Standard.
#
# ================================================================================
# Format
@@ -58,8 +58,6 @@
# All code points not explicitly listed for Case_Folding
# have the value C for the status field, and the code point itself for the mapping field.
-# @missing: 0000..10FFFF; C; <code point>
-
# =================================================================
0041; C; 0061; # LATIN CAPITAL LETTER A
0042; C; 0062; # LATIN CAPITAL LETTER B
@@ -298,6 +296,7 @@
0370; C; 0371; # GREEK CAPITAL LETTER HETA
0372; C; 0373; # GREEK CAPITAL LETTER ARCHAIC SAMPI
0376; C; 0377; # GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
+037F; C; 03F3; # GREEK CAPITAL LETTER YOT
0386; C; 03AC; # GREEK CAPITAL LETTER ALPHA WITH TONOS
0388; C; 03AD; # GREEK CAPITAL LETTER EPSILON WITH TONOS
0389; C; 03AE; # GREEK CAPITAL LETTER ETA WITH TONOS
@@ -505,6 +504,10 @@
0522; C; 0523; # CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
0524; C; 0525; # CYRILLIC CAPITAL LETTER PE WITH DESCENDER
0526; C; 0527; # CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
+0528; C; 0529; # CYRILLIC CAPITAL LETTER EN WITH LEFT HOOK
+052A; C; 052B; # CYRILLIC CAPITAL LETTER DZZHE
+052C; C; 052D; # CYRILLIC CAPITAL LETTER DCHE
+052E; C; 052F; # CYRILLIC CAPITAL LETTER EL WITH DESCENDER
0531; C; 0561; # ARMENIAN CAPITAL LETTER AYB
0532; C; 0562; # ARMENIAN CAPITAL LETTER BEN
0533; C; 0563; # ARMENIAN CAPITAL LETTER GIM
@@ -1088,6 +1091,8 @@ A690; C; A691; # CYRILLIC CAPITAL LETTER TSSE
A692; C; A693; # CYRILLIC CAPITAL LETTER TCHE
A694; C; A695; # CYRILLIC CAPITAL LETTER HWE
A696; C; A697; # CYRILLIC CAPITAL LETTER SHWE
+A698; C; A699; # CYRILLIC CAPITAL LETTER DOUBLE O
+A69A; C; A69B; # CYRILLIC CAPITAL LETTER CROSSED O
A722; C; A723; # LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
A724; C; A725; # LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
A726; C; A727; # LATIN CAPITAL LETTER HENG
@@ -1138,12 +1143,22 @@ A78B; C; A78C; # LATIN CAPITAL LETTER SALTILLO
A78D; C; 0265; # LATIN CAPITAL LETTER TURNED H
A790; C; A791; # LATIN CAPITAL LETTER N WITH DESCENDER
A792; C; A793; # LATIN CAPITAL LETTER C WITH BAR
+A796; C; A797; # LATIN CAPITAL LETTER B WITH FLOURISH
+A798; C; A799; # LATIN CAPITAL LETTER F WITH STROKE
+A79A; C; A79B; # LATIN CAPITAL LETTER VOLAPUK AE
+A79C; C; A79D; # LATIN CAPITAL LETTER VOLAPUK OE
+A79E; C; A79F; # LATIN CAPITAL LETTER VOLAPUK UE
A7A0; C; A7A1; # LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
A7A2; C; A7A3; # LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
A7A4; C; A7A5; # LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
A7A6; C; A7A7; # LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
A7A8; C; A7A9; # LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
A7AA; C; 0266; # LATIN CAPITAL LETTER H WITH HOOK
+A7AB; C; 025C; # LATIN CAPITAL LETTER REVERSED OPEN E
+A7AC; C; 0261; # LATIN CAPITAL LETTER SCRIPT G
+A7AD; C; 026C; # LATIN CAPITAL LETTER L WITH BELT
+A7B0; C; 029E; # LATIN CAPITAL LETTER TURNED K
+A7B1; C; 0287; # LATIN CAPITAL LETTER TURNED T
FB00; F; 0066 0066; # LATIN SMALL LIGATURE FF
FB01; F; 0066 0069; # LATIN SMALL LIGATURE FI
FB02; F; 0066 006C; # LATIN SMALL LIGATURE FL
@@ -1222,5 +1237,37 @@ FF3A; C; FF5A; # FULLWIDTH LATIN CAPITAL LETTER Z
10425; C; 1044D; # DESERET CAPITAL LETTER ENG
10426; C; 1044E; # DESERET CAPITAL LETTER OI
10427; C; 1044F; # DESERET CAPITAL LETTER EW
+118A0; C; 118C0; # WARANG CITI CAPITAL LETTER NGAA
+118A1; C; 118C1; # WARANG CITI CAPITAL LETTER A
+118A2; C; 118C2; # WARANG CITI CAPITAL LETTER WI
+118A3; C; 118C3; # WARANG CITI CAPITAL LETTER YU
+118A4; C; 118C4; # WARANG CITI CAPITAL LETTER YA
+118A5; C; 118C5; # WARANG CITI CAPITAL LETTER YO
+118A6; C; 118C6; # WARANG CITI CAPITAL LETTER II
+118A7; C; 118C7; # WARANG CITI CAPITAL LETTER UU
+118A8; C; 118C8; # WARANG CITI CAPITAL LETTER E
+118A9; C; 118C9; # WARANG CITI CAPITAL LETTER O
+118AA; C; 118CA; # WARANG CITI CAPITAL LETTER ANG
+118AB; C; 118CB; # WARANG CITI CAPITAL LETTER GA
+118AC; C; 118CC; # WARANG CITI CAPITAL LETTER KO
+118AD; C; 118CD; # WARANG CITI CAPITAL LETTER ENY
+118AE; C; 118CE; # WARANG CITI CAPITAL LETTER YUJ
+118AF; C; 118CF; # WARANG CITI CAPITAL LETTER UC
+118B0; C; 118D0; # WARANG CITI CAPITAL LETTER ENN
+118B1; C; 118D1; # WARANG CITI CAPITAL LETTER ODD
+118B2; C; 118D2; # WARANG CITI CAPITAL LETTER TTE
+118B3; C; 118D3; # WARANG CITI CAPITAL LETTER NUNG
+118B4; C; 118D4; # WARANG CITI CAPITAL LETTER DA
+118B5; C; 118D5; # WARANG CITI CAPITAL LETTER AT
+118B6; C; 118D6; # WARANG CITI CAPITAL LETTER AM
+118B7; C; 118D7; # WARANG CITI CAPITAL LETTER BU
+118B8; C; 118D8; # WARANG CITI CAPITAL LETTER PU
+118B9; C; 118D9; # WARANG CITI CAPITAL LETTER HIYO
+118BA; C; 118DA; # WARANG CITI CAPITAL LETTER HOLO
+118BB; C; 118DB; # WARANG CITI CAPITAL LETTER HORR
+118BC; C; 118DC; # WARANG CITI CAPITAL LETTER HAR
+118BD; C; 118DD; # WARANG CITI CAPITAL LETTER SSUU
+118BE; C; 118DE; # WARANG CITI CAPITAL LETTER SII
+118BF; C; 118DF; # WARANG CITI CAPITAL LETTER VIYO
#
# EOF
diff --git a/fc-case/Makefile.in b/fc-case/Makefile.in
new file mode 100644
index 00000000..d6cccb50
--- /dev/null
+++ b/fc-case/Makefile.in
@@ -0,0 +1,641 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# -*- encoding: utf-8 -*-
+#
+# Copyright © 2003 Keith Packard
+# Copyright © 2013 Google, Inc.
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+#
+# Google Author(s): Behdad Esfahbod
+
+# -*- encoding: utf-8 -*-
+#
+# Copyright © 2003 Keith Packard
+# Copyright © 2013 Google, Inc.
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+#
+# Google Author(s): Behdad Esfahbod
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(top_srcdir)/Tools.mk $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am $(noinst_HEADERS)
+subdir = fc-case
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+TAG = case
+DEPS = $(srcdir)/CaseFolding.txt
+ARGS = $(srcdir)/CaseFolding.txt
+DIST = $(srcdir)/CaseFolding.txt
+DIR = fc-$(TAG)
+OUT = fc$(TAG)
+TMPL = $(OUT).tmpl.h
+TARG = $(OUT).h
+TSRC = $(DIR).c
+TOOL = ./$(DIR)$(EXEEXT_FOR_BUILD)
+EXTRA_DIST = $(TARG) $(TMPL) $(TSRC) $(DIST)
+AM_CPPFLAGS = \
+ -I$(builddir) \
+ -I$(srcdir) \
+ -I$(top_builddir)/src \
+ -I$(top_srcdir)/src \
+ -I$(top_builddir) \
+ -I$(top_srcdir) \
+ -DHAVE_CONFIG_H \
+ $(WARN_CFLAGS)
+
+noinst_HEADERS = $(TARG)
+ALIAS_FILES = fcalias.h fcaliastail.h
+BUILT_SOURCES = $(ALIAS_FILES)
+CLEANFILES = $(ALIAS_FILES) $(TOOL)
+MAINTAINERCLEANFILES = $(TARG)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/Tools.mk $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-case/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu fc-case/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+$(top_srcdir)/Tools.mk:
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(HEADERS)
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: all check install install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool cscopelist-am ctags ctags-am distclean \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am
+
+
+$(TOOL): $(TSRC) $(ALIAS_FILES)
+ $(AM_V_GEN) $(CC_FOR_BUILD) -o $(TOOL) $< $(AM_CPPFLAGS)
+
+$(TARG): $(TMPL) $(TSRC) $(DEPS)
+ $(AM_V_GEN) $(MAKE) $(TOOL) && \
+ $(RM) $(TARG) && \
+ $(TOOL) $(ARGS) < $< > $(TARG).tmp && \
+ mv $(TARG).tmp $(TARG) || ( $(RM) $(TARG).tmp && false )
+
+$(ALIAS_FILES):
+ $(AM_V_GEN) touch $@
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/fc-case/fccase.h b/fc-case/fccase.h
new file mode 100644
index 00000000..3df563ec
--- /dev/null
+++ b/fc-case/fccase.h
@@ -0,0 +1,337 @@
+/*
+ * fontconfig/fc-case/fccase.tmpl.h
+ *
+ * Copyright © 2003 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. The authors make no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#define FC_NUM_CASE_FOLD 271
+#define FC_NUM_CASE_FOLD_CHARS 471
+#define FC_MAX_CASE_FOLD_CHARS 6
+#define FC_MAX_CASE_FOLD_EXPAND 4
+#define FC_MIN_FOLD_CHAR 0x00000041
+#define FC_MAX_FOLD_CHAR 0x000118bf
+
+static const FcCaseFold fcCaseFold[FC_NUM_CASE_FOLD] = {
+ { 0x00000041, FC_CASE_FOLD_RANGE, 0x001a, 32 },
+ { 0x000000b5, FC_CASE_FOLD_RANGE, 0x0001, 775 },
+ { 0x000000c0, FC_CASE_FOLD_RANGE, 0x0017, 32 },
+ { 0x000000d8, FC_CASE_FOLD_RANGE, 0x0007, 32 },
+ { 0x000000df, FC_CASE_FOLD_FULL, 0x0002, 0 },
+ { 0x00000100, FC_CASE_FOLD_EVEN_ODD, 0x002f, 1 },
+ { 0x00000130, FC_CASE_FOLD_FULL, 0x0003, 2 },
+ { 0x00000132, FC_CASE_FOLD_EVEN_ODD, 0x0005, 1 },
+ { 0x00000139, FC_CASE_FOLD_EVEN_ODD, 0x000f, 1 },
+ { 0x00000149, FC_CASE_FOLD_FULL, 0x0003, 5 },
+ { 0x0000014a, FC_CASE_FOLD_EVEN_ODD, 0x002d, 1 },
+ { 0x00000178, FC_CASE_FOLD_RANGE, 0x0001, -121 },
+ { 0x00000179, FC_CASE_FOLD_EVEN_ODD, 0x0005, 1 },
+ { 0x0000017f, FC_CASE_FOLD_RANGE, 0x0001, -268 },
+ { 0x00000181, FC_CASE_FOLD_RANGE, 0x0001, 210 },
+ { 0x00000182, FC_CASE_FOLD_EVEN_ODD, 0x0003, 1 },
+ { 0x00000186, FC_CASE_FOLD_RANGE, 0x0001, 206 },
+ { 0x00000187, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x00000189, FC_CASE_FOLD_RANGE, 0x0002, 205 },
+ { 0x0000018b, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x0000018e, FC_CASE_FOLD_RANGE, 0x0001, 79 },
+ { 0x0000018f, FC_CASE_FOLD_RANGE, 0x0001, 202 },
+ { 0x00000190, FC_CASE_FOLD_RANGE, 0x0001, 203 },
+ { 0x00000191, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x00000193, FC_CASE_FOLD_RANGE, 0x0001, 205 },
+ { 0x00000194, FC_CASE_FOLD_RANGE, 0x0001, 207 },
+ { 0x00000196, FC_CASE_FOLD_RANGE, 0x0001, 211 },
+ { 0x00000197, FC_CASE_FOLD_RANGE, 0x0001, 209 },
+ { 0x00000198, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x0000019c, FC_CASE_FOLD_RANGE, 0x0001, 211 },
+ { 0x0000019d, FC_CASE_FOLD_RANGE, 0x0001, 213 },
+ { 0x0000019f, FC_CASE_FOLD_RANGE, 0x0001, 214 },
+ { 0x000001a0, FC_CASE_FOLD_EVEN_ODD, 0x0005, 1 },
+ { 0x000001a6, FC_CASE_FOLD_RANGE, 0x0001, 218 },
+ { 0x000001a7, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x000001a9, FC_CASE_FOLD_RANGE, 0x0001, 218 },
+ { 0x000001ac, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x000001ae, FC_CASE_FOLD_RANGE, 0x0001, 218 },
+ { 0x000001af, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x000001b1, FC_CASE_FOLD_RANGE, 0x0002, 217 },
+ { 0x000001b3, FC_CASE_FOLD_EVEN_ODD, 0x0003, 1 },
+ { 0x000001b7, FC_CASE_FOLD_RANGE, 0x0001, 219 },
+ { 0x000001b8, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x000001bc, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x000001c4, FC_CASE_FOLD_RANGE, 0x0001, 2 },
+ { 0x000001c5, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x000001c7, FC_CASE_FOLD_RANGE, 0x0001, 2 },
+ { 0x000001c8, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x000001ca, FC_CASE_FOLD_RANGE, 0x0001, 2 },
+ { 0x000001cb, FC_CASE_FOLD_EVEN_ODD, 0x0011, 1 },
+ { 0x000001de, FC_CASE_FOLD_EVEN_ODD, 0x0011, 1 },
+ { 0x000001f0, FC_CASE_FOLD_FULL, 0x0003, 8 },
+ { 0x000001f1, FC_CASE_FOLD_RANGE, 0x0001, 2 },
+ { 0x000001f2, FC_CASE_FOLD_EVEN_ODD, 0x0003, 1 },
+ { 0x000001f6, FC_CASE_FOLD_RANGE, 0x0001, -97 },
+ { 0x000001f7, FC_CASE_FOLD_RANGE, 0x0001, -56 },
+ { 0x000001f8, FC_CASE_FOLD_EVEN_ODD, 0x0027, 1 },
+ { 0x00000220, FC_CASE_FOLD_RANGE, 0x0001, -130 },
+ { 0x00000222, FC_CASE_FOLD_EVEN_ODD, 0x0011, 1 },
+ { 0x0000023a, FC_CASE_FOLD_RANGE, 0x0001, 10795 },
+ { 0x0000023b, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x0000023d, FC_CASE_FOLD_RANGE, 0x0001, -163 },
+ { 0x0000023e, FC_CASE_FOLD_RANGE, 0x0001, 10792 },
+ { 0x00000241, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x00000243, FC_CASE_FOLD_RANGE, 0x0001, -195 },
+ { 0x00000244, FC_CASE_FOLD_RANGE, 0x0001, 69 },
+ { 0x00000245, FC_CASE_FOLD_RANGE, 0x0001, 71 },
+ { 0x00000246, FC_CASE_FOLD_EVEN_ODD, 0x0009, 1 },
+ { 0x00000345, FC_CASE_FOLD_RANGE, 0x0001, 116 },
+ { 0x00000370, FC_CASE_FOLD_EVEN_ODD, 0x0003, 1 },
+ { 0x00000376, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x0000037f, FC_CASE_FOLD_RANGE, 0x0001, 116 },
+ { 0x00000386, FC_CASE_FOLD_RANGE, 0x0001, 38 },
+ { 0x00000388, FC_CASE_FOLD_RANGE, 0x0003, 37 },
+ { 0x0000038c, FC_CASE_FOLD_RANGE, 0x0001, 64 },
+ { 0x0000038e, FC_CASE_FOLD_RANGE, 0x0002, 63 },
+ { 0x00000390, FC_CASE_FOLD_FULL, 0x0006, 11 },
+ { 0x00000391, FC_CASE_FOLD_RANGE, 0x0011, 32 },
+ { 0x000003a3, FC_CASE_FOLD_RANGE, 0x0009, 32 },
+ { 0x000003b0, FC_CASE_FOLD_FULL, 0x0006, 17 },
+ { 0x000003c2, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x000003cf, FC_CASE_FOLD_RANGE, 0x0001, 8 },
+ { 0x000003d0, FC_CASE_FOLD_RANGE, 0x0001, -30 },
+ { 0x000003d1, FC_CASE_FOLD_RANGE, 0x0001, -25 },
+ { 0x000003d5, FC_CASE_FOLD_RANGE, 0x0001, -15 },
+ { 0x000003d6, FC_CASE_FOLD_RANGE, 0x0001, -22 },
+ { 0x000003d8, FC_CASE_FOLD_EVEN_ODD, 0x0017, 1 },
+ { 0x000003f0, FC_CASE_FOLD_RANGE, 0x0001, -54 },
+ { 0x000003f1, FC_CASE_FOLD_RANGE, 0x0001, -48 },
+ { 0x000003f4, FC_CASE_FOLD_RANGE, 0x0001, -60 },
+ { 0x000003f5, FC_CASE_FOLD_RANGE, 0x0001, -64 },
+ { 0x000003f7, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x000003f9, FC_CASE_FOLD_RANGE, 0x0001, -7 },
+ { 0x000003fa, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x000003fd, FC_CASE_FOLD_RANGE, 0x0003, -130 },
+ { 0x00000400, FC_CASE_FOLD_RANGE, 0x0010, 80 },
+ { 0x00000410, FC_CASE_FOLD_RANGE, 0x0020, 32 },
+ { 0x00000460, FC_CASE_FOLD_EVEN_ODD, 0x0021, 1 },
+ { 0x0000048a, FC_CASE_FOLD_EVEN_ODD, 0x0035, 1 },
+ { 0x000004c0, FC_CASE_FOLD_RANGE, 0x0001, 15 },
+ { 0x000004c1, FC_CASE_FOLD_EVEN_ODD, 0x000d, 1 },
+ { 0x000004d0, FC_CASE_FOLD_EVEN_ODD, 0x005f, 1 },
+ { 0x00000531, FC_CASE_FOLD_RANGE, 0x0026, 48 },
+ { 0x00000587, FC_CASE_FOLD_FULL, 0x0004, 23 },
+ { 0x000010a0, FC_CASE_FOLD_RANGE, 0x0026, 7264 },
+ { 0x000010c7, FC_CASE_FOLD_RANGE, 0x0001, 7264 },
+ { 0x000010cd, FC_CASE_FOLD_RANGE, 0x0001, 7264 },
+ { 0x00001e00, FC_CASE_FOLD_EVEN_ODD, 0x0095, 1 },
+ { 0x00001e96, FC_CASE_FOLD_FULL, 0x0003, 27 },
+ { 0x00001e97, FC_CASE_FOLD_FULL, 0x0003, 30 },
+ { 0x00001e98, FC_CASE_FOLD_FULL, 0x0003, 33 },
+ { 0x00001e99, FC_CASE_FOLD_FULL, 0x0003, 36 },
+ { 0x00001e9a, FC_CASE_FOLD_FULL, 0x0003, 39 },
+ { 0x00001e9b, FC_CASE_FOLD_RANGE, 0x0001, -58 },
+ { 0x00001e9e, FC_CASE_FOLD_FULL, 0x0002, 42 },
+ { 0x00001ea0, FC_CASE_FOLD_EVEN_ODD, 0x005f, 1 },
+ { 0x00001f08, FC_CASE_FOLD_RANGE, 0x0008, -8 },
+ { 0x00001f18, FC_CASE_FOLD_RANGE, 0x0006, -8 },
+ { 0x00001f28, FC_CASE_FOLD_RANGE, 0x0008, -8 },
+ { 0x00001f38, FC_CASE_FOLD_RANGE, 0x0008, -8 },
+ { 0x00001f48, FC_CASE_FOLD_RANGE, 0x0006, -8 },
+ { 0x00001f50, FC_CASE_FOLD_FULL, 0x0004, 44 },
+ { 0x00001f52, FC_CASE_FOLD_FULL, 0x0006, 48 },
+ { 0x00001f54, FC_CASE_FOLD_FULL, 0x0006, 54 },
+ { 0x00001f56, FC_CASE_FOLD_FULL, 0x0006, 60 },
+ { 0x00001f59, FC_CASE_FOLD_RANGE, 0x0001, -8 },
+ { 0x00001f5b, FC_CASE_FOLD_RANGE, 0x0001, -8 },
+ { 0x00001f5d, FC_CASE_FOLD_RANGE, 0x0001, -8 },
+ { 0x00001f5f, FC_CASE_FOLD_RANGE, 0x0001, -8 },
+ { 0x00001f68, FC_CASE_FOLD_RANGE, 0x0008, -8 },
+ { 0x00001f80, FC_CASE_FOLD_FULL, 0x0005, 66 },
+ { 0x00001f81, FC_CASE_FOLD_FULL, 0x0005, 71 },
+ { 0x00001f82, FC_CASE_FOLD_FULL, 0x0005, 76 },
+ { 0x00001f83, FC_CASE_FOLD_FULL, 0x0005, 81 },
+ { 0x00001f84, FC_CASE_FOLD_FULL, 0x0005, 86 },
+ { 0x00001f85, FC_CASE_FOLD_FULL, 0x0005, 91 },
+ { 0x00001f86, FC_CASE_FOLD_FULL, 0x0005, 96 },
+ { 0x00001f87, FC_CASE_FOLD_FULL, 0x0005, 101 },
+ { 0x00001f88, FC_CASE_FOLD_FULL, 0x0005, 106 },
+ { 0x00001f89, FC_CASE_FOLD_FULL, 0x0005, 111 },
+ { 0x00001f8a, FC_CASE_FOLD_FULL, 0x0005, 116 },
+ { 0x00001f8b, FC_CASE_FOLD_FULL, 0x0005, 121 },
+ { 0x00001f8c, FC_CASE_FOLD_FULL, 0x0005, 126 },
+ { 0x00001f8d, FC_CASE_FOLD_FULL, 0x0005, 131 },
+ { 0x00001f8e, FC_CASE_FOLD_FULL, 0x0005, 136 },
+ { 0x00001f8f, FC_CASE_FOLD_FULL, 0x0005, 141 },
+ { 0x00001f90, FC_CASE_FOLD_FULL, 0x0005, 146 },
+ { 0x00001f91, FC_CASE_FOLD_FULL, 0x0005, 151 },
+ { 0x00001f92, FC_CASE_FOLD_FULL, 0x0005, 156 },
+ { 0x00001f93, FC_CASE_FOLD_FULL, 0x0005, 161 },
+ { 0x00001f94, FC_CASE_FOLD_FULL, 0x0005, 166 },
+ { 0x00001f95, FC_CASE_FOLD_FULL, 0x0005, 171 },
+ { 0x00001f96, FC_CASE_FOLD_FULL, 0x0005, 176 },
+ { 0x00001f97, FC_CASE_FOLD_FULL, 0x0005, 181 },
+ { 0x00001f98, FC_CASE_FOLD_FULL, 0x0005, 186 },
+ { 0x00001f99, FC_CASE_FOLD_FULL, 0x0005, 191 },
+ { 0x00001f9a, FC_CASE_FOLD_FULL, 0x0005, 196 },
+ { 0x00001f9b, FC_CASE_FOLD_FULL, 0x0005, 201 },
+ { 0x00001f9c, FC_CASE_FOLD_FULL, 0x0005, 206 },
+ { 0x00001f9d, FC_CASE_FOLD_FULL, 0x0005, 211 },
+ { 0x00001f9e, FC_CASE_FOLD_FULL, 0x0005, 216 },
+ { 0x00001f9f, FC_CASE_FOLD_FULL, 0x0005, 221 },
+ { 0x00001fa0, FC_CASE_FOLD_FULL, 0x0005, 226 },
+ { 0x00001fa1, FC_CASE_FOLD_FULL, 0x0005, 231 },
+ { 0x00001fa2, FC_CASE_FOLD_FULL, 0x0005, 236 },
+ { 0x00001fa3, FC_CASE_FOLD_FULL, 0x0005, 241 },
+ { 0x00001fa4, FC_CASE_FOLD_FULL, 0x0005, 246 },
+ { 0x00001fa5, FC_CASE_FOLD_FULL, 0x0005, 251 },
+ { 0x00001fa6, FC_CASE_FOLD_FULL, 0x0005, 256 },
+ { 0x00001fa7, FC_CASE_FOLD_FULL, 0x0005, 261 },
+ { 0x00001fa8, FC_CASE_FOLD_FULL, 0x0005, 266 },
+ { 0x00001fa9, FC_CASE_FOLD_FULL, 0x0005, 271 },
+ { 0x00001faa, FC_CASE_FOLD_FULL, 0x0005, 276 },
+ { 0x00001fab, FC_CASE_FOLD_FULL, 0x0005, 281 },
+ { 0x00001fac, FC_CASE_FOLD_FULL, 0x0005, 286 },
+ { 0x00001fad, FC_CASE_FOLD_FULL, 0x0005, 291 },
+ { 0x00001fae, FC_CASE_FOLD_FULL, 0x0005, 296 },
+ { 0x00001faf, FC_CASE_FOLD_FULL, 0x0005, 301 },
+ { 0x00001fb2, FC_CASE_FOLD_FULL, 0x0005, 306 },
+ { 0x00001fb3, FC_CASE_FOLD_FULL, 0x0004, 311 },
+ { 0x00001fb4, FC_CASE_FOLD_FULL, 0x0004, 315 },
+ { 0x00001fb6, FC_CASE_FOLD_FULL, 0x0004, 319 },
+ { 0x00001fb7, FC_CASE_FOLD_FULL, 0x0006, 323 },
+ { 0x00001fb8, FC_CASE_FOLD_RANGE, 0x0002, -8 },
+ { 0x00001fba, FC_CASE_FOLD_RANGE, 0x0002, -74 },
+ { 0x00001fbc, FC_CASE_FOLD_FULL, 0x0004, 329 },
+ { 0x00001fbe, FC_CASE_FOLD_RANGE, 0x0001, -7173 },
+ { 0x00001fc2, FC_CASE_FOLD_FULL, 0x0005, 333 },
+ { 0x00001fc3, FC_CASE_FOLD_FULL, 0x0004, 338 },
+ { 0x00001fc4, FC_CASE_FOLD_FULL, 0x0004, 342 },
+ { 0x00001fc6, FC_CASE_FOLD_FULL, 0x0004, 346 },
+ { 0x00001fc7, FC_CASE_FOLD_FULL, 0x0006, 350 },
+ { 0x00001fc8, FC_CASE_FOLD_RANGE, 0x0004, -86 },
+ { 0x00001fcc, FC_CASE_FOLD_FULL, 0x0004, 356 },
+ { 0x00001fd2, FC_CASE_FOLD_FULL, 0x0006, 360 },
+ { 0x00001fd3, FC_CASE_FOLD_FULL, 0x0006, 366 },
+ { 0x00001fd6, FC_CASE_FOLD_FULL, 0x0004, 372 },
+ { 0x00001fd7, FC_CASE_FOLD_FULL, 0x0006, 376 },
+ { 0x00001fd8, FC_CASE_FOLD_RANGE, 0x0002, -8 },
+ { 0x00001fda, FC_CASE_FOLD_RANGE, 0x0002, -100 },
+ { 0x00001fe2, FC_CASE_FOLD_FULL, 0x0006, 382 },
+ { 0x00001fe3, FC_CASE_FOLD_FULL, 0x0006, 388 },
+ { 0x00001fe4, FC_CASE_FOLD_FULL, 0x0004, 394 },
+ { 0x00001fe6, FC_CASE_FOLD_FULL, 0x0004, 398 },
+ { 0x00001fe7, FC_CASE_FOLD_FULL, 0x0006, 402 },
+ { 0x00001fe8, FC_CASE_FOLD_RANGE, 0x0002, -8 },
+ { 0x00001fea, FC_CASE_FOLD_RANGE, 0x0002, -112 },
+ { 0x00001fec, FC_CASE_FOLD_RANGE, 0x0001, -7 },
+ { 0x00001ff2, FC_CASE_FOLD_FULL, 0x0005, 408 },
+ { 0x00001ff3, FC_CASE_FOLD_FULL, 0x0004, 413 },
+ { 0x00001ff4, FC_CASE_FOLD_FULL, 0x0004, 417 },
+ { 0x00001ff6, FC_CASE_FOLD_FULL, 0x0004, 421 },
+ { 0x00001ff7, FC_CASE_FOLD_FULL, 0x0006, 425 },
+ { 0x00001ff8, FC_CASE_FOLD_RANGE, 0x0002, -128 },
+ { 0x00001ffa, FC_CASE_FOLD_RANGE, 0x0002, -126 },
+ { 0x00001ffc, FC_CASE_FOLD_FULL, 0x0004, 431 },
+ { 0x00002126, FC_CASE_FOLD_RANGE, 0x0001, -7517 },
+ { 0x0000212a, FC_CASE_FOLD_RANGE, 0x0001, -8383 },
+ { 0x0000212b, FC_CASE_FOLD_RANGE, 0x0001, -8262 },
+ { 0x00002132, FC_CASE_FOLD_RANGE, 0x0001, 28 },
+ { 0x00002160, FC_CASE_FOLD_RANGE, 0x0010, 16 },
+ { 0x00002183, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x000024b6, FC_CASE_FOLD_RANGE, 0x001a, 26 },
+ { 0x00002c00, FC_CASE_FOLD_RANGE, 0x002f, 48 },
+ { 0x00002c60, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x00002c62, FC_CASE_FOLD_RANGE, 0x0001, -10743 },
+ { 0x00002c63, FC_CASE_FOLD_RANGE, 0x0001, -3814 },
+ { 0x00002c64, FC_CASE_FOLD_RANGE, 0x0001, -10727 },
+ { 0x00002c67, FC_CASE_FOLD_EVEN_ODD, 0x0005, 1 },
+ { 0x00002c6d, FC_CASE_FOLD_RANGE, 0x0001, -10780 },
+ { 0x00002c6e, FC_CASE_FOLD_RANGE, 0x0001, -10749 },
+ { 0x00002c6f, FC_CASE_FOLD_RANGE, 0x0001, -10783 },
+ { 0x00002c70, FC_CASE_FOLD_RANGE, 0x0001, -10782 },
+ { 0x00002c72, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x00002c75, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x00002c7e, FC_CASE_FOLD_RANGE, 0x0002, -10815 },
+ { 0x00002c80, FC_CASE_FOLD_EVEN_ODD, 0x0063, 1 },
+ { 0x00002ceb, FC_CASE_FOLD_EVEN_ODD, 0x0003, 1 },
+ { 0x00002cf2, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x0000a640, FC_CASE_FOLD_EVEN_ODD, 0x002d, 1 },
+ { 0x0000a680, FC_CASE_FOLD_EVEN_ODD, 0x001b, 1 },
+ { 0x0000a722, FC_CASE_FOLD_EVEN_ODD, 0x000d, 1 },
+ { 0x0000a732, FC_CASE_FOLD_EVEN_ODD, 0x003d, 1 },
+ { 0x0000a779, FC_CASE_FOLD_EVEN_ODD, 0x0003, 1 },
+ { 0x0000a77d, FC_CASE_FOLD_RANGE, 0x0001, 30204 },
+ { 0x0000a77e, FC_CASE_FOLD_EVEN_ODD, 0x0009, 1 },
+ { 0x0000a78b, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 },
+ { 0x0000a78d, FC_CASE_FOLD_RANGE, 0x0001, 23256 },
+ { 0x0000a790, FC_CASE_FOLD_EVEN_ODD, 0x0003, 1 },
+ { 0x0000a796, FC_CASE_FOLD_EVEN_ODD, 0x0013, 1 },
+ { 0x0000a7aa, FC_CASE_FOLD_RANGE, 0x0001, 23228 },
+ { 0x0000a7ab, FC_CASE_FOLD_RANGE, 0x0001, 23217 },
+ { 0x0000a7ac, FC_CASE_FOLD_RANGE, 0x0001, 23221 },
+ { 0x0000a7ad, FC_CASE_FOLD_RANGE, 0x0001, 23231 },
+ { 0x0000a7b0, FC_CASE_FOLD_RANGE, 0x0001, 23278 },
+ { 0x0000a7b1, FC_CASE_FOLD_RANGE, 0x0001, 23254 },
+ { 0x0000fb00, FC_CASE_FOLD_FULL, 0x0002, 435 },
+ { 0x0000fb01, FC_CASE_FOLD_FULL, 0x0002, 437 },
+ { 0x0000fb02, FC_CASE_FOLD_FULL, 0x0002, 439 },
+ { 0x0000fb03, FC_CASE_FOLD_FULL, 0x0003, 441 },
+ { 0x0000fb04, FC_CASE_FOLD_FULL, 0x0003, 444 },
+ { 0x0000fb05, FC_CASE_FOLD_FULL, 0x0002, 447 },
+ { 0x0000fb06, FC_CASE_FOLD_FULL, 0x0002, 449 },
+ { 0x0000fb13, FC_CASE_FOLD_FULL, 0x0004, 451 },
+ { 0x0000fb14, FC_CASE_FOLD_FULL, 0x0004, 455 },
+ { 0x0000fb15, FC_CASE_FOLD_FULL, 0x0004, 459 },
+ { 0x0000fb16, FC_CASE_FOLD_FULL, 0x0004, 463 },
+ { 0x0000fb17, FC_CASE_FOLD_FULL, 0x0004, 467 },
+ { 0x0000ff21, FC_CASE_FOLD_RANGE, 0x001a, 32 },
+ { 0x00010400, FC_CASE_FOLD_RANGE, 0x0028, 40 },
+ { 0x000118a0, FC_CASE_FOLD_RANGE, 0x0020, 32 },
+};
+
+static const FcChar8 fcCaseFoldChars[FC_NUM_CASE_FOLD_CHARS] = {
+0x73,0x73,0x69,0xcc,0x87,0xca,0xbc,0x6e,0x6a,0xcc,0x8c,0xce,0xb9,0xcc,0x88,0xcc,
+0x81,0xcf,0x85,0xcc,0x88,0xcc,0x81,0xd5,0xa5,0xd6,0x82,0x68,0xcc,0xb1,0x74,0xcc,
+0x88,0x77,0xcc,0x8a,0x79,0xcc,0x8a,0x61,0xca,0xbe,0x73,0x73,0xcf,0x85,0xcc,0x93,
+0xcf,0x85,0xcc,0x93,0xcc,0x80,0xcf,0x85,0xcc,0x93,0xcc,0x81,0xcf,0x85,0xcc,0x93,
+0xcd,0x82,0xe1,0xbc,0x80,0xce,0xb9,0xe1,0xbc,0x81,0xce,0xb9,0xe1,0xbc,0x82,0xce,
+0xb9,0xe1,0xbc,0x83,0xce,0xb9,0xe1,0xbc,0x84,0xce,0xb9,0xe1,0xbc,0x85,0xce,0xb9,
+0xe1,0xbc,0x86,0xce,0xb9,0xe1,0xbc,0x87,0xce,0xb9,0xe1,0xbc,0x80,0xce,0xb9,0xe1,
+0xbc,0x81,0xce,0xb9,0xe1,0xbc,0x82,0xce,0xb9,0xe1,0xbc,0x83,0xce,0xb9,0xe1,0xbc,
+0x84,0xce,0xb9,0xe1,0xbc,0x85,0xce,0xb9,0xe1,0xbc,0x86,0xce,0xb9,0xe1,0xbc,0x87,
+0xce,0xb9,0xe1,0xbc,0xa0,0xce,0xb9,0xe1,0xbc,0xa1,0xce,0xb9,0xe1,0xbc,0xa2,0xce,
+0xb9,0xe1,0xbc,0xa3,0xce,0xb9,0xe1,0xbc,0xa4,0xce,0xb9,0xe1,0xbc,0xa5,0xce,0xb9,
+0xe1,0xbc,0xa6,0xce,0xb9,0xe1,0xbc,0xa7,0xce,0xb9,0xe1,0xbc,0xa0,0xce,0xb9,0xe1,
+0xbc,0xa1,0xce,0xb9,0xe1,0xbc,0xa2,0xce,0xb9,0xe1,0xbc,0xa3,0xce,0xb9,0xe1,0xbc,
+0xa4,0xce,0xb9,0xe1,0xbc,0xa5,0xce,0xb9,0xe1,0xbc,0xa6,0xce,0xb9,0xe1,0xbc,0xa7,
+0xce,0xb9,0xe1,0xbd,0xa0,0xce,0xb9,0xe1,0xbd,0xa1,0xce,0xb9,0xe1,0xbd,0xa2,0xce,
+0xb9,0xe1,0xbd,0xa3,0xce,0xb9,0xe1,0xbd,0xa4,0xce,0xb9,0xe1,0xbd,0xa5,0xce,0xb9,
+0xe1,0xbd,0xa6,0xce,0xb9,0xe1,0xbd,0xa7,0xce,0xb9,0xe1,0xbd,0xa0,0xce,0xb9,0xe1,
+0xbd,0xa1,0xce,0xb9,0xe1,0xbd,0xa2,0xce,0xb9,0xe1,0xbd,0xa3,0xce,0xb9,0xe1,0xbd,
+0xa4,0xce,0xb9,0xe1,0xbd,0xa5,0xce,0xb9,0xe1,0xbd,0xa6,0xce,0xb9,0xe1,0xbd,0xa7,
+0xce,0xb9,0xe1,0xbd,0xb0,0xce,0xb9,0xce,0xb1,0xce,0xb9,0xce,0xac,0xce,0xb9,0xce,
+0xb1,0xcd,0x82,0xce,0xb1,0xcd,0x82,0xce,0xb9,0xce,0xb1,0xce,0xb9,0xe1,0xbd,0xb4,
+0xce,0xb9,0xce,0xb7,0xce,0xb9,0xce,0xae,0xce,0xb9,0xce,0xb7,0xcd,0x82,0xce,0xb7,
+0xcd,0x82,0xce,0xb9,0xce,0xb7,0xce,0xb9,0xce,0xb9,0xcc,0x88,0xcc,0x80,0xce,0xb9,
+0xcc,0x88,0xcc,0x81,0xce,0xb9,0xcd,0x82,0xce,0xb9,0xcc,0x88,0xcd,0x82,0xcf,0x85,
+0xcc,0x88,0xcc,0x80,0xcf,0x85,0xcc,0x88,0xcc,0x81,0xcf,0x81,0xcc,0x93,0xcf,0x85,
+0xcd,0x82,0xcf,0x85,0xcc,0x88,0xcd,0x82,0xe1,0xbd,0xbc,0xce,0xb9,0xcf,0x89,0xce,
+0xb9,0xcf,0x8e,0xce,0xb9,0xcf,0x89,0xcd,0x82,0xcf,0x89,0xcd,0x82,0xce,0xb9,0xcf,
+0x89,0xce,0xb9,0x66,0x66,0x66,0x69,0x66,0x6c,0x66,0x66,0x69,0x66,0x66,0x6c,0x73,
+0x74,0x73,0x74,0xd5,0xb4,0xd5,0xb6,0xd5,0xb4,0xd5,0xa5,0xd5,0xb4,0xd5,0xab,0xd5,
+0xbe,0xd5,0xb6,0xd5,0xb4,0xd5,0xad
+};
diff --git a/fc-cat/Makefile.in b/fc-cat/Makefile.in
new file mode 100644
index 00000000..32239f0a
--- /dev/null
+++ b/fc-cat/Makefile.in
@@ -0,0 +1,786 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+# fontconfig/fc-cat/Makefile.am
+#
+# Copyright © 2003 Keith Packard
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = fc-cat$(EXEEXT)
+@USEDOCBOOK_TRUE@am__append_1 = ${man_MANS}
+subdir = fc-cat
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
+PROGRAMS = $(bin_PROGRAMS)
+fc_cat_SOURCES = fc-cat.c
+fc_cat_OBJECTS = fc-cat.$(OBJEXT)
+fc_cat_DEPENDENCIES = ${top_builddir}/src/libfontconfig.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = fc-cat.c
+DIST_SOURCES = fc-cat.c
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(man_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+DOC2MAN = docbook2man
+FC_CAT_SRC = ${top_srcdir}/fc-cat
+SGML = ${FC_CAT_SRC}/fc-cat.sgml
+AM_CPPFLAGS = -I${top_srcdir} $(WARN_CFLAGS)
+BUILT_MANS = fc-cat.1
+@ENABLE_DOCS_TRUE@man_MANS = ${BUILT_MANS}
+EXTRA_DIST = fc-cat.sgml ${BUILT_MANS}
+CLEANFILES = $(am__append_1)
+fc_cat_LDADD = ${top_builddir}/src/libfontconfig.la
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-cat/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu fc-cat/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+fc-cat$(EXEEXT): $(fc_cat_OBJECTS) $(fc_cat_DEPENDENCIES) $(EXTRA_fc_cat_DEPENDENCIES)
+ @rm -f fc-cat$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fc_cat_OBJECTS) $(fc_cat_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fc-cat.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man1: $(man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS) $(MANS) all-local
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-man1 \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-binPROGRAMS uninstall-man uninstall-man1
+
+
+@USEDOCBOOK_TRUE@${man_MANS}: ${SGML}
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(RM) $@; \
+@USEDOCBOOK_TRUE@ $(DOC2MAN) ${SGML}; \
+@USEDOCBOOK_TRUE@ $(RM) manpage.*
+
+@USEDOCBOOK_TRUE@all-local: $(man_MANS)
+@USEDOCBOOK_FALSE@all-local:
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/fc-cat/fc-cat.1 b/fc-cat/fc-cat.1
new file mode 100644
index 00000000..ff74798c
--- /dev/null
+++ b/fc-cat/fc-cat.1
@@ -0,0 +1,45 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FC-CAT" "1" "Aug 13, 2008" "" ""
+.SH NAME
+fc-cat \- read font information cache files
+.SH SYNOPSIS
+.sp
+\fBfc-cat\fR [ \fB-rvVh\fR ] [ \fB--recurse\fR ] [ \fB--verbose\fR ] [ \fB--version\fR ] [ \fB--help\fR ]
+
+ [ \fB [ \fIfonts-cache-%version%-files\fB ] [ \fIdirs\fB ] \fR\fI...\fR ]
+.SH "DESCRIPTION"
+.PP
+\fBfc-cat\fR reads the font information from
+cache files or related to font directories
+and emits it in ASCII form.
+.SH "OPTIONS"
+.PP
+This program follows the usual GNU command line syntax,
+with long options starting with two dashes (`-'). A summary of
+options is included below.
+.TP
+\fB-r\fR
+Recurse into subdirectories.
+.TP
+\fB-v\fR
+Be verbose.
+.TP
+\fB-h\fR
+Show summary of options.
+.TP
+\fB-V\fR
+Show version of the program and exit.
+.SH "SEE ALSO"
+.PP
+\fBfc-cache\fR(1)
+\fBfc-list\fR(1)
+\fBfc-match\fR(1)
+\fBfc-pattern\fR(1)
+\fBfc-query\fR(1)
+\fBfc-scan\fR(1)
+.PP
+The fontconfig user's guide, in HTML format:
+\fI/usr/share/doc/fontconfig/fontconfig-user.html\fR\&.
+.SH "AUTHOR"
+.PP
+This manual page was written by Patrick Lam <plam@mit.edu>\&.
diff --git a/fc-cat/fc-cat.c b/fc-cat/fc-cat.c
index 9a2abb3f..f0131b6d 100644
--- a/fc-cat/fc-cat.c
+++ b/fc-cat/fc-cat.c
@@ -298,6 +298,7 @@ main (int argc, char **argv)
return 1;
}
FcConfigSetCurrent (config);
+ FcConfigDestroy (config);
args = FcStrSetCreate ();
if (!args)
@@ -315,12 +316,6 @@ main (int argc, char **argv)
return 1;
}
}
- arglist = FcStrListCreate (args);
- if (!arglist)
- {
- fprintf (stderr, "%s: malloc failure\n", argv[0]);
- return 1;
- }
}
else
{
@@ -340,6 +335,7 @@ main (int argc, char **argv)
fprintf (stderr, "%s: malloc failure\n", argv[0]);
return 1;
}
+ FcStrSetDestroy (args);
while ((arg = FcStrListNext (arglist)))
{
@@ -384,6 +380,7 @@ main (int argc, char **argv)
if (cache_file)
FcStrFree (cache_file);
}
+ FcStrListDone (arglist);
FcFini ();
return 0;
diff --git a/fc-cat/fc-cat.sgml b/fc-cat/fc-cat.sgml
index ce4736de..a5132543 100644
--- a/fc-cat/fc-cat.sgml
+++ b/fc-cat/fc-cat.sgml
@@ -70,7 +70,7 @@ manpage.1: manpage.sgml
<arg><option>--help</option></arg>
<sbr>
<group rep="repeat">
- <arg><option><replaceable>fonts-cache-2-files</replaceable></option></arg>
+ <arg><option><replaceable>fonts-cache-%version%-files</replaceable></option></arg>
<arg><option><replaceable>dirs</replaceable></option></arg>
</group>
diff --git a/fc-glyphname/Makefile.in b/fc-glyphname/Makefile.in
new file mode 100644
index 00000000..4173cc2a
--- /dev/null
+++ b/fc-glyphname/Makefile.in
@@ -0,0 +1,641 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# -*- encoding: utf-8 -*-
+#
+# Copyright © 2003 Keith Packard
+# Copyright © 2013 Google, Inc.
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+#
+# Google Author(s): Behdad Esfahbod
+
+# -*- encoding: utf-8 -*-
+#
+# Copyright © 2003 Keith Packard
+# Copyright © 2013 Google, Inc.
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+#
+# Google Author(s): Behdad Esfahbod
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(top_srcdir)/Tools.mk $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am $(noinst_HEADERS)
+subdir = fc-glyphname
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+TAG = glyphname
+DEPS = $(srcdir)/zapfdingbats.txt
+ARGS = $(srcdir)/zapfdingbats.txt
+DIST = $(srcdir)/zapfdingbats.txt
+DIR = fc-$(TAG)
+OUT = fc$(TAG)
+TMPL = $(OUT).tmpl.h
+TARG = $(OUT).h
+TSRC = $(DIR).c
+TOOL = ./$(DIR)$(EXEEXT_FOR_BUILD)
+EXTRA_DIST = $(TARG) $(TMPL) $(TSRC) $(DIST)
+AM_CPPFLAGS = \
+ -I$(builddir) \
+ -I$(srcdir) \
+ -I$(top_builddir)/src \
+ -I$(top_srcdir)/src \
+ -I$(top_builddir) \
+ -I$(top_srcdir) \
+ -DHAVE_CONFIG_H \
+ $(WARN_CFLAGS)
+
+noinst_HEADERS = $(TARG)
+ALIAS_FILES = fcalias.h fcaliastail.h
+BUILT_SOURCES = $(ALIAS_FILES)
+CLEANFILES = $(ALIAS_FILES) $(TOOL)
+MAINTAINERCLEANFILES = $(TARG)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/Tools.mk $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-glyphname/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu fc-glyphname/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+$(top_srcdir)/Tools.mk:
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(HEADERS)
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: all check install install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool cscopelist-am ctags ctags-am distclean \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am
+
+
+$(TOOL): $(TSRC) $(ALIAS_FILES)
+ $(AM_V_GEN) $(CC_FOR_BUILD) -o $(TOOL) $< $(AM_CPPFLAGS)
+
+$(TARG): $(TMPL) $(TSRC) $(DEPS)
+ $(AM_V_GEN) $(MAKE) $(TOOL) && \
+ $(RM) $(TARG) && \
+ $(TOOL) $(ARGS) < $< > $(TARG).tmp && \
+ mv $(TARG).tmp $(TARG) || ( $(RM) $(TARG).tmp && false )
+
+$(ALIAS_FILES):
+ $(AM_V_GEN) touch $@
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/fc-glyphname/fcglyphname.h b/fc-glyphname/fcglyphname.h
new file mode 100644
index 00000000..f9e5343a
--- /dev/null
+++ b/fc-glyphname/fcglyphname.h
@@ -0,0 +1,781 @@
+/*
+ * fontconfig/fc-glyphname/fcglyphname.tmpl.h
+ *
+ * Copyright © 2003 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. The authors make no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* 201 glyphnames in 271 entries, 74% occupancy */
+
+#define FC_GLYPHNAME_HASH 271
+#define FC_GLYPHNAME_REHASH 269
+#define FC_GLYPHNAME_MAXLEN 4
+
+typedef int16_t FcGlyphId;
+
+static const struct { const FcChar32 ucs; const FcChar8 name[5]; } _fc_glyph_names[201] = {
+ { 0x2701, "a1" },
+ { 0x2721, "a10" },
+ { 0x275e, "a100" },
+ { 0x2761, "a101" },
+ { 0x2762, "a102" },
+ { 0x2763, "a103" },
+ { 0x2764, "a104" },
+ { 0x2710, "a105" },
+ { 0x2765, "a106" },
+ { 0x2766, "a107" },
+ { 0x2767, "a108" },
+ { 0x2660, "a109" },
+ { 0x261b, "a11" },
+ { 0x2665, "a110" },
+ { 0x2666, "a111" },
+ { 0x2663, "a112" },
+ { 0x2709, "a117" },
+ { 0x2708, "a118" },
+ { 0x2707, "a119" },
+ { 0x261e, "a12" },
+ { 0x2460, "a120" },
+ { 0x2461, "a121" },
+ { 0x2462, "a122" },
+ { 0x2463, "a123" },
+ { 0x2464, "a124" },
+ { 0x2465, "a125" },
+ { 0x2466, "a126" },
+ { 0x2467, "a127" },
+ { 0x2468, "a128" },
+ { 0x2469, "a129" },
+ { 0x270c, "a13" },
+ { 0x2776, "a130" },
+ { 0x2777, "a131" },
+ { 0x2778, "a132" },
+ { 0x2779, "a133" },
+ { 0x277a, "a134" },
+ { 0x277b, "a135" },
+ { 0x277c, "a136" },
+ { 0x277d, "a137" },
+ { 0x277e, "a138" },
+ { 0x277f, "a139" },
+ { 0x270d, "a14" },
+ { 0x2780, "a140" },
+ { 0x2781, "a141" },
+ { 0x2782, "a142" },
+ { 0x2783, "a143" },
+ { 0x2784, "a144" },
+ { 0x2785, "a145" },
+ { 0x2786, "a146" },
+ { 0x2787, "a147" },
+ { 0x2788, "a148" },
+ { 0x2789, "a149" },
+ { 0x270e, "a15" },
+ { 0x278a, "a150" },
+ { 0x278b, "a151" },
+ { 0x278c, "a152" },
+ { 0x278d, "a153" },
+ { 0x278e, "a154" },
+ { 0x278f, "a155" },
+ { 0x2790, "a156" },
+ { 0x2791, "a157" },
+ { 0x2792, "a158" },
+ { 0x2793, "a159" },
+ { 0x270f, "a16" },
+ { 0x2794, "a160" },
+ { 0x2192, "a161" },
+ { 0x27a3, "a162" },
+ { 0x2194, "a163" },
+ { 0x2195, "a164" },
+ { 0x2799, "a165" },
+ { 0x279b, "a166" },
+ { 0x279c, "a167" },
+ { 0x279d, "a168" },
+ { 0x279e, "a169" },
+ { 0x2711, "a17" },
+ { 0x279f, "a170" },
+ { 0x27a0, "a171" },
+ { 0x27a1, "a172" },
+ { 0x27a2, "a173" },
+ { 0x27a4, "a174" },
+ { 0x27a5, "a175" },
+ { 0x27a6, "a176" },
+ { 0x27a7, "a177" },
+ { 0x27a8, "a178" },
+ { 0x27a9, "a179" },
+ { 0x2712, "a18" },
+ { 0x27ab, "a180" },
+ { 0x27ad, "a181" },
+ { 0x27af, "a182" },
+ { 0x27b2, "a183" },
+ { 0x27b3, "a184" },
+ { 0x27b5, "a185" },
+ { 0x27b8, "a186" },
+ { 0x27ba, "a187" },
+ { 0x27bb, "a188" },
+ { 0x27bc, "a189" },
+ { 0x2713, "a19" },
+ { 0x27bd, "a190" },
+ { 0x27be, "a191" },
+ { 0x279a, "a192" },
+ { 0x27aa, "a193" },
+ { 0x27b6, "a194" },
+ { 0x27b9, "a195" },
+ { 0x2798, "a196" },
+ { 0x27b4, "a197" },
+ { 0x27b7, "a198" },
+ { 0x27ac, "a199" },
+ { 0x2702, "a2" },
+ { 0x2714, "a20" },
+ { 0x27ae, "a200" },
+ { 0x27b1, "a201" },
+ { 0x2703, "a202" },
+ { 0x2750, "a203" },
+ { 0x2752, "a204" },
+ { 0x276e, "a205" },
+ { 0x2770, "a206" },
+ { 0x2715, "a21" },
+ { 0x2716, "a22" },
+ { 0x2717, "a23" },
+ { 0x2718, "a24" },
+ { 0x2719, "a25" },
+ { 0x271a, "a26" },
+ { 0x271b, "a27" },
+ { 0x271c, "a28" },
+ { 0x2722, "a29" },
+ { 0x2704, "a3" },
+ { 0x2723, "a30" },
+ { 0x2724, "a31" },
+ { 0x2725, "a32" },
+ { 0x2726, "a33" },
+ { 0x2727, "a34" },
+ { 0x2605, "a35" },
+ { 0x2729, "a36" },
+ { 0x272a, "a37" },
+ { 0x272b, "a38" },
+ { 0x272c, "a39" },
+ { 0x260e, "a4" },
+ { 0x272d, "a40" },
+ { 0x272e, "a41" },
+ { 0x272f, "a42" },
+ { 0x2730, "a43" },
+ { 0x2731, "a44" },
+ { 0x2732, "a45" },
+ { 0x2733, "a46" },
+ { 0x2734, "a47" },
+ { 0x2735, "a48" },
+ { 0x2736, "a49" },
+ { 0x2706, "a5" },
+ { 0x2737, "a50" },
+ { 0x2738, "a51" },
+ { 0x2739, "a52" },
+ { 0x273a, "a53" },
+ { 0x273b, "a54" },
+ { 0x273c, "a55" },
+ { 0x273d, "a56" },
+ { 0x273e, "a57" },
+ { 0x273f, "a58" },
+ { 0x2740, "a59" },
+ { 0x271d, "a6" },
+ { 0x2741, "a60" },
+ { 0x2742, "a61" },
+ { 0x2743, "a62" },
+ { 0x2744, "a63" },
+ { 0x2745, "a64" },
+ { 0x2746, "a65" },
+ { 0x2747, "a66" },
+ { 0x2748, "a67" },
+ { 0x2749, "a68" },
+ { 0x274a, "a69" },
+ { 0x271e, "a7" },
+ { 0x274b, "a70" },
+ { 0x25cf, "a71" },
+ { 0x274d, "a72" },
+ { 0x25a0, "a73" },
+ { 0x274f, "a74" },
+ { 0x2751, "a75" },
+ { 0x25b2, "a76" },
+ { 0x25bc, "a77" },
+ { 0x25c6, "a78" },
+ { 0x2756, "a79" },
+ { 0x271f, "a8" },
+ { 0x25d7, "a81" },
+ { 0x2758, "a82" },
+ { 0x2759, "a83" },
+ { 0x275a, "a84" },
+ { 0x276f, "a85" },
+ { 0x2771, "a86" },
+ { 0x2772, "a87" },
+ { 0x2773, "a88" },
+ { 0x2768, "a89" },
+ { 0x2720, "a9" },
+ { 0x2769, "a90" },
+ { 0x276c, "a91" },
+ { 0x276d, "a92" },
+ { 0x276a, "a93" },
+ { 0x276b, "a94" },
+ { 0x2774, "a95" },
+ { 0x2775, "a96" },
+ { 0x275b, "a97" },
+ { 0x275c, "a98" },
+ { 0x275d, "a99" },
+};
+static const FcGlyphId _fc_name_to_ucs[271] = {
+ 123,
+ 81,
+ 198,
+ 154,
+ 142,
+ 186,
+ 82,
+ -1,
+ 143,
+ 172,
+ 181,
+ 79,
+ 153,
+ 191,
+ -1,
+ -1,
+ 80,
+ 195,
+ 179,
+ 170,
+ 151,
+ 129,
+ 101,
+ 194,
+ 85,
+ 102,
+ 73,
+ 171,
+ 99,
+ -1,
+ -1,
+ 100,
+ 196,
+ -1,
+ 189,
+ 163,
+ 110,
+ 199,
+ -1,
+ -1,
+ 59,
+ 50,
+ -1,
+ 60,
+ 75,
+ -1,
+ 51,
+ -1,
+ -1,
+ 58,
+ -1,
+ 61,
+ 55,
+ -1,
+ 192,
+ 56,
+ 62,
+ -1,
+ 53,
+ 166,
+ 113,
+ 54,
+ -1,
+ 157,
+ 33,
+ 188,
+ 177,
+ 21,
+ -1,
+ -1,
+ 31,
+ -1,
+ -1,
+ 32,
+ -1,
+ -1,
+ 24,
+ 160,
+ -1,
+ 38,
+ -1,
+ -1,
+ 26,
+ -1,
+ 161,
+ 27,
+ 197,
+ 94,
+ 95,
+ 105,
+ 106,
+ 90,
+ 91,
+ 92,
+ 93,
+ 86,
+ 87,
+ 88,
+ 89,
+ 28,
+ 29,
+ 39,
+ 40,
+ 10,
+ 11,
+ 17,
+ 18,
+ 6,
+ 7,
+ 8,
+ 9,
+ 2,
+ 3,
+ 4,
+ 5,
+ -1,
+ -1,
+ 114,
+ 108,
+ 146,
+ 74,
+ -1,
+ 117,
+ 115,
+ 118,
+ 156,
+ 119,
+ -1,
+ 120,
+ -1,
+ 121,
+ 131,
+ 122,
+ -1,
+ 109,
+ -1,
+ 124,
+ 141,
+ 134,
+ 174,
+ 144,
+ -1,
+ 137,
+ 155,
+ 138,
+ -1,
+ 64,
+ -1,
+ 140,
+ 152,
+ 65,
+ -1,
+ 111,
+ -1,
+ 57,
+ 162,
+ -1,
+ -1,
+ 67,
+ -1,
+ -1,
+ 150,
+ 68,
+ -1,
+ 167,
+ -1,
+ 69,
+ 164,
+ -1,
+ 116,
+ 70,
+ -1,
+ -1,
+ 148,
+ 71,
+ -1,
+ -1,
+ 184,
+ 72,
+ 149,
+ 176,
+ 193,
+ 34,
+ 182,
+ 145,
+ -1,
+ 83,
+ 187,
+ -1,
+ 103,
+ 84,
+ 104,
+ 200,
+ 63,
+ 37,
+ 41,
+ 52,
+ 19,
+ 30,
+ 1,
+ 12,
+ 97,
+ 35,
+ 98,
+ 135,
+ 46,
+ 36,
+ 47,
+ 96,
+ 48,
+ 159,
+ 49,
+ -1,
+ 42,
+ 112,
+ 43,
+ 173,
+ 44,
+ 168,
+ 45,
+ -1,
+ 20,
+ 183,
+ 16,
+ 147,
+ 22,
+ 178,
+ 23,
+ -1,
+ 15,
+ -1,
+ 25,
+ 190,
+ 13,
+ 139,
+ 14,
+ -1,
+ -1,
+ -1,
+ 128,
+ 107,
+ 125,
+ -1,
+ 0,
+ 158,
+ 169,
+ 136,
+ 126,
+ -1,
+ -1,
+ 180,
+ 127,
+ 77,
+ -1,
+ -1,
+ 132,
+ -1,
+ 78,
+ -1,
+ 133,
+ -1,
+ 165,
+ 66,
+ 130,
+ -1,
+ -1,
+ -1,
+ 76,
+ -1,
+ 185,
+ 175,
+};
+static const FcGlyphId _fc_ucs_to_name[271] = {
+ 56,
+ 135,
+ 19,
+ 138,
+ 58,
+ 140,
+ 59,
+ 142,
+ 60,
+ 144,
+ 61,
+ 146,
+ 62,
+ 149,
+ 64,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 159,
+ 160,
+ 161,
+ 162,
+ 163,
+ 131,
+ 165,
+ 166,
+ 167,
+ 168,
+ 170,
+ -1,
+ 172,
+ -1,
+ 174,
+ 112,
+ 175,
+ 113,
+ -1,
+ 173,
+ -1,
+ 179,
+ -1,
+ 182,
+ 183,
+ 158,
+ 198,
+ 199,
+ 200,
+ 2,
+ -1,
+ -1,
+ 3,
+ 4,
+ 5,
+ 6,
+ 8,
+ 9,
+ 10,
+ 189,
+ 164,
+ 194,
+ 195,
+ 192,
+ 193,
+ 114,
+ 11,
+ 115,
+ 186,
+ 15,
+ 188,
+ 13,
+ 14,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 53,
+ 54,
+ 55,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ -1,
+ 103,
+ 69,
+ 99,
+ 70,
+ 71,
+ 72,
+ 73,
+ 75,
+ 76,
+ 77,
+ 78,
+ 66,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 100,
+ 86,
+ 106,
+ 87,
+ 109,
+ 88,
+ -1,
+ 110,
+ 89,
+ 90,
+ 104,
+ 91,
+ 101,
+ 105,
+ 92,
+ 102,
+ 93,
+ 94,
+ 95,
+ 97,
+ 98,
+ 196,
+ -1,
+ 134,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 137,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 139,
+ -1,
+ -1,
+ 176,
+ -1,
+ -1,
+ 141,
+ 184,
+ -1,
+ -1,
+ -1,
+ -1,
+ 143,
+ 177,
+ 57,
+ -1,
+ -1,
+ -1,
+ 145,
+ -1,
+ -1,
+ -1,
+ -1,
+ 178,
+ 148,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 150,
+ 65,
+ 171,
+ 67,
+ 68,
+ -1,
+ -1,
+ 191,
+ -1,
+ -1,
+ 181,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 185,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 187,
+ -1,
+ -1,
+ -1,
+ 133,
+ -1,
+ 197,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 0,
+ 107,
+ 111,
+ 125,
+ -1,
+ 147,
+ 18,
+ 17,
+ 16,
+ -1,
+ -1,
+ 30,
+ 41,
+ 52,
+ 63,
+ 7,
+ 74,
+ 85,
+ 96,
+ 108,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 136,
+ 169,
+ 180,
+ 190,
+ 1,
+ 124,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ -1,
+ 132,
+ 12,
+};
diff --git a/fc-lang/Makefile.in b/fc-lang/Makefile.in
new file mode 100644
index 00000000..c417fca3
--- /dev/null
+++ b/fc-lang/Makefile.in
@@ -0,0 +1,895 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# -*- encoding: utf-8 -*-
+#
+# Copyright © 2003 Keith Packard
+# Copyright © 2013 Google, Inc.
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+#
+# Google Author(s): Behdad Esfahbod
+
+# -*- encoding: utf-8 -*-
+#
+# Copyright © 2003 Keith Packard
+# Copyright © 2013 Google, Inc.
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+#
+# Google Author(s): Behdad Esfahbod
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(top_srcdir)/Tools.mk $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am $(noinst_HEADERS) README
+subdir = fc-lang
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+TAG = lang
+DEPS = $(ORTH)
+ARGS = -d $(srcdir) $(ORTH)
+DIST = $(ORTH)
+DIR = fc-$(TAG)
+OUT = fc$(TAG)
+TMPL = $(OUT).tmpl.h
+TARG = $(OUT).h
+TSRC = $(DIR).c
+TOOL = ./$(DIR)$(EXEEXT_FOR_BUILD)
+EXTRA_DIST = $(TARG) $(TMPL) $(TSRC) $(DIST)
+AM_CPPFLAGS = \
+ -I$(builddir) \
+ -I$(srcdir) \
+ -I$(top_builddir)/src \
+ -I$(top_srcdir)/src \
+ -I$(top_builddir) \
+ -I$(top_srcdir) \
+ -DHAVE_CONFIG_H \
+ $(WARN_CFLAGS)
+
+noinst_HEADERS = $(TARG)
+ALIAS_FILES = fcalias.h fcaliastail.h
+BUILT_SOURCES = $(ALIAS_FILES)
+CLEANFILES = $(ALIAS_FILES) $(TOOL)
+MAINTAINERCLEANFILES = $(TARG)
+
+# NOTE:
+#
+# The order of the orth files here is extremely important (part of the cache
+# format) and should not be modified. New orth files should be added at the
+# end. No files should be removed either.
+#
+ORTH = \
+ aa.orth \
+ ab.orth \
+ af.orth \
+ am.orth \
+ ar.orth \
+ as.orth \
+ ast.orth \
+ av.orth \
+ ay.orth \
+ az_az.orth \
+ az_ir.orth \
+ ba.orth \
+ bm.orth \
+ be.orth \
+ bg.orth \
+ bh.orth \
+ bho.orth \
+ bi.orth \
+ bin.orth \
+ bn.orth \
+ bo.orth \
+ br.orth \
+ bs.orth \
+ bua.orth \
+ ca.orth \
+ ce.orth \
+ ch.orth \
+ chm.orth \
+ chr.orth \
+ co.orth \
+ cs.orth \
+ cu.orth \
+ cv.orth \
+ cy.orth \
+ da.orth \
+ de.orth \
+ dz.orth \
+ el.orth \
+ en.orth \
+ eo.orth \
+ es.orth \
+ et.orth \
+ eu.orth \
+ fa.orth \
+ fi.orth \
+ fj.orth \
+ fo.orth \
+ fr.orth \
+ ff.orth \
+ fur.orth \
+ fy.orth \
+ ga.orth \
+ gd.orth \
+ gez.orth \
+ gl.orth \
+ gn.orth \
+ gu.orth \
+ gv.orth \
+ ha.orth \
+ haw.orth \
+ he.orth \
+ hi.orth \
+ ho.orth \
+ hr.orth \
+ hu.orth \
+ hy.orth \
+ ia.orth \
+ ig.orth \
+ id.orth \
+ ie.orth \
+ ik.orth \
+ io.orth \
+ is.orth \
+ it.orth \
+ iu.orth \
+ ja.orth \
+ ka.orth \
+ kaa.orth \
+ ki.orth \
+ kk.orth \
+ kl.orth \
+ km.orth \
+ kn.orth \
+ ko.orth \
+ kok.orth \
+ ks.orth \
+ ku_am.orth \
+ ku_ir.orth \
+ kum.orth \
+ kv.orth \
+ kw.orth \
+ ky.orth \
+ la.orth \
+ lb.orth \
+ lez.orth \
+ ln.orth \
+ lo.orth \
+ lt.orth \
+ lv.orth \
+ mg.orth \
+ mh.orth \
+ mi.orth \
+ mk.orth \
+ ml.orth \
+ mn_cn.orth \
+ mo.orth \
+ mr.orth \
+ mt.orth \
+ my.orth \
+ nb.orth \
+ nds.orth \
+ ne.orth \
+ nl.orth \
+ nn.orth \
+ no.orth \
+ nr.orth \
+ nso.orth \
+ ny.orth \
+ oc.orth \
+ om.orth \
+ or.orth \
+ os.orth \
+ pa.orth \
+ pl.orth \
+ ps_af.orth \
+ ps_pk.orth \
+ pt.orth \
+ rm.orth \
+ ro.orth \
+ ru.orth \
+ sa.orth \
+ sah.orth \
+ sco.orth \
+ se.orth \
+ sel.orth \
+ sh.orth \
+ shs.orth \
+ si.orth \
+ sk.orth \
+ sl.orth \
+ sm.orth \
+ sma.orth \
+ smj.orth \
+ smn.orth \
+ sms.orth \
+ so.orth \
+ sq.orth \
+ sr.orth \
+ ss.orth \
+ st.orth \
+ sv.orth \
+ sw.orth \
+ syr.orth \
+ ta.orth \
+ te.orth \
+ tg.orth \
+ th.orth \
+ ti_er.orth \
+ ti_et.orth \
+ tig.orth \
+ tk.orth \
+ tl.orth \
+ tn.orth \
+ to.orth \
+ tr.orth \
+ ts.orth \
+ tt.orth \
+ tw.orth \
+ tyv.orth \
+ ug.orth \
+ uk.orth \
+ ur.orth \
+ uz.orth \
+ ve.orth \
+ vi.orth \
+ vo.orth \
+ vot.orth \
+ wa.orth \
+ wen.orth \
+ wo.orth \
+ xh.orth \
+ yap.orth \
+ yi.orth \
+ yo.orth \
+ zh_cn.orth \
+ zh_hk.orth \
+ zh_mo.orth \
+ zh_sg.orth \
+ zh_tw.orth \
+ zu.orth \
+ ak.orth \
+ an.orth \
+ ber_dz.orth \
+ ber_ma.orth \
+ byn.orth \
+ crh.orth \
+ csb.orth \
+ dv.orth \
+ ee.orth \
+ fat.orth \
+ fil.orth \
+ hne.orth \
+ hsb.orth \
+ ht.orth \
+ hz.orth \
+ ii.orth \
+ jv.orth \
+ kab.orth \
+ kj.orth \
+ kr.orth \
+ ku_iq.orth \
+ ku_tr.orth \
+ kwm.orth \
+ lg.orth \
+ li.orth \
+ mai.orth \
+ mn_mn.orth \
+ ms.orth \
+ na.orth \
+ ng.orth \
+ nv.orth \
+ ota.orth \
+ pa_pk.orth \
+ pap_an.orth \
+ pap_aw.orth \
+ qu.orth \
+ quz.orth \
+ rn.orth \
+ rw.orth \
+ sc.orth \
+ sd.orth \
+ sg.orth \
+ sid.orth \
+ sn.orth \
+ su.orth \
+ ty.orth \
+ wal.orth \
+ za.orth \
+ lah.orth \
+ nqo.orth \
+ brx.orth \
+ sat.orth \
+ doi.orth \
+ mni.orth
+
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/Tools.mk $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-lang/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu fc-lang/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+$(top_srcdir)/Tools.mk:
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(HEADERS)
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: all check install install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool cscopelist-am ctags ctags-am distclean \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am
+
+
+$(TOOL): $(TSRC) $(ALIAS_FILES)
+ $(AM_V_GEN) $(CC_FOR_BUILD) -o $(TOOL) $< $(AM_CPPFLAGS)
+
+$(TARG): $(TMPL) $(TSRC) $(DEPS)
+ $(AM_V_GEN) $(MAKE) $(TOOL) && \
+ $(RM) $(TARG) && \
+ $(TOOL) $(ARGS) < $< > $(TARG).tmp && \
+ mv $(TARG).tmp $(TARG) || ( $(RM) $(TARG).tmp && false )
+
+$(ALIAS_FILES):
+ $(AM_V_GEN) touch $@
+# ^-------------- Add new orth files here
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/fc-lang/fc-lang.man b/fc-lang/fc-lang.man
deleted file mode 100644
index f520c511..00000000
--- a/fc-lang/fc-lang.man
+++ /dev/null
@@ -1,39 +0,0 @@
-.\"
-.\" Copyright © 2002 Keith Packard
-.\"
-.\" Permission to use, copy, modify, distribute, and sell this software and its
-.\" documentation for any purpose is hereby granted without fee, provided that
-.\" the above copyright notice appear in all copies and that both that
-.\" copyright notice and this permission notice appear in supporting
-.\" documentation, and that the name of the author(s) not be used in
-.\" advertising or publicity pertaining to distribution of the software without
-.\" specific, written prior permission. The authors make no
-.\" representations about the suitability of this software for any purpose. It
-.\" is provided "as is" without express or implied warranty.
-.\"
-.\" THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-.\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-.\" EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
-.\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
-.\" DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
-.\" TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-.\" PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\"
-.\" fontconfig/fc-lang/fc-lang.man
-.\"
-.TH FC-LANG 1 __vendorversion__
-.SH NAME
-fc-lang, fclang.h \- create an database of language orthographies
-.SH SYNOPSIS
-.B "fc-lang"
-.RI [ language-coverage
-\|.\|.\|. ]
-.SH DESCRIPTION
-.I Fc-lang
-builds the fclang.h file used in the fontconfig library to automatically
-determine language coverage for fonts which don't contain this information.
-.SH FILES
-.TP 15
-.B fclang.tmpl.h
-The template file in which the tables are inserted
diff --git a/fc-lang/fclang.h b/fc-lang/fclang.h
new file mode 100644
index 00000000..9a499137
--- /dev/null
+++ b/fc-lang/fclang.h
@@ -0,0 +1,4549 @@
+/*
+ * fontconfig/fc-lang/fclang.tmpl.h
+ *
+ * Copyright © 2002 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. The authors make no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* total size: 1087 unique leaves: 702 */
+
+#define LEAF0 (244 * sizeof (FcLangCharSet))
+#define OFF0 (LEAF0 + 702 * sizeof (FcCharLeaf))
+#define NUM0 (OFF0 + 755 * sizeof (uintptr_t))
+#define SET(n) (n * sizeof (FcLangCharSet) + offsetof (FcLangCharSet, charset))
+#define OFF(s,o) (OFF0 + o * sizeof (uintptr_t) - SET(s))
+#define NUM(s,n) (NUM0 + n * sizeof (FcChar16) - SET(s))
+#define LEAF(o,l) (LEAF0 + l * sizeof (FcCharLeaf) - (OFF0 + o * sizeof (intptr_t)))
+#define fcLangCharSets (fcLangData.langCharSets)
+#define fcLangCharSetIndices (fcLangData.langIndices)
+#define fcLangCharSetIndicesInv (fcLangData.langIndicesInv)
+
+static const struct {
+ FcLangCharSet langCharSets[244];
+ FcCharLeaf leaves[702];
+ uintptr_t leaf_offsets[755];
+ FcChar16 numbers[755];
+ FcChar8 langIndices[244];
+ FcChar8 langIndicesInv[244];
+} fcLangData = {
+{
+ { "aa", { FC_REF_CONSTANT, 1, OFF(0,0), NUM(0,0) } }, /* 0 */
+ { "ab", { FC_REF_CONSTANT, 1, OFF(1,1), NUM(1,1) } }, /* 1 */
+ { "af", { FC_REF_CONSTANT, 2, OFF(2,2), NUM(2,2) } }, /* 2 */
+ { "ak", { FC_REF_CONSTANT, 5, OFF(3,4), NUM(3,4) } }, /* 3 */
+ { "am", { FC_REF_CONSTANT, 2, OFF(4,9), NUM(4,9) } }, /* 4 */
+ { "an", { FC_REF_CONSTANT, 1, OFF(5,11), NUM(5,11) } }, /* 5 */
+ { "ar", { FC_REF_CONSTANT, 1, OFF(6,12), NUM(6,12) } }, /* 6 */
+ { "as", { FC_REF_CONSTANT, 1, OFF(7,13), NUM(7,13) } }, /* 7 */
+ { "ast", { FC_REF_CONSTANT, 2, OFF(8,14), NUM(8,14) } }, /* 8 */
+ { "av", { FC_REF_CONSTANT, 1, OFF(9,16), NUM(9,16) } }, /* 9 */
+ { "ay", { FC_REF_CONSTANT, 1, OFF(10,17), NUM(10,17) } }, /* 10 */
+ { "az-az", { FC_REF_CONSTANT, 3, OFF(11,18), NUM(11,18) } }, /* 11 */
+ { "az-ir", { FC_REF_CONSTANT, 1, OFF(12,21), NUM(12,21) } }, /* 12 */
+ { "ba", { FC_REF_CONSTANT, 1, OFF(13,22), NUM(13,22) } }, /* 13 */
+ { "be", { FC_REF_CONSTANT, 1, OFF(14,23), NUM(14,23) } }, /* 14 */
+ { "ber-dz", { FC_REF_CONSTANT, 4, OFF(15,24), NUM(15,24) } }, /* 15 */
+ { "ber-ma", { FC_REF_CONSTANT, 1, OFF(16,28), NUM(16,28) } }, /* 16 */
+ { "bg", { FC_REF_CONSTANT, 1, OFF(17,29), NUM(17,29) } }, /* 17 */
+ { "bh", { FC_REF_CONSTANT, 1, OFF(18,30), NUM(18,30) } }, /* 18 */
+ { "bho", { FC_REF_CONSTANT, 1, OFF(19,30), NUM(19,30) } }, /* 19 */
+ { "bi", { FC_REF_CONSTANT, 1, OFF(20,31), NUM(20,31) } }, /* 20 */
+ { "bin", { FC_REF_CONSTANT, 3, OFF(21,32), NUM(21,32) } }, /* 21 */
+ { "bm", { FC_REF_CONSTANT, 3, OFF(22,35), NUM(22,35) } }, /* 22 */
+ { "bn", { FC_REF_CONSTANT, 1, OFF(23,38), NUM(23,38) } }, /* 23 */
+ { "bo", { FC_REF_CONSTANT, 1, OFF(24,39), NUM(24,39) } }, /* 24 */
+ { "br", { FC_REF_CONSTANT, 1, OFF(25,40), NUM(25,40) } }, /* 25 */
+ { "brx", { FC_REF_CONSTANT, 1, OFF(26,41), NUM(26,41) } }, /* 26 */
+ { "bs", { FC_REF_CONSTANT, 2, OFF(27,42), NUM(27,42) } }, /* 27 */
+ { "bua", { FC_REF_CONSTANT, 1, OFF(28,44), NUM(28,44) } }, /* 28 */
+ { "byn", { FC_REF_CONSTANT, 2, OFF(29,45), NUM(29,45) } }, /* 29 */
+ { "ca", { FC_REF_CONSTANT, 2, OFF(30,47), NUM(30,47) } }, /* 30 */
+ { "ce", { FC_REF_CONSTANT, 1, OFF(31,16), NUM(31,16) } }, /* 31 */
+ { "ch", { FC_REF_CONSTANT, 1, OFF(32,49), NUM(32,49) } }, /* 32 */
+ { "chm", { FC_REF_CONSTANT, 1, OFF(33,50), NUM(33,50) } }, /* 33 */
+ { "chr", { FC_REF_CONSTANT, 1, OFF(34,51), NUM(34,51) } }, /* 34 */
+ { "co", { FC_REF_CONSTANT, 2, OFF(35,52), NUM(35,52) } }, /* 35 */
+ { "crh", { FC_REF_CONSTANT, 2, OFF(36,54), NUM(36,54) } }, /* 36 */
+ { "cs", { FC_REF_CONSTANT, 2, OFF(37,56), NUM(37,56) } }, /* 37 */
+ { "csb", { FC_REF_CONSTANT, 2, OFF(38,58), NUM(38,58) } }, /* 38 */
+ { "cu", { FC_REF_CONSTANT, 1, OFF(39,60), NUM(39,60) } }, /* 39 */
+ { "cv", { FC_REF_CONSTANT, 2, OFF(40,61), NUM(40,61) } }, /* 40 */
+ { "cy", { FC_REF_CONSTANT, 3, OFF(41,63), NUM(41,63) } }, /* 41 */
+ { "da", { FC_REF_CONSTANT, 1, OFF(42,66), NUM(42,66) } }, /* 42 */
+ { "de", { FC_REF_CONSTANT, 1, OFF(43,67), NUM(43,67) } }, /* 43 */
+ { "doi", { FC_REF_CONSTANT, 1, OFF(44,68), NUM(44,68) } }, /* 44 */
+ { "dv", { FC_REF_CONSTANT, 1, OFF(45,69), NUM(45,69) } }, /* 45 */
+ { "dz", { FC_REF_CONSTANT, 1, OFF(46,39), NUM(46,39) } }, /* 46 */
+ { "ee", { FC_REF_CONSTANT, 4, OFF(47,70), NUM(47,70) } }, /* 47 */
+ { "el", { FC_REF_CONSTANT, 1, OFF(48,74), NUM(48,74) } }, /* 48 */
+ { "en", { FC_REF_CONSTANT, 1, OFF(49,75), NUM(49,75) } }, /* 49 */
+ { "eo", { FC_REF_CONSTANT, 2, OFF(50,76), NUM(50,76) } }, /* 50 */
+ { "es", { FC_REF_CONSTANT, 1, OFF(51,11), NUM(51,11) } }, /* 51 */
+ { "et", { FC_REF_CONSTANT, 2, OFF(52,78), NUM(52,78) } }, /* 52 */
+ { "eu", { FC_REF_CONSTANT, 1, OFF(53,80), NUM(53,80) } }, /* 53 */
+ { "fa", { FC_REF_CONSTANT, 1, OFF(54,21), NUM(54,21) } }, /* 54 */
+ { "fat", { FC_REF_CONSTANT, 5, OFF(55,4), NUM(55,4) } }, /* 55 */
+ { "ff", { FC_REF_CONSTANT, 3, OFF(56,81), NUM(56,81) } }, /* 56 */
+ { "fi", { FC_REF_CONSTANT, 2, OFF(57,84), NUM(57,84) } }, /* 57 */
+ { "fil", { FC_REF_CONSTANT, 1, OFF(58,86), NUM(58,86) } }, /* 58 */
+ { "fj", { FC_REF_CONSTANT, 1, OFF(59,87), NUM(59,87) } }, /* 59 */
+ { "fo", { FC_REF_CONSTANT, 1, OFF(60,88), NUM(60,88) } }, /* 60 */
+ { "fr", { FC_REF_CONSTANT, 2, OFF(61,52), NUM(61,52) } }, /* 61 */
+ { "fur", { FC_REF_CONSTANT, 1, OFF(62,89), NUM(62,89) } }, /* 62 */
+ { "fy", { FC_REF_CONSTANT, 1, OFF(63,90), NUM(63,90) } }, /* 63 */
+ { "ga", { FC_REF_CONSTANT, 3, OFF(64,91), NUM(64,91) } }, /* 64 */
+ { "gd", { FC_REF_CONSTANT, 1, OFF(65,94), NUM(65,94) } }, /* 65 */
+ { "gez", { FC_REF_CONSTANT, 2, OFF(66,95), NUM(66,95) } }, /* 66 */
+ { "gl", { FC_REF_CONSTANT, 1, OFF(67,11), NUM(67,11) } }, /* 67 */
+ { "gn", { FC_REF_CONSTANT, 3, OFF(68,97), NUM(68,97) } }, /* 68 */
+ { "gu", { FC_REF_CONSTANT, 1, OFF(69,100), NUM(69,100) } }, /* 69 */
+ { "gv", { FC_REF_CONSTANT, 1, OFF(70,101), NUM(70,101) } }, /* 70 */
+ { "ha", { FC_REF_CONSTANT, 3, OFF(71,102), NUM(71,102) } }, /* 71 */
+ { "haw", { FC_REF_CONSTANT, 3, OFF(72,105), NUM(72,105) } }, /* 72 */
+ { "he", { FC_REF_CONSTANT, 1, OFF(73,108), NUM(73,108) } }, /* 73 */
+ { "hi", { FC_REF_CONSTANT, 1, OFF(74,30), NUM(74,30) } }, /* 74 */
+ { "hne", { FC_REF_CONSTANT, 1, OFF(75,30), NUM(75,30) } }, /* 75 */
+ { "ho", { FC_REF_CONSTANT, 1, OFF(76,87), NUM(76,87) } }, /* 76 */
+ { "hr", { FC_REF_CONSTANT, 2, OFF(77,42), NUM(77,42) } }, /* 77 */
+ { "hsb", { FC_REF_CONSTANT, 2, OFF(78,109), NUM(78,109) } }, /* 78 */
+ { "ht", { FC_REF_CONSTANT, 1, OFF(79,111), NUM(79,111) } }, /* 79 */
+ { "hu", { FC_REF_CONSTANT, 2, OFF(80,112), NUM(80,112) } }, /* 80 */
+ { "hy", { FC_REF_CONSTANT, 1, OFF(81,114), NUM(81,114) } }, /* 81 */
+ { "hz", { FC_REF_CONSTANT, 3, OFF(82,115), NUM(82,115) } }, /* 82 */
+ { "ia", { FC_REF_CONSTANT, 1, OFF(83,87), NUM(83,87) } }, /* 83 */
+ { "id", { FC_REF_CONSTANT, 1, OFF(84,118), NUM(84,118) } }, /* 84 */
+ { "ie", { FC_REF_CONSTANT, 1, OFF(85,87), NUM(85,87) } }, /* 85 */
+ { "ig", { FC_REF_CONSTANT, 2, OFF(86,119), NUM(86,119) } }, /* 86 */
+ { "ii", { FC_REF_CONSTANT, 5, OFF(87,121), NUM(87,121) } }, /* 87 */
+ { "ik", { FC_REF_CONSTANT, 1, OFF(88,126), NUM(88,126) } }, /* 88 */
+ { "io", { FC_REF_CONSTANT, 1, OFF(89,87), NUM(89,87) } }, /* 89 */
+ { "is", { FC_REF_CONSTANT, 1, OFF(90,127), NUM(90,127) } }, /* 90 */
+ { "it", { FC_REF_CONSTANT, 1, OFF(91,128), NUM(91,128) } }, /* 91 */
+ { "iu", { FC_REF_CONSTANT, 3, OFF(92,129), NUM(92,129) } }, /* 92 */
+ { "ja", { FC_REF_CONSTANT, 83, OFF(93,132), NUM(93,132) } }, /* 93 */
+ { "jv", { FC_REF_CONSTANT, 1, OFF(94,215), NUM(94,215) } }, /* 94 */
+ { "ka", { FC_REF_CONSTANT, 1, OFF(95,216), NUM(95,216) } }, /* 95 */
+ { "kaa", { FC_REF_CONSTANT, 1, OFF(96,217), NUM(96,217) } }, /* 96 */
+ { "kab", { FC_REF_CONSTANT, 4, OFF(97,24), NUM(97,24) } }, /* 97 */
+ { "ki", { FC_REF_CONSTANT, 2, OFF(98,218), NUM(98,218) } }, /* 98 */
+ { "kj", { FC_REF_CONSTANT, 1, OFF(99,87), NUM(99,87) } }, /* 99 */
+ { "kk", { FC_REF_CONSTANT, 1, OFF(100,220), NUM(100,220) } }, /* 100 */
+ { "kl", { FC_REF_CONSTANT, 2, OFF(101,221), NUM(101,221) } }, /* 101 */
+ { "km", { FC_REF_CONSTANT, 1, OFF(102,223), NUM(102,223) } }, /* 102 */
+ { "kn", { FC_REF_CONSTANT, 1, OFF(103,224), NUM(103,224) } }, /* 103 */
+ { "ko", { FC_REF_CONSTANT, 45, OFF(104,225), NUM(104,225) } }, /* 104 */
+ { "kok", { FC_REF_CONSTANT, 1, OFF(105,30), NUM(105,30) } }, /* 105 */
+ { "kr", { FC_REF_CONSTANT, 3, OFF(106,270), NUM(106,270) } }, /* 106 */
+ { "ks", { FC_REF_CONSTANT, 1, OFF(107,273), NUM(107,273) } }, /* 107 */
+ { "ku-am", { FC_REF_CONSTANT, 2, OFF(108,274), NUM(108,274) } }, /* 108 */
+ { "ku-iq", { FC_REF_CONSTANT, 1, OFF(109,276), NUM(109,276) } }, /* 109 */
+ { "ku-ir", { FC_REF_CONSTANT, 1, OFF(110,276), NUM(110,276) } }, /* 110 */
+ { "ku-tr", { FC_REF_CONSTANT, 2, OFF(111,277), NUM(111,277) } }, /* 111 */
+ { "kum", { FC_REF_CONSTANT, 1, OFF(112,279), NUM(112,279) } }, /* 112 */
+ { "kv", { FC_REF_CONSTANT, 1, OFF(113,280), NUM(113,280) } }, /* 113 */
+ { "kw", { FC_REF_CONSTANT, 3, OFF(114,281), NUM(114,281) } }, /* 114 */
+ { "kwm", { FC_REF_CONSTANT, 1, OFF(115,87), NUM(115,87) } }, /* 115 */
+ { "ky", { FC_REF_CONSTANT, 1, OFF(116,284), NUM(116,284) } }, /* 116 */
+ { "la", { FC_REF_CONSTANT, 2, OFF(117,285), NUM(117,285) } }, /* 117 */
+ { "lah", { FC_REF_CONSTANT, 1, OFF(118,287), NUM(118,287) } }, /* 118 */
+ { "lb", { FC_REF_CONSTANT, 1, OFF(119,288), NUM(119,288) } }, /* 119 */
+ { "lez", { FC_REF_CONSTANT, 1, OFF(120,16), NUM(120,16) } }, /* 120 */
+ { "lg", { FC_REF_CONSTANT, 2, OFF(121,289), NUM(121,289) } }, /* 121 */
+ { "li", { FC_REF_CONSTANT, 1, OFF(122,291), NUM(122,291) } }, /* 122 */
+ { "ln", { FC_REF_CONSTANT, 4, OFF(123,292), NUM(123,292) } }, /* 123 */
+ { "lo", { FC_REF_CONSTANT, 1, OFF(124,296), NUM(124,296) } }, /* 124 */
+ { "lt", { FC_REF_CONSTANT, 2, OFF(125,297), NUM(125,297) } }, /* 125 */
+ { "lv", { FC_REF_CONSTANT, 2, OFF(126,299), NUM(126,299) } }, /* 126 */
+ { "mai", { FC_REF_CONSTANT, 1, OFF(127,30), NUM(127,30) } }, /* 127 */
+ { "mg", { FC_REF_CONSTANT, 1, OFF(128,301), NUM(128,301) } }, /* 128 */
+ { "mh", { FC_REF_CONSTANT, 2, OFF(129,302), NUM(129,302) } }, /* 129 */
+ { "mi", { FC_REF_CONSTANT, 3, OFF(130,304), NUM(130,304) } }, /* 130 */
+ { "mk", { FC_REF_CONSTANT, 1, OFF(131,307), NUM(131,307) } }, /* 131 */
+ { "ml", { FC_REF_CONSTANT, 1, OFF(132,308), NUM(132,308) } }, /* 132 */
+ { "mn-cn", { FC_REF_CONSTANT, 1, OFF(133,309), NUM(133,309) } }, /* 133 */
+ { "mn-mn", { FC_REF_CONSTANT, 1, OFF(134,310), NUM(134,310) } }, /* 134 */
+ { "mni", { FC_REF_CONSTANT, 1, OFF(135,311), NUM(135,311) } }, /* 135 */
+ { "mo", { FC_REF_CONSTANT, 4, OFF(136,312), NUM(136,312) } }, /* 136 */
+ { "mr", { FC_REF_CONSTANT, 1, OFF(137,30), NUM(137,30) } }, /* 137 */
+ { "ms", { FC_REF_CONSTANT, 1, OFF(138,87), NUM(138,87) } }, /* 138 */
+ { "mt", { FC_REF_CONSTANT, 2, OFF(139,316), NUM(139,316) } }, /* 139 */
+ { "my", { FC_REF_CONSTANT, 1, OFF(140,318), NUM(140,318) } }, /* 140 */
+ { "na", { FC_REF_CONSTANT, 2, OFF(141,319), NUM(141,319) } }, /* 141 */
+ { "nb", { FC_REF_CONSTANT, 1, OFF(142,321), NUM(142,321) } }, /* 142 */
+ { "nds", { FC_REF_CONSTANT, 1, OFF(143,67), NUM(143,67) } }, /* 143 */
+ { "ne", { FC_REF_CONSTANT, 1, OFF(144,322), NUM(144,322) } }, /* 144 */
+ { "ng", { FC_REF_CONSTANT, 1, OFF(145,87), NUM(145,87) } }, /* 145 */
+ { "nl", { FC_REF_CONSTANT, 1, OFF(146,323), NUM(146,323) } }, /* 146 */
+ { "nn", { FC_REF_CONSTANT, 1, OFF(147,324), NUM(147,324) } }, /* 147 */
+ { "no", { FC_REF_CONSTANT, 1, OFF(148,321), NUM(148,321) } }, /* 148 */
+ { "nqo", { FC_REF_CONSTANT, 1, OFF(149,325), NUM(149,325) } }, /* 149 */
+ { "nr", { FC_REF_CONSTANT, 1, OFF(150,87), NUM(150,87) } }, /* 150 */
+ { "nso", { FC_REF_CONSTANT, 2, OFF(151,326), NUM(151,326) } }, /* 151 */
+ { "nv", { FC_REF_CONSTANT, 4, OFF(152,328), NUM(152,328) } }, /* 152 */
+ { "ny", { FC_REF_CONSTANT, 2, OFF(153,332), NUM(153,332) } }, /* 153 */
+ { "oc", { FC_REF_CONSTANT, 1, OFF(154,334), NUM(154,334) } }, /* 154 */
+ { "om", { FC_REF_CONSTANT, 1, OFF(155,87), NUM(155,87) } }, /* 155 */
+ { "or", { FC_REF_CONSTANT, 1, OFF(156,335), NUM(156,335) } }, /* 156 */
+ { "os", { FC_REF_CONSTANT, 1, OFF(157,279), NUM(157,279) } }, /* 157 */
+ { "ota", { FC_REF_CONSTANT, 1, OFF(158,336), NUM(158,336) } }, /* 158 */
+ { "pa", { FC_REF_CONSTANT, 1, OFF(159,337), NUM(159,337) } }, /* 159 */
+ { "pa-pk", { FC_REF_CONSTANT, 1, OFF(160,287), NUM(160,287) } }, /* 160 */
+ { "pap-an", { FC_REF_CONSTANT, 1, OFF(161,338), NUM(161,338) } }, /* 161 */
+ { "pap-aw", { FC_REF_CONSTANT, 1, OFF(162,339), NUM(162,339) } }, /* 162 */
+ { "pl", { FC_REF_CONSTANT, 2, OFF(163,340), NUM(163,340) } }, /* 163 */
+ { "ps-af", { FC_REF_CONSTANT, 1, OFF(164,342), NUM(164,342) } }, /* 164 */
+ { "ps-pk", { FC_REF_CONSTANT, 1, OFF(165,343), NUM(165,343) } }, /* 165 */
+ { "pt", { FC_REF_CONSTANT, 1, OFF(166,344), NUM(166,344) } }, /* 166 */
+ { "qu", { FC_REF_CONSTANT, 2, OFF(167,345), NUM(167,345) } }, /* 167 */
+ { "quz", { FC_REF_CONSTANT, 2, OFF(168,345), NUM(168,345) } }, /* 168 */
+ { "rm", { FC_REF_CONSTANT, 1, OFF(169,347), NUM(169,347) } }, /* 169 */
+ { "rn", { FC_REF_CONSTANT, 1, OFF(170,87), NUM(170,87) } }, /* 170 */
+ { "ro", { FC_REF_CONSTANT, 3, OFF(171,348), NUM(171,348) } }, /* 171 */
+ { "ru", { FC_REF_CONSTANT, 1, OFF(172,279), NUM(172,279) } }, /* 172 */
+ { "rw", { FC_REF_CONSTANT, 1, OFF(173,87), NUM(173,87) } }, /* 173 */
+ { "sa", { FC_REF_CONSTANT, 1, OFF(174,30), NUM(174,30) } }, /* 174 */
+ { "sah", { FC_REF_CONSTANT, 1, OFF(175,351), NUM(175,351) } }, /* 175 */
+ { "sat", { FC_REF_CONSTANT, 1, OFF(176,352), NUM(176,352) } }, /* 176 */
+ { "sc", { FC_REF_CONSTANT, 1, OFF(177,353), NUM(177,353) } }, /* 177 */
+ { "sco", { FC_REF_CONSTANT, 3, OFF(178,354), NUM(178,354) } }, /* 178 */
+ { "sd", { FC_REF_CONSTANT, 1, OFF(179,357), NUM(179,357) } }, /* 179 */
+ { "se", { FC_REF_CONSTANT, 2, OFF(180,358), NUM(180,358) } }, /* 180 */
+ { "sel", { FC_REF_CONSTANT, 1, OFF(181,279), NUM(181,279) } }, /* 181 */
+ { "sg", { FC_REF_CONSTANT, 1, OFF(182,360), NUM(182,360) } }, /* 182 */
+ { "sh", { FC_REF_CONSTANT, 3, OFF(183,361), NUM(183,361) } }, /* 183 */
+ { "shs", { FC_REF_CONSTANT, 2, OFF(184,364), NUM(184,364) } }, /* 184 */
+ { "si", { FC_REF_CONSTANT, 1, OFF(185,366), NUM(185,366) } }, /* 185 */
+ { "sid", { FC_REF_CONSTANT, 2, OFF(186,367), NUM(186,367) } }, /* 186 */
+ { "sk", { FC_REF_CONSTANT, 2, OFF(187,369), NUM(187,369) } }, /* 187 */
+ { "sl", { FC_REF_CONSTANT, 2, OFF(188,42), NUM(188,42) } }, /* 188 */
+ { "sm", { FC_REF_CONSTANT, 2, OFF(189,371), NUM(189,371) } }, /* 189 */
+ { "sma", { FC_REF_CONSTANT, 1, OFF(190,373), NUM(190,373) } }, /* 190 */
+ { "smj", { FC_REF_CONSTANT, 1, OFF(191,374), NUM(191,374) } }, /* 191 */
+ { "smn", { FC_REF_CONSTANT, 2, OFF(192,375), NUM(192,375) } }, /* 192 */
+ { "sms", { FC_REF_CONSTANT, 3, OFF(193,377), NUM(193,377) } }, /* 193 */
+ { "sn", { FC_REF_CONSTANT, 1, OFF(194,87), NUM(194,87) } }, /* 194 */
+ { "so", { FC_REF_CONSTANT, 1, OFF(195,87), NUM(195,87) } }, /* 195 */
+ { "sq", { FC_REF_CONSTANT, 1, OFF(196,380), NUM(196,380) } }, /* 196 */
+ { "sr", { FC_REF_CONSTANT, 1, OFF(197,381), NUM(197,381) } }, /* 197 */
+ { "ss", { FC_REF_CONSTANT, 1, OFF(198,87), NUM(198,87) } }, /* 198 */
+ { "st", { FC_REF_CONSTANT, 1, OFF(199,87), NUM(199,87) } }, /* 199 */
+ { "su", { FC_REF_CONSTANT, 1, OFF(200,118), NUM(200,118) } }, /* 200 */
+ { "sv", { FC_REF_CONSTANT, 1, OFF(201,382), NUM(201,382) } }, /* 201 */
+ { "sw", { FC_REF_CONSTANT, 1, OFF(202,87), NUM(202,87) } }, /* 202 */
+ { "syr", { FC_REF_CONSTANT, 1, OFF(203,383), NUM(203,383) } }, /* 203 */
+ { "ta", { FC_REF_CONSTANT, 1, OFF(204,384), NUM(204,384) } }, /* 204 */
+ { "te", { FC_REF_CONSTANT, 1, OFF(205,385), NUM(205,385) } }, /* 205 */
+ { "tg", { FC_REF_CONSTANT, 1, OFF(206,386), NUM(206,386) } }, /* 206 */
+ { "th", { FC_REF_CONSTANT, 1, OFF(207,387), NUM(207,387) } }, /* 207 */
+ { "ti-er", { FC_REF_CONSTANT, 2, OFF(208,45), NUM(208,45) } }, /* 208 */
+ { "ti-et", { FC_REF_CONSTANT, 2, OFF(209,367), NUM(209,367) } }, /* 209 */
+ { "tig", { FC_REF_CONSTANT, 2, OFF(210,388), NUM(210,388) } }, /* 210 */
+ { "tk", { FC_REF_CONSTANT, 2, OFF(211,390), NUM(211,390) } }, /* 211 */
+ { "tl", { FC_REF_CONSTANT, 1, OFF(212,86), NUM(212,86) } }, /* 212 */
+ { "tn", { FC_REF_CONSTANT, 2, OFF(213,326), NUM(213,326) } }, /* 213 */
+ { "to", { FC_REF_CONSTANT, 2, OFF(214,371), NUM(214,371) } }, /* 214 */
+ { "tr", { FC_REF_CONSTANT, 2, OFF(215,392), NUM(215,392) } }, /* 215 */
+ { "ts", { FC_REF_CONSTANT, 1, OFF(216,87), NUM(216,87) } }, /* 216 */
+ { "tt", { FC_REF_CONSTANT, 1, OFF(217,394), NUM(217,394) } }, /* 217 */
+ { "tw", { FC_REF_CONSTANT, 5, OFF(218,4), NUM(218,4) } }, /* 218 */
+ { "ty", { FC_REF_CONSTANT, 3, OFF(219,395), NUM(219,395) } }, /* 219 */
+ { "tyv", { FC_REF_CONSTANT, 1, OFF(220,284), NUM(220,284) } }, /* 220 */
+ { "ug", { FC_REF_CONSTANT, 1, OFF(221,398), NUM(221,398) } }, /* 221 */
+ { "uk", { FC_REF_CONSTANT, 1, OFF(222,399), NUM(222,399) } }, /* 222 */
+ { "ur", { FC_REF_CONSTANT, 1, OFF(223,287), NUM(223,287) } }, /* 223 */
+ { "uz", { FC_REF_CONSTANT, 1, OFF(224,87), NUM(224,87) } }, /* 224 */
+ { "ve", { FC_REF_CONSTANT, 2, OFF(225,400), NUM(225,400) } }, /* 225 */
+ { "vi", { FC_REF_CONSTANT, 4, OFF(226,402), NUM(226,402) } }, /* 226 */
+ { "vo", { FC_REF_CONSTANT, 1, OFF(227,406), NUM(227,406) } }, /* 227 */
+ { "vot", { FC_REF_CONSTANT, 2, OFF(228,407), NUM(228,407) } }, /* 228 */
+ { "wa", { FC_REF_CONSTANT, 1, OFF(229,409), NUM(229,409) } }, /* 229 */
+ { "wal", { FC_REF_CONSTANT, 2, OFF(230,367), NUM(230,367) } }, /* 230 */
+ { "wen", { FC_REF_CONSTANT, 2, OFF(231,410), NUM(231,410) } }, /* 231 */
+ { "wo", { FC_REF_CONSTANT, 2, OFF(232,412), NUM(232,412) } }, /* 232 */
+ { "xh", { FC_REF_CONSTANT, 1, OFF(233,87), NUM(233,87) } }, /* 233 */
+ { "yap", { FC_REF_CONSTANT, 1, OFF(234,414), NUM(234,414) } }, /* 234 */
+ { "yi", { FC_REF_CONSTANT, 1, OFF(235,108), NUM(235,108) } }, /* 235 */
+ { "yo", { FC_REF_CONSTANT, 4, OFF(236,415), NUM(236,415) } }, /* 236 */
+ { "za", { FC_REF_CONSTANT, 1, OFF(237,87), NUM(237,87) } }, /* 237 */
+ { "zh-cn", { FC_REF_CONSTANT, 82, OFF(238,419), NUM(238,419) } }, /* 238 */
+ { "zh-hk", { FC_REF_CONSTANT, 171, OFF(239,501), NUM(239,501) } }, /* 239 */
+ { "zh-mo", { FC_REF_CONSTANT, 171, OFF(240,501), NUM(240,501) } }, /* 240 */
+ { "zh-sg", { FC_REF_CONSTANT, 82, OFF(241,419), NUM(241,419) } }, /* 241 */
+ { "zh-tw", { FC_REF_CONSTANT, 83, OFF(242,672), NUM(242,672) } }, /* 242 */
+ { "zu", { FC_REF_CONSTANT, 1, OFF(243,87), NUM(243,87) } }, /* 243 */
+},
+{
+ { { /* 0 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x08104404, 0x08104404,
+ } },
+ { { /* 1 */
+ 0xffff8002, 0xffffffff, 0x8002ffff, 0x00000000,
+ 0xc0000000, 0xf0fc33c0, 0x03000000, 0x00000003,
+ } },
+ { { /* 2 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x0810cf00, 0x0810cf00,
+ } },
+ { { /* 3 */
+ 0x00000000, 0x00000000, 0x00000200, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 4 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00220008, 0x00220008,
+ } },
+ { { /* 5 */
+ 0x00000000, 0x00000300, 0x00000000, 0x00000300,
+ 0x00010040, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 6 */
+ 0x00000000, 0x00000000, 0x08100000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 7 */
+ 0x00000048, 0x00000200, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 8 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x30000000, 0x00000000, 0x03000000,
+ } },
+ { { /* 9 */
+ 0xff7fff7f, 0xff01ff7f, 0x00003d7f, 0xffff7fff,
+ 0xffff3d7f, 0x003d7fff, 0xff7f7f00, 0x00ff7fff,
+ } },
+ { { /* 10 */
+ 0x003d7fff, 0xffffffff, 0x007fff7f, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 11 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x140a2202, 0x140a2202,
+ } },
+ { { /* 12 */
+ 0x00000000, 0x07fffffe, 0x000007fe, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 13 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xfff99fee, 0xd3c4fdff, 0xb000399f, 0x00030000,
+ } },
+ { { /* 14 */
+ 0x00000000, 0x00c00030, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 15 */
+ 0xffff0042, 0xffffffff, 0x0002ffff, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 16 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x10028010, 0x10028010,
+ } },
+ { { /* 17 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x10400080, 0x10400080,
+ } },
+ { { /* 18 */
+ 0xc0000000, 0x00030000, 0xc0000000, 0x00000000,
+ 0x00008000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 19 */
+ 0x00000000, 0x00000000, 0x02000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 20 */
+ 0x00000000, 0x07ffffde, 0x001009f6, 0x40000000,
+ 0x01000040, 0x00008200, 0x00001000, 0x00000000,
+ } },
+ { { /* 21 */
+ 0xffff0000, 0xffffffff, 0x0000ffff, 0x00000000,
+ 0x030c0000, 0x0c00cc0f, 0x03000000, 0x00000300,
+ } },
+ { { /* 22 */
+ 0xffff4040, 0xffffffff, 0x4040ffff, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 23 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 24 */
+ 0x00003000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00110000, 0x00000000, 0x00000000, 0x000000c0,
+ } },
+ { { /* 25 */
+ 0x00000000, 0x00000000, 0x08000000, 0x00000008,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 26 */
+ 0x00003000, 0x00000030, 0x00000000, 0x0000300c,
+ 0x000c0000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 27 */
+ 0x00000000, 0x3a8b0000, 0x9e78e6b9, 0x0000802e,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 28 */
+ 0xffff0000, 0xffffd7ff, 0x0000d7ff, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 29 */
+ 0xffffffe0, 0x83ffffff, 0x00003fff, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 30 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x10008200, 0x10008200,
+ } },
+ { { /* 31 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x060c3303, 0x060c3303,
+ } },
+ { { /* 32 */
+ 0x00000003, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 33 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x03000000, 0x00003000, 0x00000000,
+ } },
+ { { /* 34 */
+ 0x00000000, 0x00000000, 0x00000c00, 0x00000000,
+ 0x20010040, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 35 */
+ 0x00000000, 0x00000000, 0x08100000, 0x00040000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 36 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xfff99fee, 0xd3c5fdff, 0xb000399f, 0x00000000,
+ } },
+ { { /* 37 */
+ 0x00000000, 0x00000000, 0xfffffeff, 0x3d7e03ff,
+ 0xfeff0003, 0x03ffffff, 0x00000000, 0x00000000,
+ } },
+ { { /* 38 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x12120404, 0x12120404,
+ } },
+ { { /* 39 */
+ 0xfff99fee, 0xf3e5fdff, 0x0007399f, 0x0001ffff,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 40 */
+ 0x000330c0, 0x00000000, 0x00000000, 0x60000003,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 41 */
+ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+ 0x00000000, 0x0c00c000, 0x00000000, 0x00000000,
+ } },
+ { { /* 42 */
+ 0xff7fff7f, 0xff01ff00, 0x3d7f3d7f, 0xffff7fff,
+ 0xffff0000, 0x003d7fff, 0xff7f7f3d, 0x00ff7fff,
+ } },
+ { { /* 43 */
+ 0x003d7fff, 0xffffffff, 0x007fff00, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 44 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x140ca381, 0x140ca381,
+ } },
+ { { /* 45 */
+ 0x00000000, 0x80000000, 0x00000001, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 46 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x10020004, 0x10020004,
+ } },
+ { { /* 47 */
+ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+ 0x00000000, 0x00000030, 0x000c0000, 0x030300c0,
+ } },
+ { { /* 48 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0xffffffff, 0xffffffff, 0x001fffff,
+ } },
+ { { /* 49 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x1a10cfc5, 0x9a10cfc5,
+ } },
+ { { /* 50 */
+ 0x00000000, 0x00000000, 0x000c0000, 0x01000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 51 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x10420084, 0x10420084,
+ } },
+ { { /* 52 */
+ 0xc0000000, 0x00030000, 0xc0000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 53 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x24082202, 0x24082202,
+ } },
+ { { /* 54 */
+ 0x0c00f000, 0x00000000, 0x03000180, 0x6000c033,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 55 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x021c0a08, 0x021c0a08,
+ } },
+ { { /* 56 */
+ 0x00000030, 0x00000000, 0x0000001e, 0x18000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 57 */
+ 0xfdffa966, 0xffffdfff, 0xa965dfff, 0x03ffffff,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 58 */
+ 0x0000000c, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 59 */
+ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+ 0x00000000, 0x00000c00, 0x00c00000, 0x000c0000,
+ } },
+ { { /* 60 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x0010c604, 0x8010c604,
+ } },
+ { { /* 61 */
+ 0x00000000, 0x00000000, 0x00000000, 0x01f00000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 62 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x0000003f, 0x00000000, 0x00000000, 0x000c0000,
+ } },
+ { { /* 63 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x25082262, 0x25082262,
+ } },
+ { { /* 64 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x90400010, 0x10400010,
+ } },
+ { { /* 65 */
+ 0xfff99fec, 0xf3e5fdff, 0xf807399f, 0x0000ffff,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 66 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xffffffff, 0x0001ffff, 0x00000000, 0x00000000,
+ } },
+ { { /* 67 */
+ 0x0c000000, 0x00000000, 0x00000c00, 0x00000000,
+ 0x00170240, 0x00040000, 0x001fe000, 0x00000000,
+ } },
+ { { /* 68 */
+ 0x00000000, 0x00000000, 0x08500000, 0x00000008,
+ 0x00000800, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 69 */
+ 0x00001003, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 70 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xffffd740, 0xfffffffb, 0x00007fff, 0x00000000,
+ } },
+ { { /* 71 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00528f81, 0x00528f81,
+ } },
+ { { /* 72 */
+ 0x30000300, 0x00300030, 0x30000000, 0x00003000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 73 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x10600010, 0x10600010,
+ } },
+ { { /* 74 */
+ 0x00000000, 0x00000000, 0x00000000, 0x60000003,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 75 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x10020000, 0x10020000,
+ } },
+ { { /* 76 */
+ 0x00000000, 0x00000000, 0x00000c00, 0x00000000,
+ 0x20000402, 0x00180000, 0x00000000, 0x00000000,
+ } },
+ { { /* 77 */
+ 0x00000000, 0x00000000, 0x00880000, 0x00040000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 78 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00400030, 0x00400030,
+ } },
+ { { /* 79 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x0e1e7707, 0x0e1e7707,
+ } },
+ { { /* 80 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x25092042, 0x25092042,
+ } },
+ { { /* 81 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x02041107, 0x02041107,
+ } },
+ { { /* 82 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x9c508e14, 0x1c508e14,
+ } },
+ { { /* 83 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x04082202, 0x04082202,
+ } },
+ { { /* 84 */
+ 0x00000c00, 0x00000003, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 85 */
+ 0xc0000c0c, 0x00000000, 0x00c00003, 0x00000c03,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 86 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x020c1383, 0x020c1383,
+ } },
+ { { /* 87 */
+ 0xff7fff7f, 0xff01ff7f, 0x00003d7f, 0x00ff00ff,
+ 0x00ff3d7f, 0x003d7fff, 0xff7f7f00, 0x00ff7f00,
+ } },
+ { { /* 88 */
+ 0x003d7f00, 0xffff01ff, 0x007fff7f, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 89 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x040a2202, 0x042a220a,
+ } },
+ { { /* 90 */
+ 0x00000000, 0x00000200, 0x00000000, 0x00000200,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 91 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x20000000, 0x00000000, 0x02000000,
+ } },
+ { { /* 92 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xfffbafee, 0xf3edfdff, 0x00013bbf, 0x00000001,
+ } },
+ { { /* 93 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00000080, 0x00000080,
+ } },
+ { { /* 94 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x03000402, 0x00180000, 0x00000000, 0x00000000,
+ } },
+ { { /* 95 */
+ 0x00000000, 0x00000000, 0x00880000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 96 */
+ 0x000c0003, 0x00000c00, 0x00003000, 0x00000c00,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 97 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x08000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 98 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0xffff0000, 0x000007ff,
+ } },
+ { { /* 99 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00080000, 0x00080000,
+ } },
+ { { /* 100 */
+ 0x0c0030c0, 0x00000000, 0x0300001e, 0x66000003,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 101 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00040100, 0x00040100,
+ } },
+ { { /* 102 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x14482202, 0x14482202,
+ } },
+ { { /* 103 */
+ 0x00000000, 0x00000000, 0x00030000, 0x00030000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 104 */
+ 0x00000000, 0xfffe0000, 0x007fffff, 0xfffffffe,
+ 0x000000ff, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 105 */
+ 0x00000000, 0x00008000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 106 */
+ 0x000c0000, 0x00000000, 0x00000c00, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 107 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00000200, 0x00000200,
+ } },
+ { { /* 108 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00003c00, 0x00000030,
+ } },
+ { { /* 109 */
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ } },
+ { { /* 110 */
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0x00001fff, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 111 */
+ 0xffff4002, 0xffffffff, 0x4002ffff, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 112 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x64092242, 0x64092242,
+ } },
+ { { /* 113 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x060cb301, 0x060cb301,
+ } },
+ { { /* 114 */
+ 0x00000c7e, 0x031f8000, 0x0063f200, 0x000df840,
+ 0x00037e08, 0x08000dfa, 0x0df901bf, 0x5437e400,
+ } },
+ { { /* 115 */
+ 0x00000025, 0x40006fc0, 0x27f91be4, 0xdee00000,
+ 0x007ff83f, 0x00007f7f, 0x00000000, 0x00000000,
+ } },
+ { { /* 116 */
+ 0x00000000, 0x00000000, 0x00000000, 0x007f8000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 117 */
+ 0x000000a7, 0x00000000, 0xfffffffe, 0xffffffff,
+ 0x780fffff, 0xfffffffe, 0xffffffff, 0x787fffff,
+ } },
+ { { /* 118 */
+ 0x03506f8b, 0x1b042042, 0x62808020, 0x400a0000,
+ 0x10341b41, 0x04003812, 0x03608c02, 0x08454038,
+ } },
+ { { /* 119 */
+ 0x2403c002, 0x15108000, 0x1229e040, 0x80280000,
+ 0x28002800, 0x8060c002, 0x2080040c, 0x05284002,
+ } },
+ { { /* 120 */
+ 0x82042a00, 0x02000818, 0x10008200, 0x20700020,
+ 0x03022000, 0x40a41000, 0x0420a020, 0x00000080,
+ } },
+ { { /* 121 */
+ 0x80040011, 0x00000400, 0x04012b78, 0x11a23920,
+ 0x02842460, 0x00c01021, 0x20002050, 0x07400042,
+ } },
+ { { /* 122 */
+ 0x208205c9, 0x0fc10230, 0x08402480, 0x00258018,
+ 0x88000080, 0x42120609, 0xa32002a8, 0x40040094,
+ } },
+ { { /* 123 */
+ 0x00c00024, 0x8e000001, 0x059e058a, 0x013b0001,
+ 0x85000010, 0x08080000, 0x02d07d04, 0x018d9838,
+ } },
+ { { /* 124 */
+ 0x8803f310, 0x03000840, 0x00000704, 0x30080500,
+ 0x00001000, 0x20040000, 0x00000003, 0x04040002,
+ } },
+ { { /* 125 */
+ 0x000100d0, 0x40028000, 0x00088040, 0x00000000,
+ 0x34000210, 0x00400e00, 0x00000020, 0x00000008,
+ } },
+ { { /* 126 */
+ 0x00000040, 0x00060000, 0x00000000, 0x00100100,
+ 0x00000080, 0x00000000, 0x4c000000, 0x240d0009,
+ } },
+ { { /* 127 */
+ 0x80048000, 0x00010180, 0x00020484, 0x00000400,
+ 0x00000804, 0x00000008, 0x80004800, 0x16800000,
+ } },
+ { { /* 128 */
+ 0x00200065, 0x00120410, 0x44920403, 0x40000200,
+ 0x10880008, 0x40080100, 0x00001482, 0x00074800,
+ } },
+ { { /* 129 */
+ 0x14608200, 0x00024e84, 0x00128380, 0x20184520,
+ 0x0240041c, 0x0a001120, 0x00180a00, 0x88000800,
+ } },
+ { { /* 130 */
+ 0x01000002, 0x00008001, 0x04000040, 0x80000040,
+ 0x08040000, 0x00000000, 0x00001202, 0x00000002,
+ } },
+ { { /* 131 */
+ 0x00000000, 0x00000004, 0x21910000, 0x00000858,
+ 0xbf8013a0, 0x8279401c, 0xa8041054, 0xc5004282,
+ } },
+ { { /* 132 */
+ 0x0402ce56, 0xfc020000, 0x40200d21, 0x00028030,
+ 0x00010000, 0x01081202, 0x00000000, 0x00410003,
+ } },
+ { { /* 133 */
+ 0x00404080, 0x00000200, 0x00010000, 0x00000000,
+ 0x00000000, 0x00000000, 0x60000000, 0x480241ea,
+ } },
+ { { /* 134 */
+ 0x2000104c, 0x2109a820, 0x00200020, 0x7b1c0008,
+ 0x10a0840a, 0x01c028c0, 0x00000608, 0x04c00000,
+ } },
+ { { /* 135 */
+ 0x80398412, 0x40a200e0, 0x02080000, 0x12030a04,
+ 0x008d1833, 0x02184602, 0x13803028, 0x00200801,
+ } },
+ { { /* 136 */
+ 0x20440000, 0x000005a1, 0x00050800, 0x0020a328,
+ 0x80100000, 0x10040649, 0x10020020, 0x00090180,
+ } },
+ { { /* 137 */
+ 0x8c008202, 0x00000000, 0x00205910, 0x0041410c,
+ 0x00004004, 0x40441290, 0x00010080, 0x01040000,
+ } },
+ { { /* 138 */
+ 0x04070000, 0x89108040, 0x00282a81, 0x82420000,
+ 0x51a20411, 0x32220800, 0x2b0d2220, 0x40c83003,
+ } },
+ { { /* 139 */
+ 0x82020082, 0x80008900, 0x10a00200, 0x08004100,
+ 0x09041108, 0x000405a6, 0x0c018000, 0x04104002,
+ } },
+ { { /* 140 */
+ 0x00002000, 0x44003000, 0x01000004, 0x00008200,
+ 0x00000008, 0x00044010, 0x00002002, 0x00001040,
+ } },
+ { { /* 141 */
+ 0x00000000, 0xca008000, 0x02828020, 0x00b1100c,
+ 0x12824280, 0x22013030, 0x00808820, 0x040013e4,
+ } },
+ { { /* 142 */
+ 0x801840c0, 0x1000a1a1, 0x00000004, 0x0050c200,
+ 0x00c20082, 0x00104840, 0x10400080, 0xa3140000,
+ } },
+ { { /* 143 */
+ 0xa8a02301, 0x24123d00, 0x80030200, 0xc0028022,
+ 0x34a10000, 0x00408005, 0x00190010, 0x882a0000,
+ } },
+ { { /* 144 */
+ 0x00080018, 0x33000402, 0x9002010a, 0x00000000,
+ 0x00800020, 0x00010100, 0x84040810, 0x04004000,
+ } },
+ { { /* 145 */
+ 0x10006020, 0x00000000, 0x00000000, 0x30a02000,
+ 0x00000004, 0x00000000, 0x01000800, 0x20000000,
+ } },
+ { { /* 146 */
+ 0x02000000, 0x02000602, 0x80000800, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 147 */
+ 0x00000010, 0x44040083, 0x00081000, 0x0818824c,
+ 0x00400e00, 0x8c300000, 0x08146001, 0x00000000,
+ } },
+ { { /* 148 */
+ 0x00828000, 0x41900000, 0x84804006, 0x24010001,
+ 0x02400108, 0x9b080006, 0x00201602, 0x0009012e,
+ } },
+ { { /* 149 */
+ 0x40800800, 0x48000420, 0x10000032, 0x01904440,
+ 0x02000100, 0x10048000, 0x00020000, 0x08820802,
+ } },
+ { { /* 150 */
+ 0x08080ba0, 0x00009242, 0x00400000, 0xc0008080,
+ 0x20410001, 0x04400000, 0x60020820, 0x00100000,
+ } },
+ { { /* 151 */
+ 0x00108046, 0x01001805, 0x90100000, 0x00014010,
+ 0x00000010, 0x00000000, 0x0000000b, 0x00008800,
+ } },
+ { { /* 152 */
+ 0x00000000, 0x00001000, 0x00000000, 0x20018800,
+ 0x00004600, 0x06002000, 0x00000100, 0x00000000,
+ } },
+ { { /* 153 */
+ 0x00000000, 0x10400042, 0x02004000, 0x00004280,
+ 0x80000400, 0x00020000, 0x00000008, 0x00000020,
+ } },
+ { { /* 154 */
+ 0x00000040, 0x20600400, 0x0a000180, 0x02040280,
+ 0x00000000, 0x00409001, 0x02000004, 0x00003200,
+ } },
+ { { /* 155 */
+ 0x88000000, 0x80404800, 0x00000010, 0x00040008,
+ 0x00000a90, 0x00000200, 0x00002000, 0x40002001,
+ } },
+ { { /* 156 */
+ 0x00000048, 0x00100000, 0x00000000, 0x00000001,
+ 0x00000008, 0x20010080, 0x00000000, 0x00400040,
+ } },
+ { { /* 157 */
+ 0x85000000, 0x0c8f0108, 0x32129000, 0x80090420,
+ 0x00024000, 0x40040800, 0x092000a0, 0x00100204,
+ } },
+ { { /* 158 */
+ 0x00002000, 0x00000000, 0x00440004, 0x6c000000,
+ 0x000000d0, 0x80004000, 0x88800440, 0x41144018,
+ } },
+ { { /* 159 */
+ 0x80001a02, 0x14000001, 0x00000001, 0x0000004a,
+ 0x00000000, 0x00083000, 0x08000000, 0x0008a024,
+ } },
+ { { /* 160 */
+ 0x00300004, 0x00140000, 0x20000000, 0x00001800,
+ 0x00020002, 0x04000000, 0x00000002, 0x00000100,
+ } },
+ { { /* 161 */
+ 0x00004002, 0x54000000, 0x60400300, 0x00002120,
+ 0x0000a022, 0x00000000, 0x81060803, 0x08010200,
+ } },
+ { { /* 162 */
+ 0x04004800, 0xb0044000, 0x0000a005, 0x04500800,
+ 0x800c000a, 0x0000c000, 0x10000800, 0x02408021,
+ } },
+ { { /* 163 */
+ 0x08020000, 0x00001040, 0x00540a40, 0x00000000,
+ 0x00800880, 0x01020002, 0x00000211, 0x00000010,
+ } },
+ { { /* 164 */
+ 0x00000000, 0x80000002, 0x00002000, 0x00080001,
+ 0x09840a00, 0x40000080, 0x00400000, 0x49000080,
+ } },
+ { { /* 165 */
+ 0x0e102831, 0x06098807, 0x40011014, 0x02620042,
+ 0x06000000, 0x88062000, 0x04068400, 0x08108301,
+ } },
+ { { /* 166 */
+ 0x08000012, 0x40004840, 0x00300402, 0x00012000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 167 */
+ 0x00000000, 0x00400000, 0x00000000, 0x00a54400,
+ 0x40004420, 0x20000310, 0x00041002, 0x18000000,
+ } },
+ { { /* 168 */
+ 0x00a1002a, 0x00080000, 0x40400000, 0x00900000,
+ 0x21401200, 0x04048626, 0x40005048, 0x21100000,
+ } },
+ { { /* 169 */
+ 0x040005a4, 0x000a0000, 0x00214000, 0x07010800,
+ 0x34000000, 0x00080100, 0x00080040, 0x10182508,
+ } },
+ { { /* 170 */
+ 0xc0805100, 0x02c01400, 0x00000080, 0x00448040,
+ 0x20000800, 0x210a8000, 0x08800000, 0x00020060,
+ } },
+ { { /* 171 */
+ 0x00004004, 0x00400100, 0x01040200, 0x00800000,
+ 0x00000000, 0x00000000, 0x10081400, 0x00008000,
+ } },
+ { { /* 172 */
+ 0x00004000, 0x20000000, 0x08800200, 0x00001000,
+ 0x00000000, 0x01000000, 0x00000810, 0x00000000,
+ } },
+ { { /* 173 */
+ 0x00020000, 0x20200000, 0x00000000, 0x00000000,
+ 0x00000010, 0x00001c40, 0x00002000, 0x08000210,
+ } },
+ { { /* 174 */
+ 0x00000000, 0x00000000, 0x54014000, 0x02000800,
+ 0x00200400, 0x00000000, 0x00002080, 0x00004000,
+ } },
+ { { /* 175 */
+ 0x10000004, 0x00000000, 0x00000000, 0x00000000,
+ 0x00002000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 176 */
+ 0x00000000, 0x00000000, 0x28881041, 0x0081010a,
+ 0x00400800, 0x00000800, 0x10208026, 0x61000000,
+ } },
+ { { /* 177 */
+ 0x00050080, 0x00000000, 0x80000000, 0x80040000,
+ 0x044088c2, 0x00080480, 0x00040000, 0x00000048,
+ } },
+ { { /* 178 */
+ 0x8188410d, 0x141a2400, 0x40310000, 0x000f4249,
+ 0x41283280, 0x80053011, 0x00400880, 0x410060c0,
+ } },
+ { { /* 179 */
+ 0x2a004013, 0x02000002, 0x11000000, 0x00850040,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 180 */
+ 0x00000000, 0x00800000, 0x04000440, 0x00000402,
+ 0x60001000, 0x99909f87, 0x5808049d, 0x10002445,
+ } },
+ { { /* 181 */
+ 0x00000100, 0x00000000, 0x00000000, 0x00910050,
+ 0x00000420, 0x00080008, 0x20000000, 0x00288002,
+ } },
+ { { /* 182 */
+ 0x00008400, 0x00000400, 0x00000000, 0x00100000,
+ 0x00002000, 0x00000800, 0x80043400, 0x21000004,
+ } },
+ { { /* 183 */
+ 0x20000208, 0x01000600, 0x00000010, 0x00000000,
+ 0x48000000, 0x14060008, 0x00124020, 0x20812800,
+ } },
+ { { /* 184 */
+ 0xa419804b, 0x01064009, 0x10386ca4, 0x85a0620b,
+ 0x00000010, 0x01000448, 0x00004400, 0x20a02102,
+ } },
+ { { /* 185 */
+ 0x00000000, 0x00000000, 0x00147000, 0x01a01404,
+ 0x10040000, 0x01000000, 0x3002f180, 0x00000008,
+ } },
+ { { /* 186 */
+ 0x00002000, 0x00100000, 0x08000010, 0x00020004,
+ 0x01000029, 0x00002000, 0x00000000, 0x10082000,
+ } },
+ { { /* 187 */
+ 0x00000000, 0x0004d041, 0x08000800, 0x00200000,
+ 0x00401000, 0x00004000, 0x00000000, 0x00000002,
+ } },
+ { { /* 188 */
+ 0x01000000, 0x00000000, 0x00020000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 189 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00800000,
+ 0x000a0a01, 0x0004002c, 0x01000080, 0x00000000,
+ } },
+ { { /* 190 */
+ 0x10000000, 0x08040400, 0x08012010, 0x2569043c,
+ 0x1a10c460, 0x08800009, 0x000210f0, 0x08c5050c,
+ } },
+ { { /* 191 */
+ 0x10000481, 0x00040080, 0x42040000, 0x00100204,
+ 0x00000000, 0x00000000, 0x00080000, 0x88080000,
+ } },
+ { { /* 192 */
+ 0x010f016c, 0x18002000, 0x41307000, 0x00000080,
+ 0x00000000, 0x00000100, 0x88000000, 0x70048004,
+ } },
+ { { /* 193 */
+ 0x00081420, 0x00000100, 0x00000000, 0x00000000,
+ 0x02400000, 0x00001000, 0x00050070, 0x00000000,
+ } },
+ { { /* 194 */
+ 0x000c4000, 0x00010000, 0x04000000, 0x00000000,
+ 0x00000000, 0x01000100, 0x01000010, 0x00000400,
+ } },
+ { { /* 195 */
+ 0x00000000, 0x10020000, 0x04100024, 0x00000000,
+ 0x00000000, 0x00004000, 0x00000000, 0x00000100,
+ } },
+ { { /* 196 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00100020,
+ } },
+ { { /* 197 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00008000, 0x00100000, 0x00000000, 0x00000000,
+ } },
+ { { /* 198 */
+ 0x00000000, 0x00000000, 0x00000000, 0x80000000,
+ 0x00880000, 0x0c000040, 0x02040010, 0x00000000,
+ } },
+ { { /* 199 */
+ 0x00080000, 0x08000000, 0x00000000, 0x00000004,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 200 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00000300, 0x00000300,
+ } },
+ { { /* 201 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0xffff0000, 0x0001ffff,
+ } },
+ { { /* 202 */
+ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+ 0x0c0c0000, 0x000cc00c, 0x03000000, 0x00000000,
+ } },
+ { { /* 203 */
+ 0x00000000, 0x00000300, 0x00000000, 0x00000300,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 204 */
+ 0xffff0000, 0xffffffff, 0x0040ffff, 0x00000000,
+ 0x0c0c0000, 0x0c00000c, 0x03000000, 0x00000300,
+ } },
+ { { /* 205 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x0d10646e, 0x0d10646e,
+ } },
+ { { /* 206 */
+ 0x00000000, 0x01000300, 0x00000000, 0x00000300,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 207 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x9fffffff, 0xffcffee7, 0x0000003f, 0x00000000,
+ } },
+ { { /* 208 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xfffddfec, 0xc3effdff, 0x40603ddf, 0x00000003,
+ } },
+ { { /* 209 */
+ 0x00000000, 0xfffe0000, 0xffffffff, 0xffffffef,
+ 0x00007fff, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 210 */
+ 0x3eff0793, 0x1303b011, 0x11102801, 0x05930000,
+ 0xb0111e7b, 0x3b019703, 0x00a01112, 0x306b9593,
+ } },
+ { { /* 211 */
+ 0x1102b051, 0x11303201, 0x011102b0, 0xb879300a,
+ 0x30011306, 0x00800010, 0x100b0113, 0x93000011,
+ } },
+ { { /* 212 */
+ 0x00102b03, 0x05930000, 0xb051746b, 0x3b011323,
+ 0x00001030, 0x70000000, 0x1303b011, 0x11102900,
+ } },
+ { { /* 213 */
+ 0x00012180, 0xb0153000, 0x3001030e, 0x02000030,
+ 0x10230111, 0x13000000, 0x10106b81, 0x01130300,
+ } },
+ { { /* 214 */
+ 0x30111013, 0x00000100, 0x22b85530, 0x30000000,
+ 0x9702b011, 0x113afb07, 0x011303b0, 0x00000021,
+ } },
+ { { /* 215 */
+ 0x3b0d1b00, 0x03b01138, 0x11330113, 0x13000001,
+ 0x111c2b05, 0x00000100, 0xb0111000, 0x2a011300,
+ } },
+ { { /* 216 */
+ 0x02b01930, 0x10100001, 0x11000000, 0x10300301,
+ 0x07130230, 0x0011146b, 0x2b051300, 0x8fb8f974,
+ } },
+ { { /* 217 */
+ 0x103b0113, 0x00000000, 0xd9700000, 0x01134ab0,
+ 0x0011103b, 0x00001103, 0x2ab15930, 0x10000111,
+ } },
+ { { /* 218 */
+ 0x11010000, 0x00100b01, 0x01130000, 0x0000102b,
+ 0x20000101, 0x02a01110, 0x30210111, 0x0102b059,
+ } },
+ { { /* 219 */
+ 0x19300000, 0x011307b0, 0xb011383b, 0x00000003,
+ 0x00000000, 0x383b0d13, 0x0103b011, 0x00001000,
+ } },
+ { { /* 220 */
+ 0x01130000, 0x00101020, 0x00000100, 0x00000110,
+ 0x30000000, 0x00021811, 0x00100000, 0x01110000,
+ } },
+ { { /* 221 */
+ 0x00000023, 0x0b019300, 0x00301110, 0x302b0111,
+ 0x13c7b011, 0x01303b01, 0x00000280, 0xb0113000,
+ } },
+ { { /* 222 */
+ 0x2b011383, 0x03b01130, 0x300a0011, 0x1102b011,
+ 0x00002000, 0x01110100, 0xa011102b, 0x2b011302,
+ } },
+ { { /* 223 */
+ 0x01000010, 0x30000001, 0x13029011, 0x11302b01,
+ 0x000066b0, 0xb0113000, 0x6b07d302, 0x07b0113a,
+ } },
+ { { /* 224 */
+ 0x00200103, 0x13000000, 0x11386b05, 0x011303b0,
+ 0x000010b8, 0x2b051b00, 0x03000110, 0x10000000,
+ } },
+ { { /* 225 */
+ 0x1102a011, 0x79700a01, 0x0111a2b0, 0x0000100a,
+ 0x00011100, 0x00901110, 0x00090111, 0x93000000,
+ } },
+ { { /* 226 */
+ 0xf9f2bb05, 0x011322b0, 0x2001323b, 0x00000000,
+ 0x06b05930, 0x303b0193, 0x1123a011, 0x11700000,
+ } },
+ { { /* 227 */
+ 0x001102b0, 0x00001010, 0x03011301, 0x00000110,
+ 0x162b0793, 0x01010010, 0x11300000, 0x01110200,
+ } },
+ { { /* 228 */
+ 0xb0113029, 0x00000000, 0x0eb05130, 0x383b0513,
+ 0x0303b011, 0x00000100, 0x01930000, 0x00001039,
+ } },
+ { { /* 229 */
+ 0x3b000302, 0x00000000, 0x00230113, 0x00000000,
+ 0x00100000, 0x00010000, 0x90113020, 0x00000002,
+ } },
+ { { /* 230 */
+ 0x00000000, 0x10000000, 0x11020000, 0x00000301,
+ 0x01130000, 0xb079b02b, 0x3b011323, 0x02b01130,
+ } },
+ { { /* 231 */
+ 0xf0210111, 0x1343b0d9, 0x11303b01, 0x011103b0,
+ 0xb0517020, 0x20011322, 0x01901110, 0x300b0111,
+ } },
+ { { /* 232 */
+ 0x9302b011, 0x0016ab01, 0x01130100, 0xb0113021,
+ 0x29010302, 0x02b03130, 0x30000000, 0x1b42b819,
+ } },
+ { { /* 233 */
+ 0x11383301, 0x00000330, 0x00000020, 0x33051300,
+ 0x00001110, 0x00000000, 0x93000000, 0x01302305,
+ } },
+ { { /* 234 */
+ 0x00010100, 0x30111010, 0x00000100, 0x02301130,
+ 0x10100001, 0x11000000, 0x00000000, 0x85130200,
+ } },
+ { { /* 235 */
+ 0x10111003, 0x2b011300, 0x63b87730, 0x303b0113,
+ 0x11a2b091, 0x7b300201, 0x011357f0, 0xf0d1702b,
+ } },
+ { { /* 236 */
+ 0x1b0111e3, 0x0ab97130, 0x303b0113, 0x13029001,
+ 0x11302b01, 0x071302b0, 0x3011302b, 0x23011303,
+ } },
+ { { /* 237 */
+ 0x02b01130, 0x30ab0113, 0x11feb411, 0x71300901,
+ 0x05d347b8, 0xb011307b, 0x21015303, 0x00001110,
+ } },
+ { { /* 238 */
+ 0x306b0513, 0x1102b011, 0x00103301, 0x05130000,
+ 0xa01038eb, 0x30000102, 0x02b01110, 0x30200013,
+ } },
+ { { /* 239 */
+ 0x0102b071, 0x00101000, 0x01130000, 0x1011100b,
+ 0x2b011300, 0x00000000, 0x366b0593, 0x1303b095,
+ } },
+ { { /* 240 */
+ 0x01103b01, 0x00000200, 0xb0113000, 0x20000103,
+ 0x01000010, 0x30000000, 0x030ab011, 0x00101001,
+ } },
+ { { /* 241 */
+ 0x01110100, 0x00000003, 0x23011302, 0x03000010,
+ 0x10000000, 0x01000000, 0x00100000, 0x00000290,
+ } },
+ { { /* 242 */
+ 0x30113000, 0x7b015386, 0x03b01130, 0x00210151,
+ 0x13000000, 0x11303b01, 0x001102b0, 0x00011010,
+ } },
+ { { /* 243 */
+ 0x2b011302, 0x02001110, 0x10000000, 0x0102b011,
+ 0x11300100, 0x000102b0, 0x00011010, 0x2b011100,
+ } },
+ { { /* 244 */
+ 0x02101110, 0x002b0113, 0x93000000, 0x11302b03,
+ 0x011302b0, 0x0000303b, 0x00000002, 0x03b01930,
+ } },
+ { { /* 245 */
+ 0x102b0113, 0x0103b011, 0x11300000, 0x011302b0,
+ 0x00001021, 0x00010102, 0x00000010, 0x102b0113,
+ } },
+ { { /* 246 */
+ 0x01020011, 0x11302000, 0x011102b0, 0x30113001,
+ 0x00000002, 0x02b01130, 0x303b0313, 0x0103b011,
+ } },
+ { { /* 247 */
+ 0x00002000, 0x05130000, 0xb011303b, 0x10001102,
+ 0x00000110, 0x142b0113, 0x01000001, 0x01100000,
+ } },
+ { { /* 248 */
+ 0x00010280, 0xb0113000, 0x10000102, 0x00000010,
+ 0x10230113, 0x93021011, 0x11100b05, 0x01130030,
+ } },
+ { { /* 249 */
+ 0xb051702b, 0x3b011323, 0x00000030, 0x30000000,
+ 0x1303b011, 0x11102b01, 0x01010330, 0xb011300a,
+ } },
+ { { /* 250 */
+ 0x20000102, 0x00000000, 0x10000011, 0x9300a011,
+ 0x00102b05, 0x00000200, 0x90111000, 0x29011100,
+ } },
+ { { /* 251 */
+ 0x00b01110, 0x30000000, 0x1302b011, 0x11302b21,
+ 0x000103b0, 0x00000020, 0x2b051300, 0x02b01130,
+ } },
+ { { /* 252 */
+ 0x103b0113, 0x13002011, 0x11322b21, 0x00130280,
+ 0xa0113028, 0x0a011102, 0x02921130, 0x30210111,
+ } },
+ { { /* 253 */
+ 0x13020011, 0x11302b01, 0x03d30290, 0x3011122b,
+ 0x2b011302, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 254 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00004000, 0x00000000, 0x20000000, 0x00000000,
+ } },
+ { { /* 255 */
+ 0x00000000, 0x00000000, 0x00003000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 256 */
+ 0x00000000, 0x040001df, 0x80800176, 0x420c0000,
+ 0x01020140, 0x44008200, 0x00041018, 0x00000000,
+ } },
+ { { /* 257 */
+ 0xffff0000, 0xffff27bf, 0x000027bf, 0x00000000,
+ 0x00000000, 0x0c000000, 0x03000000, 0x000000c0,
+ } },
+ { { /* 258 */
+ 0x3c000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 259 */
+ 0x00000000, 0x061ef5c0, 0x000001f6, 0x40000000,
+ 0x01040040, 0x00208210, 0x00005040, 0x00000000,
+ } },
+ { { /* 260 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x08004480, 0x08004480,
+ } },
+ { { /* 261 */
+ 0x00000000, 0x00000000, 0xc0000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 262 */
+ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 263 */
+ 0xffff0042, 0xffffffff, 0x0042ffff, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x000000c0,
+ } },
+ { { /* 264 */
+ 0x00000000, 0x000c0000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 265 */
+ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+ 0x00000000, 0x0000c00c, 0x00000000, 0x00000000,
+ } },
+ { { /* 266 */
+ 0x000c0003, 0x00003c00, 0x0000f000, 0x00003c00,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 267 */
+ 0x00000000, 0x040001de, 0x00000176, 0x42000000,
+ 0x01020140, 0x44008200, 0x00041008, 0x00000000,
+ } },
+ { { /* 268 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x98504f14, 0x18504f14,
+ } },
+ { { /* 269 */
+ 0x00000000, 0x00000000, 0x00000c00, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 270 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00480910, 0x00480910,
+ } },
+ { { /* 271 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x0c186606, 0x0c186606,
+ } },
+ { { /* 272 */
+ 0x0c000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00010040, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 273 */
+ 0x00001006, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 274 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xfef02596, 0x3bffecae, 0x30003f5f, 0x00000000,
+ } },
+ { { /* 275 */
+ 0x03c03030, 0x0000c000, 0x00000000, 0x600c0c03,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 276 */
+ 0x000c3003, 0x18c00c0c, 0x00c03060, 0x60000c03,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 277 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00100002, 0x00100002,
+ } },
+ { { /* 278 */
+ 0x00000003, 0x18000000, 0x00003060, 0x00000c00,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 279 */
+ 0x00000000, 0x00300000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 280 */
+ 0xfdffb729, 0x000001ff, 0xb7290000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 281 */
+ 0xfffddfec, 0xc3fffdff, 0x00803dcf, 0x00000003,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 282 */
+ 0x00000000, 0xffffffff, 0xffffffff, 0x00ffffff,
+ 0xffffffff, 0x000003ff, 0x00000000, 0x00000000,
+ } },
+ { { /* 283 */
+ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+ 0x00000000, 0x0000c000, 0x00000000, 0x00000300,
+ } },
+ { { /* 284 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000010,
+ 0xfff99fee, 0xf3c5fdff, 0xb000798f, 0x0002ffc0,
+ } },
+ { { /* 285 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00004004, 0x00004004,
+ } },
+ { { /* 286 */
+ 0x0f000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 287 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x02045101, 0x02045101,
+ } },
+ { { /* 288 */
+ 0x00000c00, 0x000000c3, 0x00000000, 0x18000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 289 */
+ 0xffffffff, 0x0007f6fb, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 290 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000300,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 291 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x011c0661, 0x011c0661,
+ } },
+ { { /* 292 */
+ 0xfff98fee, 0xc3e5fdff, 0x0001398f, 0x0001fff0,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 293 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x1c58af16, 0x1c58af16,
+ } },
+ { { /* 294 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x115c0671, 0x115c0671,
+ } },
+ { { /* 295 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0xffffffff, 0x07ffffff,
+ } },
+ { { /* 296 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00100400, 0x00100400,
+ } },
+ { { /* 297 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000003,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 298 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00082202, 0x00082202,
+ } },
+ { { /* 299 */
+ 0x03000030, 0x0000c000, 0x00000006, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000c00,
+ } },
+ { { /* 300 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x10000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 301 */
+ 0x00000002, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 302 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00300000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 303 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x040c2383, 0x040c2383,
+ } },
+ { { /* 304 */
+ 0xfff99fee, 0xf3cdfdff, 0xb0c0398f, 0x00000003,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 305 */
+ 0x00000000, 0x07ffffc6, 0x000001fe, 0x40000000,
+ 0x01000040, 0x0000a000, 0x00001000, 0x00000000,
+ } },
+ { { /* 306 */
+ 0xfff987e0, 0xd36dfdff, 0x1e003987, 0x001f0000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 307 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x160e2302, 0x160e2302,
+ } },
+ { { /* 308 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00020000, 0x00020000,
+ } },
+ { { /* 309 */
+ 0x030000f0, 0x00000000, 0x0c00001e, 0x1e000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 310 */
+ 0x00000000, 0x07ffffde, 0x000005f6, 0x50000000,
+ 0x05480262, 0x10000a00, 0x00013000, 0x00000000,
+ } },
+ { { /* 311 */
+ 0x00000000, 0x07ffffde, 0x000005f6, 0x50000000,
+ 0x05480262, 0x10000a00, 0x00052000, 0x00000000,
+ } },
+ { { /* 312 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x143c278f, 0x143c278f,
+ } },
+ { { /* 313 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000100, 0x00000000,
+ } },
+ { { /* 314 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x02045301, 0x02045301,
+ } },
+ { { /* 315 */
+ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+ 0x00300000, 0x0c00c030, 0x03000000, 0x00000000,
+ } },
+ { { /* 316 */
+ 0xfff987ee, 0xf325fdff, 0x00013987, 0x0001fff0,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 317 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x02041101, 0x02041101,
+ } },
+ { { /* 318 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00800000, 0x00000000, 0x00000000,
+ } },
+ { { /* 319 */
+ 0x30000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00040000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 320 */
+ 0x00000000, 0x07fffdd6, 0x000005f6, 0xec000000,
+ 0x0200b4d9, 0x480a8640, 0x00000000, 0x00000000,
+ } },
+ { { /* 321 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00000002, 0x00000002,
+ } },
+ { { /* 322 */
+ 0x00033000, 0x00000000, 0x00000c00, 0x600000c3,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 323 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x1850cc14, 0x1850cc14,
+ } },
+ { { /* 324 */
+ 0xffff8f04, 0xffffffff, 0x8f04ffff, 0x00000000,
+ 0x030c0000, 0x0c00cc0f, 0x03000000, 0x00000300,
+ } },
+ { { /* 325 */
+ 0x00000000, 0x00800000, 0x03bffbaa, 0x03bffbaa,
+ 0x00000000, 0x00000000, 0x00002202, 0x00002202,
+ } },
+ { { /* 326 */
+ 0x00080000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 327 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xfc7e3fec, 0x2ffbffbf, 0x7f5f847f, 0x00040000,
+ } },
+ { { /* 328 */
+ 0xff7fff7f, 0xff01ff7f, 0x3d7f3d7f, 0xffff7fff,
+ 0xffff3d7f, 0x003d7fff, 0xff7f7f3d, 0x00ff7fff,
+ } },
+ { { /* 329 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x24182212, 0x24182212,
+ } },
+ { { /* 330 */
+ 0x0000f000, 0x66000000, 0x00300180, 0x60000033,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 331 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00408030, 0x00408030,
+ } },
+ { { /* 332 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00020032, 0x00020032,
+ } },
+ { { /* 333 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00000016, 0x00000016,
+ } },
+ { { /* 334 */
+ 0x00033000, 0x00000000, 0x00000c00, 0x60000003,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 335 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00200034, 0x00200034,
+ } },
+ { { /* 336 */
+ 0x00033000, 0x00000000, 0x00000c00, 0x60000003,
+ 0x00000000, 0x00800000, 0x00000000, 0x0000c3f0,
+ } },
+ { { /* 337 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00040000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 338 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00000880, 0x00000880,
+ } },
+ { { /* 339 */
+ 0xfdff8f04, 0xfdff01ff, 0x8f0401ff, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 340 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x10400a33, 0x10400a33,
+ } },
+ { { /* 341 */
+ 0xffff0000, 0xffff1fff, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 342 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xd63dc7e8, 0xc3bfc718, 0x00803dc7, 0x00000000,
+ } },
+ { { /* 343 */
+ 0xfffddfee, 0xc3effdff, 0x00603ddf, 0x00000003,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 344 */
+ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+ 0x0c0c0000, 0x00cc0000, 0x00000000, 0x0000c00c,
+ } },
+ { { /* 345 */
+ 0xfffffffe, 0x87ffffff, 0x00007fff, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 346 */
+ 0xff7fff7f, 0xff01ff00, 0x00003d7f, 0xffff7fff,
+ 0x00ff0000, 0x003d7f7f, 0xff7f7f00, 0x00ff7f00,
+ } },
+ { { /* 347 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x30400090, 0x30400090,
+ } },
+ { { /* 348 */
+ 0x00000000, 0x00000000, 0xc0000180, 0x60000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 349 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x18404084, 0x18404084,
+ } },
+ { { /* 350 */
+ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+ 0x00c00000, 0x0c00c00c, 0x03000000, 0x00000000,
+ } },
+ { { /* 351 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00008000, 0x00008000,
+ } },
+ { { /* 352 */
+ 0x00000000, 0x041ed5c0, 0x0000077e, 0x40000000,
+ 0x01000040, 0x4000a000, 0x002109c0, 0x00000000,
+ } },
+ { { /* 353 */
+ 0xffff00d0, 0xffffffff, 0x00d0ffff, 0x00000000,
+ 0x00030000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 354 */
+ 0x000c0000, 0x30000000, 0x00000c30, 0x00030000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 355 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x263c370f, 0x263c370f,
+ } },
+ { { /* 356 */
+ 0x0003000c, 0x00000300, 0x00000000, 0x00000300,
+ 0x00000000, 0x00018003, 0x00000000, 0x00000000,
+ } },
+ { { /* 357 */
+ 0x0800024f, 0x00000008, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 358 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0xffffffff, 0xffffffff, 0x03ffffff,
+ } },
+ { { /* 359 */
+ 0x00000000, 0x00000000, 0x077dfffe, 0x077dfffe,
+ 0x00000000, 0x00000000, 0x10400010, 0x10400010,
+ } },
+ { { /* 360 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x10400010, 0x10400010,
+ } },
+ { { /* 361 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x081047a4, 0x081047a4,
+ } },
+ { { /* 362 */
+ 0x0c0030c0, 0x00000000, 0x0f30001e, 0x66000003,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 363 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x000a0a09, 0x000a0a09,
+ } },
+ { { /* 364 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x00400810, 0x00400810,
+ } },
+ { { /* 365 */
+ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+ 0x00000000, 0x00000000, 0x0e3c770f, 0x0e3c770f,
+ } },
+ { { /* 366 */
+ 0x0c000000, 0x00000300, 0x00000018, 0x00000300,
+ 0x00000000, 0x00000000, 0x001fe000, 0x03000000,
+ } },
+ { { /* 367 */
+ 0x0000100f, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 368 */
+ 0x00000000, 0xc0000000, 0x00000000, 0x0000000c,
+ 0x00000000, 0x33000000, 0x00003000, 0x00000000,
+ } },
+ { { /* 369 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000280, 0x00000000,
+ } },
+ { { /* 370 */
+ 0x7f7b7f8b, 0xef553db4, 0xf35dfba8, 0x400b0243,
+ 0x8d3efb40, 0x8c2c7bf7, 0xe3fa6eff, 0xa8ed1d3a,
+ } },
+ { { /* 371 */
+ 0xcf83e602, 0x35558cf5, 0xffabe048, 0xd85992b9,
+ 0x2892ab18, 0x8020d7e9, 0xf583c438, 0x450ae74a,
+ } },
+ { { /* 372 */
+ 0x9714b000, 0x54007762, 0x1420d188, 0xc8c01020,
+ 0x00002121, 0x0c0413a8, 0x04408000, 0x082870c0,
+ } },
+ { { /* 373 */
+ 0x000408c0, 0x80000002, 0x14722b7b, 0x3bfb7924,
+ 0x1ae43327, 0x38ef9835, 0x28029ad1, 0xbf69a813,
+ } },
+ { { /* 374 */
+ 0x2fc665cf, 0xafc96b11, 0x5053340f, 0xa00486a2,
+ 0xe8090106, 0xc00e3f0f, 0x81450a88, 0xc6010010,
+ } },
+ { { /* 375 */
+ 0x26e1a161, 0xce00444b, 0xd4eec7aa, 0x85bbcadf,
+ 0xa5203a74, 0x8840436c, 0x8bd23f06, 0x3befff79,
+ } },
+ { { /* 376 */
+ 0xe8eff75a, 0x5b36fbcb, 0x1bfd0d49, 0x39ee0154,
+ 0x2e75d855, 0xa91abfd8, 0xf6bff3d7, 0xb40c67e0,
+ } },
+ { { /* 377 */
+ 0x081382c2, 0xd08bd49d, 0x1061065a, 0x59e074f2,
+ 0xb3128f9f, 0x6aaa0080, 0xb05e3230, 0x60ac9d7a,
+ } },
+ { { /* 378 */
+ 0xc900d303, 0x8a563098, 0x13907000, 0x18421f14,
+ 0x0008c060, 0x10808008, 0xec900400, 0xe6332817,
+ } },
+ { { /* 379 */
+ 0x90000758, 0x4e09f708, 0xfc83f485, 0x18c8af53,
+ 0x080c187c, 0x01146adf, 0xa734c80c, 0x2710a011,
+ } },
+ { { /* 380 */
+ 0x422228c5, 0x00210413, 0x41123010, 0x40001820,
+ 0xc60c022b, 0x10000300, 0x00220022, 0x02495810,
+ } },
+ { { /* 381 */
+ 0x9670a094, 0x1792eeb0, 0x05f2cb96, 0x23580025,
+ 0x42cc25de, 0x4a04cf38, 0x359f0c40, 0x8a001128,
+ } },
+ { { /* 382 */
+ 0x910a13fa, 0x10560229, 0x04200641, 0x84f00484,
+ 0x0c040000, 0x412c0400, 0x11541206, 0x00020a4b,
+ } },
+ { { /* 383 */
+ 0x00c00200, 0x00940000, 0xbfbb0001, 0x242b167c,
+ 0x7fa89bbb, 0xe3790c7f, 0xe00d10f4, 0x9f014132,
+ } },
+ { { /* 384 */
+ 0x35728652, 0xff1210b4, 0x4223cf27, 0x8602c06b,
+ 0x1fd33106, 0xa1aa3a0c, 0x02040812, 0x08012572,
+ } },
+ { { /* 385 */
+ 0x485040cc, 0x601062d0, 0x29001c80, 0x00109a00,
+ 0x22000004, 0x00800000, 0x68002020, 0x609ecbe6,
+ } },
+ { { /* 386 */
+ 0x3f73916e, 0x398260c0, 0x48301034, 0xbd5c0006,
+ 0xd6fb8cd1, 0x43e820e1, 0x084e0600, 0xc4d00500,
+ } },
+ { { /* 387 */
+ 0x89aa8d1f, 0x1602a6e1, 0x21ed0001, 0x1a8b3656,
+ 0x13a51fb7, 0x30a06502, 0x23c7b278, 0xe9226c93,
+ } },
+ { { /* 388 */
+ 0x3a74e47f, 0x98208fe3, 0x2625280e, 0xbf49bf9c,
+ 0xac543218, 0x1916b949, 0xb5220c60, 0x0659fbc1,
+ } },
+ { { /* 389 */
+ 0x8420e343, 0x800008d9, 0x20225500, 0x00a10184,
+ 0x20104800, 0x40801380, 0x00160d04, 0x80200040,
+ } },
+ { { /* 390 */
+ 0x8de7fd40, 0xe0985436, 0x091e7b8b, 0xd249fec8,
+ 0x8dee0611, 0xba221937, 0x9fdd77f4, 0xf0daf3ec,
+ } },
+ { { /* 391 */
+ 0xec424386, 0x26048d3f, 0xc021fa6c, 0x0cc2628e,
+ 0x0145d785, 0x559977ad, 0x4045e250, 0xa154260b,
+ } },
+ { { /* 392 */
+ 0x58199827, 0xa4103443, 0x411405f2, 0x07002280,
+ 0x426600b4, 0x15a17210, 0x41856025, 0x00000054,
+ } },
+ { { /* 393 */
+ 0x01040201, 0xcb70c820, 0x6a629320, 0x0095184c,
+ 0x9a8b1880, 0x3201aab2, 0x00c4d87a, 0x04c3f3e5,
+ } },
+ { { /* 394 */
+ 0xa238d44d, 0x5072a1a1, 0x84fc980a, 0x44d1c152,
+ 0x20c21094, 0x42104180, 0x3a000000, 0xd29d0240,
+ } },
+ { { /* 395 */
+ 0xa8b12f01, 0x2432bd40, 0xd04bd34d, 0xd0ada723,
+ 0x75a10a92, 0x01e9adac, 0x771f801a, 0xa01b9225,
+ } },
+ { { /* 396 */
+ 0x20cadfa1, 0x738c0602, 0x003b577f, 0x00d00bff,
+ 0x0088806a, 0x0029a1c4, 0x05242a05, 0x16234009,
+ } },
+ { { /* 397 */
+ 0x80056822, 0xa2112011, 0x64900004, 0x13824849,
+ 0x193023d5, 0x08922980, 0x88115402, 0xa0042001,
+ } },
+ { { /* 398 */
+ 0x81800400, 0x60228502, 0x0b010090, 0x12020022,
+ 0x00834011, 0x00001a01, 0x00000000, 0x00000000,
+ } },
+ { { /* 399 */
+ 0x00000000, 0x4684009f, 0x020012c8, 0x1a0004fc,
+ 0x0c4c2ede, 0x80b80402, 0x0afca826, 0x22288c02,
+ } },
+ { { /* 400 */
+ 0x8f7ba0e0, 0x2135c7d6, 0xf8b106c7, 0x62550713,
+ 0x8a19936e, 0xfb0e6efa, 0x48f91630, 0x7debcd2f,
+ } },
+ { { /* 401 */
+ 0x4e845892, 0x7a2e4ca0, 0x561eedea, 0x1190c649,
+ 0xe83a5324, 0x8124cfdb, 0x634218f1, 0x1a8a5853,
+ } },
+ { { /* 402 */
+ 0x24d37420, 0x0514aa3b, 0x89586018, 0xc0004800,
+ 0x91018268, 0x2cd684a4, 0xc4ba8886, 0x02100377,
+ } },
+ { { /* 403 */
+ 0x00388244, 0x404aae11, 0x510028c0, 0x15146044,
+ 0x10007310, 0x02480082, 0x40060205, 0x0000c003,
+ } },
+ { { /* 404 */
+ 0x0c020000, 0x02200008, 0x40009000, 0xd161b800,
+ 0x32744621, 0x3b8af800, 0x8b00050f, 0x2280bbd0,
+ } },
+ { { /* 405 */
+ 0x07690600, 0x00438040, 0x50005420, 0x250c41d0,
+ 0x83108410, 0x02281101, 0x00304008, 0x020040a1,
+ } },
+ { { /* 406 */
+ 0x20000040, 0xabe31500, 0xaa443180, 0xc624c2c6,
+ 0x8004ac13, 0x03d1b000, 0x4285611e, 0x1d9ff303,
+ } },
+ { { /* 407 */
+ 0x78e8440a, 0xc3925e26, 0x00852000, 0x4000b001,
+ 0x88424a90, 0x0c8dca04, 0x4203a705, 0x000422a1,
+ } },
+ { { /* 408 */
+ 0x0c018668, 0x10795564, 0xdea00002, 0x40c12000,
+ 0x5001488b, 0x04000380, 0x50040000, 0x80d0c05d,
+ } },
+ { { /* 409 */
+ 0x970aa010, 0x4dafbb20, 0x1e10d921, 0x83140460,
+ 0xa6d68848, 0x733fd83b, 0x497427bc, 0x92130ddc,
+ } },
+ { { /* 410 */
+ 0x8ba1142b, 0xd1392e75, 0x50503009, 0x69008808,
+ 0x024a49d4, 0x80164010, 0x89d7e564, 0x5316c020,
+ } },
+ { { /* 411 */
+ 0x86002b92, 0x15e0a345, 0x0c03008b, 0xe200196e,
+ 0x80067031, 0xa82916a5, 0x18802000, 0xe1487aac,
+ } },
+ { { /* 412 */
+ 0xb5d63207, 0x5f9132e8, 0x20e550a1, 0x10807c00,
+ 0x9d8a7280, 0x421f00aa, 0x02310e22, 0x04941100,
+ } },
+ { { /* 413 */
+ 0x40080022, 0x5c100010, 0xfcc80343, 0x0580a1a5,
+ 0x04008433, 0x6e080080, 0x81262a4b, 0x2901aad8,
+ } },
+ { { /* 414 */
+ 0x4490684d, 0xba880009, 0x00820040, 0x87d10000,
+ 0xb1e6215b, 0x80083161, 0xc2400800, 0xa600a069,
+ } },
+ { { /* 415 */
+ 0x4a328d58, 0x550a5d71, 0x2d579aa0, 0x4aa64005,
+ 0x30b12021, 0x01123fc6, 0x260a10c2, 0x50824462,
+ } },
+ { { /* 416 */
+ 0x80409880, 0x810004c0, 0x00002003, 0x38180000,
+ 0xf1a60200, 0x720e4434, 0x92e035a2, 0x09008101,
+ } },
+ { { /* 417 */
+ 0x00000400, 0x00008885, 0x00000000, 0x00804000,
+ 0x00000000, 0x00004040, 0x00000000, 0x00000000,
+ } },
+ { { /* 418 */
+ 0x00000000, 0x08000000, 0x00000082, 0x00000000,
+ 0x88000004, 0xe7efbfff, 0xffbfffff, 0xfdffefef,
+ } },
+ { { /* 419 */
+ 0xbffefbff, 0x057fffff, 0x85b30034, 0x42164706,
+ 0xe4105402, 0xb3058092, 0x81305422, 0x180b4263,
+ } },
+ { { /* 420 */
+ 0x13f5387b, 0xa9ea07e5, 0x05143c4c, 0x80020600,
+ 0xbd481ad9, 0xf496ee37, 0x7ec0705f, 0x355fbfb2,
+ } },
+ { { /* 421 */
+ 0x455fe644, 0x41469000, 0x063b1d40, 0xfe1362a1,
+ 0x39028505, 0x0c080548, 0x0000144f, 0x58183488,
+ } },
+ { { /* 422 */
+ 0xd8153077, 0x4bfbbd0e, 0x85008a90, 0xe61dc100,
+ 0xb386ed14, 0x639bff72, 0xd9befd92, 0x0a92887b,
+ } },
+ { { /* 423 */
+ 0x1cb2d3fe, 0x177ab980, 0xdc1782c9, 0x3980fffb,
+ 0x590c4260, 0x37df0f01, 0xb15094a3, 0x23070623,
+ } },
+ { { /* 424 */
+ 0x3102f85a, 0x310201f0, 0x1e820040, 0x056a3a0a,
+ 0x12805b84, 0xa7148002, 0xa04b2612, 0x90011069,
+ } },
+ { { /* 425 */
+ 0x848a1000, 0x3f801802, 0x42400708, 0x4e140110,
+ 0x180080b0, 0x0281c510, 0x10298202, 0x88000210,
+ } },
+ { { /* 426 */
+ 0x00420020, 0x11000280, 0x4413e000, 0xfe025804,
+ 0x30283c07, 0x04739798, 0xcb13ced1, 0x431f6210,
+ } },
+ { { /* 427 */
+ 0x55ac278d, 0xc892422e, 0x02885380, 0x78514039,
+ 0x8088292c, 0x2428b900, 0x080e0c41, 0x42004421,
+ } },
+ { { /* 428 */
+ 0x08680408, 0x12040006, 0x02903031, 0xe0855b3e,
+ 0x10442936, 0x10822814, 0x83344266, 0x531b013c,
+ } },
+ { { /* 429 */
+ 0x0e0d0404, 0x00510c22, 0xc0000012, 0x88000040,
+ 0x0000004a, 0x00000000, 0x5447dff6, 0x00088868,
+ } },
+ { { /* 430 */
+ 0x00000081, 0x40000000, 0x00000100, 0x02000000,
+ 0x00080600, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 431 */
+ 0x00000080, 0x00000040, 0x00000000, 0x00001040,
+ 0x00000000, 0xf7fdefff, 0xfffeff7f, 0xfffffbff,
+ } },
+ { { /* 432 */
+ 0xbffffdff, 0x00ffffff, 0x042012c2, 0x07080c06,
+ 0x01101624, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 433 */
+ 0xe0000000, 0xfffffffe, 0x7f79ffff, 0x00f928df,
+ 0x80120c32, 0xd53a0008, 0xecc2d858, 0x2fa89d18,
+ } },
+ { { /* 434 */
+ 0xe0109620, 0x2622d60c, 0x02060f97, 0x9055b240,
+ 0x501180a2, 0x04049800, 0x00004000, 0x00000000,
+ } },
+ { { /* 435 */
+ 0x00000000, 0x00000000, 0x00000000, 0xfffffbc0,
+ 0xdffbeffe, 0x62430b08, 0xfb3b41b6, 0x23896f74,
+ } },
+ { { /* 436 */
+ 0xecd7ae7f, 0x5960e047, 0x098fa096, 0xa030612c,
+ 0x2aaa090d, 0x4f7bd44e, 0x388bc4b2, 0x6110a9c6,
+ } },
+ { { /* 437 */
+ 0x42000014, 0x0202800c, 0x6485fe48, 0xe3f7d63e,
+ 0x0c073aa0, 0x0430e40c, 0x1002f680, 0x00000000,
+ } },
+ { { /* 438 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00100000,
+ 0x00004000, 0x00004000, 0x00000100, 0x00000000,
+ } },
+ { { /* 439 */
+ 0x00000000, 0x40000000, 0x00000000, 0x00000400,
+ 0x00008000, 0x00000000, 0x00400400, 0x00000000,
+ } },
+ { { /* 440 */
+ 0x00000000, 0x40000000, 0x00000000, 0x00000800,
+ 0xfebdffe0, 0xffffffff, 0xfbe77f7f, 0xf7ffffbf,
+ } },
+ { { /* 441 */
+ 0xefffffff, 0xdff7ff7e, 0xfbdff6f7, 0x804fbffe,
+ 0x00000000, 0x00000000, 0x00000000, 0x7fffef00,
+ } },
+ { { /* 442 */
+ 0xb6f7ff7f, 0xb87e4406, 0x88313bf5, 0x00f41796,
+ 0x1391a960, 0x72490080, 0x0024f2f3, 0x42c88701,
+ } },
+ { { /* 443 */
+ 0x5048e3d3, 0x43052400, 0x4a4c0000, 0x10580227,
+ 0x01162820, 0x0014a809, 0x00000000, 0x00683ec0,
+ } },
+ { { /* 444 */
+ 0x00000000, 0x00000000, 0x00000000, 0xffe00000,
+ 0xfddbb7ff, 0x000000f7, 0xc72e4000, 0x00000180,
+ } },
+ { { /* 445 */
+ 0x00012000, 0x00004000, 0x00300000, 0xb4f7ffa8,
+ 0x03ffadf3, 0x00000120, 0x00000000, 0x00000000,
+ } },
+ { { /* 446 */
+ 0x00000000, 0x00000000, 0x00000000, 0xfffbf000,
+ 0xfdcf9df7, 0x15c301bf, 0x810a1827, 0x0a00a842,
+ } },
+ { { /* 447 */
+ 0x80088108, 0x18048008, 0x0012a3be, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 448 */
+ 0x00000000, 0x00000000, 0x00000000, 0x90000000,
+ 0xdc3769e6, 0x3dff6bff, 0xf3f9fcf8, 0x00000004,
+ } },
+ { { /* 449 */
+ 0x80000000, 0xe7eebf6f, 0x5da2dffe, 0xc00b3fd8,
+ 0xa00c0984, 0x69100040, 0xb912e210, 0x5a0086a5,
+ } },
+ { { /* 450 */
+ 0x02896800, 0x6a809005, 0x00030010, 0x80000000,
+ 0x8e001ff9, 0x00000001, 0x00000000, 0x00000000,
+ } },
+ { { /* 451 */
+ 0x00000080, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 452 */
+ 0x00000000, 0x00000000, 0x00001000, 0x64080010,
+ 0x00480000, 0x10000020, 0x80000102, 0x08000010,
+ } },
+ { { /* 453 */
+ 0x00000040, 0x40000000, 0x00020000, 0x01852002,
+ 0x00800010, 0x80002022, 0x084444a2, 0x480e0000,
+ } },
+ { { /* 454 */
+ 0x04000200, 0x02202008, 0x80004380, 0x04000000,
+ 0x00000002, 0x12231420, 0x2058003a, 0x00200060,
+ } },
+ { { /* 455 */
+ 0x10002508, 0x040d0028, 0x00000009, 0x00008004,
+ 0x00800000, 0x42000001, 0x00000000, 0x09040000,
+ } },
+ { { /* 456 */
+ 0x02008000, 0x01402001, 0x00000000, 0x00000008,
+ 0x00000000, 0x00000001, 0x00021008, 0x04000000,
+ } },
+ { { /* 457 */
+ 0x00100100, 0x80040080, 0x00002000, 0x00000008,
+ 0x08040601, 0x01000012, 0x10000000, 0x49001024,
+ } },
+ { { /* 458 */
+ 0x0180004a, 0x00100600, 0x50840800, 0x000000c0,
+ 0x00800000, 0x20000800, 0x40000000, 0x08050000,
+ } },
+ { { /* 459 */
+ 0x02004000, 0x02000804, 0x01000004, 0x18060001,
+ 0x02400001, 0x40000002, 0x20800014, 0x000c1000,
+ } },
+ { { /* 460 */
+ 0x00222000, 0x00000000, 0x00100000, 0x00000000,
+ 0x00000000, 0x00000000, 0x10422800, 0x00000800,
+ } },
+ { { /* 461 */
+ 0x20080000, 0x00040000, 0x80025040, 0x20208604,
+ 0x00028020, 0x80102020, 0x080820c0, 0x10880800,
+ } },
+ { { /* 462 */
+ 0x00000000, 0x00000000, 0x00200109, 0x00100000,
+ 0x00000000, 0x81022700, 0x40c21404, 0x84010882,
+ } },
+ { { /* 463 */
+ 0x00004010, 0x00000000, 0x03000000, 0x00000008,
+ 0x00080000, 0x00000000, 0x10800001, 0x06002020,
+ } },
+ { { /* 464 */
+ 0x00000010, 0x02000000, 0x00880020, 0x00008424,
+ 0x00000000, 0x88000000, 0x81000100, 0x04000000,
+ } },
+ { { /* 465 */
+ 0x00004218, 0x00040000, 0x00000000, 0x80005080,
+ 0x00010000, 0x00040000, 0x08008000, 0x02008000,
+ } },
+ { { /* 466 */
+ 0x00020000, 0x00000000, 0x00000001, 0x04000401,
+ 0x00100000, 0x12200004, 0x00000000, 0x18100000,
+ } },
+ { { /* 467 */
+ 0x00000000, 0x00000800, 0x00000000, 0x00004000,
+ 0x00800000, 0x04000000, 0x82000002, 0x00042000,
+ } },
+ { { /* 468 */
+ 0x00080006, 0x00000000, 0x00000000, 0x04000000,
+ 0x80008000, 0x00810001, 0xa0000000, 0x00100410,
+ } },
+ { { /* 469 */
+ 0x00400218, 0x88084080, 0x00260008, 0x00800404,
+ 0x00000020, 0x00000000, 0x00000000, 0x00000200,
+ } },
+ { { /* 470 */
+ 0x00a08048, 0x00000000, 0x08000000, 0x04000000,
+ 0x00000000, 0x00000000, 0x00018000, 0x00200000,
+ } },
+ { { /* 471 */
+ 0x01000000, 0x00000000, 0x00000000, 0x10000000,
+ 0x00000000, 0x00000000, 0x00200000, 0x00102000,
+ } },
+ { { /* 472 */
+ 0x00000801, 0x00000000, 0x00000000, 0x00020000,
+ 0x08000000, 0x00002000, 0x20010000, 0x04002000,
+ } },
+ { { /* 473 */
+ 0x40000040, 0x50202400, 0x000a0020, 0x00040420,
+ 0x00000200, 0x00000080, 0x80000000, 0x00000020,
+ } },
+ { { /* 474 */
+ 0x20008000, 0x00200010, 0x00000000, 0x00000000,
+ 0x00400000, 0x01100000, 0x00020000, 0x80000010,
+ } },
+ { { /* 475 */
+ 0x02000000, 0x00801000, 0x00000000, 0x48058000,
+ 0x20c94000, 0x60000000, 0x00000001, 0x00000000,
+ } },
+ { { /* 476 */
+ 0x00004090, 0x48000000, 0x08000000, 0x28802000,
+ 0x00000002, 0x00014000, 0x00002000, 0x00002002,
+ } },
+ { { /* 477 */
+ 0x00010200, 0x00100000, 0x00000000, 0x00800000,
+ 0x10020000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 478 */
+ 0x00000010, 0x00000402, 0x0c000000, 0x01000400,
+ 0x01000021, 0x00000000, 0x00004000, 0x00004000,
+ } },
+ { { /* 479 */
+ 0x00000000, 0x00800000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x02000020,
+ } },
+ { { /* 480 */
+ 0x00000100, 0x08000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00002000, 0x00000000,
+ } },
+ { { /* 481 */
+ 0x00006000, 0x00000000, 0x00000000, 0x00000400,
+ 0x04000040, 0x003c0180, 0x00000200, 0x00102000,
+ } },
+ { { /* 482 */
+ 0x00000800, 0x101000c0, 0x00800000, 0x00000000,
+ 0x00008000, 0x02200000, 0x00020020, 0x00000000,
+ } },
+ { { /* 483 */
+ 0x00000000, 0x01000000, 0x00000000, 0x20100000,
+ 0x00080000, 0x00000141, 0x02001002, 0x40400001,
+ } },
+ { { /* 484 */
+ 0x00580000, 0x00000002, 0x00003000, 0x00002400,
+ 0x00988000, 0x00040010, 0x00002800, 0x00000008,
+ } },
+ { { /* 485 */
+ 0x40080004, 0x00000020, 0x20080000, 0x02060a00,
+ 0x00010040, 0x14010200, 0x40800000, 0x08031000,
+ } },
+ { { /* 486 */
+ 0x40020020, 0x0000202c, 0x2014a008, 0x00000000,
+ 0x80040200, 0x82020012, 0x00400000, 0x20000000,
+ } },
+ { { /* 487 */
+ 0x00000000, 0x00000000, 0x00000004, 0x04000000,
+ 0x00000000, 0x00000000, 0x40800100, 0x00000000,
+ } },
+ { { /* 488 */
+ 0x00000008, 0x04000040, 0x00000001, 0x000c0200,
+ 0x00000000, 0x08000400, 0x00000000, 0x080c0001,
+ } },
+ { { /* 489 */
+ 0x00000400, 0x00000000, 0x00000000, 0x00200000,
+ 0x80000000, 0x00001000, 0x00000200, 0x01000800,
+ } },
+ { { /* 490 */
+ 0x00000000, 0x00000800, 0x00000000, 0x40000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x04040000,
+ } },
+ { { /* 491 */
+ 0x00000000, 0x00000000, 0x00000040, 0x00002000,
+ 0xa0000000, 0x00000000, 0x08000008, 0x00080000,
+ } },
+ { { /* 492 */
+ 0x00000020, 0x00000000, 0x40000400, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00008000,
+ } },
+ { { /* 493 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000800, 0x00000000, 0x00000000, 0x00200000,
+ } },
+ { { /* 494 */
+ 0x00000000, 0x00000000, 0x00000000, 0x04000000,
+ 0x00000008, 0x00000000, 0x00010000, 0x1b000000,
+ } },
+ { { /* 495 */
+ 0x00007000, 0x00000000, 0x10000000, 0x00000000,
+ 0x00000000, 0x00000080, 0x80000000, 0x00000000,
+ } },
+ { { /* 496 */
+ 0x00000000, 0x00020000, 0x00000000, 0x00200000,
+ 0x40000000, 0x00000010, 0x00800000, 0x00000008,
+ } },
+ { { /* 497 */
+ 0x00000000, 0x00000000, 0x02000000, 0x20000010,
+ 0x00000080, 0x00000000, 0x00010000, 0x00000000,
+ } },
+ { { /* 498 */
+ 0x00000000, 0x02000000, 0x00000000, 0x00000000,
+ 0x20000000, 0x00000040, 0x00200028, 0x00000000,
+ } },
+ { { /* 499 */
+ 0x00000000, 0x00020000, 0x00000000, 0x02000000,
+ 0x00000000, 0x02000000, 0x40020000, 0x51000040,
+ } },
+ { { /* 500 */
+ 0x00000080, 0x04040000, 0x00000000, 0x10000000,
+ 0x00022000, 0x00100000, 0x20000000, 0x00000082,
+ } },
+ { { /* 501 */
+ 0x40000000, 0x00010000, 0x00002000, 0x00000000,
+ 0x00000240, 0x00000000, 0x00000000, 0x00000008,
+ } },
+ { { /* 502 */
+ 0x00000000, 0x00010000, 0x00000810, 0x00080880,
+ 0x00004000, 0x00000000, 0x00000000, 0x00020000,
+ } },
+ { { /* 503 */
+ 0x00000000, 0x00400020, 0x00000000, 0x00000082,
+ 0x00000000, 0x00020001, 0x00000000, 0x00000000,
+ } },
+ { { /* 504 */
+ 0x40000018, 0x00000004, 0x00000000, 0x00000000,
+ 0x01000000, 0x00400000, 0x00000000, 0x00000000,
+ } },
+ { { /* 505 */
+ 0x00000001, 0x00400000, 0x00000000, 0x00080002,
+ 0x00000400, 0x00040000, 0x00000000, 0x00000000,
+ } },
+ { { /* 506 */
+ 0x00000800, 0x00000800, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000100, 0x00000000,
+ } },
+ { { /* 507 */
+ 0x00000000, 0x00200000, 0x00000000, 0x04108000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000002,
+ } },
+ { { /* 508 */
+ 0x00000000, 0x02800000, 0x04000000, 0x00000000,
+ 0x00000000, 0x00000004, 0x00000000, 0x00000400,
+ } },
+ { { /* 509 */
+ 0x00000000, 0x00000000, 0x10000000, 0x00040000,
+ 0x00400000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 510 */
+ 0x00200000, 0x00000200, 0x00000000, 0x10000000,
+ 0x00000000, 0x00000000, 0x2a000000, 0x00000000,
+ } },
+ { { /* 511 */
+ 0x00400000, 0x00000000, 0x00400000, 0x00000000,
+ 0x00000002, 0x40000000, 0x00000000, 0x00400000,
+ } },
+ { { /* 512 */
+ 0x40000000, 0x00001000, 0x00000000, 0x00000000,
+ 0x00000202, 0x02000000, 0x80000000, 0x00020000,
+ } },
+ { { /* 513 */
+ 0x00000020, 0x00000800, 0x00020421, 0x00020000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00400000,
+ } },
+ { { /* 514 */
+ 0x00200000, 0x00000000, 0x00000001, 0x00000000,
+ 0x00000084, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 515 */
+ 0x00000000, 0x00004400, 0x00000002, 0x00100000,
+ 0x00000000, 0x00000000, 0x00008200, 0x00000000,
+ } },
+ { { /* 516 */
+ 0x00000000, 0x12000000, 0x00000100, 0x00000001,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 517 */
+ 0x00000020, 0x08100000, 0x000a0400, 0x00000081,
+ 0x00006000, 0x00120000, 0x00000000, 0x00000000,
+ } },
+ { { /* 518 */
+ 0x00000004, 0x08000000, 0x00004000, 0x044000c0,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 519 */
+ 0x40001000, 0x00000000, 0x01000001, 0x05000000,
+ 0x00080000, 0x02000000, 0x00000800, 0x00000000,
+ } },
+ { { /* 520 */
+ 0x00000100, 0x00000000, 0x00000000, 0x00000000,
+ 0x00002002, 0x01020000, 0x00800000, 0x00000000,
+ } },
+ { { /* 521 */
+ 0x00000040, 0x00004000, 0x01000000, 0x00000004,
+ 0x00020000, 0x00000000, 0x00000010, 0x00000000,
+ } },
+ { { /* 522 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00080000, 0x00010000, 0x30000300, 0x00000400,
+ } },
+ { { /* 523 */
+ 0x00000800, 0x02000000, 0x00000000, 0x00008000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 524 */
+ 0x00200000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x000040c0, 0x00002200, 0x12002000,
+ } },
+ { { /* 525 */
+ 0x00000000, 0x00000020, 0x20000000, 0x00000000,
+ 0x00000200, 0x00080800, 0x1000a000, 0x00000000,
+ } },
+ { { /* 526 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00004000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 527 */
+ 0x00000000, 0x00000000, 0x00004280, 0x01000000,
+ 0x00800000, 0x00000008, 0x00000000, 0x00000000,
+ } },
+ { { /* 528 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000002,
+ 0x00000000, 0x20400000, 0x00000040, 0x00000000,
+ } },
+ { { /* 529 */
+ 0x00800080, 0x00800000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00400020, 0x00000000, 0x00008000,
+ } },
+ { { /* 530 */
+ 0x01000000, 0x00000040, 0x00000000, 0x00400000,
+ 0x00000000, 0x00000440, 0x00000000, 0x00800000,
+ } },
+ { { /* 531 */
+ 0x01000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00080000, 0x00000000,
+ } },
+ { { /* 532 */
+ 0x01000000, 0x00000001, 0x00000000, 0x00020000,
+ 0x00000000, 0x20002000, 0x00000000, 0x00000004,
+ } },
+ { { /* 533 */
+ 0x00000008, 0x00100000, 0x00000000, 0x00010000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 534 */
+ 0x00000004, 0x00008000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00008000,
+ } },
+ { { /* 535 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000040, 0x00000000, 0x00004000, 0x00000000,
+ } },
+ { { /* 536 */
+ 0x00000010, 0x00002000, 0x40000040, 0x00000000,
+ 0x10000000, 0x00000000, 0x00008080, 0x00000000,
+ } },
+ { { /* 537 */
+ 0x00000000, 0x00000000, 0x00000080, 0x00000000,
+ 0x00100080, 0x000000a0, 0x00000000, 0x00000000,
+ } },
+ { { /* 538 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00100000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 539 */
+ 0x00000000, 0x00000000, 0x00001000, 0x00000000,
+ 0x0001000a, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 540 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x08002000, 0x00000000,
+ } },
+ { { /* 541 */
+ 0x00000808, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 542 */
+ 0x00004000, 0x00002400, 0x00008000, 0x40000000,
+ 0x00000001, 0x00002000, 0x04000000, 0x00040004,
+ } },
+ { { /* 543 */
+ 0x00000000, 0x00002000, 0x00000000, 0x00000000,
+ 0x00000000, 0x1c200000, 0x00000000, 0x02000000,
+ } },
+ { { /* 544 */
+ 0x00000000, 0x00080000, 0x00400000, 0x00000002,
+ 0x00000000, 0x00000100, 0x00000000, 0x00000000,
+ } },
+ { { /* 545 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00400000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 546 */
+ 0x00004100, 0x00000400, 0x20200010, 0x00004004,
+ 0x00000000, 0x42000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 547 */
+ 0x00000080, 0x00000000, 0x00000121, 0x00000200,
+ 0x000000b0, 0x80002000, 0x00000000, 0x00010000,
+ } },
+ { { /* 548 */
+ 0x00000010, 0x000000c0, 0x08100000, 0x00000020,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 549 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x02000000, 0x00000404, 0x00000000, 0x00000000,
+ } },
+ { { /* 550 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00400000, 0x00000008, 0x00000000, 0x00000000,
+ } },
+ { { /* 551 */
+ 0x00000000, 0x00000002, 0x00020000, 0x00002000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00204000,
+ } },
+ { { /* 552 */
+ 0x00000000, 0x00100000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00800000, 0x00000100, 0x00000001,
+ } },
+ { { /* 553 */
+ 0x10000000, 0x01000000, 0x00002400, 0x00000004,
+ 0x00000000, 0x00000000, 0x00000020, 0x00000002,
+ } },
+ { { /* 554 */
+ 0x00010000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 555 */
+ 0x00000000, 0x00002400, 0x00000000, 0x00000000,
+ 0x00004802, 0x00000000, 0x00000000, 0x80022000,
+ } },
+ { { /* 556 */
+ 0x00001004, 0x04208000, 0x20000020, 0x00040000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 557 */
+ 0x00000000, 0x00100000, 0x40010000, 0x00000000,
+ 0x00080000, 0x00000000, 0x00100211, 0x00000000,
+ } },
+ { { /* 558 */
+ 0x00001400, 0x00000000, 0x00000000, 0x00000000,
+ 0x00610000, 0x80008c00, 0x00000000, 0x00000000,
+ } },
+ { { /* 559 */
+ 0x00000100, 0x00000040, 0x00000000, 0x00000004,
+ 0x00004000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 560 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000400, 0x00000000,
+ } },
+ { { /* 561 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000210, 0x00000000, 0x00000000,
+ } },
+ { { /* 562 */
+ 0x00000000, 0x00000020, 0x00000002, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 563 */
+ 0x00004000, 0x00000000, 0x00000000, 0x02000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 564 */
+ 0x00000000, 0x00000000, 0x00080002, 0x01000020,
+ 0x00400000, 0x00200000, 0x00008000, 0x00000000,
+ } },
+ { { /* 565 */
+ 0x00000000, 0x00020000, 0x00000000, 0xc0020000,
+ 0x10000000, 0x00000080, 0x00000000, 0x00000000,
+ } },
+ { { /* 566 */
+ 0x00000210, 0x00000000, 0x00001000, 0x04480000,
+ 0x20000000, 0x00000004, 0x00800000, 0x02000000,
+ } },
+ { { /* 567 */
+ 0x00000000, 0x08006000, 0x00001000, 0x00000000,
+ 0x00000000, 0x00100000, 0x00000000, 0x00000400,
+ } },
+ { { /* 568 */
+ 0x00100000, 0x00000000, 0x10000000, 0x08608000,
+ 0x00000000, 0x00000000, 0x00080002, 0x00000000,
+ } },
+ { { /* 569 */
+ 0x00000000, 0x20000000, 0x00008020, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 570 */
+ 0x00000000, 0x00000000, 0x00000000, 0x10000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 571 */
+ 0x00000000, 0x00100000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 572 */
+ 0x00000000, 0x00000400, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 573 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x02000000,
+ } },
+ { { /* 574 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000080, 0x00000000,
+ } },
+ { { /* 575 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000002, 0x00000000, 0x00000000,
+ } },
+ { { /* 576 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00008000, 0x00000000,
+ } },
+ { { /* 577 */
+ 0x00000000, 0x00000000, 0x00000008, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000400, 0x00000000,
+ } },
+ { { /* 578 */
+ 0x00000000, 0x00000000, 0x00220000, 0x00000004,
+ 0x00000000, 0x00040000, 0x00000004, 0x00000000,
+ } },
+ { { /* 579 */
+ 0x00000000, 0x00000000, 0x00001000, 0x00000080,
+ 0x00002000, 0x00000000, 0x00000000, 0x00004000,
+ } },
+ { { /* 580 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00100000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 581 */
+ 0x00000000, 0x00020000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 582 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00200000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 583 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x04000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 584 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000200, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 585 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000001, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 586 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00080000, 0x00000000,
+ } },
+ { { /* 587 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x01000000, 0x00000000, 0x00000400,
+ } },
+ { { /* 588 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000080, 0x00000000, 0x00000000,
+ } },
+ { { /* 589 */
+ 0x00000000, 0x00000800, 0x00000100, 0x40000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 590 */
+ 0x00000000, 0x00200000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 591 */
+ 0x00000000, 0x00000000, 0x01000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 592 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x04000000, 0x00000000,
+ } },
+ { { /* 593 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00001000, 0x00000000,
+ } },
+ { { /* 594 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000400, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 595 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x04040000,
+ } },
+ { { /* 596 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000020, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 597 */
+ 0x00000000, 0x00000000, 0x00800000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 598 */
+ 0x00000000, 0x00200000, 0x40000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 599 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x20000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 600 */
+ 0x00000000, 0x00000000, 0x00000000, 0x04000000,
+ 0x00000000, 0x00000001, 0x00000000, 0x00000000,
+ } },
+ { { /* 601 */
+ 0x00000000, 0x40000000, 0x02000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 602 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00080000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 603 */
+ 0x00000000, 0x00000010, 0x00000000, 0x00000000,
+ 0x00000000, 0x20000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 604 */
+ 0x00000000, 0x00000000, 0x20000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 605 */
+ 0x00000080, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000004,
+ } },
+ { { /* 606 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00002000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 607 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x10000001, 0x00000000,
+ } },
+ { { /* 608 */
+ 0x00008000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 609 */
+ 0x00000000, 0x00000000, 0x00004040, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 610 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00042400, 0x00000000,
+ } },
+ { { /* 611 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x02000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 612 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000080,
+ } },
+ { { /* 613 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000020,
+ } },
+ { { /* 614 */
+ 0x00000000, 0x00000001, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 615 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00020000, 0x00000000,
+ } },
+ { { /* 616 */
+ 0x00000000, 0x00000000, 0x00002000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 617 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x01000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 618 */
+ 0x00000000, 0x00040000, 0x08000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 619 */
+ 0xc373ff8b, 0x1b0f6840, 0xf34ce9ac, 0xc0080200,
+ 0xca3e795c, 0x06487976, 0xf7f02fdf, 0xa8ff033a,
+ } },
+ { { /* 620 */
+ 0x233fef37, 0xfd59b004, 0xfffff3ca, 0xfff9de9f,
+ 0x7df7abff, 0x8eecc000, 0xffdbeebf, 0x45fad003,
+ } },
+ { { /* 621 */
+ 0xdffefae1, 0x10abbfef, 0xfcaaffeb, 0x24fdef3f,
+ 0x7f7678ad, 0xedfff00c, 0x2cfacff6, 0xeb6bf7f9,
+ } },
+ { { /* 622 */
+ 0x95bf1ffd, 0xbfbf6677, 0xfeb43bfb, 0x11e27bae,
+ 0x41bea681, 0x72c31435, 0x71917d70, 0x276b0003,
+ } },
+ { { /* 623 */
+ 0x70cf57cb, 0x0def4732, 0xfc747eda, 0xbdb4fe06,
+ 0x8bca3f9f, 0x58007e49, 0xebec228f, 0xddbb8a5c,
+ } },
+ { { /* 624 */
+ 0xb6e7ef60, 0xf293a40f, 0x549e37bb, 0x9bafd04b,
+ 0xf7d4c414, 0x0a1430b0, 0x88d02f08, 0x192fff7e,
+ } },
+ { { /* 625 */
+ 0xfb07ffda, 0x7beb7ff1, 0x0010c5ef, 0xfdff99ff,
+ 0x056779d7, 0xfdcbffe7, 0x4040c3ff, 0xbd8e6ff7,
+ } },
+ { { /* 626 */
+ 0x0497dffa, 0x5bfff4c0, 0xd0e7ed7b, 0xf8e0047e,
+ 0xb73eff9f, 0x882e7dfe, 0xbe7ffffd, 0xf6c483fe,
+ } },
+ { { /* 627 */
+ 0xb8fdf357, 0xef7dd680, 0x47885767, 0xc3dfff7d,
+ 0x37a9f0ff, 0x70fc7de0, 0xec9a3f6f, 0x86814cb3,
+ } },
+ { { /* 628 */
+ 0xdd5c3f9e, 0x4819f70d, 0x0007fea3, 0x38ffaf56,
+ 0xefb8980d, 0xb760403d, 0x9035d8ce, 0x3fff72bf,
+ } },
+ { { /* 629 */
+ 0x7a117ff7, 0xabfff7bb, 0x6fbeff00, 0xfe72a93c,
+ 0xf11bcfef, 0xf40adb6b, 0xef7ec3e6, 0xf6109b9c,
+ } },
+ { { /* 630 */
+ 0x16f4f048, 0x5182feb5, 0x15bbc7b1, 0xfbdf6e87,
+ 0x63cde43f, 0x7e7ec1ff, 0x7d5ffdeb, 0xfcfe777b,
+ } },
+ { { /* 631 */
+ 0xdbea960b, 0x53e86229, 0xfdef37df, 0xbd8136f5,
+ 0xfcbddc18, 0xffffd2e4, 0xffe03fd7, 0xabf87f6f,
+ } },
+ { { /* 632 */
+ 0x6ed99bae, 0xf115f5fb, 0xbdfb79a9, 0xadaf5a3c,
+ 0x1facdbba, 0x837971fc, 0xc35f7cf7, 0x0567dfff,
+ } },
+ { { /* 633 */
+ 0x8467ff9a, 0xdf8b1534, 0x3373f9f3, 0x5e1af7bd,
+ 0xa03fbf40, 0x01ebffff, 0xcfdddfc0, 0xabd37500,
+ } },
+ { { /* 634 */
+ 0xeed6f8c3, 0xb7ff43fd, 0x42275eaf, 0xf6869bac,
+ 0xf6bc27d7, 0x35b7f787, 0xe176aacd, 0xe29f49e7,
+ } },
+ { { /* 635 */
+ 0xaff2545c, 0x61d82b3f, 0xbbb8fc3b, 0x7b7dffcf,
+ 0x1ce0bf95, 0x43ff7dfd, 0xfffe5ff6, 0xc4ced3ef,
+ } },
+ { { /* 636 */
+ 0xadbc8db6, 0x11eb63dc, 0x23d0df59, 0xf3dbbeb4,
+ 0xdbc71fe7, 0xfae4ff63, 0x63f7b22b, 0xadbaed3b,
+ } },
+ { { /* 637 */
+ 0x7efffe01, 0x02bcfff7, 0xef3932ff, 0x8005fffc,
+ 0xbcf577fb, 0xfff7010d, 0xbf3afffb, 0xdfff0057,
+ } },
+ { { /* 638 */
+ 0xbd7def7b, 0xc8d4db88, 0xed7cfff3, 0x56ff5dee,
+ 0xac5f7e0d, 0xd57fff96, 0xc1403fee, 0xffe76ff9,
+ } },
+ { { /* 639 */
+ 0x8e77779b, 0xe45d6ebf, 0x5f1f6fcf, 0xfedfe07f,
+ 0x01fed7db, 0xfb7bff00, 0x1fdfffd4, 0xfffff800,
+ } },
+ { { /* 640 */
+ 0x007bfb8f, 0x7f5cbf00, 0x07f3ffff, 0x3de7eba0,
+ 0xfbd7f7bf, 0x6003ffbf, 0xbfedfffd, 0x027fefbb,
+ } },
+ { { /* 641 */
+ 0xddfdfe40, 0xe2f9fdff, 0xfb1f680b, 0xaffdfbe3,
+ 0xf7ed9fa4, 0xf80f7a7d, 0x0fd5eebe, 0xfd9fbb5d,
+ } },
+ { { /* 642 */
+ 0x3bf9f2db, 0xebccfe7f, 0x73fa876a, 0x9ffc95fc,
+ 0xfaf7109f, 0xbbcdddb7, 0xeccdf87e, 0x3c3ff366,
+ } },
+ { { /* 643 */
+ 0xb03ffffd, 0x067ee9f7, 0xfe0696ae, 0x5fd7d576,
+ 0xa3f33fd1, 0x6fb7cf07, 0x7f449fd1, 0xd3dd7b59,
+ } },
+ { { /* 644 */
+ 0xa9bdaf3b, 0xff3a7dcf, 0xf6ebfbe0, 0xffffb401,
+ 0xb7bf7afa, 0x0ffdc000, 0xff1fff7f, 0x95fffefc,
+ } },
+ { { /* 645 */
+ 0xb5dc0000, 0x3f3eef63, 0x001bfb7f, 0xfbf6e800,
+ 0xb8df9eef, 0x003fff9f, 0xf5ff7bd0, 0x3fffdfdb,
+ } },
+ { { /* 646 */
+ 0x00bffdf0, 0xbbbd8420, 0xffdedf37, 0x0ff3ff6d,
+ 0x5efb604c, 0xfafbfffb, 0x0219fe5e, 0xf9de79f4,
+ } },
+ { { /* 647 */
+ 0xebfaa7f7, 0xff3401eb, 0xef73ebd3, 0xc040afd7,
+ 0xdcff72bb, 0x2fd8f17f, 0xfe0bb8ec, 0x1f0bdda3,
+ } },
+ { { /* 648 */
+ 0x47cf8f1d, 0xffdeb12b, 0xda737fee, 0xcbc424ff,
+ 0xcbf2f75d, 0xb4edecfd, 0x4dddbff9, 0xfb8d99dd,
+ } },
+ { { /* 649 */
+ 0xaf7bbb7f, 0xc959ddfb, 0xfab5fc4f, 0x6d5fafe3,
+ 0x3f7dffff, 0xffdb7800, 0x7effb6ff, 0x022ffbaf,
+ } },
+ { { /* 650 */
+ 0xefc7ff9b, 0xffffffa5, 0xc7000007, 0xfff1f7ff,
+ 0x01bf7ffd, 0xfdbcdc00, 0xffffbff5, 0x3effff7f,
+ } },
+ { { /* 651 */
+ 0xbe000029, 0xff7ff9ff, 0xfd7e6efb, 0x039ecbff,
+ 0xfbdde300, 0xf6dfccff, 0x117fffff, 0xfbf6f800,
+ } },
+ { { /* 652 */
+ 0xd73ce7ef, 0xdfeffeef, 0xedbfc00b, 0xfdcdfedf,
+ 0x40fd7bf5, 0xb75fffff, 0xf930ffdf, 0xdc97fbdf,
+ } },
+ { { /* 653 */
+ 0xbff2fef3, 0xdfbf8fdf, 0xede6177f, 0x35530f7f,
+ 0x877e447c, 0x45bbfa12, 0x779eede0, 0xbfd98017,
+ } },
+ { { /* 654 */
+ 0xde897e55, 0x0447c16f, 0xf75d7ade, 0x290557ff,
+ 0xfe9586f7, 0xf32f97b3, 0x9f75cfff, 0xfb1771f7,
+ } },
+ { { /* 655 */
+ 0xee1934ee, 0xef6137cc, 0xef4c9fd6, 0xfbddd68f,
+ 0x6def7b73, 0xa431d7fe, 0x97d75e7f, 0xffd80f5b,
+ } },
+ { { /* 656 */
+ 0x7bce9d83, 0xdcff22ec, 0xef87763d, 0xfdeddfe7,
+ 0xa0fc4fff, 0xdbfc3b77, 0x7fdc3ded, 0xf5706fa9,
+ } },
+ { { /* 657 */
+ 0x2c403ffb, 0x847fff7f, 0xdeb7ec57, 0xf22fe69c,
+ 0xd5b50feb, 0xede7afeb, 0xfff08c2f, 0xe8f0537f,
+ } },
+ { { /* 658 */
+ 0xb5ffb99d, 0xe78fff66, 0xbe10d981, 0xe3c19c7c,
+ 0x27339cd1, 0xff6d0cbc, 0xefb7fcb7, 0xffffa0df,
+ } },
+ { { /* 659 */
+ 0xfe7bbf0b, 0x353fa3ff, 0x97cd13cc, 0xfb277637,
+ 0x7e6ccfd6, 0xed31ec50, 0xfc1c677c, 0x5fbff6fa,
+ } },
+ { { /* 660 */
+ 0xae2f0fba, 0x7ffea3ad, 0xde74fcf0, 0xf200ffef,
+ 0xfea2fbbf, 0xbcff3daf, 0x5fb9f694, 0x3f8ff3ad,
+ } },
+ { { /* 661 */
+ 0xa01ff26c, 0x01bfffef, 0x70057728, 0xda03ff35,
+ 0xc7fad2f9, 0x5c1d3fbf, 0xec33ff3a, 0xfe9cb7af,
+ } },
+ { { /* 662 */
+ 0x7a9f5236, 0xe722bffa, 0xfcff9ff7, 0xb61d2fbb,
+ 0x1dfded06, 0xefdf7dd7, 0xf166eb23, 0x0dc07ed9,
+ } },
+ { { /* 663 */
+ 0xdfbf3d3d, 0xba83c945, 0x9dd07dd1, 0xcf737b87,
+ 0xc3f59ff3, 0xc5fedf0d, 0x83020cb3, 0xaec0e879,
+ } },
+ { { /* 664 */
+ 0x6f0fc773, 0x093ffd7d, 0x0157fff1, 0x01ff62fb,
+ 0x3bf3fdb4, 0x43b2b013, 0xff305ed3, 0xeb9f0fff,
+ } },
+ { { /* 665 */
+ 0xf203feef, 0xfb893fef, 0x9e9937a9, 0xa72cdef9,
+ 0xc1f63733, 0xfe3e812e, 0xf2f75d20, 0x69d7d585,
+ } },
+ { { /* 666 */
+ 0xffffffff, 0xff6fdb07, 0xd97fc4ff, 0xbe0fefce,
+ 0xf05ef17b, 0xffb7f6cf, 0xef845ef7, 0x0edfd7cb,
+ } },
+ { { /* 667 */
+ 0xfcffff08, 0xffffee3f, 0xd7ff13ff, 0x7ffdaf0f,
+ 0x1ffabdc7, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 668 */
+ 0x00000000, 0xe7400000, 0xf933bd38, 0xfeed7feb,
+ 0x7c767fe8, 0xffefb3f7, 0xd8b7feaf, 0xfbbfff6f,
+ } },
+ { { /* 669 */
+ 0xdbf7f8fb, 0xe2f91752, 0x754785c8, 0xe3ef9090,
+ 0x3f6d9ef4, 0x0536ee2e, 0x7ff3f7bc, 0x7f3fa07b,
+ } },
+ { { /* 670 */
+ 0xeb600567, 0x6601babe, 0x583ffcd8, 0x87dfcaf7,
+ 0xffa0bfcd, 0xfebf5bcd, 0xefa7b6fd, 0xdf9c77ef,
+ } },
+ { { /* 671 */
+ 0xf8773fb7, 0xb7fc9d27, 0xdfefcab5, 0xf1b6fb5a,
+ 0xef1fec39, 0x7ffbfbbf, 0xdafe000d, 0x4e7fbdfb,
+ } },
+ { { /* 672 */
+ 0x5ac033ff, 0x9ffebff5, 0x005fffbf, 0xfdf80000,
+ 0x6ffdffca, 0xa001cffd, 0xfbf2dfff, 0xff7fdfbf,
+ } },
+ { { /* 673 */
+ 0x080ffeda, 0xbfffba08, 0xeed77afd, 0x67f9fbeb,
+ 0xff93e044, 0x9f57df97, 0x08dffef7, 0xfedfdf80,
+ } },
+ { { /* 674 */
+ 0xf7feffc5, 0x6803fffb, 0x6bfa67fb, 0x5fe27fff,
+ 0xff73ffff, 0xe7fb87df, 0xf7a7ebfd, 0xefc7bf7e,
+ } },
+ { { /* 675 */
+ 0xdf821ef3, 0xdf7e76ff, 0xda7d79c9, 0x1e9befbe,
+ 0x77fb7ce0, 0xfffb87be, 0xffdb1bff, 0x4fe03f5c,
+ } },
+ { { /* 676 */
+ 0x5f0e7fff, 0xddbf77ff, 0xfffff04f, 0x0ff8ffff,
+ 0xfddfa3be, 0xfffdfc1c, 0xfb9e1f7d, 0xdedcbdff,
+ } },
+ { { /* 677 */
+ 0xbafb3f6f, 0xfbefdf7f, 0x2eec7d1b, 0xf2f7af8e,
+ 0xcfee7b0f, 0x77c61d96, 0xfff57e07, 0x7fdfd982,
+ } },
+ { { /* 678 */
+ 0xc7ff5ee6, 0x79effeee, 0xffcf9a56, 0xde5efe5f,
+ 0xf9e8896e, 0xe6c4f45e, 0xbe7c0001, 0xdddf3b7f,
+ } },
+ { { /* 679 */
+ 0xe9efd59d, 0xde5334ac, 0x4bf7f573, 0x9eff7b4f,
+ 0x476eb8fe, 0xff450dfb, 0xfbfeabfd, 0xddffe9d7,
+ } },
+ { { /* 680 */
+ 0x7fffedf7, 0x7eebddfd, 0xb7ffcfe7, 0xef91bde9,
+ 0xd77c5d75, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 681 */
+ 0x00000000, 0xfa800000, 0xb4f1ffee, 0x2fefbf76,
+ 0x77bfb677, 0xfffd9fbf, 0xf6ae95bf, 0x7f3b75ff,
+ } },
+ { { /* 682 */
+ 0x0af9a7f5, 0x00000000, 0x00000000, 0x2bddfbd0,
+ 0x9a7ff633, 0xd6fcfdab, 0xbfebf9e6, 0xf41fdfdf,
+ } },
+ { { /* 683 */
+ 0xffffa6fd, 0xf37b4aff, 0xfef97fb7, 0x1d5cb6ff,
+ 0xe5ff7ff6, 0x24041f7b, 0xf99ebe05, 0xdff2dbe3,
+ } },
+ { { /* 684 */
+ 0xfdff6fef, 0xcbfcd679, 0xefffebfd, 0x0000001f,
+ 0x98000000, 0x8017e148, 0x00fe6a74, 0xfdf16d7f,
+ } },
+ { { /* 685 */
+ 0xfef3b87f, 0xf176e01f, 0x7b3fee96, 0xfffdeb8d,
+ 0xcbb3adff, 0xe17f84ef, 0xbff04daa, 0xfe3fbf3f,
+ } },
+ { { /* 686 */
+ 0xffd7ebff, 0xcf7fffdf, 0x85edfffb, 0x07bcd73f,
+ 0xfe0faeff, 0x76bffdaf, 0x37bbfaef, 0xa3ba7fdc,
+ } },
+ { { /* 687 */
+ 0x56f7b6ff, 0xe7df60f8, 0x4cdfff61, 0xff45b0fb,
+ 0x3ffa7ded, 0x18fc1fff, 0xe3afffff, 0xdf83c7d3,
+ } },
+ { { /* 688 */
+ 0xef7dfb57, 0x1378efff, 0x5ff7fec0, 0x5ee334bb,
+ 0xeff6f70d, 0x00bfd7fe, 0xf7f7f59d, 0xffe051de,
+ } },
+ { { /* 689 */
+ 0x037ffec9, 0xbfef5f01, 0x60a79ff1, 0xf1ffef1d,
+ 0x0000000f, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 690 */
+ 0x00000000, 0x00000000, 0x00000000, 0x3c800000,
+ 0xd91ffb4d, 0xfee37b3a, 0xdc7f3fe9, 0x0000003f,
+ } },
+ { { /* 691 */
+ 0x50000000, 0xbe07f51f, 0xf91bfc1d, 0x71ffbc1e,
+ 0x5bbe6ff9, 0x9b1b5796, 0xfffc7fff, 0xafe7872e,
+ } },
+ { { /* 692 */
+ 0xf34febf5, 0xe725dffd, 0x5d440bdc, 0xfddd5747,
+ 0x7790ed3f, 0x8ac87d7f, 0xf3f9fafa, 0xef4b202a,
+ } },
+ { { /* 693 */
+ 0x79cff5ff, 0x0ba5abd3, 0xfb8ff77a, 0x001f8ebd,
+ 0x00000000, 0xfd4ef300, 0x88001a57, 0x7654aeac,
+ } },
+ { { /* 694 */
+ 0xcdff17ad, 0xf42fffb2, 0xdbff5baa, 0x00000002,
+ 0x73c00000, 0x2e3ff9ea, 0xbbfffa8e, 0xffd376bc,
+ } },
+ { { /* 695 */
+ 0x7e72eefe, 0xe7f77ebd, 0xcefdf77f, 0x00000ff5,
+ 0x00000000, 0xdb9ba900, 0x917fa4c7, 0x7ecef8ca,
+ } },
+ { { /* 696 */
+ 0xc7e77d7a, 0xdcaecbbd, 0x8f76fd7e, 0x7cf391d3,
+ 0x4c2f01e5, 0xa360ed77, 0x5ef807db, 0x21811df7,
+ } },
+ { { /* 697 */
+ 0x309c6be0, 0xfade3b3a, 0xc3f57f53, 0x07ba61cd,
+ 0x00000000, 0x00000000, 0x00000000, 0xbefe26e0,
+ } },
+ { { /* 698 */
+ 0xebb503f9, 0xe9cbe36d, 0xbfde9c2f, 0xabbf9f83,
+ 0xffd51ff7, 0xdffeb7df, 0xffeffdae, 0xeffdfb7e,
+ } },
+ { { /* 699 */
+ 0x6ebfaaff, 0x00000000, 0x00000000, 0xb6200000,
+ 0xbe9e7fcd, 0x58f162b3, 0xfd7bf10d, 0xbefde9f1,
+ } },
+ { { /* 700 */
+ 0x5f6dc6c3, 0x69ffff3d, 0xfbf4ffcf, 0x4ff7dcfb,
+ 0x11372000, 0x00000015, 0x00000000, 0x00000000,
+ } },
+ { { /* 701 */
+ 0x00003000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+},
+{
+ /* aa */
+ LEAF( 0, 0),
+ /* ab */
+ LEAF( 1, 1),
+ /* af */
+ LEAF( 2, 2), LEAF( 2, 3),
+ /* ak */
+ LEAF( 4, 4), LEAF( 4, 5), LEAF( 4, 6), LEAF( 4, 7),
+ LEAF( 4, 8),
+ /* am */
+ LEAF( 9, 9), LEAF( 9, 10),
+ /* an */
+ LEAF( 11, 11),
+ /* ar */
+ LEAF( 12, 12),
+ /* as */
+ LEAF( 13, 13),
+ /* ast */
+ LEAF( 14, 11), LEAF( 14, 14),
+ /* av */
+ LEAF( 16, 15),
+ /* ay */
+ LEAF( 17, 16),
+ /* az_az */
+ LEAF( 18, 17), LEAF( 18, 18), LEAF( 18, 19),
+ /* az_ir */
+ LEAF( 21, 20),
+ /* ba */
+ LEAF( 22, 21),
+ /* be */
+ LEAF( 23, 22),
+ /* ber_dz */
+ LEAF( 24, 23), LEAF( 24, 24), LEAF( 24, 25), LEAF( 24, 26),
+ /* ber_ma */
+ LEAF( 28, 27),
+ /* bg */
+ LEAF( 29, 28),
+ /* bh */
+ LEAF( 30, 29),
+ /* bi */
+ LEAF( 31, 30),
+ /* bin */
+ LEAF( 32, 31), LEAF( 32, 32), LEAF( 32, 33),
+ /* bm */
+ LEAF( 35, 23), LEAF( 35, 34), LEAF( 35, 35),
+ /* bn */
+ LEAF( 38, 36),
+ /* bo */
+ LEAF( 39, 37),
+ /* br */
+ LEAF( 40, 38),
+ /* brx */
+ LEAF( 41, 39),
+ /* bs */
+ LEAF( 42, 23), LEAF( 42, 40),
+ /* bua */
+ LEAF( 44, 41),
+ /* byn */
+ LEAF( 45, 42), LEAF( 45, 43),
+ /* ca */
+ LEAF( 47, 44), LEAF( 47, 45),
+ /* ch */
+ LEAF( 49, 46),
+ /* chm */
+ LEAF( 50, 47),
+ /* chr */
+ LEAF( 51, 48),
+ /* co */
+ LEAF( 52, 49), LEAF( 52, 50),
+ /* crh */
+ LEAF( 54, 51), LEAF( 54, 52),
+ /* cs */
+ LEAF( 56, 53), LEAF( 56, 54),
+ /* csb */
+ LEAF( 58, 55), LEAF( 58, 56),
+ /* cu */
+ LEAF( 60, 57),
+ /* cv */
+ LEAF( 61, 58), LEAF( 61, 59),
+ /* cy */
+ LEAF( 63, 60), LEAF( 63, 61), LEAF( 63, 62),
+ /* da */
+ LEAF( 66, 63),
+ /* de */
+ LEAF( 67, 64),
+ /* doi */
+ LEAF( 68, 65),
+ /* dv */
+ LEAF( 69, 66),
+ /* ee */
+ LEAF( 70, 31), LEAF( 70, 67), LEAF( 70, 68), LEAF( 70, 69),
+ /* el */
+ LEAF( 74, 70),
+ /* en */
+ LEAF( 75, 71),
+ /* eo */
+ LEAF( 76, 23), LEAF( 76, 72),
+ /* et */
+ LEAF( 78, 73), LEAF( 78, 74),
+ /* eu */
+ LEAF( 80, 75),
+ /* ff */
+ LEAF( 81, 23), LEAF( 81, 76), LEAF( 81, 77),
+ /* fi */
+ LEAF( 84, 78), LEAF( 84, 74),
+ /* fil */
+ LEAF( 86, 79),
+ /* fj */
+ LEAF( 87, 23),
+ /* fo */
+ LEAF( 88, 80),
+ /* fur */
+ LEAF( 89, 81),
+ /* fy */
+ LEAF( 90, 82),
+ /* ga */
+ LEAF( 91, 83), LEAF( 91, 84), LEAF( 91, 85),
+ /* gd */
+ LEAF( 94, 86),
+ /* gez */
+ LEAF( 95, 87), LEAF( 95, 88),
+ /* gn */
+ LEAF( 97, 89), LEAF( 97, 90), LEAF( 97, 91),
+ /* gu */
+ LEAF(100, 92),
+ /* gv */
+ LEAF(101, 93),
+ /* ha */
+ LEAF(102, 23), LEAF(102, 94), LEAF(102, 95),
+ /* haw */
+ LEAF(105, 23), LEAF(105, 96), LEAF(105, 97),
+ /* he */
+ LEAF(108, 98),
+ /* hsb */
+ LEAF(109, 99), LEAF(109,100),
+ /* ht */
+ LEAF(111,101),
+ /* hu */
+ LEAF(112,102), LEAF(112,103),
+ /* hy */
+ LEAF(114,104),
+ /* hz */
+ LEAF(115, 23), LEAF(115,105), LEAF(115,106),
+ /* id */
+ LEAF(118,107),
+ /* ig */
+ LEAF(119, 23), LEAF(119,108),
+ /* ii */
+ LEAF(121,109), LEAF(121,109), LEAF(121,109), LEAF(121,109),
+ LEAF(121,110),
+ /* ik */
+ LEAF(126,111),
+ /* is */
+ LEAF(127,112),
+ /* it */
+ LEAF(128,113),
+ /* iu */
+ LEAF(129,114), LEAF(129,115), LEAF(129,116),
+ /* ja */
+ LEAF(132,117), LEAF(132,118), LEAF(132,119), LEAF(132,120),
+ LEAF(132,121), LEAF(132,122), LEAF(132,123), LEAF(132,124),
+ LEAF(132,125), LEAF(132,126), LEAF(132,127), LEAF(132,128),
+ LEAF(132,129), LEAF(132,130), LEAF(132,131), LEAF(132,132),
+ LEAF(132,133), LEAF(132,134), LEAF(132,135), LEAF(132,136),
+ LEAF(132,137), LEAF(132,138), LEAF(132,139), LEAF(132,140),
+ LEAF(132,141), LEAF(132,142), LEAF(132,143), LEAF(132,144),
+ LEAF(132,145), LEAF(132,146), LEAF(132,147), LEAF(132,148),
+ LEAF(132,149), LEAF(132,150), LEAF(132,151), LEAF(132,152),
+ LEAF(132,153), LEAF(132,154), LEAF(132,155), LEAF(132,156),
+ LEAF(132,157), LEAF(132,158), LEAF(132,159), LEAF(132,160),
+ LEAF(132,161), LEAF(132,162), LEAF(132,163), LEAF(132,164),
+ LEAF(132,165), LEAF(132,166), LEAF(132,167), LEAF(132,168),
+ LEAF(132,169), LEAF(132,170), LEAF(132,171), LEAF(132,172),
+ LEAF(132,173), LEAF(132,174), LEAF(132,175), LEAF(132,176),
+ LEAF(132,177), LEAF(132,178), LEAF(132,179), LEAF(132,180),
+ LEAF(132,181), LEAF(132,182), LEAF(132,183), LEAF(132,184),
+ LEAF(132,185), LEAF(132,186), LEAF(132,187), LEAF(132,188),
+ LEAF(132,189), LEAF(132,190), LEAF(132,191), LEAF(132,192),
+ LEAF(132,193), LEAF(132,194), LEAF(132,195), LEAF(132,196),
+ LEAF(132,197), LEAF(132,198), LEAF(132,199),
+ /* jv */
+ LEAF(215,200),
+ /* ka */
+ LEAF(216,201),
+ /* kaa */
+ LEAF(217,202),
+ /* ki */
+ LEAF(218, 23), LEAF(218,203),
+ /* kk */
+ LEAF(220,204),
+ /* kl */
+ LEAF(221,205), LEAF(221,206),
+ /* km */
+ LEAF(223,207),
+ /* kn */
+ LEAF(224,208),
+ /* ko */
+ LEAF(225,209), LEAF(225,210), LEAF(225,211), LEAF(225,212),
+ LEAF(225,213), LEAF(225,214), LEAF(225,215), LEAF(225,216),
+ LEAF(225,217), LEAF(225,218), LEAF(225,219), LEAF(225,220),
+ LEAF(225,221), LEAF(225,222), LEAF(225,223), LEAF(225,224),
+ LEAF(225,225), LEAF(225,226), LEAF(225,227), LEAF(225,228),
+ LEAF(225,229), LEAF(225,230), LEAF(225,231), LEAF(225,232),
+ LEAF(225,233), LEAF(225,234), LEAF(225,235), LEAF(225,236),
+ LEAF(225,237), LEAF(225,238), LEAF(225,239), LEAF(225,240),
+ LEAF(225,241), LEAF(225,242), LEAF(225,243), LEAF(225,244),
+ LEAF(225,245), LEAF(225,246), LEAF(225,247), LEAF(225,248),
+ LEAF(225,249), LEAF(225,250), LEAF(225,251), LEAF(225,252),
+ LEAF(225,253),
+ /* kr */
+ LEAF(270, 23), LEAF(270,254), LEAF(270,255),
+ /* ks */
+ LEAF(273,256),
+ /* ku_am */
+ LEAF(274,257), LEAF(274,258),
+ /* ku_iq */
+ LEAF(276,259),
+ /* ku_tr */
+ LEAF(277,260), LEAF(277,261),
+ /* kum */
+ LEAF(279,262),
+ /* kv */
+ LEAF(280,263),
+ /* kw */
+ LEAF(281, 23), LEAF(281, 96), LEAF(281,264),
+ /* ky */
+ LEAF(284,265),
+ /* la */
+ LEAF(285, 23), LEAF(285,266),
+ /* lah */
+ LEAF(287,267),
+ /* lb */
+ LEAF(288,268),
+ /* lg */
+ LEAF(289, 23), LEAF(289,269),
+ /* li */
+ LEAF(291,270),
+ /* ln */
+ LEAF(292,271), LEAF(292,272), LEAF(292, 6), LEAF(292,273),
+ /* lo */
+ LEAF(296,274),
+ /* lt */
+ LEAF(297, 23), LEAF(297,275),
+ /* lv */
+ LEAF(299, 23), LEAF(299,276),
+ /* mg */
+ LEAF(301,277),
+ /* mh */
+ LEAF(302, 23), LEAF(302,278),
+ /* mi */
+ LEAF(304, 23), LEAF(304, 96), LEAF(304,279),
+ /* mk */
+ LEAF(307,280),
+ /* ml */
+ LEAF(308,281),
+ /* mn_cn */
+ LEAF(309,282),
+ /* mn_mn */
+ LEAF(310,283),
+ /* mni */
+ LEAF(311,284),
+ /* mo */
+ LEAF(312,285), LEAF(312, 58), LEAF(312,286), LEAF(312,262),
+ /* mt */
+ LEAF(316,287), LEAF(316,288),
+ /* my */
+ LEAF(318,289),
+ /* na */
+ LEAF(319, 4), LEAF(319,290),
+ /* nb */
+ LEAF(321,291),
+ /* ne */
+ LEAF(322,292),
+ /* nl */
+ LEAF(323,293),
+ /* nn */
+ LEAF(324,294),
+ /* nqo */
+ LEAF(325,295),
+ /* nso */
+ LEAF(326,296), LEAF(326,297),
+ /* nv */
+ LEAF(328,298), LEAF(328,299), LEAF(328,300), LEAF(328,301),
+ /* ny */
+ LEAF(332, 23), LEAF(332,302),
+ /* oc */
+ LEAF(334,303),
+ /* or */
+ LEAF(335,304),
+ /* ota */
+ LEAF(336,305),
+ /* pa */
+ LEAF(337,306),
+ /* pap_an */
+ LEAF(338,307),
+ /* pap_aw */
+ LEAF(339,308),
+ /* pl */
+ LEAF(340, 99), LEAF(340,309),
+ /* ps_af */
+ LEAF(342,310),
+ /* ps_pk */
+ LEAF(343,311),
+ /* pt */
+ LEAF(344,312),
+ /* qu */
+ LEAF(345,308), LEAF(345,313),
+ /* rm */
+ LEAF(347,314),
+ /* ro */
+ LEAF(348,285), LEAF(348, 58), LEAF(348,286),
+ /* sah */
+ LEAF(351,315),
+ /* sat */
+ LEAF(352,316),
+ /* sc */
+ LEAF(353,317),
+ /* sco */
+ LEAF(354, 23), LEAF(354,318), LEAF(354,319),
+ /* sd */
+ LEAF(357,320),
+ /* se */
+ LEAF(358,321), LEAF(358,322),
+ /* sg */
+ LEAF(360,323),
+ /* sh */
+ LEAF(361, 23), LEAF(361, 40), LEAF(361,324),
+ /* shs */
+ LEAF(364,325), LEAF(364,326),
+ /* si */
+ LEAF(366,327),
+ /* sid */
+ LEAF(367,328), LEAF(367, 10),
+ /* sk */
+ LEAF(369,329), LEAF(369,330),
+ /* sm */
+ LEAF(371, 23), LEAF(371, 97),
+ /* sma */
+ LEAF(373,331),
+ /* smj */
+ LEAF(374,332),
+ /* smn */
+ LEAF(375,333), LEAF(375,334),
+ /* sms */
+ LEAF(377,335), LEAF(377,336), LEAF(377,337),
+ /* sq */
+ LEAF(380,338),
+ /* sr */
+ LEAF(381,339),
+ /* sv */
+ LEAF(382,340),
+ /* syr */
+ LEAF(383,341),
+ /* ta */
+ LEAF(384,342),
+ /* te */
+ LEAF(385,343),
+ /* tg */
+ LEAF(386,344),
+ /* th */
+ LEAF(387,345),
+ /* tig */
+ LEAF(388,346), LEAF(388, 43),
+ /* tk */
+ LEAF(390,347), LEAF(390,348),
+ /* tr */
+ LEAF(392,349), LEAF(392, 52),
+ /* tt */
+ LEAF(394,350),
+ /* ty */
+ LEAF(395,351), LEAF(395, 96), LEAF(395,300),
+ /* ug */
+ LEAF(398,352),
+ /* uk */
+ LEAF(399,353),
+ /* ve */
+ LEAF(400, 23), LEAF(400,354),
+ /* vi */
+ LEAF(402,355), LEAF(402,356), LEAF(402,357), LEAF(402,358),
+ /* vo */
+ LEAF(406,359),
+ /* vot */
+ LEAF(407,360), LEAF(407, 74),
+ /* wa */
+ LEAF(409,361),
+ /* wen */
+ LEAF(410, 99), LEAF(410,362),
+ /* wo */
+ LEAF(412,363), LEAF(412,269),
+ /* yap */
+ LEAF(414,364),
+ /* yo */
+ LEAF(415,365), LEAF(415,366), LEAF(415,367), LEAF(415,368),
+ /* zh_cn */
+ LEAF(419,369), LEAF(419,370), LEAF(419,371), LEAF(419,372),
+ LEAF(419,373), LEAF(419,374), LEAF(419,375), LEAF(419,376),
+ LEAF(419,377), LEAF(419,378), LEAF(419,379), LEAF(419,380),
+ LEAF(419,381), LEAF(419,382), LEAF(419,383), LEAF(419,384),
+ LEAF(419,385), LEAF(419,386), LEAF(419,387), LEAF(419,388),
+ LEAF(419,389), LEAF(419,390), LEAF(419,391), LEAF(419,392),
+ LEAF(419,393), LEAF(419,394), LEAF(419,395), LEAF(419,396),
+ LEAF(419,397), LEAF(419,398), LEAF(419,399), LEAF(419,400),
+ LEAF(419,401), LEAF(419,402), LEAF(419,403), LEAF(419,404),
+ LEAF(419,405), LEAF(419,406), LEAF(419,407), LEAF(419,408),
+ LEAF(419,409), LEAF(419,410), LEAF(419,411), LEAF(419,412),
+ LEAF(419,413), LEAF(419,414), LEAF(419,415), LEAF(419,416),
+ LEAF(419,417), LEAF(419,418), LEAF(419,419), LEAF(419,420),
+ LEAF(419,421), LEAF(419,422), LEAF(419,423), LEAF(419,424),
+ LEAF(419,425), LEAF(419,426), LEAF(419,427), LEAF(419,428),
+ LEAF(419,429), LEAF(419,430), LEAF(419,431), LEAF(419,432),
+ LEAF(419,433), LEAF(419,434), LEAF(419,435), LEAF(419,436),
+ LEAF(419,437), LEAF(419,438), LEAF(419,439), LEAF(419,440),
+ LEAF(419,441), LEAF(419,442), LEAF(419,443), LEAF(419,444),
+ LEAF(419,445), LEAF(419,446), LEAF(419,447), LEAF(419,448),
+ LEAF(419,449), LEAF(419,450),
+ /* zh_hk */
+ LEAF(501,451), LEAF(501,452), LEAF(501,453), LEAF(501,454),
+ LEAF(501,455), LEAF(501,456), LEAF(501,457), LEAF(501,458),
+ LEAF(501,459), LEAF(501,460), LEAF(501,461), LEAF(501,462),
+ LEAF(501,463), LEAF(501,464), LEAF(501,465), LEAF(501,466),
+ LEAF(501,467), LEAF(501,468), LEAF(501,469), LEAF(501,470),
+ LEAF(501,471), LEAF(501,472), LEAF(501,473), LEAF(501,474),
+ LEAF(501,475), LEAF(501,476), LEAF(501,477), LEAF(501,478),
+ LEAF(501,479), LEAF(501,480), LEAF(501,481), LEAF(501,482),
+ LEAF(501,483), LEAF(501,484), LEAF(501,485), LEAF(501,486),
+ LEAF(501,487), LEAF(501,488), LEAF(501,489), LEAF(501,490),
+ LEAF(501,491), LEAF(501,492), LEAF(501,493), LEAF(501,494),
+ LEAF(501,495), LEAF(501,496), LEAF(501,497), LEAF(501,498),
+ LEAF(501,499), LEAF(501,500), LEAF(501,501), LEAF(501,502),
+ LEAF(501,503), LEAF(501,504), LEAF(501,505), LEAF(501,506),
+ LEAF(501,507), LEAF(501,508), LEAF(501,509), LEAF(501,510),
+ LEAF(501,511), LEAF(501,512), LEAF(501,513), LEAF(501,514),
+ LEAF(501,515), LEAF(501,516), LEAF(501,517), LEAF(501,518),
+ LEAF(501,519), LEAF(501,520), LEAF(501,521), LEAF(501,522),
+ LEAF(501,523), LEAF(501,524), LEAF(501,525), LEAF(501,526),
+ LEAF(501,527), LEAF(501,528), LEAF(501,529), LEAF(501,530),
+ LEAF(501,531), LEAF(501,532), LEAF(501,533), LEAF(501,534),
+ LEAF(501,535), LEAF(501,536), LEAF(501,537), LEAF(501,538),
+ LEAF(501,539), LEAF(501,540), LEAF(501,541), LEAF(501,542),
+ LEAF(501,543), LEAF(501,544), LEAF(501,545), LEAF(501,546),
+ LEAF(501,547), LEAF(501,548), LEAF(501,549), LEAF(501,550),
+ LEAF(501,551), LEAF(501,552), LEAF(501,553), LEAF(501,554),
+ LEAF(501,555), LEAF(501,556), LEAF(501,557), LEAF(501,558),
+ LEAF(501,559), LEAF(501,560), LEAF(501,561), LEAF(501,562),
+ LEAF(501,563), LEAF(501,564), LEAF(501,565), LEAF(501,566),
+ LEAF(501,567), LEAF(501,568), LEAF(501,569), LEAF(501,570),
+ LEAF(501,571), LEAF(501,572), LEAF(501,573), LEAF(501,574),
+ LEAF(501,575), LEAF(501,576), LEAF(501,577), LEAF(501,578),
+ LEAF(501,579), LEAF(501,580), LEAF(501,581), LEAF(501,582),
+ LEAF(501,583), LEAF(501,318), LEAF(501,584), LEAF(501,585),
+ LEAF(501,586), LEAF(501,587), LEAF(501,588), LEAF(501,589),
+ LEAF(501,590), LEAF(501, 3), LEAF(501,591), LEAF(501,592),
+ LEAF(501,593), LEAF(501,594), LEAF(501,595), LEAF(501,596),
+ LEAF(501,580), LEAF(501,597), LEAF(501,598), LEAF(501,599),
+ LEAF(501,600), LEAF(501,601), LEAF(501,602), LEAF(501,603),
+ LEAF(501,604), LEAF(501,605), LEAF(501,606), LEAF(501,607),
+ LEAF(501,608), LEAF(501,609), LEAF(501,610), LEAF(501,611),
+ LEAF(501,612), LEAF(501,613), LEAF(501,614), LEAF(501,615),
+ LEAF(501,616), LEAF(501,617), LEAF(501,618),
+ /* zh_tw */
+ LEAF(672,619), LEAF(672,620), LEAF(672,621), LEAF(672,622),
+ LEAF(672,623), LEAF(672,624), LEAF(672,625), LEAF(672,626),
+ LEAF(672,627), LEAF(672,628), LEAF(672,629), LEAF(672,630),
+ LEAF(672,631), LEAF(672,632), LEAF(672,633), LEAF(672,634),
+ LEAF(672,635), LEAF(672,636), LEAF(672,637), LEAF(672,638),
+ LEAF(672,639), LEAF(672,640), LEAF(672,641), LEAF(672,642),
+ LEAF(672,643), LEAF(672,644), LEAF(672,645), LEAF(672,646),
+ LEAF(672,647), LEAF(672,648), LEAF(672,649), LEAF(672,650),
+ LEAF(672,651), LEAF(672,652), LEAF(672,653), LEAF(672,654),
+ LEAF(672,655), LEAF(672,656), LEAF(672,657), LEAF(672,658),
+ LEAF(672,659), LEAF(672,660), LEAF(672,661), LEAF(672,662),
+ LEAF(672,663), LEAF(672,664), LEAF(672,665), LEAF(672,666),
+ LEAF(672,667), LEAF(672,668), LEAF(672,669), LEAF(672,670),
+ LEAF(672,671), LEAF(672,672), LEAF(672,673), LEAF(672,674),
+ LEAF(672,675), LEAF(672,676), LEAF(672,677), LEAF(672,678),
+ LEAF(672,679), LEAF(672,680), LEAF(672,681), LEAF(672,682),
+ LEAF(672,683), LEAF(672,684), LEAF(672,685), LEAF(672,686),
+ LEAF(672,687), LEAF(672,688), LEAF(672,689), LEAF(672,690),
+ LEAF(672,691), LEAF(672,692), LEAF(672,693), LEAF(672,694),
+ LEAF(672,695), LEAF(672,696), LEAF(672,697), LEAF(672,698),
+ LEAF(672,699), LEAF(672,700), LEAF(672,701),
+},
+{
+ /* aa */
+ 0x0000,
+ /* ab */
+ 0x0004,
+ /* af */
+ 0x0000, 0x0001,
+ /* ak */
+ 0x0000, 0x0001, 0x0002, 0x0003, 0x001e,
+ /* am */
+ 0x0012, 0x0013,
+ /* an */
+ 0x0000,
+ /* ar */
+ 0x0006,
+ /* as */
+ 0x0009,
+ /* ast */
+ 0x0000, 0x001e,
+ /* av */
+ 0x0004,
+ /* ay */
+ 0x0000,
+ /* az_az */
+ 0x0000, 0x0001, 0x0002,
+ /* az_ir */
+ 0x0006,
+ /* ba */
+ 0x0004,
+ /* be */
+ 0x0004,
+ /* ber_dz */
+ 0x0000, 0x0001, 0x0002, 0x001e,
+ /* ber_ma */
+ 0x002d,
+ /* bg */
+ 0x0004,
+ /* bh */
+ 0x0009,
+ /* bi */
+ 0x0000,
+ /* bin */
+ 0x0000, 0x0003, 0x001e,
+ /* bm */
+ 0x0000, 0x0001, 0x0002,
+ /* bn */
+ 0x0009,
+ /* bo */
+ 0x000f,
+ /* br */
+ 0x0000,
+ /* brx */
+ 0x0009,
+ /* bs */
+ 0x0000, 0x0001,
+ /* bua */
+ 0x0004,
+ /* byn */
+ 0x0012, 0x0013,
+ /* ca */
+ 0x0000, 0x0001,
+ /* ch */
+ 0x0000,
+ /* chm */
+ 0x0004,
+ /* chr */
+ 0x0013,
+ /* co */
+ 0x0000, 0x0001,
+ /* crh */
+ 0x0000, 0x0001,
+ /* cs */
+ 0x0000, 0x0001,
+ /* csb */
+ 0x0000, 0x0001,
+ /* cu */
+ 0x0004,
+ /* cv */
+ 0x0001, 0x0004,
+ /* cy */
+ 0x0000, 0x0001, 0x001e,
+ /* da */
+ 0x0000,
+ /* de */
+ 0x0000,
+ /* doi */
+ 0x0009,
+ /* dv */
+ 0x0007,
+ /* ee */
+ 0x0000, 0x0001, 0x0002, 0x0003,
+ /* el */
+ 0x0003,
+ /* en */
+ 0x0000,
+ /* eo */
+ 0x0000, 0x0001,
+ /* et */
+ 0x0000, 0x0001,
+ /* eu */
+ 0x0000,
+ /* ff */
+ 0x0000, 0x0001, 0x0002,
+ /* fi */
+ 0x0000, 0x0001,
+ /* fil */
+ 0x0000,
+ /* fj */
+ 0x0000,
+ /* fo */
+ 0x0000,
+ /* fur */
+ 0x0000,
+ /* fy */
+ 0x0000,
+ /* ga */
+ 0x0000, 0x0001, 0x001e,
+ /* gd */
+ 0x0000,
+ /* gez */
+ 0x0012, 0x0013,
+ /* gn */
+ 0x0000, 0x0001, 0x001e,
+ /* gu */
+ 0x000a,
+ /* gv */
+ 0x0000,
+ /* ha */
+ 0x0000, 0x0001, 0x0002,
+ /* haw */
+ 0x0000, 0x0001, 0x0002,
+ /* he */
+ 0x0005,
+ /* hsb */
+ 0x0000, 0x0001,
+ /* ht */
+ 0x0000,
+ /* hu */
+ 0x0000, 0x0001,
+ /* hy */
+ 0x0005,
+ /* hz */
+ 0x0000, 0x0003, 0x001e,
+ /* id */
+ 0x0000,
+ /* ig */
+ 0x0000, 0x001e,
+ /* ii */
+ 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4,
+ /* ik */
+ 0x0004,
+ /* is */
+ 0x0000,
+ /* it */
+ 0x0000,
+ /* iu */
+ 0x0014, 0x0015, 0x0016,
+ /* ja */
+ 0x0030, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054,
+ 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, 0x005c,
+ 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, 0x0064,
+ 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c,
+ 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074,
+ 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c,
+ 0x007d, 0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, 0x0084,
+ 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, 0x008c,
+ 0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, 0x0094,
+ 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, 0x009c,
+ 0x009d, 0x009e, 0x009f,
+ /* jv */
+ 0x0000,
+ /* ka */
+ 0x0010,
+ /* kaa */
+ 0x0004,
+ /* ki */
+ 0x0000, 0x0001,
+ /* kk */
+ 0x0004,
+ /* kl */
+ 0x0000, 0x0001,
+ /* km */
+ 0x0017,
+ /* kn */
+ 0x000c,
+ /* ko */
+ 0x0031, 0x00ac, 0x00ad, 0x00ae, 0x00af, 0x00b0, 0x00b1, 0x00b2,
+ 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, 0x00b8, 0x00b9, 0x00ba,
+ 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, 0x00c0, 0x00c1, 0x00c2,
+ 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, 0x00c8, 0x00c9, 0x00ca,
+ 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, 0x00d0, 0x00d1, 0x00d2,
+ 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
+ /* kr */
+ 0x0000, 0x0001, 0x0002,
+ /* ks */
+ 0x0006,
+ /* ku_am */
+ 0x0004, 0x0005,
+ /* ku_iq */
+ 0x0006,
+ /* ku_tr */
+ 0x0000, 0x0001,
+ /* kum */
+ 0x0004,
+ /* kv */
+ 0x0004,
+ /* kw */
+ 0x0000, 0x0001, 0x0002,
+ /* ky */
+ 0x0004,
+ /* la */
+ 0x0000, 0x0001,
+ /* lah */
+ 0x0006,
+ /* lb */
+ 0x0000,
+ /* lg */
+ 0x0000, 0x0001,
+ /* li */
+ 0x0000,
+ /* ln */
+ 0x0000, 0x0001, 0x0002, 0x0003,
+ /* lo */
+ 0x000e,
+ /* lt */
+ 0x0000, 0x0001,
+ /* lv */
+ 0x0000, 0x0001,
+ /* mg */
+ 0x0000,
+ /* mh */
+ 0x0000, 0x0001,
+ /* mi */
+ 0x0000, 0x0001, 0x001e,
+ /* mk */
+ 0x0004,
+ /* ml */
+ 0x000d,
+ /* mn_cn */
+ 0x0018,
+ /* mn_mn */
+ 0x0004,
+ /* mni */
+ 0x0009,
+ /* mo */
+ 0x0000, 0x0001, 0x0002, 0x0004,
+ /* mt */
+ 0x0000, 0x0001,
+ /* my */
+ 0x0010,
+ /* na */
+ 0x0000, 0x0001,
+ /* nb */
+ 0x0000,
+ /* ne */
+ 0x0009,
+ /* nl */
+ 0x0000,
+ /* nn */
+ 0x0000,
+ /* nqo */
+ 0x0007,
+ /* nso */
+ 0x0000, 0x0001,
+ /* nv */
+ 0x0000, 0x0001, 0x0002, 0x0003,
+ /* ny */
+ 0x0000, 0x0001,
+ /* oc */
+ 0x0000,
+ /* or */
+ 0x000b,
+ /* ota */
+ 0x0006,
+ /* pa */
+ 0x000a,
+ /* pap_an */
+ 0x0000,
+ /* pap_aw */
+ 0x0000,
+ /* pl */
+ 0x0000, 0x0001,
+ /* ps_af */
+ 0x0006,
+ /* ps_pk */
+ 0x0006,
+ /* pt */
+ 0x0000,
+ /* qu */
+ 0x0000, 0x0002,
+ /* rm */
+ 0x0000,
+ /* ro */
+ 0x0000, 0x0001, 0x0002,
+ /* sah */
+ 0x0004,
+ /* sat */
+ 0x0009,
+ /* sc */
+ 0x0000,
+ /* sco */
+ 0x0000, 0x0001, 0x0002,
+ /* sd */
+ 0x0006,
+ /* se */
+ 0x0000, 0x0001,
+ /* sg */
+ 0x0000,
+ /* sh */
+ 0x0000, 0x0001, 0x0004,
+ /* shs */
+ 0x0000, 0x0003,
+ /* si */
+ 0x000d,
+ /* sid */
+ 0x0012, 0x0013,
+ /* sk */
+ 0x0000, 0x0001,
+ /* sm */
+ 0x0000, 0x0002,
+ /* sma */
+ 0x0000,
+ /* smj */
+ 0x0000,
+ /* smn */
+ 0x0000, 0x0001,
+ /* sms */
+ 0x0000, 0x0001, 0x0002,
+ /* sq */
+ 0x0000,
+ /* sr */
+ 0x0004,
+ /* sv */
+ 0x0000,
+ /* syr */
+ 0x0007,
+ /* ta */
+ 0x000b,
+ /* te */
+ 0x000c,
+ /* tg */
+ 0x0004,
+ /* th */
+ 0x000e,
+ /* tig */
+ 0x0012, 0x0013,
+ /* tk */
+ 0x0000, 0x0001,
+ /* tr */
+ 0x0000, 0x0001,
+ /* tt */
+ 0x0004,
+ /* ty */
+ 0x0000, 0x0001, 0x0002,
+ /* ug */
+ 0x0006,
+ /* uk */
+ 0x0004,
+ /* ve */
+ 0x0000, 0x001e,
+ /* vi */
+ 0x0000, 0x0001, 0x0003, 0x001e,
+ /* vo */
+ 0x0000,
+ /* vot */
+ 0x0000, 0x0001,
+ /* wa */
+ 0x0000,
+ /* wen */
+ 0x0000, 0x0001,
+ /* wo */
+ 0x0000, 0x0001,
+ /* yap */
+ 0x0000,
+ /* yo */
+ 0x0000, 0x0001, 0x0003, 0x001e,
+ /* zh_cn */
+ 0x0002, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054,
+ 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, 0x005c,
+ 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, 0x0064,
+ 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c,
+ 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074,
+ 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c,
+ 0x007d, 0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, 0x0084,
+ 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, 0x008c,
+ 0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, 0x0094,
+ 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, 0x009c,
+ 0x009e, 0x009f,
+ /* zh_hk */
+ 0x0030, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a,
+ 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, 0x0042,
+ 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a,
+ 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052,
+ 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a,
+ 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062,
+ 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a,
+ 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072,
+ 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a,
+ 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, 0x0080, 0x0081, 0x0082,
+ 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008a,
+ 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092,
+ 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009a,
+ 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, 0x0200, 0x0201, 0x0203,
+ 0x0207, 0x020c, 0x020d, 0x020e, 0x020f, 0x0210, 0x0211, 0x0219,
+ 0x021a, 0x021c, 0x021d, 0x0220, 0x0221, 0x022a, 0x022b, 0x022c,
+ 0x022d, 0x022f, 0x0232, 0x0235, 0x0236, 0x023c, 0x023e, 0x023f,
+ 0x0244, 0x024d, 0x024e, 0x0251, 0x0255, 0x025e, 0x0262, 0x0266,
+ 0x0267, 0x0268, 0x0269, 0x0272, 0x0275, 0x0276, 0x0277, 0x0278,
+ 0x0279, 0x027a, 0x027d, 0x0280, 0x0281, 0x0282, 0x0283, 0x0289,
+ 0x028a, 0x028b, 0x028c, 0x028d, 0x028e, 0x0294, 0x0297, 0x0298,
+ 0x029a, 0x029d, 0x02a6,
+ /* zh_tw */
+ 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055,
+ 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d,
+ 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065,
+ 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d,
+ 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075,
+ 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d,
+ 0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085,
+ 0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d,
+ 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095,
+ 0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d,
+ 0x009e, 0x009f, 0x00fa,
+},
+{
+ 0, /* aa */
+ 1, /* ab */
+ 2, /* af */
+ 190, /* ak */
+ 3, /* am */
+ 191, /* an */
+ 4, /* ar */
+ 5, /* as */
+ 6, /* ast */
+ 7, /* av */
+ 8, /* ay */
+ 9, /* az_az */
+ 10, /* az_ir */
+ 11, /* ba */
+ 13, /* be */
+ 192, /* ber_dz */
+ 193, /* ber_ma */
+ 14, /* bg */
+ 15, /* bh */
+ 16, /* bho */
+ 17, /* bi */
+ 18, /* bin */
+ 12, /* bm */
+ 19, /* bn */
+ 20, /* bo */
+ 21, /* br */
+ 240, /* brx */
+ 22, /* bs */
+ 23, /* bua */
+ 194, /* byn */
+ 24, /* ca */
+ 25, /* ce */
+ 26, /* ch */
+ 27, /* chm */
+ 28, /* chr */
+ 29, /* co */
+ 195, /* crh */
+ 30, /* cs */
+ 196, /* csb */
+ 31, /* cu */
+ 32, /* cv */
+ 33, /* cy */
+ 34, /* da */
+ 35, /* de */
+ 242, /* doi */
+ 197, /* dv */
+ 36, /* dz */
+ 198, /* ee */
+ 37, /* el */
+ 38, /* en */
+ 39, /* eo */
+ 40, /* es */
+ 41, /* et */
+ 42, /* eu */
+ 43, /* fa */
+ 199, /* fat */
+ 48, /* ff */
+ 44, /* fi */
+ 200, /* fil */
+ 45, /* fj */
+ 46, /* fo */
+ 47, /* fr */
+ 49, /* fur */
+ 50, /* fy */
+ 51, /* ga */
+ 52, /* gd */
+ 53, /* gez */
+ 54, /* gl */
+ 55, /* gn */
+ 56, /* gu */
+ 57, /* gv */
+ 58, /* ha */
+ 59, /* haw */
+ 60, /* he */
+ 61, /* hi */
+ 201, /* hne */
+ 62, /* ho */
+ 63, /* hr */
+ 202, /* hsb */
+ 203, /* ht */
+ 64, /* hu */
+ 65, /* hy */
+ 204, /* hz */
+ 66, /* ia */
+ 68, /* id */
+ 69, /* ie */
+ 67, /* ig */
+ 205, /* ii */
+ 70, /* ik */
+ 71, /* io */
+ 72, /* is */
+ 73, /* it */
+ 74, /* iu */
+ 75, /* ja */
+ 206, /* jv */
+ 76, /* ka */
+ 77, /* kaa */
+ 207, /* kab */
+ 78, /* ki */
+ 208, /* kj */
+ 79, /* kk */
+ 80, /* kl */
+ 81, /* km */
+ 82, /* kn */
+ 83, /* ko */
+ 84, /* kok */
+ 209, /* kr */
+ 85, /* ks */
+ 86, /* ku_am */
+ 210, /* ku_iq */
+ 87, /* ku_ir */
+ 211, /* ku_tr */
+ 88, /* kum */
+ 89, /* kv */
+ 90, /* kw */
+ 212, /* kwm */
+ 91, /* ky */
+ 92, /* la */
+ 238, /* lah */
+ 93, /* lb */
+ 94, /* lez */
+ 213, /* lg */
+ 214, /* li */
+ 95, /* ln */
+ 96, /* lo */
+ 97, /* lt */
+ 98, /* lv */
+ 215, /* mai */
+ 99, /* mg */
+ 100, /* mh */
+ 101, /* mi */
+ 102, /* mk */
+ 103, /* ml */
+ 104, /* mn_cn */
+ 216, /* mn_mn */
+ 243, /* mni */
+ 105, /* mo */
+ 106, /* mr */
+ 217, /* ms */
+ 107, /* mt */
+ 108, /* my */
+ 218, /* na */
+ 109, /* nb */
+ 110, /* nds */
+ 111, /* ne */
+ 219, /* ng */
+ 112, /* nl */
+ 113, /* nn */
+ 114, /* no */
+ 239, /* nqo */
+ 115, /* nr */
+ 116, /* nso */
+ 220, /* nv */
+ 117, /* ny */
+ 118, /* oc */
+ 119, /* om */
+ 120, /* or */
+ 121, /* os */
+ 221, /* ota */
+ 122, /* pa */
+ 222, /* pa_pk */
+ 223, /* pap_an */
+ 224, /* pap_aw */
+ 123, /* pl */
+ 124, /* ps_af */
+ 125, /* ps_pk */
+ 126, /* pt */
+ 225, /* qu */
+ 226, /* quz */
+ 127, /* rm */
+ 227, /* rn */
+ 128, /* ro */
+ 129, /* ru */
+ 228, /* rw */
+ 130, /* sa */
+ 131, /* sah */
+ 241, /* sat */
+ 229, /* sc */
+ 132, /* sco */
+ 230, /* sd */
+ 133, /* se */
+ 134, /* sel */
+ 231, /* sg */
+ 135, /* sh */
+ 136, /* shs */
+ 137, /* si */
+ 232, /* sid */
+ 138, /* sk */
+ 139, /* sl */
+ 140, /* sm */
+ 141, /* sma */
+ 142, /* smj */
+ 143, /* smn */
+ 144, /* sms */
+ 233, /* sn */
+ 145, /* so */
+ 146, /* sq */
+ 147, /* sr */
+ 148, /* ss */
+ 149, /* st */
+ 234, /* su */
+ 150, /* sv */
+ 151, /* sw */
+ 152, /* syr */
+ 153, /* ta */
+ 154, /* te */
+ 155, /* tg */
+ 156, /* th */
+ 157, /* ti_er */
+ 158, /* ti_et */
+ 159, /* tig */
+ 160, /* tk */
+ 161, /* tl */
+ 162, /* tn */
+ 163, /* to */
+ 164, /* tr */
+ 165, /* ts */
+ 166, /* tt */
+ 167, /* tw */
+ 235, /* ty */
+ 168, /* tyv */
+ 169, /* ug */
+ 170, /* uk */
+ 171, /* ur */
+ 172, /* uz */
+ 173, /* ve */
+ 174, /* vi */
+ 175, /* vo */
+ 176, /* vot */
+ 177, /* wa */
+ 236, /* wal */
+ 178, /* wen */
+ 179, /* wo */
+ 180, /* xh */
+ 181, /* yap */
+ 182, /* yi */
+ 183, /* yo */
+ 237, /* za */
+ 184, /* zh_cn */
+ 185, /* zh_hk */
+ 186, /* zh_mo */
+ 187, /* zh_sg */
+ 188, /* zh_tw */
+ 189, /* zu */
+},
+{
+ 0, /* aa */
+ 1, /* ab */
+ 2, /* af */
+ 4, /* am */
+ 6, /* ar */
+ 7, /* as */
+ 8, /* ast */
+ 9, /* av */
+ 10, /* ay */
+ 11, /* az_az */
+ 12, /* az_ir */
+ 13, /* ba */
+ 22, /* bm */
+ 14, /* be */
+ 17, /* bg */
+ 18, /* bh */
+ 19, /* bho */
+ 20, /* bi */
+ 21, /* bin */
+ 23, /* bn */
+ 24, /* bo */
+ 25, /* br */
+ 27, /* bs */
+ 28, /* bua */
+ 30, /* ca */
+ 31, /* ce */
+ 32, /* ch */
+ 33, /* chm */
+ 34, /* chr */
+ 35, /* co */
+ 37, /* cs */
+ 39, /* cu */
+ 40, /* cv */
+ 41, /* cy */
+ 42, /* da */
+ 43, /* de */
+ 46, /* dz */
+ 48, /* el */
+ 49, /* en */
+ 50, /* eo */
+ 51, /* es */
+ 52, /* et */
+ 53, /* eu */
+ 54, /* fa */
+ 57, /* fi */
+ 59, /* fj */
+ 60, /* fo */
+ 61, /* fr */
+ 56, /* ff */
+ 62, /* fur */
+ 63, /* fy */
+ 64, /* ga */
+ 65, /* gd */
+ 66, /* gez */
+ 67, /* gl */
+ 68, /* gn */
+ 69, /* gu */
+ 70, /* gv */
+ 71, /* ha */
+ 72, /* haw */
+ 73, /* he */
+ 74, /* hi */
+ 76, /* ho */
+ 77, /* hr */
+ 80, /* hu */
+ 81, /* hy */
+ 83, /* ia */
+ 86, /* ig */
+ 84, /* id */
+ 85, /* ie */
+ 88, /* ik */
+ 89, /* io */
+ 90, /* is */
+ 91, /* it */
+ 92, /* iu */
+ 93, /* ja */
+ 95, /* ka */
+ 96, /* kaa */
+ 98, /* ki */
+ 100, /* kk */
+ 101, /* kl */
+ 102, /* km */
+ 103, /* kn */
+ 104, /* ko */
+ 105, /* kok */
+ 107, /* ks */
+ 108, /* ku_am */
+ 110, /* ku_ir */
+ 112, /* kum */
+ 113, /* kv */
+ 114, /* kw */
+ 116, /* ky */
+ 117, /* la */
+ 119, /* lb */
+ 120, /* lez */
+ 123, /* ln */
+ 124, /* lo */
+ 125, /* lt */
+ 126, /* lv */
+ 128, /* mg */
+ 129, /* mh */
+ 130, /* mi */
+ 131, /* mk */
+ 132, /* ml */
+ 133, /* mn_cn */
+ 136, /* mo */
+ 137, /* mr */
+ 139, /* mt */
+ 140, /* my */
+ 142, /* nb */
+ 143, /* nds */
+ 144, /* ne */
+ 146, /* nl */
+ 147, /* nn */
+ 148, /* no */
+ 150, /* nr */
+ 151, /* nso */
+ 153, /* ny */
+ 154, /* oc */
+ 155, /* om */
+ 156, /* or */
+ 157, /* os */
+ 159, /* pa */
+ 163, /* pl */
+ 164, /* ps_af */
+ 165, /* ps_pk */
+ 166, /* pt */
+ 169, /* rm */
+ 171, /* ro */
+ 172, /* ru */
+ 174, /* sa */
+ 175, /* sah */
+ 178, /* sco */
+ 180, /* se */
+ 181, /* sel */
+ 183, /* sh */
+ 184, /* shs */
+ 185, /* si */
+ 187, /* sk */
+ 188, /* sl */
+ 189, /* sm */
+ 190, /* sma */
+ 191, /* smj */
+ 192, /* smn */
+ 193, /* sms */
+ 195, /* so */
+ 196, /* sq */
+ 197, /* sr */
+ 198, /* ss */
+ 199, /* st */
+ 201, /* sv */
+ 202, /* sw */
+ 203, /* syr */
+ 204, /* ta */
+ 205, /* te */
+ 206, /* tg */
+ 207, /* th */
+ 208, /* ti_er */
+ 209, /* ti_et */
+ 210, /* tig */
+ 211, /* tk */
+ 212, /* tl */
+ 213, /* tn */
+ 214, /* to */
+ 215, /* tr */
+ 216, /* ts */
+ 217, /* tt */
+ 218, /* tw */
+ 220, /* tyv */
+ 221, /* ug */
+ 222, /* uk */
+ 223, /* ur */
+ 224, /* uz */
+ 225, /* ve */
+ 226, /* vi */
+ 227, /* vo */
+ 228, /* vot */
+ 229, /* wa */
+ 231, /* wen */
+ 232, /* wo */
+ 233, /* xh */
+ 234, /* yap */
+ 235, /* yi */
+ 236, /* yo */
+ 238, /* zh_cn */
+ 239, /* zh_hk */
+ 240, /* zh_mo */
+ 241, /* zh_sg */
+ 242, /* zh_tw */
+ 243, /* zu */
+ 3, /* ak */
+ 5, /* an */
+ 15, /* ber_dz */
+ 16, /* ber_ma */
+ 29, /* byn */
+ 36, /* crh */
+ 38, /* csb */
+ 45, /* dv */
+ 47, /* ee */
+ 55, /* fat */
+ 58, /* fil */
+ 75, /* hne */
+ 78, /* hsb */
+ 79, /* ht */
+ 82, /* hz */
+ 87, /* ii */
+ 94, /* jv */
+ 97, /* kab */
+ 99, /* kj */
+ 106, /* kr */
+ 109, /* ku_iq */
+ 111, /* ku_tr */
+ 115, /* kwm */
+ 121, /* lg */
+ 122, /* li */
+ 127, /* mai */
+ 134, /* mn_mn */
+ 138, /* ms */
+ 141, /* na */
+ 145, /* ng */
+ 152, /* nv */
+ 158, /* ota */
+ 160, /* pa_pk */
+ 161, /* pap_an */
+ 162, /* pap_aw */
+ 167, /* qu */
+ 168, /* quz */
+ 170, /* rn */
+ 173, /* rw */
+ 177, /* sc */
+ 179, /* sd */
+ 182, /* sg */
+ 186, /* sid */
+ 194, /* sn */
+ 200, /* su */
+ 219, /* ty */
+ 230, /* wal */
+ 237, /* za */
+ 118, /* lah */
+ 149, /* nqo */
+ 26, /* brx */
+ 176, /* sat */
+ 44, /* doi */
+ 135, /* mni */
+}
+};
+
+#define NUM_LANG_CHAR_SET 244
+#define NUM_LANG_SET_MAP 8
+
+static const FcChar32 fcLangCountrySets[][NUM_LANG_SET_MAP] = {
+ { 0x00000600, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, /* az */
+ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, }, /* ber */
+ { 0x00000000, 0x00000000, 0x00c00000, 0x00000000, 0x00000000, 0x00000000, 0x000c0000, 0x00000000, }, /* ku */
+ { 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00000000, 0x00000000, 0x01000000, 0x00000000, }, /* mn */
+ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x40000000, 0x00000000, }, /* pa */
+ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000001, }, /* pap */
+ { 0x00000000, 0x00000000, 0x00000000, 0x30000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, /* ps */
+ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x60000000, 0x00000000, 0x00000000, 0x00000000, }, /* ti */
+ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1f000000, 0x00000000, 0x00000000, }, /* zh */
+};
+
+#define NUM_COUNTRY_SET 9
+
+static const FcLangCharSetRange fcLangCharSetRanges[] = {
+
+ { 0, 12 }, /* a */
+ { 13, 29 }, /* b */
+ { 30, 41 }, /* c */
+ { 42, 46 }, /* d */
+ { 47, 53 }, /* e */
+ { 54, 63 }, /* f */
+ { 64, 70 }, /* g */
+ { 71, 82 }, /* h */
+ { 83, 92 }, /* i */
+ { 93, 94 }, /* j */
+ { 95, 116 }, /* k */
+ { 117, 126 }, /* l */
+ { 127, 140 }, /* m */
+ { 141, 153 }, /* n */
+ { 154, 158 }, /* o */
+ { 159, 166 }, /* p */
+ { 167, 168 }, /* q */
+ { 169, 173 }, /* r */
+ { 174, 203 }, /* s */
+ { 204, 220 }, /* t */
+ { 221, 224 }, /* u */
+ { 225, 228 }, /* v */
+ { 229, 232 }, /* w */
+ { 233, 233 }, /* x */
+ { 234, 236 }, /* y */
+ { 237, 243 }, /* z */
+};
+
diff --git a/fc-lang/iso-3166.txt b/fc-lang/iso-3166.txt
deleted file mode 100644
index 715656df..00000000
--- a/fc-lang/iso-3166.txt
+++ /dev/null
@@ -1,242 +0,0 @@
-This list states the country names (official short names in English) in alphabetical order as given in ISO 3166-1 and the corresponding ISO 3166-1-alpha-2 code elements. The list is updated whenever a change to the official code list in ISO 3166-1 is effected by the ISO 3166/MA. It lists 240 official short names and code elements. One line of text contains one entry. A country name and its code element are separated by a semicolon (;).
-
-AFGHANISTAN;AF
-ÅLAND ISLANDS;AX
-ALBANIA;AL
-ALGERIA;DZ
-AMERICAN SAMOA;AS
-ANDORRA;AD
-ANGOLA;AO
-ANGUILLA;AI
-ANTARCTICA;AQ
-ANTIGUA AND BARBUDA;AG
-ARGENTINA;AR
-ARMENIA;AM
-ARUBA;AW
-AUSTRALIA;AU
-AUSTRIA;AT
-AZERBAIJAN;AZ
-BAHAMAS;BS
-BAHRAIN;BH
-BANGLADESH;BD
-BARBADOS;BB
-BELARUS;BY
-BELGIUM;BE
-BELIZE;BZ
-BENIN;BJ
-BERMUDA;BM
-BHUTAN;BT
-BOLIVIA;BO
-BOSNIA AND HERZEGOVINA;BA
-BOTSWANA;BW
-BOUVET ISLAND;BV
-BRAZIL;BR
-BRITISH INDIAN OCEAN TERRITORY;IO
-BRUNEI DARUSSALAM;BN
-BULGARIA;BG
-BURKINA FASO;BF
-BURUNDI;BI
-CAMBODIA;KH
-CAMEROON;CM
-CANADA;CA
-CAPE VERDE;CV
-CAYMAN ISLANDS;KY
-CENTRAL AFRICAN REPUBLIC;CF
-CHAD;TD
-CHILE;CL
-CHINA;CN
-CHRISTMAS ISLAND;CX
-COCOS (KEELING) ISLANDS;CC
-COLOMBIA;CO
-COMOROS;KM
-CONGO;CG
-CONGO, THE DEMOCRATIC REPUBLIC OF THE;CD
-COOK ISLANDS;CK
-COSTA RICA;CR
-COTE D'IVOIRE;CI
-CROATIA;HR
-CUBA;CU
-CYPRUS;CY
-CZECH REPUBLIC;CZ
-DENMARK;DK
-DJIBOUTI;DJ
-DOMINICA;DM
-DOMINICAN REPUBLIC;DO
-ECUADOR;EC
-EGYPT;EG
-EL SALVADOR;SV
-EQUATORIAL GUINEA;GQ
-ERITREA;ER
-ESTONIA;EE
-ETHIOPIA;ET
-FALKLAND ISLANDS (MALVINAS);FK
-FAROE ISLANDS;FO
-FIJI;FJ
-FINLAND;FI
-FRANCE;FR
-FRENCH GUIANA;GF
-FRENCH POLYNESIA;PF
-FRENCH SOUTHERN TERRITORIES;TF
-GABON;GA
-GAMBIA;GM
-GEORGIA;GE
-GERMANY;DE
-GHANA;GH
-GIBRALTAR;GI
-GREECE;GR
-GREENLAND;GL
-GRENADA;GD
-GUADELOUPE;GP
-GUAM;GU
-GUATEMALA;GT
-GUINEA;GN
-GUINEA-BISSAU;GW
-GUYANA;GY
-HAITI;HT
-HEARD ISLAND AND MCDONALD ISLANDS;HM
-HOLY SEE (VATICAN CITY STATE);VA
-HONDURAS;HN
-HONG KONG;HK
-HUNGARY;HU
-ICELAND;IS
-INDIA;IN
-INDONESIA;ID
-IRAN, ISLAMIC REPUBLIC OF;IR
-IRAQ;IQ
-IRELAND;IE
-ISRAEL;IL
-ITALY;IT
-JAMAICA;JM
-JAPAN;JP
-JORDAN;JO
-KAZAKHSTAN;KZ
-KENYA;KE
-KIRIBATI;KI
-KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF;KP
-KOREA, REPUBLIC OF;KR
-KUWAIT;KW
-KYRGYZSTAN;KG
-LAO PEOPLE'S DEMOCRATIC REPUBLIC;LA
-LATVIA;LV
-LEBANON;LB
-LESOTHO;LS
-LIBERIA;LR
-LIBYAN ARAB JAMAHIRIYA;LY
-LIECHTENSTEIN;LI
-LITHUANIA;LT
-LUXEMBOURG;LU
-MACAO;MO
-MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF;MK
-MADAGASCAR;MG
-MALAWI;MW
-MALAYSIA;MY
-MALDIVES;MV
-MALI;ML
-MALTA;MT
-MARSHALL ISLANDS;MH
-MARTINIQUE;MQ
-MAURITANIA;MR
-MAURITIUS;MU
-MAYOTTE;YT
-MEXICO;MX
-MICRONESIA, FEDERATED STATES OF;FM
-MOLDOVA, REPUBLIC OF;MD
-MONACO;MC
-MONGOLIA;MN
-MONTSERRAT;MS
-MOROCCO;MA
-MOZAMBIQUE;MZ
-MYANMAR;MM
-NAMIBIA;NA
-NAURU;NR
-NEPAL;NP
-NETHERLANDS;NL
-NETHERLANDS ANTILLES;AN
-NEW CALEDONIA;NC
-NEW ZEALAND;NZ
-NICARAGUA;NI
-NIGER;NE
-NIGERIA;NG
-NIUE;NU
-NORFOLK ISLAND;NF
-NORTHERN MARIANA ISLANDS;MP
-NORWAY;NO
-OMAN;OM
-PAKISTAN;PK
-PALAU;PW
-PALESTINIAN TERRITORY, OCCUPIED;PS
-PANAMA;PA
-PAPUA NEW GUINEA;PG
-PARAGUAY;PY
-PERU;PE
-PHILIPPINES;PH
-PITCAIRN;PN
-POLAND;PL
-PORTUGAL;PT
-PUERTO RICO;PR
-QATAR;QA
-REUNION;RE
-ROMANIA;RO
-RUSSIAN FEDERATION;RU
-RWANDA;RW
-SAINT HELENA;SH
-SAINT KITTS AND NEVIS;KN
-SAINT LUCIA;LC
-SAINT PIERRE AND MIQUELON;PM
-SAINT VINCENT AND THE GRENADINES;VC
-SAMOA;WS
-SAN MARINO;SM
-SAO TOME AND PRINCIPE;ST
-SAUDI ARABIA;SA
-SENEGAL;SN
-SERBIA AND MONTENEGRO;CS
-SEYCHELLES;SC
-SIERRA LEONE;SL
-SINGAPORE;SG
-SLOVAKIA;SK
-SLOVENIA;SI
-SOLOMON ISLANDS;SB
-SOMALIA;SO
-SOUTH AFRICA;ZA
-SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS;GS
-SPAIN;ES
-SRI LANKA;LK
-SUDAN;SD
-SURINAME;SR
-SVALBARD AND JAN MAYEN;SJ
-SWAZILAND;SZ
-SWEDEN;SE
-SWITZERLAND;CH
-SYRIAN ARAB REPUBLIC;SY
-TAIWAN, PROVINCE OF CHINA;TW
-TAJIKISTAN;TJ
-TANZANIA, UNITED REPUBLIC OF;TZ
-THAILAND;TH
-TIMOR-LESTE;TL
-TOGO;TG
-TOKELAU;TK
-TONGA;TO
-TRINIDAD AND TOBAGO;TT
-TUNISIA;TN
-TURKEY;TR
-TURKMENISTAN;TM
-TURKS AND CAICOS ISLANDS;TC
-TUVALU;TV
-UGANDA;UG
-UKRAINE;UA
-UNITED ARAB EMIRATES;AE
-UNITED KINGDOM;GB
-UNITED STATES;US
-UNITED STATES MINOR OUTLYING ISLANDS;UM
-URUGUAY;UY
-UZBEKISTAN;UZ
-VANUATU;VU
-VENEZUELA;VE
-VIET NAM;VN
-VIRGIN ISLANDS, BRITISH;VG
-VIRGIN ISLANDS, U.S.;VI
-WALLIS AND FUTUNA;WF
-WESTERN SAHARA;EH
-YEMEN;YE
-ZAMBIA;ZM
-ZIMBABWE;ZW
diff --git a/fc-lang/iso639-1 b/fc-lang/iso639-1
deleted file mode 100644
index 02e340b0..00000000
--- a/fc-lang/iso639-1
+++ /dev/null
@@ -1,139 +0,0 @@
-AA * Afar Djibouti, N Ethiopia Hamito-Semitic F., Cushitic Br.
-AB * Abkhazian Abkhazia (Georgia) Caucasian F.
-AF * Afrikaans South Africa, Namibia Indo-European F., Germanic Br. 10
-AM * Amharic Ethiopia Hamito-Semitic F., Semitic Br. 20
-AR * Arabic Middle East, N Africa Hamito-Semitic F., Semitic Br. 218
-AS * Assamese Assam (India) Indo-European F., Indo-Iranian Br. 23
-AY * Aymara Bolivia, Peru Andean-Equatorial F., Andean Br. 2
-AZ * Azerbaijani Iran, Azerbaijan Uralo-Altaic F., Turkic Br. 15
-BA * Bashkir Bashkir (S Urals, Russia) Uralo-Altaic F., Turkic Br. 1
-BE * Byelorussian Byelorussia Indo-European F., Balto-Slavic Br. 10
-BG * Bulgarian Bulgaria, Yugoslavia, Greece Indo-European F., Balto-Slavic Br. 9
-BH * Bihari Bihar (India) Indo-European F., Indo-Iranian Br.
-BI * Bislama Vanuatu, New Caledonia English based creole, Pacific
-BN * Bengali, Bangla Bangladesh, West Bengal (India) Indo-European F., Indo-Iranian Br. 196
-BO * Tibetan Tibet, Bhutan, Nepal, India Sino-Tibetan F., Tibeto-Burmese Br. 5 BO from Bodskad
-BR * Breton Britanny (W France) Indo-European F., Celtic Br.
-CA * Catalan Catalania (NE Spain), Balearic Islands, Sardinia, S France, Andorra, Argentina Indo-European F., Italic Br. 9
-CO * Corsican Corsica (France) Indo-European F., Italic Br.
-CS * Czech Czech Republic Indo-European F., Balto-Slavic Br. 11
-CY * Welsh Wales (United Kingdom) Indo-European F., Celtic Br.
-DA * Danish Denmark, Germany Indo-European F., Germanic Br. 5
-DE * German Germany, Austria, Switzerland, U.S.A. Indo-European F., Germanic Br. 121 DE from Deutsch
-DZ * Bhutani, Bhutanese Bhutan Sino-Tibetan F., Tibeto-Burmese Br.
-EL * Greek Greece, Cyprus, Turkey Indo-European F., Hellenic Br. 12
-EN * English North America, British Isles, Australia, New Zealand, South Africa Indo-European F., Germanic Br. 470
-EO * Esperanto 2 Artificial language
-ES * Spanish Spain, Latin America, U.S.A. Indo-European F., Italic Br. 381
-ET * Estonian Estonia Uralo-Altaic F., Finno-Ugric Br. 1
-EU * Basque W Pyrenees (France, Spain) (Isolate) EU from Euskera
-FA * Persian Iran, Afghanistan Indo-European F., Indo-Iranian Br. 35 FA from Farsi
-FI * Finnish, Suomi Finland, Russia, Sweden Uralo-Altaic F., Finno-Ugric Br. 6
-FJ * Fiji, Fijian Fiji Austric F., Malayo-Polynesian Br.
-FO * Faroese, Faeroese Faeroe Islands (Denmark) Indo-European F., Germanic Br.
-FR * French France, Belgium, Canada, U.S.A., Switzerland Indo-European F., Italic Br. 124
-FY * Frisian Frisian Islands (Netherlands-Germany) Indo-European F., Germanic Br.
-GA * Irish Ireland Indo-European F., Celtic Br. GA from Gaeilge
-GD * Scots Gaelic Scotland Indo-European F., Celtic Br.
-GL * Galician Spanish Galicia Indo-European F., Italic Br. 4
-GN * Guaran? Paraguay, Bolivia, S Brazil Andean-Equatorial F., Equatorial Br. 4
-GU * Gujarati, Gujerati Gujarat (India), Bombay, Pakistan, South Africa Indo-European F., Indo-Iranian Br. 40
-HA * Hausa N Nigeria, Niger, Cameroun Hamito-Semitic F., Chadic Br. 37
-HE * Hebrew Israel Hamito-Semitic F., Semitic Br. 5 Formerly IW from Iwrith. See Note 4.
-HI * Hindi India, Pakistan, Trinidad, Guyana, Fiji, Mauritius Indo-European F., Indo-Iranian Br. 418 Same as Urdu [UR] except for writing system. See Note 3.
-HR * Croatian, Croat Croatia Indo-European F., Balto-Slavic Br. HR from Hrvatski. See Note 2.
-HU * Hungarian, Magyar Hungary, Romania, Yugoslavia, Czechoslovakia Uralo-Altaic F., Finno-Ugric Br. 14
-HY * Armenian Armenia, Middle East Indo-European F., Armenian Br. 5 HY from Hayeren
-IA * Interlingua Artificial language
-ID * Indonesian, Bahasa Indonesia Indonesia, Malaysia, Thailand, Singapore, Brunei Austric F., Malayo-Polynesian Br. Formerly IN. See Note 4.
-IE * Interlingue Artificial language. Prototype of Interlingua [IA]
-IK * Inupiak Greenland, N Canada, Alaska (U.S.A.) Eskimo-Aleut F.
-IS * Icelandic Iceland Indo-European F., Germanic Br. IS from Islenzk
-IT * Italian Italy, U.S.A., France, Argentina, Switzerland, Canada, Brazil Indo-European F., Italic Br. 62
-IU * Inuktitut NE Canada Eskimo-Aleut F. See Note 5.
-JA * Japanese, Nihongo Japan, Brazil, California (U.S.A.), Hawaii (U.S.A.) Japanese-Korean F. 126
-JW Javanese Java, Malaysia, Surinam Austric F., Malayo-Polynesian Br. 64 JW from Bahasa Jawa
-KA * Georgian Georgia Caucasian F. 3 KA from Kartuli
-KK * Kazakh Kazakhstan, Sinkiang (China), Afghanistan Uralo-Altaic F., Turkic Br. 8
-KL * Greenlandic Greenland Eskimo-Aleut F. KL from Kalaallisut
-KM * Cambodian Cambodia, Thailand, Viet Nam Austric F., Austrio-Asiatic Br. 9 KM from Khmer
-KN * Kannada Karnatuka (India) Dravidian F. 44
-KO * Korean, Choson-o South Korea, North Korea, NE China, Japan, Siberia, Hawaii (U.S.A.) Japanese-Korean F. 75
-KS * Kashmiri Kashmir (India-Pakistan) Indo-European F., Indo-Iranian Br. 4
-KU * Kurdish, Zimany Kurdy Turkey, Iran, Iraq, Syria Indo-European F., Indo-Iranian Br. 11
-KY * Kirghiz Kirghiz, Sinkiang (China), Afghanistan Uralo-Altaic F., Turkic Br. 2 KY from Kyrgyz
-LA * Latin Indo-European F., Italic Br. Ancient language nearing extinction
-LN * Lingala, liNgala Zaire, Congo Niger-Kordofanian F., Non-Mande Br. 7
-LO * Laothian, Pha Xa Lao, Lao Laos, Thailand Sino-Tibetan F., Sino-Siamese Br. 4
-LT * Lithuanian Lithuania Indo-European F., Balto-Slavic Br. 3
-LV * Latvian, Lettish Latvia Indo-European F., Balto-Slavic Br. 2
-MG * Malagasy Madagascar Austric F., Malayo-Polynesian Br. 12
-MI * Maori New Zealand Austric F., Malayo-Polynesian Br.
-MK * Macedonian Macedonia, Bulgaria, Greece Indo-European F., Balto-Slavic Br. 2
-ML * Malayalam Kerala (SW India) Dravidian F. 35
-MN * Mongolian Mongolia Uralo-Altaic F., Mongolic Br.
-MO * Moldavian
-MR * Marathi, Mahrati Maharashtra (W India) Indo-European F., Indo-Iranian Br. 69
-MS Malay Malaysia, Indonesia Austric F., Malayo-Polynesian Br. 155 MS from Bahasa Malaysia
-MT * Maltese Malta Hamito-Semitic F., Semitic Br.
-MY * Burmese Burma, Bangladesh Sino-Tibetan F., Tibeto-Burmese Br. 30 MY from Myanmasa
-NA Nauru, Nauruan Nauru Austric F., Malayo-Polynesian Br.
-NE * Nepali, Nepalese Nepal, Uttar Pradesh (India) Indo-European F., Indo-Iranian Br. 16
-NL * Dutch Netherlands, Belgium Indo-European F., Germanic Br. 21 NL from Nederlands
-NO * Norwegian Norway Indo-European F., Germanic Br. 5
-OC * Occitan S France Indo-European F., Italic Br. 4
-OM * (Afan) Oromo, Galla Ethiopia, Kenya Hamito-Semitic F., Cushitic Br. 10
-OR * Oriya Orissa (E India) Indo-European F., Indo-Iranian Br. 31
-PA Punjabi Punjab (India), Pakistan Indo-European F., Indo-Iranian Br. 93 PA from Panjabi
-PL * Polish Poland, U.S.A. Indo-European F., Balto-Slavic Br. 44
-PS Pashto, Pushto, Pushtu Afghanistan, Pakistan Indo-European F., Indo-Iranian Br. 21
-PT * Portuguese Brazil, Portugal, Spain, Uruguay, Argentina, Azores, Goa, Madeira Indo-European F., Italic Br. 182
-QU Quechua Peru, Ecuador, Bolivia Andean-Equatorial F., Andean Br. 8
-RM * Rhaeto-Romance, Rhaeto-Romanic, Romansch S Switzerland, N Italy, Tyrol (Austria) Indo-European F., Italic Br.
-RN Kirundi, kiRundi Niger-Kordofanian F., Non-Mande Br.
-RO * Romanian, Rumanian Rumania Indo-European F., Italic Br. 25
-RU * Russian Russia, former USSR republics Indo-European F., Balto-Slavic Br. 288
-RW Kinyarwanda, kinyaRuanda Rwanda, Burundi, Uganda, Zaire, Tanzania Niger-Kordofanian F., Non-Mande Br. RW from Rwanda
-SA * Sanskrit India Indo-European F., Indo-Iranian Br. Ancient language
-SD Sindhi Pakistan, Sind (India) Indo-European F., Indo-Iranian Br. 18
-SG Sangho, Sango-Ngbandi Central African Republic, Zaire Niger-Kordofanian F., Non-Mande Br. 4
-SH * Serbo-Croatian Croatia Indo-European F., Balto-Slavic Br. 20 See Note 2.
-SI * Singhalese, Sinhalese Sri Lanka Indo-European F., Indo-Iranian Br. 13
-SK * Slovak Slovakia Indo-European F., Balto-Slavic Br. 5
-SL * Slovenian, Slovene Slovenia, Italy, Austria Indo-European F., Balto-Slavic Br. 2
-SM * Samoan Samoa Austric F., Malayo-Polynesian Br.
-SN Shona, chiShona Rhodesia, Mozambique Niger-Kordofanian F., Non-Mande Br. 8
-SO * Somali Somalia, Ethiopia, Kenya Hamito-Semitic F., Cushitic Br. 5
-SQ * Albanian Albania, Kosovo (Yugoslavia), Italy, Greece Indo-European F., Albanian Br. 5 SQ from Shqip
-SR * Serbian Serbia Indo-European F., Balto-Slavic Br. SR from Srpski. See Note 2.
-SS * Siswati, siSwati South Africa, Rhodesia, Swaziland Niger-Kordofanian F., Non-Mande Br.
-ST * Sesotho, siSuthu South Africa, Lesotho, Botswana Niger-Kordofanian F., Non-Mande Br.
-SU Sundanese West Java Austric F., Malayo-Polynesian Br. 26
-SV * Swedish Sweden, Finland Indo-European F., Germanic Br. 9 SV from Svenska
-SW * Swahili, kiSwahili Tanzania, Comoro Islands, Kenya, Mozambique, Zaire Niger-Kordofanian F., Non-Mande Br. 48
-TA * Tamil Tamil Nadu (S India), Sri Lanka, Malaysia, Singapore Dravidian F. 71
-TE * Telugu, Telegu Andhra Pradesh (India) Dravidian F. 73
-TG * Tajik, Tajiki Tadzhikstan Indo-European F., Indo-Iranian Br. 5
-TH * Thai Thailand 50
-TI * Tigrinya N Ethiopia Hamito-Semitic F., Semitic Br. 4
-TK * Turkmen, Turkoman, Turcoman Turkmenistan, Iran, Afghanistan Uralo-Altaic F., Turkic Br. 3
-TL * Tagalog Philippines Austric F., Malayo-Polynesian Br. 54
-TN * Setswana South Africa
-TO * Tonga Niger-Kordofanian F., Non-Mande Br. 7
-TR * Turkish Turkey, Bulgaria, Yugoslavia, Cyprus, Greece Uralo-Altaic F., Turkic Br. 59
-TS * Tsonga 3
-TT * Tatar, Tartar Tatarstan Uralo-Altaic F., Turkic Br. 8
-TW * Twi, Tshi W Africa Niger-Kordofanian F., Non-Mande Br.
-UG * Uigur, Uighur, Uyghur Sinkiang (China), Kazakhstan, Uzbekistan, Afghanistan Uralo-Altaic F., Turkic Br. 8 See Note 5.
-UK * Ukrainian Ukraine, Canada, U.S.A. Indo-European F., Balto-Slavic Br. 47
-UR * Urdu Pakistan, India Indo-European F., Indo-Iranian Br. 102 Same as Hindi [HI] except for writing system. See Note 3.
-UZ * Uzbek, Uzbeg, Usbek, Usbeg Uzbekstan, Tadzhikstan, Afghanistan Uralo-Altaic F., Turkic Br. 14
-VI * Vietnamese Viet Nam, Thailand, Cambodia, Laos, New Caledonia, France, Dakar Sino-Tibetan F., Sino-Siamese Br. 65
-VO * Volap?k Artificial language
-WO * Wolof Senegal, Gambia Niger-Kordofanian F., Non-Mande Br. 7
-XH * Xhosa, Xosa, isiXhosa South Africa, Rhodesia, Swaziland Niger-Kordofanian F., Non-Mande Br. 8
-YI * Yiddish U.S.A., Israel, former USSR, Latin America, Canada, E Europe Indo-European F., Germanic Br. Formerly JI from Jiddisch. See Note 4.
-YO * Yoruba Western, Lagos and Kwara States (Nigeria), Benin Niger-Kordofanian F., Non-Mande Br. 20
-ZA Zhuang, Chwang, Chuang China 15 See Note 5.
-ZH * Chinese China Sino-Tibetan F., Sino-Siamese Br. 1,200 ZH from Zhongwen. See Note 1.
-ZU * Zulu, isiZulu South Africa, Rhodesia, Swaziland Niger-Kordofanian F., Non-Mande Br. 9
diff --git a/fc-lang/iso639-2 b/fc-lang/iso639-2
deleted file mode 100644
index 6b8132c0..00000000
--- a/fc-lang/iso639-2
+++ /dev/null
@@ -1,473 +0,0 @@
-ISO 639-1 is the alpha-2 code. Multiple codes for the same language are to
-be considered synonyms. Entries marked with '*' have Unicode orthographies
-built.
-
- 639-2 639-1 Language Name (English) Language Name (French)
-
-* aar aa Afar afar
-* abk ab Abkhazian abkhaze
- ace Achinese aceh
- ach Acoli acoli
- ada Adangme adangme
- afa Afro-Asiatic (Other) afro-asiatiques, autres langues
- afh Afrihili afrihili
-* afr af Afrikaans afrikaans
- aka Akan akan
- akk Akkadian akkadien
-* alb/sqi* sq Albanian albanais
- ale Aleut aléoute
- alg Algonquian languages algonquines, langues
-* amh am Amharic amharique
- ang English, Old (ca.450-1100) anglo-saxon (ca.450-1100)
- apa Apache languages apache
-* ara ar Arabic arabe
- arc Aramaic araméen
-* arm/hye* hy Armenian arménien
- arn Araucanian araucan
- arp Arapaho arapaho
- art Artificial (Other) artificielles, autres langues
- arw Arawak arawak
- asm as Assamese assamais
-* ast Asturian; Bable asturien; bable
- ath Athapascan languages athapascanes, langues
- aus Australian languages australiennes, langues
-* ava Avaric avar
- ave ae Avestan avestique
- awa Awadhi awadhi
-* aym ay Aymara aymara
-* aze az Azerbaijani azéri
- bad Banda banda
- bai Bamileke languages bamilékés, langues
-* bak ba Bashkir bachkir
- bal Baluchi baloutchi
-* bam Bambara bambara
- ban Balinese balinais
-* baq/eus* eu Basque basque
- bas Basa basa
- bat Baltic (Other) baltiques, autres langues
- bej Beja bedja
-* bel be Belarusian biélorusse
- bem Bemba bemba
-* ben bn Bengali bengali
- ber Berber (Other) berbères, autres langues
- bho Bhojpuri bhojpuri
-* bih bh Bihari bihari
- bik Bikol bikol
-* bin Bini bini
-* bis bi Bislama bichlamar
- bla Siksika blackfoot
- bnt Bantu (Other) bantoues, autres langues
-* tib/bod* bo Tibetan tibétain
-* bos bs Bosnian bosniaque
- bra Braj braj
-* bre br Breton breton
- btk Batak (Indonesia) batak (Indonésie)
-* bua Buriat bouriate
- bug Buginese bugi
-* bul bg Bulgarian bulgare
-* bur/mya* my Burmese birman
- cad Caddo caddo
- cai Central American Indian (Other) indiennes d'Amérique centrale, autres langues
- car Carib caribe
-* cat ca Catalan catalan
- cau Caucasian (Other) caucasiennes, autres langues
- ceb Cebuano cebuano
- cel Celtic (Other) celtiques, autres langues
-* cze/ces* cs Czech tchèque
-* cha ch Chamorro chamorro
- chb Chibcha chibcha
-* che ce Chechen tchétchène
- chg Chagatai djaghataï
-* chi/zho* zh Chinese chinois
- chk Chuukese chuuk
-* chm Mari mari
- chn Chinook jargon chinook, jargon
- cho Choctaw choctaw
- chp Chipewyan chipewyan
-* chr Cherokee cherokee
-* chu cu Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic slavon d'église; vieux slave; slavon liturgique; vieux bulgare
-* chv cv Chuvash tchouvache
- chy Cheyenne cheyenne
- cmc Chamic languages chames, langues
- cop Coptic copte
-* cor kw Cornish cornique
-* cos co Corsican corse
- cpe Creoles and pidgins, English based (Other) créoles et pidgins anglais, autres
- cpf Creoles and pidgins, French-based (Other) créoles et pidgins français, autres
- cpp Creoles and pidgins, Portuguese-based (Other) créoles et pidgins portugais, autres
- cre Cree cree
- crp Creoles and pidgins (Other) créoles et pidgins divers
- cus Cushitic (Other) couchitiques, autres langues
-* wel/cym* cy Welsh gallois
-* cze/ces* cs Czech tchèque
- dak Dakota dakota
-* dan da Danish danois
- day Dayak dayak
- del Delaware delaware
- den Slave (Athapascan) esclave (athapascan)
-* ger/deu* de German allemand
- dgr Dogrib dogrib
- din Dinka dinka
- div Divehi maldivien
- doi Dogri dogri
- dra Dravidian (Other) dravidiennes, autres langues
- dua Duala douala
- dum Dutch, Middle (ca.1050-1350) néerlandais moyen (ca. 1050-1350)
-* dut/nld* nl Dutch néerlandais
- dyu Dyula dioula
-* dzo dz Dzongkha dzongkha
- efi Efik efik
- egy Egyptian (Ancient) égyptien
- eka Ekajuk ekajuk
-* gre/ell* el Greek, Modern (1453-) grec moderne (après 1453)
- elx Elamite élamite
-* eng en English anglais
- enm English, Middle (1100-1500) anglais moyen (1100-1500)
-* epo eo Esperanto espéranto
-* est et Estonian estonien
-* baq/eus* eu Basque basque
- ewe Ewe éwé
- ewo Ewondo éwondo
- fan Fang fang
-* fao fo Faroese féroïen
-* per/fas* fa Persian persan
- fat Fanti fanti
-* fij fj Fijian fidjien
-* fin fi Finnish finnois
- fiu Finno-Ugrian (Other) finno-ougriennes, autres langues
- fon Fon fon
-* fre/fra* fr French français
- frm French, Middle (ca.1400-1800) français moyen (1400-1800)
- fro French, Old (842-ca.1400) français ancien (842-ca.1400)
-* fry fy Frisian frison
-* ful Fulah peul
-* fur Friulian frioulan
- gaa Ga ga
- gay Gayo gayo
- gba Gbaya gbaya
- gem Germanic (Other) germaniques, autres langues
-* geo/kat* ka Georgian géorgien
-* ger/deu* de German allemand
-* gez Geez guèze
- gil Gilbertese kiribati
-* gla gd Gaelic; Scottish Gaelic gaélique; gaélique écossais
-* gle ga Irish irlandais
-* glg gl Gallegan galicien
-* glv gv Manx manx; mannois
- gmh German, Middle High (ca.1050-1500) allemand, moyen haut (ca. 1050-1500)
- goh German, Old High (ca.750-1050) allemand, vieux haut (ca. 750-1050)
- gon Gondi gond
- gor Gorontalo gorontalo
- got Gothic gothique
- grb Grebo grebo
- grc Greek, Ancient (to 1453) grec ancien (jusqu'à 1453)
-* gre/ell* el Greek, Modern (1453-) grec moderne (après 1453)
-* grn gn Guarani guarani
-* guj gu Gujarati goudjrati
- gwi Gwich´in gwich´in
- hai Haida haida
-* hau ha Hausa haoussa
-* haw Hawaiian hawaïen
-* heb he Hebrew hébreu
- her hz Herero herero
- hil Hiligaynon hiligaynon
- him Himachali himachali
-* hin hi Hindi hindi
- hit Hittite hittite
- hmn Hmong hmong
-* hmo ho Hiri Motu hiri motu
-* scr/hrv* hr Croatian croate
-* hun hu Hungarian hongrois
- hup Hupa hupa
-* arm/hye* hy Armenian arménien
- iba Iban iban
-* ibo Igbo igbo
-* ice/isl* is Icelandic islandais
-* ido io Ido ido
- ijo Ijo ijo
-* iku iu Inuktitut inuktitut
-* ile ie Interlingue interlingue
- ilo Iloko ilocano
-* ina ia Interlingua (International Auxiliary Language Association) interlingua (langue auxiliaire internationale)
- inc Indic (Other) indo-aryennes, autres langues
-* ind id Indonesian indonésien
- ine Indo-European (Other) indo-européennes, autres langues
-* ipk ik Inupiaq inupiaq
- ira Iranian (Other) iraniennes, autres langues
- iro Iroquoian languages iroquoises, langues (famille)
-* ice/isl* is Icelandic islandais
-* ita it Italian italien
- jav jv Javanese javanais
-* jpn ja Japanese japonais
- jpr Judeo-Persian judéo-persan
- jrb Judeo-Arabic judéo-arabe
-* kaa Kara-Kalpak karakalpak
- kab Kabyle kabyle
- kac Kachin kachin
-* kal kl Kalaallisut groenlandais
- kam Kamba kamba
-* kan kn Kannada kannada
- kar Karen karen
-* kas ks Kashmiri kashmiri
-* geo/kat* ka Georgian géorgien
- kau Kanuri kanouri
- kaw Kawi kawi
-* kaz kk Kazakh kazakh
- kha Khasi khasi
- khi Khoisan (Other) khoisan, autres langues
-* khm km Khmer khmer
- kho Khotanese khotanais
-* kik ki Kikuyu; Gikuyu kikuyu
- kin rw Kinyarwanda rwanda
-* kir ky Kirghiz kirghize
- kmb Kimbundu kimbundu
-* kok Konkani konkani
-* kom kv Komi kom
- kon Kongo kongo
-* kor ko Korean coréen
- kos Kosraean kosrae
- kpe Kpelle kpellé
- kro Kru krou
- kru Kurukh kurukh
- kua kj Kuanyama; Kwanyama kuanyama; kwanyama
-* kum Kumyk koumyk
-* kur ku Kurdish kurde
- kut Kutenai kutenai
- lad Ladino judéo-espagnol
- lah Lahnda lahnda
- lam Lamba lamba
-* lao lo Lao lao
-* lat la Latin latin
-* lav lv Latvian letton
-* lez Lezghian lezghien
-* lin ln Lingala lingala
-* lit lt Lithuanian lituanien
- lol Mongo mongo
- loz Lozi lozi
-* ltz lb Luxembourgish; Letzeburgesch luxembourgeois
- lua Luba-Lulua luba-lulua
- lub Luba-Katanga luba-katanga
- lug Ganda ganda
- lui Luiseno luiseno
- lun Lunda lunda
- luo Luo (Kenya and Tanzania) luo (Kenya et Tanzanie)
- lus lushai Lushai
-* mac/mkd* mk Macedonian macédonien
- mad Madurese madourais
- mag Magahi magahi
-* mah mh Marshallese marshall
- mai Maithili maithili
- mak Makasar makassar
-* mal ml Malayalam malayalam
- man Mandingo mandingue
-* mao/mri* mi Maori maori
- map Austronesian (Other) malayo-polynésiennes, autres langues
-* mar mr Marathi marathe
- mas Masai massaï
- may/msa* ms Malay malais
- mdr Mandar mandar
- men Mende mendé
- mga Irish, Middle (900-1200) irlandais moyen (900-1200)
- mic Micmac micmac
- min Minangkabau minangkabau
- mis Miscellaneous languages diverses, langues
-* mac/mkd* mk Macedonian macédonien
- mkh Mon-Khmer (Other) môn-khmer, autres langues
-* mlg mg Malagasy malgache
-* mlt mt Maltese maltais
- mnc Manchu mandchou
- mni Manipuri manipuri
- mno Manobo languages manobo, langues
- moh Mohawk mohawk
-* mol mo Moldavian moldave
-* mon mn Mongolian mongol
- mos Mossi moré
-* mao/mri* mi Maori maori
- may/msa* ms Malay malais
- mul Multiple languages multilingue
- mun Munda languages mounda, langues
- mus Creek muskogee
- mwr Marwari marvari
-* bur/mya* my Burmese birman
- myn Mayan languages maya, langues
- nah Nahuatl nahuatl
- nai North American Indian indiennes d'Amérique du Nord, autres langues
- nau na Nauru nauruan
- nav nv Navajo; Navaho navaho
-* nbl nr Ndebele, South; South Ndebele ndébélé du Sud
- nde nd Ndebele, North; North Ndebele ndébélé du Nord
- ndo ng Ndonga ndonga
- nds Low German; Low Saxon; German, Low; Saxon, Low bas allemand; bas saxon; allemand, bas; saxon, bas
-* nep ne Nepali népalais
- new Newari newari
- nia Nias nias
- nic Niger-Kordofanian (Other) nigéro-congolaises, autres langues
- niu Niuean niué
-* dut/nld* nl Dutch néerlandais
- non Norse, Old norrois, vieux
-* nor no Norwegian norvégien
-* nno nn Norwegian Nynorsk; Nynorsk, Norwegian norvégien nynorsk; nynorsk, norvégien
-* nob nb Norwegian Bokmål; Bokmål, Norwegian norvégien bokmål; bokmål, norvégien
-* nso Sotho, Northern sotho du Nord
- nub Nubian languages nubiennes, langues
-* nya ny Chichewa; Chewa; Nyanja chichewa; chewa; nyanja
- nym Nyamwezi nyamwezi
- nyn Nyankole nyankolé
- nyo Nyoro nyoro
- nzi Nzima nzema
-* oci oc Occitan (post 1500); Provençal occitan (après 1500); provençal
- oji Ojibwa ojibwa
-* ori or Oriya oriya
-* orm om Oromo galla
- osa Osage osage
-* oss os Ossetian; Ossetic ossète
- ota Turkish, Ottoman (1500-1928) turc ottoman (1500-1928)
- oto Otomian languages otomangue, langues
- paa Papuan (Other) papoues, autres langues
- pag Pangasinan pangasinan
- pal Pahlavi pahlavi
- pam Pampanga pampangan
- pan pa Panjabi pendjabi
- pap Papiamento papiamento
- pau Palauan palau
- peo Persian, Old (ca.600-400 B.C.) perse, vieux (ca. 600-400 av. J.-C.)
-* per/fas* fa Persian persan
- phi Philippine (Other) philippines, autres langues
- phn Phoenician phénicien
- pli pi Pali pali
-* pol pl Polish polonais
- pon Pohnpeian pohnpei
-* por pt Portuguese portugais
- pra Prakrit languages prâkrit
- pro Provençal, Old (to 1500) provençal ancien (jusqu'à 1500)
- pus ps Pushto pachto
- qaa-qtz Reserved for local use réservée à l'usage local
- que qu Quechua quechua
- raj Rajasthani rajasthani
- rap Rapanui rapanui
- rar Rarotongan rarotonga
- roa Romance (Other) romanes, autres langues
-* roh rm Raeto-Romance rhéto-roman
- rom Romany tsigane
-* rum/ron* ro Romanian roumain
- run rn Rundi rundi
-* rus ru Russian russe
- sad Sandawe sandawe
- sag sg Sango sango
-* sah Yakut iakoute
- sai South American Indian (Other) indiennes d'Amérique du Sud, autres langues
- sal Salishan languages salish, langues
- sam Samaritan Aramaic samaritain
-* san sa Sanskrit sanskrit
- sas Sasak sasak
- sat Santali santal
-* scc/srp* sr Serbian serbe
-* sco Scots écossais
-* scr/hrv* hr Croatian croate
-* sel Selkup selkoupe
- sem Semitic (Other) sémitiques, autres langues
- sga Irish, Old (to 900) irlandais ancien (jusqu'à 900)
- sgn Sign Languages langues des signes
- shn Shan chan
- sid Sidamo sidamo
-* sin si Sinhalese singhalais
- sio Siouan languages sioux, langues
- sit Sino-Tibetan (Other) sino-tibétaines, autres langues
- sla Slavic (Other) slaves, autres langues
-* slo/slk* sk Slovak slovaque
-* slv sl Slovenian slovène
-* sma Southern Sami sami du Sud
-* sme se Northern Sami sami du Nord
- smi Sami languages (Other) sami, autres langues
-* smj Lule Sami sami de Lule
-* smn Inari Sami sami d'Inari
-* smo sm Samoan samoan
-* sms Skolt Sami sami skolt
- sna sn Shona shona
- snd sd Sindhi sindhi
- snk Soninke soninké
- sog Sogdian sogdien
-* som so Somali somali
- son Songhai songhai
-* sot st Sotho, Southern sotho du Sud
-* spa es Spanish; Castilian espagnol; castillan
-* alb/sqi* sq Albanian albanais
- srd sc Sardinian sarde
-* scc/srp* sr Serbian serbe
-* sh Serbo-Croatian serbo-croate
- srr Serer sérère
- ssa Nilo-Saharan (Other) nilo-sahariennes, autres langues
-* ssw ss Swati swati
- suk Sukuma sukuma
- sun su Sundanese soundanais
- sus Susu soussou
- sux Sumerian sumérien
-* swa sw Swahili swahili
-* swe sv Swedish suédois
-* syr Syriac syriaque
- tah ty Tahitian tahitien
- tai Tai (Other) thaïes, autres langues
-* tam ta Tamil tamoul
-* tat tt Tatar tatar
-* tel te Telugu télougou
- tem Timne temne
- ter Tereno tereno
- tet Tetum tetum
-* tgk tg Tajik tadjik
-* tgl tl Tagalog tagalog
-* tha th Thai thaï
-* tib/bod* bo Tibetan tibétain
- tig Tigre tigré
-* tir ti Tigrinya tigrigna
- tiv Tiv tiv
- tkl Tokelau tokelau
- tli Tlingit tlingit
- tmh Tamashek tamacheq
- tog Tonga (Nyasa) tonga (Nyasa)
-* ton to Tonga (Tonga Islands) tongan (ÃŽles Tonga)
- tpi Tok Pisin tok pisin
- tsi Tsimshian tsimshian
-* tsn tn Tswana tswana
-* tso ts Tsonga tsonga
-* tuk tk Turkmen turkmène
- tum Tumbuka tumbuka
- tup Tupi languages tupi, langues
-* tur tr Turkish turc
- tut Altaic (Other) altaïques, autres langues
- tvl Tuvalu tuvalu
-* twi tw Twi twi
-* tyv Tuvinian touva
- uga Ugaritic ougaritique
-* uig ug Uighur ouïgour
-* ukr uk Ukrainian ukrainien
- umb Umbundu umbundu
- und Undetermined indéterminée
-* urd ur Urdu ourdou
-* uzb uz Uzbek ouszbek
- vai Vai vaï
-* ven Venda venda
-* vie vi Vietnamese vietnamien
-* vol vo Volapük volapük
-* vot Votic vote
- wak Wakashan languages wakashennes, langues
- wal Walamo walamo
- war Waray waray
- was Washo washo
-* wel/cym* cy Welsh gallois
-* wen Sorbian languages sorabes, langues
-* wln wa Walloon wallon
-* wol wo Wolof wolof
-* xho xh Xhosa xhosa
- yao Yao yao
-* yap Yapese yapois
-* yid yi Yiddish yiddish
-* yor yo Yoruba yoruba
- ypk Yupik languages yupik, langues
- zap Zapotec zapotèque
- zen Zenaga zenaga
- zha za Zhuang; Chuang zhuang; chuang
-* chi/zho* zh Chinese chinois
- znd Zande zandé
-* zul zu Zulu zoulou
- zun Zuni zuni
-
diff --git a/fc-lang/ja.orth b/fc-lang/ja.orth
index e87269b8..dbc16d4d 100644
--- a/fc-lang/ja.orth
+++ b/fc-lang/ja.orth
@@ -21,13 +21,14 @@
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
#
-# Coverage from JIS X 0208 (1990)
+# Coverage from JIS X 0208 (1997) for non kanji characters, and
+# Joyo Kanji List (2010, cabinet notification of regular-use chinese characters)
#
0x3000 # IDEOGRAPHIC SPACE
0x3001 # IDEOGRAPHIC COMMA
0x3002 # IDEOGRAPHIC FULL STOP
0x3005 # IDEOGRAPHIC ITERATION MARK
-0x3006 # IDEOGRAPHIC CLOSING MARK
+#0x3006 # IDEOGRAPHIC CLOSING MARK # not in Sawarabi Gothic
0x3007 # IDEOGRAPHIC NUMBER ZERO
0x3041 # HIRAGANA LETTER SMALL A
0x3042 # HIRAGANA LETTER A
@@ -216,171 +217,88 @@
0x4E0B # <CJK>
0x4E0D # <CJK>
0x4E0E # <CJK>
-0x4E10 # <CJK>
-0x4E11 # <CJK>
0x4E14 # <CJK>
-0x4E15 # <CJK>
0x4E16 # <CJK>
-0x4E17 # <CJK>
0x4E18 # <CJK>
0x4E19 # <CJK>
-0x4E1E # <CJK>
0x4E21 # <CJK>
0x4E26 # <CJK>
-0x4E2A # <CJK>
0x4E2D # <CJK>
-0x4E31 # <CJK>
0x4E32 # <CJK>
-0x4E36 # <CJK>
0x4E38 # <CJK>
0x4E39 # <CJK>
0x4E3B # <CJK>
0x4E3C # <CJK>
-0x4E3F # <CJK>
-0x4E42 # <CJK>
-0x4E43 # <CJK>
0x4E45 # <CJK>
-0x4E4B # <CJK>
-0x4E4D # <CJK>
-0x4E4E # <CJK>
0x4E4F # <CJK>
-0x4E55 # <CJK>
-0x4E56 # <CJK>
0x4E57 # <CJK>
-0x4E58 # <CJK>
0x4E59 # <CJK>
0x4E5D # <CJK>
0x4E5E # <CJK>
-0x4E5F # <CJK>
-0x4E62 # <CJK>
0x4E71 # <CJK>
0x4E73 # <CJK>
0x4E7E # <CJK>
0x4E80 # <CJK>
-0x4E82 # <CJK>
-0x4E85 # <CJK>
0x4E86 # <CJK>
0x4E88 # <CJK>
0x4E89 # <CJK>
-0x4E8A # <CJK>
0x4E8B # <CJK>
0x4E8C # <CJK>
-0x4E8E # <CJK>
-0x4E91 # <CJK>
0x4E92 # <CJK>
0x4E94 # <CJK>
0x4E95 # <CJK>
-0x4E98 # <CJK>
-0x4E99 # <CJK>
-0x4E9B # <CJK>
0x4E9C # <CJK>
-0x4E9E # <CJK>
-0x4E9F # <CJK>
-0x4EA0 # <CJK>
0x4EA1 # <CJK>
-0x4EA2 # <CJK>
0x4EA4 # <CJK>
-0x4EA5 # <CJK>
-0x4EA6 # <CJK>
-0x4EA8 # <CJK>
0x4EAB # <CJK>
0x4EAC # <CJK>
0x4EAD # <CJK>
-0x4EAE # <CJK>
-0x4EB0 # <CJK>
-0x4EB3 # <CJK>
-0x4EB6 # <CJK>
0x4EBA # <CJK>
-0x4EC0 # <CJK>
0x4EC1 # <CJK>
-0x4EC2 # <CJK>
-0x4EC4 # <CJK>
-0x4EC6 # <CJK>
-0x4EC7 # <CJK>
0x4ECA # <CJK>
0x4ECB # <CJK>
-0x4ECD # <CJK>
-0x4ECE # <CJK>
0x4ECF # <CJK>
-0x4ED4 # <CJK>
0x4ED5 # <CJK>
0x4ED6 # <CJK>
-0x4ED7 # <CJK>
0x4ED8 # <CJK>
0x4ED9 # <CJK>
-0x4EDD # <CJK>
-0x4EDE # <CJK>
-0x4EDF # <CJK>
0x4EE3 # <CJK>
0x4EE4 # <CJK>
0x4EE5 # <CJK>
-0x4EED # <CJK>
0x4EEE # <CJK>
0x4EF0 # <CJK>
0x4EF2 # <CJK>
0x4EF6 # <CJK>
-0x4EF7 # <CJK>
0x4EFB # <CJK>
0x4F01 # <CJK>
-0x4F09 # <CJK>
-0x4F0A # <CJK>
-0x4F0D # <CJK>
0x4F0E # <CJK>
0x4F0F # <CJK>
0x4F10 # <CJK>
0x4F11 # <CJK>
0x4F1A # <CJK>
-0x4F1C # <CJK>
0x4F1D # <CJK>
0x4F2F # <CJK>
-0x4F30 # <CJK>
0x4F34 # <CJK>
-0x4F36 # <CJK>
0x4F38 # <CJK>
0x4F3A # <CJK>
0x4F3C # <CJK>
-0x4F3D # <CJK>
-0x4F43 # <CJK>
0x4F46 # <CJK>
-0x4F47 # <CJK>
0x4F4D # <CJK>
0x4F4E # <CJK>
0x4F4F # <CJK>
0x4F50 # <CJK>
-0x4F51 # <CJK>
0x4F53 # <CJK>
0x4F55 # <CJK>
-0x4F57 # <CJK>
0x4F59 # <CJK>
-0x4F5A # <CJK>
-0x4F5B # <CJK>
0x4F5C # <CJK>
-0x4F5D # <CJK>
-0x4F5E # <CJK>
-0x4F69 # <CJK>
-0x4F6F # <CJK>
-0x4F70 # <CJK>
0x4F73 # <CJK>
0x4F75 # <CJK>
-0x4F76 # <CJK>
-0x4F7B # <CJK>
-0x4F7C # <CJK>
0x4F7F # <CJK>
-0x4F83 # <CJK>
-0x4F86 # <CJK>
-0x4F88 # <CJK>
0x4F8B # <CJK>
0x4F8D # <CJK>
-0x4F8F # <CJK>
-0x4F91 # <CJK>
-0x4F96 # <CJK>
-0x4F98 # <CJK>
0x4F9B # <CJK>
0x4F9D # <CJK>
-0x4FA0 # <CJK>
0x4FA1 # <CJK>
-0x4FAB # <CJK>
-0x4FAD # <CJK>
0x4FAE # <CJK>
0x4FAF # <CJK>
0x4FB5 # <CJK>
@@ -388,364 +306,165 @@
0x4FBF # <CJK>
0x4FC2 # <CJK>
0x4FC3 # <CJK>
-0x4FC4 # <CJK>
0x4FCA # <CJK>
-0x4FCE # <CJK>
-0x4FD0 # <CJK>
-0x4FD1 # <CJK>
-0x4FD4 # <CJK>
0x4FD7 # <CJK>
-0x4FD8 # <CJK>
-0x4FDA # <CJK>
-0x4FDB # <CJK>
0x4FDD # <CJK>
-0x4FDF # <CJK>
0x4FE1 # <CJK>
-0x4FE3 # <CJK>
-0x4FE4 # <CJK>
-0x4FE5 # <CJK>
0x4FEE # <CJK>
-0x4FEF # <CJK>
0x4FF3 # <CJK>
0x4FF5 # <CJK>
-0x4FF6 # <CJK>
0x4FF8 # <CJK>
0x4FFA # <CJK>
-0x4FFE # <CJK>
-0x5005 # <CJK>
-0x5006 # <CJK>
0x5009 # <CJK>
0x500B # <CJK>
0x500D # <CJK>
-0x500F # <CJK>
-0x5011 # <CJK>
0x5012 # <CJK>
-0x5014 # <CJK>
-0x5016 # <CJK>
0x5019 # <CJK>
-0x501A # <CJK>
0x501F # <CJK>
-0x5021 # <CJK>
0x5023 # <CJK>
0x5024 # <CJK>
-0x5025 # <CJK>
-0x5026 # <CJK>
-0x5028 # <CJK>
-0x5029 # <CJK>
-0x502A # <CJK>
0x502B # <CJK>
-0x502C # <CJK>
-0x502D # <CJK>
-0x5036 # <CJK>
0x5039 # <CJK>
-0x5043 # <CJK>
-0x5047 # <CJK>
-0x5048 # <CJK>
0x5049 # <CJK>
0x504F # <CJK>
-0x5050 # <CJK>
-0x5055 # <CJK>
-0x5056 # <CJK>
-0x505A # <CJK>
0x505C # <CJK>
0x5065 # <CJK>
-0x506C # <CJK>
-0x5072 # <CJK>
0x5074 # <CJK>
0x5075 # <CJK>
0x5076 # <CJK>
-0x5078 # <CJK>
0x507D # <CJK>
-0x5080 # <CJK>
-0x5085 # <CJK>
0x508D # <CJK>
0x5091 # <CJK>
0x5098 # <CJK>
0x5099 # <CJK>
-0x509A # <CJK>
0x50AC # <CJK>
-0x50AD # <CJK>
0x50B2 # <CJK>
-0x50B3 # <CJK>
-0x50B4 # <CJK>
0x50B5 # <CJK>
0x50B7 # <CJK>
0x50BE # <CJK>
-0x50C2 # <CJK>
0x50C5 # <CJK>
-0x50C9 # <CJK>
-0x50CA # <CJK>
0x50CD # <CJK>
0x50CF # <CJK>
-0x50D1 # <CJK>
0x50D5 # <CJK>
-0x50D6 # <CJK>
0x50DA # <CJK>
-0x50DE # <CJK>
-0x50E3 # <CJK>
-0x50E5 # <CJK>
0x50E7 # <CJK>
-0x50ED # <CJK>
-0x50EE # <CJK>
-0x50F5 # <CJK>
-0x50F9 # <CJK>
-0x50FB # <CJK>
0x5100 # <CJK>
-0x5101 # <CJK>
-0x5102 # <CJK>
0x5104 # <CJK>
-0x5109 # <CJK>
0x5112 # <CJK>
-0x5114 # <CJK>
-0x5115 # <CJK>
-0x5116 # <CJK>
-0x5118 # <CJK>
-0x511A # <CJK>
0x511F # <CJK>
-0x5121 # <CJK>
0x512A # <CJK>
-0x5132 # <CJK>
-0x5137 # <CJK>
-0x513A # <CJK>
-0x513B # <CJK>
-0x513C # <CJK>
-0x513F # <CJK>
-0x5140 # <CJK>
-0x5141 # <CJK>
0x5143 # <CJK>
0x5144 # <CJK>
0x5145 # <CJK>
0x5146 # <CJK>
-0x5147 # <CJK>
0x5148 # <CJK>
0x5149 # <CJK>
0x514B # <CJK>
-0x514C # <CJK>
0x514D # <CJK>
-0x514E # <CJK>
0x5150 # <CJK>
-0x5152 # <CJK>
-0x5154 # <CJK>
0x515A # <CJK>
-0x515C # <CJK>
-0x5162 # <CJK>
0x5165 # <CJK>
0x5168 # <CJK>
-0x5169 # <CJK>
-0x516A # <CJK>
0x516B # <CJK>
0x516C # <CJK>
0x516D # <CJK>
-0x516E # <CJK>
0x5171 # <CJK>
0x5175 # <CJK>
-0x5176 # <CJK>
0x5177 # <CJK>
0x5178 # <CJK>
0x517C # <CJK>
-0x5180 # <CJK>
-0x5182 # <CJK>
0x5185 # <CJK>
0x5186 # <CJK>
-0x5189 # <CJK>
0x518A # <CJK>
-0x518C # <CJK>
0x518D # <CJK>
-0x518F # <CJK>
-0x5190 # <CJK>
-0x5191 # <CJK>
0x5192 # <CJK>
-0x5193 # <CJK>
-0x5195 # <CJK>
-0x5196 # <CJK>
0x5197 # <CJK>
0x5199 # <CJK>
0x51A0 # <CJK>
-0x51A2 # <CJK>
-0x51A4 # <CJK>
0x51A5 # <CJK>
-0x51A6 # <CJK>
-0x51A8 # <CJK>
-0x51A9 # <CJK>
-0x51AA # <CJK>
-0x51AB # <CJK>
0x51AC # <CJK>
-0x51B0 # <CJK>
-0x51B1 # <CJK>
-0x51B2 # <CJK>
-0x51B3 # <CJK>
-0x51B4 # <CJK>
-0x51B5 # <CJK>
0x51B6 # <CJK>
0x51B7 # <CJK>
-0x51BD # <CJK>
0x51C4 # <CJK>
-0x51C5 # <CJK>
0x51C6 # <CJK>
-0x51C9 # <CJK>
-0x51CB # <CJK>
-0x51CC # <CJK>
0x51CD # <CJK>
-0x51D6 # <CJK>
-0x51DB # <CJK>
-#0x51DC # <CJK> # not in kochi fonts
0x51DD # <CJK>
-0x51E0 # <CJK>
0x51E1 # <CJK>
0x51E6 # <CJK>
-0x51E7 # <CJK>
-0x51E9 # <CJK>
-0x51EA # <CJK>
-0x51ED # <CJK>
-0x51F0 # <CJK>
-0x51F1 # <CJK>
-0x51F5 # <CJK>
0x51F6 # <CJK>
0x51F8 # <CJK>
0x51F9 # <CJK>
0x51FA # <CJK>
-0x51FD # <CJK>
-0x51FE # <CJK>
0x5200 # <CJK>
0x5203 # <CJK>
-0x5204 # <CJK>
0x5206 # <CJK>
0x5207 # <CJK>
0x5208 # <CJK>
0x520A # <CJK>
-0x520B # <CJK>
-0x520E # <CJK>
0x5211 # <CJK>
-0x5214 # <CJK>
0x5217 # <CJK>
0x521D # <CJK>
0x5224 # <CJK>
0x5225 # <CJK>
-0x5227 # <CJK>
0x5229 # <CJK>
-0x522A # <CJK>
-0x522E # <CJK>
0x5230 # <CJK>
-0x5233 # <CJK>
0x5236 # <CJK>
0x5237 # <CJK>
0x5238 # <CJK>
0x5239 # <CJK>
0x523A # <CJK>
0x523B # <CJK>
-0x5243 # <CJK>
-0x5244 # <CJK>
0x5247 # <CJK>
0x524A # <CJK>
-0x524B # <CJK>
-0x524C # <CJK>
0x524D # <CJK>
-0x524F # <CJK>
-0x5254 # <CJK>
0x5256 # <CJK>
0x525B # <CJK>
-0x525E # <CJK>
+#0x525D # <CJK> # not in sazanami gothic/mincho, DroidSansJapanese
0x5263 # <CJK>
0x5264 # <CJK>
-0x5265 # <CJK>
-0x5269 # <CJK>
-0x526A # <CJK>
0x526F # <CJK>
0x5270 # <CJK>
-0x5271 # <CJK>
0x5272 # <CJK>
-0x5273 # <CJK>
-0x5274 # <CJK>
0x5275 # <CJK>
-0x527D # <CJK>
-0x527F # <CJK>
-0x5283 # <CJK>
0x5287 # <CJK>
-0x5288 # <CJK>
-0x5289 # <CJK>
-0x528D # <CJK>
-0x5291 # <CJK>
-0x5292 # <CJK>
-0x5294 # <CJK>
0x529B # <CJK>
0x529F # <CJK>
0x52A0 # <CJK>
0x52A3 # <CJK>
0x52A9 # <CJK>
0x52AA # <CJK>
-0x52AB # <CJK>
-0x52AC # <CJK>
-0x52AD # <CJK>
0x52B1 # <CJK>
0x52B4 # <CJK>
-0x52B5 # <CJK>
0x52B9 # <CJK>
-0x52BC # <CJK>
0x52BE # <CJK>
-0x52C1 # <CJK>
0x52C3 # <CJK>
0x52C5 # <CJK>
0x52C7 # <CJK>
0x52C9 # <CJK>
-0x52CD # <CJK>
-0x52D2 # <CJK>
0x52D5 # <CJK>
-0x52D7 # <CJK>
0x52D8 # <CJK>
0x52D9 # <CJK>
0x52DD # <CJK>
-0x52DE # <CJK>
0x52DF # <CJK>
-0x52E0 # <CJK>
0x52E2 # <CJK>
-0x52E3 # <CJK>
0x52E4 # <CJK>
-0x52E6 # <CJK>
0x52E7 # <CJK>
0x52F2 # <CJK>
-0x52F3 # <CJK>
-0x52F5 # <CJK>
-0x52F8 # <CJK>
-0x52F9 # <CJK>
-0x52FA # <CJK>
0x52FE # <CJK>
-0x52FF # <CJK>
-0x5301 # <CJK>
0x5302 # <CJK>
0x5305 # <CJK>
-0x5306 # <CJK>
-0x5308 # <CJK>
-0x530D # <CJK>
-0x530F # <CJK>
-0x5310 # <CJK>
-0x5315 # <CJK>
0x5316 # <CJK>
0x5317 # <CJK>
-0x5319 # <CJK>
-0x531A # <CJK>
-0x531D # <CJK>
0x5320 # <CJK>
-0x5321 # <CJK>
-0x5323 # <CJK>
-0x532A # <CJK>
-0x532F # <CJK>
-0x5331 # <CJK>
-0x5333 # <CJK>
-0x5338 # <CJK>
0x5339 # <CJK>
0x533A # <CJK>
0x533B # <CJK>
0x533F # <CJK>
-0x5340 # <CJK>
0x5341 # <CJK>
0x5343 # <CJK>
-0x5345 # <CJK>
-0x5346 # <CJK>
0x5347 # <CJK>
0x5348 # <CJK>
-0x5349 # <CJK>
0x534A # <CJK>
-0x534D # <CJK>
0x5351 # <CJK>
0x5352 # <CJK>
0x5353 # <CJK>
@@ -753,43 +472,21 @@
0x5357 # <CJK>
0x5358 # <CJK>
0x535A # <CJK>
-0x535C # <CJK>
-0x535E # <CJK>
0x5360 # <CJK>
-0x5366 # <CJK>
-0x5369 # <CJK>
-0x536E # <CJK>
-0x536F # <CJK>
0x5370 # <CJK>
0x5371 # <CJK>
0x5373 # <CJK>
0x5374 # <CJK>
0x5375 # <CJK>
-0x5377 # <CJK>
0x5378 # <CJK>
-0x537B # <CJK>
-0x537F # <CJK>
-0x5382 # <CJK>
0x5384 # <CJK>
-0x5396 # <CJK>
0x5398 # <CJK>
0x539A # <CJK>
0x539F # <CJK>
-0x53A0 # <CJK>
-0x53A5 # <CJK>
-0x53A6 # <CJK>
-0x53A8 # <CJK>
-0x53A9 # <CJK>
-0x53AD # <CJK>
-0x53AE # <CJK>
-0x53B0 # <CJK>
0x53B3 # <CJK>
-0x53B6 # <CJK>
0x53BB # <CJK>
0x53C2 # <CJK>
-0x53C3 # <CJK>
0x53C8 # <CJK>
-0x53C9 # <CJK>
0x53CA # <CJK>
0x53CB # <CJK>
0x53CC # <CJK>
@@ -799,36 +496,20 @@
0x53D6 # <CJK>
0x53D7 # <CJK>
0x53D9 # <CJK>
-0x53DB # <CJK>
-0x53DF # <CJK>
-0x53E1 # <CJK>
-0x53E2 # <CJK>
0x53E3 # <CJK>
0x53E4 # <CJK>
0x53E5 # <CJK>
-0x53E8 # <CJK>
-0x53E9 # <CJK>
-0x53EA # <CJK>
0x53EB # <CJK>
0x53EC # <CJK>
-0x53ED # <CJK>
-0x53EE # <CJK>
0x53EF # <CJK>
0x53F0 # <CJK>
-0x53F1 # <CJK>
0x53F2 # <CJK>
0x53F3 # <CJK>
-0x53F6 # <CJK>
0x53F7 # <CJK>
0x53F8 # <CJK>
-0x53FA # <CJK>
-0x5401 # <CJK>
-0x5403 # <CJK>
0x5404 # <CJK>
0x5408 # <CJK>
0x5409 # <CJK>
-0x540A # <CJK>
-0x540B # <CJK>
0x540C # <CJK>
0x540D # <CJK>
0x540E # <CJK>
@@ -836,273 +517,82 @@
0x5410 # <CJK>
0x5411 # <CJK>
0x541B # <CJK>
-0x541D # <CJK>
0x541F # <CJK>
-0x5420 # <CJK>
0x5426 # <CJK>
-0x5429 # <CJK>
0x542B # <CJK>
-0x542C # <CJK>
-0x542D # <CJK>
-0x542E # <CJK>
-0x5436 # <CJK>
0x5438 # <CJK>
0x5439 # <CJK>
-0x543B # <CJK>
-0x543C # <CJK>
-0x543D # <CJK>
-0x543E # <CJK>
-0x5440 # <CJK>
0x5442 # <CJK>
-0x5446 # <CJK>
0x5448 # <CJK>
0x5449 # <CJK>
0x544A # <CJK>
-0x544E # <CJK>
-0x5451 # <CJK>
-0x545F # <CJK>
0x5468 # <CJK>
0x546A # <CJK>
-0x5470 # <CJK>
-0x5471 # <CJK>
0x5473 # <CJK>
-0x5475 # <CJK>
-0x5476 # <CJK>
-0x5477 # <CJK>
-0x547B # <CJK>
0x547C # <CJK>
0x547D # <CJK>
-0x5480 # <CJK>
-0x5484 # <CJK>
-0x5486 # <CJK>
-0x548B # <CJK>
0x548C # <CJK>
-0x548E # <CJK>
-0x548F # <CJK>
-0x5490 # <CJK>
-0x5492 # <CJK>
-0x54A2 # <CJK>
-0x54A4 # <CJK>
-0x54A5 # <CJK>
-0x54A8 # <CJK>
-0x54AB # <CJK>
-0x54AC # <CJK>
-0x54AF # <CJK>
0x54B2 # <CJK>
-0x54B3 # <CJK>
-0x54B8 # <CJK>
-0x54BC # <CJK>
0x54BD # <CJK>
-0x54BE # <CJK>
0x54C0 # <CJK>
0x54C1 # <CJK>
-0x54C2 # <CJK>
-0x54C4 # <CJK>
-0x54C7 # <CJK>
-0x54C8 # <CJK>
-0x54C9 # <CJK>
-0x54D8 # <CJK>
0x54E1 # <CJK>
-0x54E2 # <CJK>
-0x54E5 # <CJK>
-0x54E6 # <CJK>
-0x54E8 # <CJK>
-0x54E9 # <CJK>
-0x54ED # <CJK>
-0x54EE # <CJK>
0x54F2 # <CJK>
0x54FA # <CJK>
-0x54FD # <CJK>
0x5504 # <CJK>
0x5506 # <CJK>
0x5507 # <CJK>
-0x550F # <CJK>
0x5510 # <CJK>
-0x5514 # <CJK>
-0x5516 # <CJK>
-0x552E # <CJK>
0x552F # <CJK>
0x5531 # <CJK>
-0x5533 # <CJK>
-0x5538 # <CJK>
-0x5539 # <CJK>
0x553E # <CJK>
-0x5540 # <CJK>
-0x5544 # <CJK>
-0x5545 # <CJK>
0x5546 # <CJK>
-0x554C # <CJK>
0x554F # <CJK>
0x5553 # <CJK>
-0x5556 # <CJK>
-0x5557 # <CJK>
-0x555C # <CJK>
-0x555D # <CJK>
-0x5563 # <CJK>
-0x557B # <CJK>
-0x557C # <CJK>
-0x557E # <CJK>
-0x5580 # <CJK>
-0x5583 # <CJK>
0x5584 # <CJK>
-0x5587 # <CJK>
0x5589 # <CJK>
-0x558A # <CJK>
-0x558B # <CJK>
-0x5598 # <CJK>
-0x5599 # <CJK>
0x559A # <CJK>
0x559C # <CJK>
0x559D # <CJK>
-0x559E # <CJK>
-0x559F # <CJK>
-0x55A7 # <CJK>
-0x55A8 # <CJK>
0x55A9 # <CJK>
0x55AA # <CJK>
0x55AB # <CJK>
-0x55AC # <CJK>
-0x55AE # <CJK>
-0x55B0 # <CJK>
0x55B6 # <CJK>
-0x55C4 # <CJK>
0x55C5 # <CJK>
-0x55C7 # <CJK>
-0x55D4 # <CJK>
-0x55DA # <CJK>
-0x55DC # <CJK>
-0x55DF # <CJK>
0x55E3 # <CJK>
-0x55E4 # <CJK>
-0x55F7 # <CJK>
-0x55F9 # <CJK>
-0x55FD # <CJK>
-0x55FE # <CJK>
0x5606 # <CJK>
-0x5609 # <CJK>
-0x5614 # <CJK>
-0x5616 # <CJK>
-0x5617 # <CJK>
-0x5618 # <CJK>
-0x561B # <CJK>
-0x5629 # <CJK>
-0x562F # <CJK>
0x5631 # <CJK>
0x5632 # <CJK>
-0x5634 # <CJK>
-0x5636 # <CJK>
-0x5638 # <CJK>
-0x5642 # <CJK>
-0x564C # <CJK>
-0x564E # <CJK>
-0x5650 # <CJK>
-0x565B # <CJK>
-0x5664 # <CJK>
0x5668 # <CJK>
-0x566A # <CJK>
-0x566B # <CJK>
-0x566C # <CJK>
0x5674 # <CJK>
-0x5678 # <CJK>
-0x567A # <CJK>
-0x5680 # <CJK>
-0x5686 # <CJK>
0x5687 # <CJK>
-0x568A # <CJK>
-0x568F # <CJK>
-0x5694 # <CJK>
-0x56A0 # <CJK>
-0x56A2 # <CJK>
-0x56A5 # <CJK>
-0x56AE # <CJK>
-0x56B4 # <CJK>
-0x56B6 # <CJK>
-0x56BC # <CJK>
-0x56C0 # <CJK>
-0x56C1 # <CJK>
-0x56C2 # <CJK>
-0x56C3 # <CJK>
-0x56C8 # <CJK>
-0x56CE # <CJK>
-0x56D1 # <CJK>
-0x56D3 # <CJK>
-0x56D7 # <CJK>
-0x56D8 # <CJK>
0x56DA # <CJK>
0x56DB # <CJK>
0x56DE # <CJK>
0x56E0 # <CJK>
0x56E3 # <CJK>
-0x56EE # <CJK>
0x56F0 # <CJK>
0x56F2 # <CJK>
0x56F3 # <CJK>
-0x56F9 # <CJK>
0x56FA # <CJK>
0x56FD # <CJK>
-0x56FF # <CJK>
-0x5700 # <CJK>
-0x5703 # <CJK>
-0x5704 # <CJK>
-0x5708 # <CJK>
-0x5709 # <CJK>
-0x570B # <CJK>
-0x570D # <CJK>
0x570F # <CJK>
0x5712 # <CJK>
-0x5713 # <CJK>
-0x5716 # <CJK>
-0x5718 # <CJK>
-0x571C # <CJK>
0x571F # <CJK>
-0x5726 # <CJK>
0x5727 # <CJK>
0x5728 # <CJK>
-0x572D # <CJK>
0x5730 # <CJK>
-0x5737 # <CJK>
-0x5738 # <CJK>
-0x573B # <CJK>
-0x5740 # <CJK>
0x5742 # <CJK>
0x5747 # <CJK>
0x574A # <CJK>
-0x574E # <CJK>
-0x574F # <CJK>
-0x5750 # <CJK>
0x5751 # <CJK>
-0x5761 # <CJK>
-0x5764 # <CJK>
-0x5766 # <CJK>
-0x5769 # <CJK>
0x576A # <CJK>
-0x577F # <CJK>
0x5782 # <CJK>
-0x5788 # <CJK>
-0x5789 # <CJK>
0x578B # <CJK>
-0x5793 # <CJK>
-0x57A0 # <CJK>
-0x57A2 # <CJK>
0x57A3 # <CJK>
-0x57A4 # <CJK>
-0x57AA # <CJK>
-0x57B0 # <CJK>
-0x57B3 # <CJK>
-0x57C0 # <CJK>
-0x57C3 # <CJK>
-0x57C6 # <CJK>
0x57CB # <CJK>
0x57CE # <CJK>
-0x57D2 # <CJK>
-0x57D3 # <CJK>
-0x57D4 # <CJK>
-0x57D6 # <CJK>
-0x57DC # <CJK>
0x57DF # <CJK>
-0x57E0 # <CJK>
-0x57E3 # <CJK>
-0x57F4 # <CJK>
0x57F7 # <CJK>
0x57F9 # <CJK>
0x57FA # <CJK>
@@ -1111,267 +601,111 @@
0x5802 # <CJK>
0x5805 # <CJK>
0x5806 # <CJK>
-0x580A # <CJK>
-0x580B # <CJK>
0x5815 # <CJK>
-0x5819 # <CJK>
-0x581D # <CJK>
-0x5821 # <CJK>
0x5824 # <CJK>
0x582A # <CJK>
-0x582F # <CJK>
-0x5830 # <CJK>
0x5831 # <CJK>
0x5834 # <CJK>
-0x5835 # <CJK>
-0x583A # <CJK>
-0x583D # <CJK>
0x5840 # <CJK>
0x5841 # <CJK>
0x584A # <CJK>
-0x584B # <CJK>
0x5851 # <CJK>
-0x5852 # <CJK>
0x5854 # <CJK>
0x5857 # <CJK>
-0x5858 # <CJK>
-0x5859 # <CJK>
0x585A # <CJK>
0x585E # <CJK>
-0x5862 # <CJK>
+#0x5861 # <CJK> # not in DroidSansJapanese
0x5869 # <CJK>
-0x586B # <CJK>
-0x5870 # <CJK>
-0x5872 # <CJK>
-0x5875 # <CJK>
-0x5879 # <CJK>
0x587E # <CJK>
0x5883 # <CJK>
-0x5885 # <CJK>
0x5893 # <CJK>
0x5897 # <CJK>
0x589C # <CJK>
-0x589F # <CJK>
0x58A8 # <CJK>
-0x58AB # <CJK>
-0x58AE # <CJK>
0x58B3 # <CJK>
-0x58B8 # <CJK>
-0x58B9 # <CJK>
-0x58BA # <CJK>
-0x58BB # <CJK>
0x58BE # <CJK>
0x58C1 # <CJK>
-0x58C5 # <CJK>
0x58C7 # <CJK>
0x58CA # <CJK>
0x58CC # <CJK>
-0x58D1 # <CJK>
-0x58D3 # <CJK>
-0x58D5 # <CJK>
-0x58D7 # <CJK>
-0x58D8 # <CJK>
-0x58D9 # <CJK>
-0x58DC # <CJK>
-0x58DE # <CJK>
-0x58DF # <CJK>
-0x58E4 # <CJK>
-0x58E5 # <CJK>
0x58EB # <CJK>
-0x58EC # <CJK>
0x58EE # <CJK>
-0x58EF # <CJK>
0x58F0 # <CJK>
0x58F1 # <CJK>
0x58F2 # <CJK>
-0x58F7 # <CJK>
-0x58F9 # <CJK>
-0x58FA # <CJK>
-0x58FB # <CJK>
-0x58FC # <CJK>
-0x58FD # <CJK>
-0x5902 # <CJK>
0x5909 # <CJK>
-0x590A # <CJK>
0x590F # <CJK>
-0x5910 # <CJK>
0x5915 # <CJK>
0x5916 # <CJK>
-0x5918 # <CJK>
-0x5919 # <CJK>
0x591A # <CJK>
-0x591B # <CJK>
0x591C # <CJK>
0x5922 # <CJK>
-0x5925 # <CJK>
0x5927 # <CJK>
0x5929 # <CJK>
0x592A # <CJK>
0x592B # <CJK>
-0x592C # <CJK>
-0x592D # <CJK>
0x592E # <CJK>
0x5931 # <CJK>
-0x5932 # <CJK>
-0x5937 # <CJK>
-0x5938 # <CJK>
-0x593E # <CJK>
-0x5944 # <CJK>
0x5947 # <CJK>
0x5948 # <CJK>
0x5949 # <CJK>
-0x594E # <CJK>
0x594F # <CJK>
-0x5950 # <CJK>
0x5951 # <CJK>
0x5954 # <CJK>
-0x5955 # <CJK>
-0x5957 # <CJK>
-0x5958 # <CJK>
-0x595A # <CJK>
-0x5960 # <CJK>
-0x5962 # <CJK>
0x5965 # <CJK>
-0x5967 # <CJK>
0x5968 # <CJK>
-0x5969 # <CJK>
0x596A # <CJK>
-0x596C # <CJK>
0x596E # <CJK>
0x5973 # <CJK>
0x5974 # <CJK>
-0x5978 # <CJK>
0x597D # <CJK>
-0x5981 # <CJK>
0x5982 # <CJK>
0x5983 # <CJK>
0x5984 # <CJK>
0x598A # <CJK>
-0x598D # <CJK>
-0x5993 # <CJK>
0x5996 # <CJK>
0x5999 # <CJK>
-0x599B # <CJK>
-0x599D # <CJK>
-0x59A3 # <CJK>
0x59A5 # <CJK>
0x59A8 # <CJK>
0x59AC # <CJK>
-0x59B2 # <CJK>
0x59B9 # <CJK>
0x59BB # <CJK>
-0x59BE # <CJK>
-0x59C6 # <CJK>
0x59C9 # <CJK>
0x59CB # <CJK>
-0x59D0 # <CJK>
-0x59D1 # <CJK>
0x59D3 # <CJK>
0x59D4 # <CJK>
-0x59D9 # <CJK>
-0x59DA # <CJK>
-0x59DC # <CJK>
-0x59E5 # <CJK>
-0x59E6 # <CJK>
-0x59E8 # <CJK>
-0x59EA # <CJK>
0x59EB # <CJK>
-0x59F6 # <CJK>
0x59FB # <CJK>
0x59FF # <CJK>
0x5A01 # <CJK>
-0x5A03 # <CJK>
-0x5A09 # <CJK>
-0x5A11 # <CJK>
0x5A18 # <CJK>
-0x5A1A # <CJK>
-0x5A1C # <CJK>
-0x5A1F # <CJK>
0x5A20 # <CJK>
-0x5A25 # <CJK>
-0x5A29 # <CJK>
0x5A2F # <CJK>
-0x5A35 # <CJK>
-0x5A36 # <CJK>
-0x5A3C # <CJK>
-0x5A40 # <CJK>
-0x5A41 # <CJK>
0x5A46 # <CJK>
-0x5A49 # <CJK>
0x5A5A # <CJK>
-0x5A62 # <CJK>
0x5A66 # <CJK>
-0x5A6A # <CJK>
-0x5A6C # <CJK>
0x5A7F # <CJK>
0x5A92 # <CJK>
-0x5A9A # <CJK>
0x5A9B # <CJK>
-0x5ABC # <CJK>
-0x5ABD # <CJK>
-0x5ABE # <CJK>
0x5AC1 # <CJK>
-0x5AC2 # <CJK>
0x5AC9 # <CJK>
-0x5ACB # <CJK>
0x5ACC # <CJK>
-0x5AD0 # <CJK>
-0x5AD6 # <CJK>
-0x5AD7 # <CJK>
0x5AE1 # <CJK>
-0x5AE3 # <CJK>
-0x5AE6 # <CJK>
-0x5AE9 # <CJK>
-0x5AFA # <CJK>
-0x5AFB # <CJK>
-0x5B09 # <CJK>
-0x5B0B # <CJK>
-0x5B0C # <CJK>
-0x5B16 # <CJK>
0x5B22 # <CJK>
-0x5B2A # <CJK>
-0x5B2C # <CJK>
-0x5B30 # <CJK>
-0x5B32 # <CJK>
-0x5B36 # <CJK>
-0x5B3E # <CJK>
-0x5B40 # <CJK>
-0x5B43 # <CJK>
-0x5B45 # <CJK>
0x5B50 # <CJK>
-0x5B51 # <CJK>
0x5B54 # <CJK>
-0x5B55 # <CJK>
0x5B57 # <CJK>
0x5B58 # <CJK>
-0x5B5A # <CJK>
-0x5B5B # <CJK>
-0x5B5C # <CJK>
0x5B5D # <CJK>
-0x5B5F # <CJK>
0x5B63 # <CJK>
0x5B64 # <CJK>
-0x5B65 # <CJK>
0x5B66 # <CJK>
-0x5B69 # <CJK>
0x5B6B # <CJK>
-0x5B70 # <CJK>
-0x5B71 # <CJK>
-0x5B73 # <CJK>
-0x5B75 # <CJK>
-0x5B78 # <CJK>
-0x5B7A # <CJK>
-0x5B80 # <CJK>
-0x5B83 # <CJK>
0x5B85 # <CJK>
0x5B87 # <CJK>
0x5B88 # <CJK>
0x5B89 # <CJK>
-0x5B8B # <CJK>
0x5B8C # <CJK>
-0x5B8D # <CJK>
-0x5B8F # <CJK>
-0x5B95 # <CJK>
0x5B97 # <CJK>
0x5B98 # <CJK>
0x5B99 # <CJK>
@@ -1383,47 +717,26 @@
0x5BA2 # <CJK>
0x5BA3 # <CJK>
0x5BA4 # <CJK>
-0x5BA5 # <CJK>
-0x5BA6 # <CJK>
0x5BAE # <CJK>
0x5BB0 # <CJK>
0x5BB3 # <CJK>
0x5BB4 # <CJK>
0x5BB5 # <CJK>
0x5BB6 # <CJK>
-0x5BB8 # <CJK>
0x5BB9 # <CJK>
0x5BBF # <CJK>
0x5BC2 # <CJK>
-0x5BC3 # <CJK>
0x5BC4 # <CJK>
-0x5BC5 # <CJK>
0x5BC6 # <CJK>
-0x5BC7 # <CJK>
-0x5BC9 # <CJK>
0x5BCC # <CJK>
-0x5BD0 # <CJK>
0x5BD2 # <CJK>
-0x5BD3 # <CJK>
-0x5BD4 # <CJK>
0x5BDB # <CJK>
0x5BDD # <CJK>
-0x5BDE # <CJK>
0x5BDF # <CJK>
0x5BE1 # <CJK>
-0x5BE2 # <CJK>
-0x5BE4 # <CJK>
-0x5BE5 # <CJK>
-0x5BE6 # <CJK>
0x5BE7 # <CJK>
-0x5BE8 # <CJK>
0x5BE9 # <CJK>
-0x5BEB # <CJK>
0x5BEE # <CJK>
-0x5BF0 # <CJK>
-0x5BF3 # <CJK>
-0x5BF5 # <CJK>
-0x5BF6 # <CJK>
0x5BF8 # <CJK>
0x5BFA # <CJK>
0x5BFE # <CJK>
@@ -1431,28 +744,15 @@
0x5C01 # <CJK>
0x5C02 # <CJK>
0x5C04 # <CJK>
-0x5C05 # <CJK>
0x5C06 # <CJK>
-0x5C07 # <CJK>
-0x5C08 # <CJK>
0x5C09 # <CJK>
0x5C0A # <CJK>
0x5C0B # <CJK>
-0x5C0D # <CJK>
0x5C0E # <CJK>
0x5C0F # <CJK>
0x5C11 # <CJK>
-0x5C13 # <CJK>
-0x5C16 # <CJK>
0x5C1A # <CJK>
-0x5C20 # <CJK>
-0x5C22 # <CJK>
-0x5C24 # <CJK>
-0x5C28 # <CJK>
-0x5C2D # <CJK>
0x5C31 # <CJK>
-0x5C38 # <CJK>
-0x5C39 # <CJK>
0x5C3A # <CJK>
0x5C3B # <CJK>
0x5C3C # <CJK>
@@ -1460,109 +760,31 @@
0x5C3E # <CJK>
0x5C3F # <CJK>
0x5C40 # <CJK>
-0x5C41 # <CJK>
0x5C45 # <CJK>
-0x5C46 # <CJK>
0x5C48 # <CJK>
0x5C4A # <CJK>
0x5C4B # <CJK>
-0x5C4D # <CJK>
-0x5C4E # <CJK>
-0x5C4F # <CJK>
-0x5C50 # <CJK>
-0x5C51 # <CJK>
-0x5C53 # <CJK>
0x5C55 # <CJK>
0x5C5E # <CJK>
-0x5C60 # <CJK>
-0x5C61 # <CJK>
0x5C64 # <CJK>
0x5C65 # <CJK>
-0x5C6C # <CJK>
-0x5C6E # <CJK>
0x5C6F # <CJK>
0x5C71 # <CJK>
-0x5C76 # <CJK>
-0x5C79 # <CJK>
-0x5C8C # <CJK>
0x5C90 # <CJK>
-0x5C91 # <CJK>
-0x5C94 # <CJK>
0x5CA1 # <CJK>
-0x5CA8 # <CJK>
0x5CA9 # <CJK>
-0x5CAB # <CJK>
0x5CAC # <CJK>
-0x5CB1 # <CJK>
0x5CB3 # <CJK>
-0x5CB6 # <CJK>
-0x5CB7 # <CJK>
0x5CB8 # <CJK>
-0x5CBB # <CJK>
-0x5CBC # <CJK>
-0x5CBE # <CJK>
-0x5CC5 # <CJK>
-0x5CC7 # <CJK>
-0x5CD9 # <CJK>
0x5CE0 # <CJK>
0x5CE1 # <CJK>
-0x5CE8 # <CJK>
-0x5CE9 # <CJK>
-0x5CEA # <CJK>
-0x5CED # <CJK>
-0x5CEF # <CJK>
0x5CF0 # <CJK>
0x5CF6 # <CJK>
-0x5CFA # <CJK>
-0x5CFB # <CJK>
-0x5CFD # <CJK>
0x5D07 # <CJK>
-0x5D0B # <CJK>
0x5D0E # <CJK>
-0x5D11 # <CJK>
-0x5D14 # <CJK>
-0x5D15 # <CJK>
0x5D16 # <CJK>
-0x5D17 # <CJK>
-0x5D18 # <CJK>
-0x5D19 # <CJK>
-0x5D1A # <CJK>
-0x5D1B # <CJK>
-0x5D1F # <CJK>
-0x5D22 # <CJK>
0x5D29 # <CJK>
-0x5D4B # <CJK>
-0x5D4C # <CJK>
-0x5D4E # <CJK>
0x5D50 # <CJK>
-0x5D52 # <CJK>
-0x5D5C # <CJK>
-0x5D69 # <CJK>
-0x5D6C # <CJK>
-0x5D6F # <CJK>
-0x5D73 # <CJK>
-0x5D76 # <CJK>
-0x5D82 # <CJK>
-0x5D84 # <CJK>
-0x5D87 # <CJK>
-0x5D8B # <CJK>
-0x5D8C # <CJK>
-0x5D90 # <CJK>
-0x5D9D # <CJK>
-0x5DA2 # <CJK>
-0x5DAC # <CJK>
-0x5DAE # <CJK>
-0x5DB7 # <CJK>
-0x5DBA # <CJK>
-0x5DBC # <CJK>
-0x5DBD # <CJK>
-0x5DC9 # <CJK>
-0x5DCC # <CJK>
-0x5DCD # <CJK>
-0x5DD2 # <CJK>
-0x5DD3 # <CJK>
-0x5DD6 # <CJK>
-0x5DDB # <CJK>
0x5DDD # <CJK>
0x5DDE # <CJK>
0x5DE1 # <CJK>
@@ -1571,27 +793,14 @@
0x5DE6 # <CJK>
0x5DE7 # <CJK>
0x5DE8 # <CJK>
-0x5DEB # <CJK>
0x5DEE # <CJK>
0x5DF1 # <CJK>
-0x5DF2 # <CJK>
-0x5DF3 # <CJK>
-0x5DF4 # <CJK>
-0x5DF5 # <CJK>
-0x5DF7 # <CJK>
0x5DFB # <CJK>
-0x5DFD # <CJK>
0x5DFE # <CJK>
0x5E02 # <CJK>
0x5E03 # <CJK>
0x5E06 # <CJK>
-0x5E0B # <CJK>
0x5E0C # <CJK>
-0x5E11 # <CJK>
-0x5E16 # <CJK>
-0x5E19 # <CJK>
-0x5E1A # <CJK>
-0x5E1B # <CJK>
0x5E1D # <CJK>
0x5E25 # <CJK>
0x5E2B # <CJK>
@@ -1599,738 +808,301 @@
0x5E2F # <CJK>
0x5E30 # <CJK>
0x5E33 # <CJK>
-0x5E36 # <CJK>
-0x5E37 # <CJK>
0x5E38 # <CJK>
0x5E3D # <CJK>
-0x5E40 # <CJK>
-0x5E43 # <CJK>
-0x5E44 # <CJK>
0x5E45 # <CJK>
-0x5E47 # <CJK>
-0x5E4C # <CJK>
-0x5E4E # <CJK>
-0x5E54 # <CJK>
0x5E55 # <CJK>
-0x5E57 # <CJK>
-0x5E5F # <CJK>
-0x5E61 # <CJK>
-0x5E62 # <CJK>
0x5E63 # <CJK>
-0x5E64 # <CJK>
0x5E72 # <CJK>
0x5E73 # <CJK>
0x5E74 # <CJK>
-0x5E75 # <CJK>
-0x5E76 # <CJK>
0x5E78 # <CJK>
0x5E79 # <CJK>
-0x5E7A # <CJK>
0x5E7B # <CJK>
0x5E7C # <CJK>
0x5E7D # <CJK>
0x5E7E # <CJK>
-0x5E7F # <CJK>
0x5E81 # <CJK>
0x5E83 # <CJK>
-0x5E84 # <CJK>
-0x5E87 # <CJK>
0x5E8A # <CJK>
0x5E8F # <CJK>
0x5E95 # <CJK>
-0x5E96 # <CJK>
0x5E97 # <CJK>
-0x5E9A # <CJK>
0x5E9C # <CJK>
-0x5EA0 # <CJK>
0x5EA6 # <CJK>
0x5EA7 # <CJK>
0x5EAB # <CJK>
0x5EAD # <CJK>
-0x5EB5 # <CJK>
0x5EB6 # <CJK>
0x5EB7 # <CJK>
0x5EB8 # <CJK>
-0x5EC1 # <CJK>
-0x5EC2 # <CJK>
0x5EC3 # <CJK>
-0x5EC8 # <CJK>
0x5EC9 # <CJK>
0x5ECA # <CJK>
-0x5ECF # <CJK>
-0x5ED0 # <CJK>
-0x5ED3 # <CJK>
-0x5ED6 # <CJK>
-0x5EDA # <CJK>
-0x5EDB # <CJK>
-0x5EDD # <CJK>
-0x5EDF # <CJK>
-0x5EE0 # <CJK>
-0x5EE1 # <CJK>
-0x5EE2 # <CJK>
-0x5EE3 # <CJK>
-0x5EE8 # <CJK>
-0x5EE9 # <CJK>
-0x5EEC # <CJK>
-0x5EF0 # <CJK>
-0x5EF1 # <CJK>
-0x5EF3 # <CJK>
-0x5EF4 # <CJK>
0x5EF6 # <CJK>
0x5EF7 # <CJK>
-0x5EF8 # <CJK>
0x5EFA # <CJK>
-0x5EFB # <CJK>
-0x5EFC # <CJK>
-0x5EFE # <CJK>
-0x5EFF # <CJK>
0x5F01 # <CJK>
-0x5F03 # <CJK>
0x5F04 # <CJK>
-0x5F09 # <CJK>
0x5F0A # <CJK>
-0x5F0B # <CJK>
-0x5F0C # <CJK>
-0x5F0D # <CJK>
0x5F0F # <CJK>
0x5F10 # <CJK>
-0x5F11 # <CJK>
0x5F13 # <CJK>
0x5F14 # <CJK>
0x5F15 # <CJK>
-0x5F16 # <CJK>
-0x5F17 # <CJK>
-0x5F18 # <CJK>
-0x5F1B # <CJK>
0x5F1F # <CJK>
0x5F25 # <CJK>
0x5F26 # <CJK>
0x5F27 # <CJK>
-0x5F29 # <CJK>
-0x5F2D # <CJK>
-0x5F2F # <CJK>
0x5F31 # <CJK>
0x5F35 # <CJK>
0x5F37 # <CJK>
-0x5F38 # <CJK>
-0x5F3C # <CJK>
0x5F3E # <CJK>
-0x5F41 # <CJK>
-0x5F48 # <CJK>
-0x5F4A # <CJK>
-0x5F4C # <CJK>
-0x5F4E # <CJK>
-0x5F51 # <CJK>
0x5F53 # <CJK>
-0x5F56 # <CJK>
-0x5F57 # <CJK>
0x5F59 # <CJK>
-0x5F5C # <CJK>
-0x5F5D # <CJK>
-0x5F61 # <CJK>
0x5F62 # <CJK>
-0x5F66 # <CJK>
0x5F69 # <CJK>
-0x5F6A # <CJK>
0x5F6B # <CJK>
-0x5F6C # <CJK>
-0x5F6D # <CJK>
0x5F70 # <CJK>
0x5F71 # <CJK>
-0x5F73 # <CJK>
-0x5F77 # <CJK>
0x5F79 # <CJK>
0x5F7C # <CJK>
-0x5F7F # <CJK>
0x5F80 # <CJK>
0x5F81 # <CJK>
-0x5F82 # <CJK>
-0x5F83 # <CJK>
0x5F84 # <CJK>
0x5F85 # <CJK>
-0x5F87 # <CJK>
-0x5F88 # <CJK>
-0x5F8A # <CJK>
0x5F8B # <CJK>
0x5F8C # <CJK>
0x5F90 # <CJK>
-0x5F91 # <CJK>
0x5F92 # <CJK>
0x5F93 # <CJK>
0x5F97 # <CJK>
-0x5F98 # <CJK>
-0x5F99 # <CJK>
-0x5F9E # <CJK>
-0x5FA0 # <CJK>
0x5FA1 # <CJK>
-0x5FA8 # <CJK>
0x5FA9 # <CJK>
0x5FAA # <CJK>
-0x5FAD # <CJK>
0x5FAE # <CJK>
0x5FB3 # <CJK>
0x5FB4 # <CJK>
0x5FB9 # <CJK>
-0x5FBC # <CJK>
-0x5FBD # <CJK>
0x5FC3 # <CJK>
0x5FC5 # <CJK>
0x5FCC # <CJK>
0x5FCD # <CJK>
-0x5FD6 # <CJK>
0x5FD7 # <CJK>
0x5FD8 # <CJK>
0x5FD9 # <CJK>
0x5FDC # <CJK>
-0x5FDD # <CJK>
0x5FE0 # <CJK>
-0x5FE4 # <CJK>
0x5FEB # <CJK>
-0x5FF0 # <CJK>
-0x5FF1 # <CJK>
0x5FF5 # <CJK>
-0x5FF8 # <CJK>
-0x5FFB # <CJK>
-0x5FFD # <CJK>
-0x5FFF # <CJK>
-0x600E # <CJK>
-0x600F # <CJK>
-0x6010 # <CJK>
0x6012 # <CJK>
-0x6015 # <CJK>
0x6016 # <CJK>
-0x6019 # <CJK>
-0x601B # <CJK>
-0x601C # <CJK>
0x601D # <CJK>
0x6020 # <CJK>
-0x6021 # <CJK>
0x6025 # <CJK>
-0x6026 # <CJK>
0x6027 # <CJK>
0x6028 # <CJK>
-0x6029 # <CJK>
0x602A # <CJK>
-0x602B # <CJK>
-0x602F # <CJK>
-0x6031 # <CJK>
-0x603A # <CJK>
-0x6041 # <CJK>
-0x6042 # <CJK>
-0x6043 # <CJK>
-0x6046 # <CJK>
-0x604A # <CJK>
0x604B # <CJK>
-0x604D # <CJK>
0x6050 # <CJK>
0x6052 # <CJK>
-0x6055 # <CJK>
-0x6059 # <CJK>
-0x605A # <CJK>
-0x605F # <CJK>
-0x6060 # <CJK>
-0x6062 # <CJK>
0x6063 # <CJK>
-0x6064 # <CJK>
0x6065 # <CJK>
0x6068 # <CJK>
0x6069 # <CJK>
-0x606A # <CJK>
-0x606B # <CJK>
-0x606C # <CJK>
0x606D # <CJK>
0x606F # <CJK>
-0x6070 # <CJK>
0x6075 # <CJK>
-0x6077 # <CJK>
-0x6081 # <CJK>
-0x6083 # <CJK>
-0x6084 # <CJK>
-0x6089 # <CJK>
-0x608B # <CJK>
-0x608C # <CJK>
-0x608D # <CJK>
-0x6092 # <CJK>
0x6094 # <CJK>
-0x6096 # <CJK>
-0x6097 # <CJK>
-0x609A # <CJK>
-0x609B # <CJK>
0x609F # <CJK>
0x60A0 # <CJK>
0x60A3 # <CJK>
0x60A6 # <CJK>
-0x60A7 # <CJK>
0x60A9 # <CJK>
0x60AA # <CJK>
0x60B2 # <CJK>
-0x60B3 # <CJK>
-0x60B4 # <CJK>
-0x60B5 # <CJK>
-0x60B6 # <CJK>
-0x60B8 # <CJK>
0x60BC # <CJK>
-0x60BD # <CJK>
0x60C5 # <CJK>
-0x60C6 # <CJK>
-0x60C7 # <CJK>
0x60D1 # <CJK>
-0x60D3 # <CJK>
-0x60D8 # <CJK>
-0x60DA # <CJK>
0x60DC # <CJK>
-0x60DF # <CJK>
-0x60E0 # <CJK>
-0x60E1 # <CJK>
-0x60E3 # <CJK>
0x60E7 # <CJK>
0x60E8 # <CJK>
0x60F0 # <CJK>
-0x60F1 # <CJK>
0x60F3 # <CJK>
-0x60F4 # <CJK>
-0x60F6 # <CJK>
-0x60F7 # <CJK>
-0x60F9 # <CJK>
-0x60FA # <CJK>
-0x60FB # <CJK>
-0x6100 # <CJK>
0x6101 # <CJK>
-0x6103 # <CJK>
-0x6106 # <CJK>
-0x6108 # <CJK>
0x6109 # <CJK>
-0x610D # <CJK>
-0x610E # <CJK>
0x610F # <CJK>
-0x6115 # <CJK>
0x611A # <CJK>
0x611B # <CJK>
0x611F # <CJK>
-0x6121 # <CJK>
-0x6127 # <CJK>
-0x6128 # <CJK>
-0x612C # <CJK>
-0x6134 # <CJK>
-0x613C # <CJK>
-0x613D # <CJK>
-0x613E # <CJK>
-0x613F # <CJK>
-0x6142 # <CJK>
0x6144 # <CJK>
-0x6147 # <CJK>
0x6148 # <CJK>
-0x614A # <CJK>
0x614B # <CJK>
0x614C # <CJK>
-0x614D # <CJK>
0x614E # <CJK>
-0x6153 # <CJK>
0x6155 # <CJK>
-0x6158 # <CJK>
-0x6159 # <CJK>
-0x615A # <CJK>
-0x615D # <CJK>
-0x615F # <CJK>
0x6162 # <CJK>
0x6163 # <CJK>
-0x6165 # <CJK>
-0x6167 # <CJK>
0x6168 # <CJK>
-0x616B # <CJK>
0x616E # <CJK>
-0x616F # <CJK>
0x6170 # <CJK>
-0x6171 # <CJK>
-0x6173 # <CJK>
-0x6174 # <CJK>
-0x6175 # <CJK>
0x6176 # <CJK>
-0x6177 # <CJK>
-0x617E # <CJK>
0x6182 # <CJK>
-0x6187 # <CJK>
-0x618A # <CJK>
0x618E # <CJK>
-0x6190 # <CJK>
-0x6191 # <CJK>
-0x6194 # <CJK>
-0x6196 # <CJK>
-0x6199 # <CJK>
-0x619A # <CJK>
0x61A4 # <CJK>
0x61A7 # <CJK>
0x61A9 # <CJK>
-0x61AB # <CJK>
0x61AC # <CJK>
-0x61AE # <CJK>
0x61B2 # <CJK>
0x61B6 # <CJK>
-0x61BA # <CJK>
0x61BE # <CJK>
-0x61C3 # <CJK>
-0x61C6 # <CJK>
0x61C7 # <CJK>
-0x61C8 # <CJK>
-0x61C9 # <CJK>
-0x61CA # <CJK>
-0x61CB # <CJK>
-0x61CC # <CJK>
-0x61CD # <CJK>
0x61D0 # <CJK>
-0x61E3 # <CJK>
-0x61E6 # <CJK>
0x61F2 # <CJK>
-0x61F4 # <CJK>
-0x61F6 # <CJK>
-0x61F7 # <CJK>
0x61F8 # <CJK>
-0x61FA # <CJK>
-0x61FC # <CJK>
-0x61FD # <CJK>
-0x61FE # <CJK>
-0x61FF # <CJK>
-0x6200 # <CJK>
-0x6208 # <CJK>
-0x6209 # <CJK>
-0x620A # <CJK>
-0x620C # <CJK>
-0x620D # <CJK>
-0x620E # <CJK>
0x6210 # <CJK>
0x6211 # <CJK>
0x6212 # <CJK>
-0x6214 # <CJK>
-0x6216 # <CJK>
0x621A # <CJK>
-0x621B # <CJK>
-0x621D # <CJK>
-0x621E # <CJK>
-0x621F # <CJK>
-0x6221 # <CJK>
0x6226 # <CJK>
-0x622A # <CJK>
-0x622E # <CJK>
0x622F # <CJK>
-0x6230 # <CJK>
-0x6232 # <CJK>
-0x6233 # <CJK>
0x6234 # <CJK>
0x6238 # <CJK>
0x623B # <CJK>
0x623F # <CJK>
0x6240 # <CJK>
-0x6241 # <CJK>
0x6247 # <CJK>
-0x6248 # <CJK>
0x6249 # <CJK>
0x624B # <CJK>
0x624D # <CJK>
-0x624E # <CJK>
0x6253 # <CJK>
0x6255 # <CJK>
-0x6258 # <CJK>
-0x625B # <CJK>
-0x625E # <CJK>
-0x6260 # <CJK>
-0x6263 # <CJK>
-0x6268 # <CJK>
-0x626E # <CJK>
0x6271 # <CJK>
0x6276 # <CJK>
0x6279 # <CJK>
-0x627C # <CJK>
-0x627E # <CJK>
0x627F # <CJK>
0x6280 # <CJK>
-0x6282 # <CJK>
-0x6283 # <CJK>
0x6284 # <CJK>
-0x6289 # <CJK>
0x628A # <CJK>
0x6291 # <CJK>
-0x6292 # <CJK>
-0x6293 # <CJK>
-0x6294 # <CJK>
0x6295 # <CJK>
-0x6296 # <CJK>
0x6297 # <CJK>
0x6298 # <CJK>
-0x629B # <CJK>
0x629C # <CJK>
0x629E # <CJK>
0x62AB # <CJK>
-0x62AC # <CJK>
0x62B1 # <CJK>
0x62B5 # <CJK>
0x62B9 # <CJK>
-0x62BB # <CJK>
0x62BC # <CJK>
0x62BD # <CJK>
-0x62C2 # <CJK>
0x62C5 # <CJK>
-0x62C6 # <CJK>
-0x62C7 # <CJK>
-0x62C8 # <CJK>
0x62C9 # <CJK>
-0x62CA # <CJK>
-0x62CC # <CJK>
0x62CD # <CJK>
-0x62CF # <CJK>
0x62D0 # <CJK>
-0x62D1 # <CJK>
0x62D2 # <CJK>
0x62D3 # <CJK>
-0x62D4 # <CJK>
-0x62D7 # <CJK>
0x62D8 # <CJK>
0x62D9 # <CJK>
0x62DB # <CJK>
-0x62DC # <CJK>
0x62DD # <CJK>
0x62E0 # <CJK>
0x62E1 # <CJK>
0x62EC # <CJK>
0x62ED # <CJK>
-0x62EE # <CJK>
-0x62EF # <CJK>
-0x62F1 # <CJK>
0x62F3 # <CJK>
-0x62F5 # <CJK>
0x62F6 # <CJK>
0x62F7 # <CJK>
0x62FE # <CJK>
-0x62FF # <CJK>
0x6301 # <CJK>
-0x6302 # <CJK>
0x6307 # <CJK>
-0x6308 # <CJK>
-0x6309 # <CJK>
-0x630C # <CJK>
0x6311 # <CJK>
0x6319 # <CJK>
0x631F # <CJK>
-0x6327 # <CJK>
0x6328 # <CJK>
0x632B # <CJK>
0x632F # <CJK>
-0x633A # <CJK>
-0x633D # <CJK>
-0x633E # <CJK>
0x633F # <CJK>
0x6349 # <CJK>
-0x634C # <CJK>
-0x634D # <CJK>
-0x634F # <CJK>
-0x6350 # <CJK>
0x6355 # <CJK>
0x6357 # <CJK>
0x635C # <CJK>
-0x6367 # <CJK>
0x6368 # <CJK>
-0x6369 # <CJK>
-0x636B # <CJK>
0x636E # <CJK>
-0x6372 # <CJK>
-0x6376 # <CJK>
-0x6377 # <CJK>
-0x637A # <CJK>
0x637B # <CJK>
-0x6380 # <CJK>
0x6383 # <CJK>
0x6388 # <CJK>
-0x6389 # <CJK>
0x638C # <CJK>
-0x638E # <CJK>
-0x638F # <CJK>
0x6392 # <CJK>
-0x6396 # <CJK>
0x6398 # <CJK>
0x639B # <CJK>
-0x639F # <CJK>
-0x63A0 # <CJK>
0x63A1 # <CJK>
0x63A2 # <CJK>
-0x63A3 # <CJK>
0x63A5 # <CJK>
0x63A7 # <CJK>
0x63A8 # <CJK>
-0x63A9 # <CJK>
0x63AA # <CJK>
-0x63AB # <CJK>
-0x63AC # <CJK>
0x63B2 # <CJK>
-0x63B4 # <CJK>
-0x63B5 # <CJK>
-0x63BB # <CJK>
-0x63BE # <CJK>
-0x63C0 # <CJK>
-0x63C3 # <CJK>
-0x63C4 # <CJK>
-0x63C6 # <CJK>
-0x63C9 # <CJK>
0x63CF # <CJK>
0x63D0 # <CJK>
-0x63D2 # <CJK>
-0x63D6 # <CJK>
0x63DA # <CJK>
0x63DB # <CJK>
0x63E1 # <CJK>
-0x63E3 # <CJK>
-0x63E9 # <CJK>
0x63EE # <CJK>
0x63F4 # <CJK>
-0x63F6 # <CJK>
0x63FA # <CJK>
-0x6406 # <CJK>
0x640D # <CJK>
-0x640F # <CJK>
-0x6413 # <CJK>
-0x6416 # <CJK>
-0x6417 # <CJK>
-0x641C # <CJK>
-0x6426 # <CJK>
-0x6428 # <CJK>
0x642C # <CJK>
0x642D # <CJK>
-0x6434 # <CJK>
-0x6436 # <CJK>
0x643A # <CJK>
0x643E # <CJK>
0x6442 # <CJK>
-0x644E # <CJK>
0x6458 # <CJK>
-0x6467 # <CJK>
0x6469 # <CJK>
0x646F # <CJK>
-0x6476 # <CJK>
-0x6478 # <CJK>
-0x647A # <CJK>
0x6483 # <CJK>
-0x6488 # <CJK>
-0x6492 # <CJK>
-0x6493 # <CJK>
-0x6495 # <CJK>
-0x649A # <CJK>
-0x649E # <CJK>
0x64A4 # <CJK>
-0x64A5 # <CJK>
-0x64A9 # <CJK>
-0x64AB # <CJK>
-0x64AD # <CJK>
0x64AE # <CJK>
-0x64B0 # <CJK>
0x64B2 # <CJK>
-0x64B9 # <CJK>
-0x64BB # <CJK>
-0x64BC # <CJK>
0x64C1 # <CJK>
-0x64C2 # <CJK>
-0x64C5 # <CJK>
-0x64C7 # <CJK>
0x64CD # <CJK>
-0x64D2 # <CJK>
-0x64D4 # <CJK>
-0x64D8 # <CJK>
-0x64DA # <CJK>
-0x64E0 # <CJK>
-0x64E1 # <CJK>
-0x64E2 # <CJK>
-0x64E3 # <CJK>
0x64E6 # <CJK>
-0x64E7 # <CJK>
0x64EC # <CJK>
-0x64EF # <CJK>
-0x64F1 # <CJK>
-0x64F2 # <CJK>
-0x64F4 # <CJK>
-0x64F6 # <CJK>
-0x64FA # <CJK>
-0x64FD # <CJK>
-0x64FE # <CJK>
-0x6500 # <CJK>
-0x6505 # <CJK>
-0x6518 # <CJK>
-0x651C # <CJK>
-0x651D # <CJK>
-0x6523 # <CJK>
-0x6524 # <CJK>
-0x652A # <CJK>
-0x652B # <CJK>
-0x652C # <CJK>
0x652F # <CJK>
-0x6534 # <CJK>
-0x6535 # <CJK>
-0x6536 # <CJK>
-0x6537 # <CJK>
-0x6538 # <CJK>
0x6539 # <CJK>
0x653B # <CJK>
0x653E # <CJK>
0x653F # <CJK>
0x6545 # <CJK>
-0x6548 # <CJK>
-0x654D # <CJK>
0x654F # <CJK>
0x6551 # <CJK>
-0x6555 # <CJK>
-0x6556 # <CJK>
0x6557 # <CJK>
-0x6558 # <CJK>
0x6559 # <CJK>
-0x655D # <CJK>
-0x655E # <CJK>
0x6562 # <CJK>
0x6563 # <CJK>
-0x6566 # <CJK>
0x656C # <CJK>
0x6570 # <CJK>
-0x6572 # <CJK>
0x6574 # <CJK>
0x6575 # <CJK>
0x6577 # <CJK>
-0x6578 # <CJK>
-0x6582 # <CJK>
-0x6583 # <CJK>
0x6587 # <CJK>
-0x6588 # <CJK>
0x6589 # <CJK>
-0x658C # <CJK>
0x658E # <CJK>
-0x6590 # <CJK>
0x6591 # <CJK>
0x6597 # <CJK>
0x6599 # <CJK>
-0x659B # <CJK>
0x659C # <CJK>
-0x659F # <CJK>
-0x65A1 # <CJK>
0x65A4 # <CJK>
0x65A5 # <CJK>
-0x65A7 # <CJK>
-0x65AB # <CJK>
0x65AC # <CJK>
0x65AD # <CJK>
-0x65AF # <CJK>
0x65B0 # <CJK>
-0x65B7 # <CJK>
0x65B9 # <CJK>
-0x65BC # <CJK>
0x65BD # <CJK>
-0x65C1 # <CJK>
-0x65C3 # <CJK>
-0x65C4 # <CJK>
0x65C5 # <CJK>
-0x65C6 # <CJK>
0x65CB # <CJK>
-0x65CC # <CJK>
0x65CF # <CJK>
-0x65D2 # <CJK>
0x65D7 # <CJK>
-0x65D9 # <CJK>
-0x65DB # <CJK>
-0x65E0 # <CJK>
-0x65E1 # <CJK>
0x65E2 # <CJK>
0x65E5 # <CJK>
0x65E6 # <CJK>
@@ -2338,21 +1110,12 @@
0x65E8 # <CJK>
0x65E9 # <CJK>
0x65EC # <CJK>
-0x65ED # <CJK>
-0x65F1 # <CJK>
0x65FA # <CJK>
-0x65FB # <CJK>
-0x6602 # <CJK>
-0x6603 # <CJK>
0x6606 # <CJK>
0x6607 # <CJK>
-0x660A # <CJK>
-0x660C # <CJK>
0x660E # <CJK>
-0x660F # <CJK>
0x6613 # <CJK>
0x6614 # <CJK>
-0x661C # <CJK>
0x661F # <CJK>
0x6620 # <CJK>
0x6625 # <CJK>
@@ -2360,146 +1123,59 @@
0x6628 # <CJK>
0x662D # <CJK>
0x662F # <CJK>
-0x6634 # <CJK>
-0x6635 # <CJK>
-0x6636 # <CJK>
0x663C # <CJK>
-0x663F # <CJK>
-0x6641 # <CJK>
0x6642 # <CJK>
-0x6643 # <CJK>
-0x6644 # <CJK>
-0x6649 # <CJK>
-0x664B # <CJK>
-0x664F # <CJK>
-0x6652 # <CJK>
-0x665D # <CJK>
-0x665E # <CJK>
-0x665F # <CJK>
-0x6662 # <CJK>
-0x6664 # <CJK>
-0x6666 # <CJK>
-0x6667 # <CJK>
-0x6668 # <CJK>
0x6669 # <CJK>
0x666E # <CJK>
0x666F # <CJK>
-0x6670 # <CJK>
0x6674 # <CJK>
0x6676 # <CJK>
-0x667A # <CJK>
0x6681 # <CJK>
-0x6683 # <CJK>
-0x6684 # <CJK>
0x6687 # <CJK>
-0x6688 # <CJK>
-0x6689 # <CJK>
-0x668E # <CJK>
0x6691 # <CJK>
0x6696 # <CJK>
0x6697 # <CJK>
-0x6698 # <CJK>
-0x669D # <CJK>
-0x66A2 # <CJK>
0x66A6 # <CJK>
0x66AB # <CJK>
0x66AE # <CJK>
0x66B4 # <CJK>
-0x66B8 # <CJK>
-0x66B9 # <CJK>
-0x66BC # <CJK>
-0x66BE # <CJK>
-0x66C1 # <CJK>
-0x66C4 # <CJK>
0x66C7 # <CJK>
-0x66C9 # <CJK>
0x66D6 # <CJK>
-0x66D9 # <CJK>
-0x66DA # <CJK>
0x66DC # <CJK>
-0x66DD # <CJK>
-0x66E0 # <CJK>
-0x66E6 # <CJK>
-0x66E9 # <CJK>
-0x66F0 # <CJK>
0x66F2 # <CJK>
-0x66F3 # <CJK>
0x66F4 # <CJK>
-0x66F5 # <CJK>
-0x66F7 # <CJK>
0x66F8 # <CJK>
0x66F9 # <CJK>
-0x66FC # <CJK>
0x66FD # <CJK>
-0x66FE # <CJK>
0x66FF # <CJK>
0x6700 # <CJK>
-0x6703 # <CJK>
0x6708 # <CJK>
0x6709 # <CJK>
-0x670B # <CJK>
0x670D # <CJK>
-0x670F # <CJK>
-0x6714 # <CJK>
0x6715 # <CJK>
-0x6716 # <CJK>
0x6717 # <CJK>
0x671B # <CJK>
0x671D # <CJK>
-0x671E # <CJK>
0x671F # <CJK>
-0x6726 # <CJK>
-0x6727 # <CJK>
0x6728 # <CJK>
0x672A # <CJK>
0x672B # <CJK>
0x672C # <CJK>
0x672D # <CJK>
-0x672E # <CJK>
0x6731 # <CJK>
0x6734 # <CJK>
-0x6736 # <CJK>
-0x6737 # <CJK>
-0x6738 # <CJK>
0x673A # <CJK>
0x673D # <CJK>
-0x673F # <CJK>
-0x6741 # <CJK>
-0x6746 # <CJK>
0x6749 # <CJK>
-0x674E # <CJK>
-0x674F # <CJK>
0x6750 # <CJK>
0x6751 # <CJK>
-0x6753 # <CJK>
-0x6756 # <CJK>
-0x6759 # <CJK>
-0x675C # <CJK>
-0x675E # <CJK>
0x675F # <CJK>
-0x6760 # <CJK>
0x6761 # <CJK>
-0x6762 # <CJK>
-0x6763 # <CJK>
-0x6764 # <CJK>
0x6765 # <CJK>
-0x676A # <CJK>
-0x676D # <CJK>
0x676F # <CJK>
-0x6770 # <CJK>
0x6771 # <CJK>
-0x6772 # <CJK>
-0x6773 # <CJK>
-0x6775 # <CJK>
-0x6777 # <CJK>
-0x677C # <CJK>
0x677E # <CJK>
0x677F # <CJK>
-0x6785 # <CJK>
-0x6787 # <CJK>
-0x6789 # <CJK>
-0x678B # <CJK>
-0x678C # <CJK>
0x6790 # <CJK>
0x6795 # <CJK>
0x6797 # <CJK>
@@ -2507,2836 +1183,820 @@
0x679C # <CJK>
0x679D # <CJK>
0x67A0 # <CJK>
-0x67A1 # <CJK>
0x67A2 # <CJK>
-0x67A6 # <CJK>
-0x67A9 # <CJK>
0x67AF # <CJK>
-0x67B3 # <CJK>
-0x67B4 # <CJK>
0x67B6 # <CJK>
-0x67B7 # <CJK>
-0x67B8 # <CJK>
-0x67B9 # <CJK>
-0x67C1 # <CJK>
0x67C4 # <CJK>
-0x67C6 # <CJK>
-0x67CA # <CJK>
-0x67CE # <CJK>
-0x67CF # <CJK>
0x67D0 # <CJK>
-0x67D1 # <CJK>
0x67D3 # <CJK>
0x67D4 # <CJK>
-0x67D8 # <CJK>
-0x67DA # <CJK>
-0x67DD # <CJK>
-0x67DE # <CJK>
-0x67E2 # <CJK>
-0x67E4 # <CJK>
-0x67E7 # <CJK>
-0x67E9 # <CJK>
-0x67EC # <CJK>
-0x67EE # <CJK>
-0x67EF # <CJK>
0x67F1 # <CJK>
0x67F3 # <CJK>
-0x67F4 # <CJK>
0x67F5 # <CJK>
0x67FB # <CJK>
-0x67FE # <CJK>
0x67FF # <CJK>
-0x6802 # <CJK>
0x6803 # <CJK>
0x6804 # <CJK>
0x6813 # <CJK>
-0x6816 # <CJK>
-0x6817 # <CJK>
-0x681E # <CJK>
0x6821 # <CJK>
-0x6822 # <CJK>
-0x6829 # <CJK>
0x682A # <CJK>
-0x682B # <CJK>
-0x6832 # <CJK>
-0x6834 # <CJK>
0x6838 # <CJK>
0x6839 # <CJK>
0x683C # <CJK>
0x683D # <CJK>
-0x6840 # <CJK>
0x6841 # <CJK>
-0x6842 # <CJK>
0x6843 # <CJK>
-0x6846 # <CJK>
0x6848 # <CJK>
-0x684D # <CJK>
-0x684E # <CJK>
-0x6850 # <CJK>
0x6851 # <CJK>
-0x6853 # <CJK>
-0x6854 # <CJK>
-0x6859 # <CJK>
0x685C # <CJK>
-0x685D # <CJK>
0x685F # <CJK>
-0x6863 # <CJK>
-0x6867 # <CJK>
-0x6874 # <CJK>
-0x6876 # <CJK>
-0x6877 # <CJK>
-0x687E # <CJK>
-0x687F # <CJK>
-0x6881 # <CJK>
-0x6883 # <CJK>
0x6885 # <CJK>
-0x688D # <CJK>
-0x688F # <CJK>
-0x6893 # <CJK>
-0x6894 # <CJK>
0x6897 # <CJK>
-0x689B # <CJK>
-0x689D # <CJK>
-0x689F # <CJK>
-0x68A0 # <CJK>
-0x68A2 # <CJK>
-0x68A6 # <CJK>
-0x68A7 # <CJK>
0x68A8 # <CJK>
-0x68AD # <CJK>
-0x68AF # <CJK>
0x68B0 # <CJK>
-0x68B1 # <CJK>
-0x68B3 # <CJK>
-0x68B5 # <CJK>
-0x68B6 # <CJK>
-0x68B9 # <CJK>
-0x68BA # <CJK>
-0x68BC # <CJK>
0x68C4 # <CJK>
-0x68C6 # <CJK>
-0x68C9 # <CJK>
-0x68CA # <CJK>
0x68CB # <CJK>
-0x68CD # <CJK>
0x68D2 # <CJK>
-0x68D4 # <CJK>
-0x68D5 # <CJK>
-0x68D7 # <CJK>
-0x68D8 # <CJK>
0x68DA # <CJK>
0x68DF # <CJK>
-0x68E0 # <CJK>
-0x68E1 # <CJK>
-0x68E3 # <CJK>
-0x68E7 # <CJK>
0x68EE # <CJK>
-0x68EF # <CJK>
-0x68F2 # <CJK>
-0x68F9 # <CJK>
0x68FA # <CJK>
-0x6900 # <CJK>
-0x6901 # <CJK>
-0x6904 # <CJK>
0x6905 # <CJK>
-0x6908 # <CJK>
-0x690B # <CJK>
-0x690C # <CJK>
0x690D # <CJK>
0x690E # <CJK>
-0x690F # <CJK>
-0x6912 # <CJK>
-0x6919 # <CJK>
-0x691A # <CJK>
-0x691B # <CJK>
0x691C # <CJK>
-0x6921 # <CJK>
-0x6922 # <CJK>
-0x6923 # <CJK>
-0x6925 # <CJK>
-0x6926 # <CJK>
-0x6928 # <CJK>
-0x692A # <CJK>
-0x6930 # <CJK>
-0x6934 # <CJK>
-0x6936 # <CJK>
-0x6939 # <CJK>
-0x693D # <CJK>
-0x693F # <CJK>
-0x694A # <CJK>
-0x6953 # <CJK>
-0x6954 # <CJK>
-0x6955 # <CJK>
-0x6959 # <CJK>
-0x695A # <CJK>
-0x695C # <CJK>
-0x695D # <CJK>
-0x695E # <CJK>
-0x6960 # <CJK>
-0x6961 # <CJK>
-0x6962 # <CJK>
-0x696A # <CJK>
-0x696B # <CJK>
0x696D # <CJK>
-0x696E # <CJK>
-0x696F # <CJK>
-0x6973 # <CJK>
-0x6974 # <CJK>
0x6975 # <CJK>
0x6977 # <CJK>
-0x6978 # <CJK>
-0x6979 # <CJK>
0x697C # <CJK>
0x697D # <CJK>
-0x697E # <CJK>
-0x6981 # <CJK>
0x6982 # <CJK>
-0x698A # <CJK>
-0x698E # <CJK>
-0x6991 # <CJK>
-0x6994 # <CJK>
-0x6995 # <CJK>
-0x699B # <CJK>
-0x699C # <CJK>
-0x69A0 # <CJK>
-0x69A7 # <CJK>
-0x69AE # <CJK>
-0x69B1 # <CJK>
-0x69B2 # <CJK>
-0x69B4 # <CJK>
-0x69BB # <CJK>
-0x69BE # <CJK>
-0x69BF # <CJK>
-0x69C1 # <CJK>
-0x69C3 # <CJK>
-0x69C7 # <CJK>
-0x69CA # <CJK>
0x69CB # <CJK>
-0x69CC # <CJK>
-0x69CD # <CJK>
-0x69CE # <CJK>
-0x69D0 # <CJK>
-0x69D3 # <CJK>
0x69D8 # <CJK>
-0x69D9 # <CJK>
-0x69DD # <CJK>
-0x69DE # <CJK>
-0x69E7 # <CJK>
-0x69E8 # <CJK>
-0x69EB # <CJK>
-0x69ED # <CJK>
-0x69F2 # <CJK>
-0x69F9 # <CJK>
-0x69FB # <CJK>
0x69FD # <CJK>
-0x69FF # <CJK>
-0x6A02 # <CJK>
-0x6A05 # <CJK>
-0x6A0A # <CJK>
-0x6A0B # <CJK>
-0x6A0C # <CJK>
-0x6A12 # <CJK>
-0x6A13 # <CJK>
-0x6A14 # <CJK>
-0x6A17 # <CJK>
0x6A19 # <CJK>
-0x6A1B # <CJK>
-0x6A1E # <CJK>
-0x6A1F # <CJK>
0x6A21 # <CJK>
-0x6A22 # <CJK>
-0x6A23 # <CJK>
0x6A29 # <CJK>
0x6A2A # <CJK>
-0x6A2B # <CJK>
-0x6A2E # <CJK>
-0x6A35 # <CJK>
-0x6A36 # <CJK>
-0x6A38 # <CJK>
0x6A39 # <CJK>
-0x6A3A # <CJK>
-0x6A3D # <CJK>
-0x6A44 # <CJK>
-0x6A47 # <CJK>
-0x6A48 # <CJK>
0x6A4B # <CJK>
-0x6A58 # <CJK>
-0x6A59 # <CJK>
0x6A5F # <CJK>
-0x6A61 # <CJK>
-0x6A62 # <CJK>
-0x6A66 # <CJK>
-0x6A72 # <CJK>
-0x6A78 # <CJK>
-0x6A7F # <CJK>
-0x6A80 # <CJK>
-0x6A84 # <CJK>
-0x6A8D # <CJK>
-0x6A8E # <CJK>
-0x6A90 # <CJK>
-0x6A97 # <CJK>
-0x6A9C # <CJK>
-0x6AA0 # <CJK>
-0x6AA2 # <CJK>
-0x6AA3 # <CJK>
-0x6AAA # <CJK>
-0x6AAC # <CJK>
-0x6AAE # <CJK>
-0x6AB3 # <CJK>
-0x6AB8 # <CJK>
-0x6ABB # <CJK>
-0x6AC1 # <CJK>
-0x6AC2 # <CJK>
-0x6AC3 # <CJK>
-0x6AD1 # <CJK>
-0x6AD3 # <CJK>
-0x6ADA # <CJK>
-0x6ADB # <CJK>
-0x6ADE # <CJK>
-0x6ADF # <CJK>
-0x6AE8 # <CJK>
-0x6AEA # <CJK>
-0x6AFA # <CJK>
-0x6AFB # <CJK>
0x6B04 # <CJK>
-0x6B05 # <CJK>
-0x6B0A # <CJK>
-0x6B12 # <CJK>
-0x6B16 # <CJK>
-0x6B1D # <CJK>
-0x6B1F # <CJK>
0x6B20 # <CJK>
0x6B21 # <CJK>
-0x6B23 # <CJK>
0x6B27 # <CJK>
0x6B32 # <CJK>
-0x6B37 # <CJK>
-0x6B38 # <CJK>
-0x6B39 # <CJK>
0x6B3A # <CJK>
-0x6B3D # <CJK>
0x6B3E # <CJK>
-0x6B43 # <CJK>
-0x6B47 # <CJK>
-0x6B49 # <CJK>
0x6B4C # <CJK>
-0x6B4E # <CJK>
-0x6B50 # <CJK>
0x6B53 # <CJK>
-0x6B54 # <CJK>
-0x6B59 # <CJK>
-0x6B5B # <CJK>
-0x6B5F # <CJK>
-0x6B61 # <CJK>
0x6B62 # <CJK>
0x6B63 # <CJK>
-0x6B64 # <CJK>
0x6B66 # <CJK>
0x6B69 # <CJK>
-0x6B6A # <CJK>
0x6B6F # <CJK>
0x6B73 # <CJK>
0x6B74 # <CJK>
-0x6B78 # <CJK>
-0x6B79 # <CJK>
0x6B7B # <CJK>
-0x6B7F # <CJK>
-0x6B80 # <CJK>
-0x6B83 # <CJK>
-0x6B84 # <CJK>
-0x6B86 # <CJK>
0x6B89 # <CJK>
0x6B8A # <CJK>
0x6B8B # <CJK>
-0x6B8D # <CJK>
-0x6B95 # <CJK>
0x6B96 # <CJK>
-0x6B98 # <CJK>
-0x6B9E # <CJK>
-0x6BA4 # <CJK>
-0x6BAA # <CJK>
-0x6BAB # <CJK>
-0x6BAF # <CJK>
-0x6BB1 # <CJK>
-0x6BB2 # <CJK>
-0x6BB3 # <CJK>
0x6BB4 # <CJK>
0x6BB5 # <CJK>
-0x6BB7 # <CJK>
0x6BBA # <CJK>
0x6BBB # <CJK>
-0x6BBC # <CJK>
0x6BBF # <CJK>
0x6BC0 # <CJK>
-0x6BC5 # <CJK>
-0x6BC6 # <CJK>
-0x6BCB # <CJK>
0x6BCD # <CJK>
0x6BCE # <CJK>
0x6BD2 # <CJK>
-0x6BD3 # <CJK>
0x6BD4 # <CJK>
-0x6BD8 # <CJK>
0x6BDB # <CJK>
-0x6BDF # <CJK>
-0x6BEB # <CJK>
-0x6BEC # <CJK>
-0x6BEF # <CJK>
-0x6BF3 # <CJK>
-0x6C08 # <CJK>
0x6C0F # <CJK>
0x6C11 # <CJK>
-0x6C13 # <CJK>
-0x6C14 # <CJK>
0x6C17 # <CJK>
-0x6C1B # <CJK>
-0x6C23 # <CJK>
-0x6C24 # <CJK>
0x6C34 # <CJK>
0x6C37 # <CJK>
0x6C38 # <CJK>
0x6C3E # <CJK>
-0x6C40 # <CJK>
0x6C41 # <CJK>
0x6C42 # <CJK>
0x6C4E # <CJK>
-0x6C50 # <CJK>
-0x6C55 # <CJK>
0x6C57 # <CJK>
0x6C5A # <CJK>
-0x6C5D # <CJK>
-0x6C5E # <CJK>
0x6C5F # <CJK>
0x6C60 # <CJK>
-0x6C62 # <CJK>
-0x6C68 # <CJK>
-0x6C6A # <CJK>
0x6C70 # <CJK>
-0x6C72 # <CJK>
-0x6C73 # <CJK>
0x6C7A # <CJK>
0x6C7D # <CJK>
-0x6C7E # <CJK>
-0x6C81 # <CJK>
-0x6C82 # <CJK>
0x6C83 # <CJK>
0x6C88 # <CJK>
-0x6C8C # <CJK>
-0x6C8D # <CJK>
-0x6C90 # <CJK>
-0x6C92 # <CJK>
-0x6C93 # <CJK>
0x6C96 # <CJK>
0x6C99 # <CJK>
-0x6C9A # <CJK>
-0x6C9B # <CJK>
0x6CA1 # <CJK>
0x6CA2 # <CJK>
-0x6CAB # <CJK>
-0x6CAE # <CJK>
-0x6CB1 # <CJK>
0x6CB3 # <CJK>
0x6CB8 # <CJK>
0x6CB9 # <CJK>
-0x6CBA # <CJK>
0x6CBB # <CJK>
0x6CBC # <CJK>
-0x6CBD # <CJK>
-0x6CBE # <CJK>
0x6CBF # <CJK>
0x6CC1 # <CJK>
-0x6CC4 # <CJK>
-0x6CC5 # <CJK>
0x6CC9 # <CJK>
0x6CCA # <CJK>
0x6CCC # <CJK>
-0x6CD3 # <CJK>
0x6CD5 # <CJK>
-0x6CD7 # <CJK>
-0x6CD9 # <CJK>
-0x6CDB # <CJK>
-0x6CDD # <CJK>
0x6CE1 # <CJK>
0x6CE2 # <CJK>
0x6CE3 # <CJK>
0x6CE5 # <CJK>
0x6CE8 # <CJK>
-0x6CEA # <CJK>
-0x6CEF # <CJK>
0x6CF0 # <CJK>
-0x6CF1 # <CJK>
0x6CF3 # <CJK>
0x6D0B # <CJK>
-0x6D0C # <CJK>
-0x6D12 # <CJK>
0x6D17 # <CJK>
-0x6D19 # <CJK>
-0x6D1B # <CJK>
0x6D1E # <CJK>
-0x6D1F # <CJK>
0x6D25 # <CJK>
-0x6D29 # <CJK>
0x6D2A # <CJK>
-0x6D2B # <CJK>
-0x6D32 # <CJK>
-0x6D33 # <CJK>
-0x6D35 # <CJK>
-0x6D36 # <CJK>
-0x6D38 # <CJK>
0x6D3B # <CJK>
-0x6D3D # <CJK>
0x6D3E # <CJK>
0x6D41 # <CJK>
0x6D44 # <CJK>
0x6D45 # <CJK>
-0x6D59 # <CJK>
-0x6D5A # <CJK>
0x6D5C # <CJK>
-0x6D63 # <CJK>
-0x6D64 # <CJK>
0x6D66 # <CJK>
-0x6D69 # <CJK>
0x6D6A # <CJK>
-0x6D6C # <CJK>
0x6D6E # <CJK>
0x6D74 # <CJK>
0x6D77 # <CJK>
0x6D78 # <CJK>
-0x6D79 # <CJK>
-0x6D85 # <CJK>
0x6D88 # <CJK>
-0x6D8C # <CJK>
-0x6D8E # <CJK>
-0x6D93 # <CJK>
-0x6D95 # <CJK>
0x6D99 # <CJK>
-0x6D9B # <CJK>
-0x6D9C # <CJK>
0x6DAF # <CJK>
0x6DB2 # <CJK>
-0x6DB5 # <CJK>
-0x6DB8 # <CJK>
0x6DBC # <CJK>
-0x6DC0 # <CJK>
-0x6DC5 # <CJK>
-0x6DC6 # <CJK>
-0x6DC7 # <CJK>
-0x6DCB # <CJK>
-0x6DCC # <CJK>
0x6DD1 # <CJK>
-0x6DD2 # <CJK>
-0x6DD5 # <CJK>
-0x6DD8 # <CJK>
-0x6DD9 # <CJK>
-0x6DDE # <CJK>
0x6DE1 # <CJK>
-0x6DE4 # <CJK>
-0x6DE6 # <CJK>
-0x6DE8 # <CJK>
-0x6DEA # <CJK>
0x6DEB # <CJK>
-0x6DEC # <CJK>
-0x6DEE # <CJK>
0x6DF1 # <CJK>
-0x6DF3 # <CJK>
-0x6DF5 # <CJK>
0x6DF7 # <CJK>
-0x6DF9 # <CJK>
-0x6DFA # <CJK>
0x6DFB # <CJK>
0x6E05 # <CJK>
0x6E07 # <CJK>
0x6E08 # <CJK>
0x6E09 # <CJK>
-0x6E0A # <CJK>
0x6E0B # <CJK>
0x6E13 # <CJK>
-0x6E15 # <CJK>
-0x6E19 # <CJK>
-0x6E1A # <CJK>
0x6E1B # <CJK>
-0x6E1D # <CJK>
-0x6E1F # <CJK>
-0x6E20 # <CJK>
0x6E21 # <CJK>
-0x6E23 # <CJK>
-0x6E24 # <CJK>
-0x6E25 # <CJK>
0x6E26 # <CJK>
0x6E29 # <CJK>
-0x6E2B # <CJK>
0x6E2C # <CJK>
-0x6E2D # <CJK>
-0x6E2E # <CJK>
0x6E2F # <CJK>
-0x6E38 # <CJK>
-0x6E3A # <CJK>
-0x6E3E # <CJK>
-0x6E43 # <CJK>
-0x6E4A # <CJK>
-0x6E4D # <CJK>
-0x6E4E # <CJK>
0x6E56 # <CJK>
-0x6E58 # <CJK>
-0x6E5B # <CJK>
-0x6E5F # <CJK>
0x6E67 # <CJK>
-0x6E6B # <CJK>
-0x6E6E # <CJK>
0x6E6F # <CJK>
-0x6E72 # <CJK>
-0x6E76 # <CJK>
0x6E7E # <CJK>
0x6E7F # <CJK>
0x6E80 # <CJK>
-0x6E82 # <CJK>
-0x6E8C # <CJK>
-0x6E8F # <CJK>
0x6E90 # <CJK>
0x6E96 # <CJK>
-0x6E98 # <CJK>
-0x6E9C # <CJK>
0x6E9D # <CJK>
-0x6E9F # <CJK>
-0x6EA2 # <CJK>
-0x6EA5 # <CJK>
-0x6EAA # <CJK>
-0x6EAF # <CJK>
-0x6EB2 # <CJK>
0x6EB6 # <CJK>
-0x6EB7 # <CJK>
0x6EBA # <CJK>
-0x6EBD # <CJK>
-0x6EC2 # <CJK>
-0x6EC4 # <CJK>
0x6EC5 # <CJK>
-0x6EC9 # <CJK>
0x6ECB # <CJK>
-0x6ECC # <CJK>
0x6ED1 # <CJK>
-0x6ED3 # <CJK>
-0x6ED4 # <CJK>
-0x6ED5 # <CJK>
0x6EDD # <CJK>
0x6EDE # <CJK>
-0x6EEC # <CJK>
-0x6EEF # <CJK>
-0x6EF2 # <CJK>
0x6EF4 # <CJK>
-0x6EF7 # <CJK>
-0x6EF8 # <CJK>
-0x6EFE # <CJK>
-0x6EFF # <CJK>
0x6F01 # <CJK>
0x6F02 # <CJK>
0x6F06 # <CJK>
-0x6F09 # <CJK>
0x6F0F # <CJK>
-0x6F11 # <CJK>
-0x6F13 # <CJK>
0x6F14 # <CJK>
-0x6F15 # <CJK>
0x6F20 # <CJK>
0x6F22 # <CJK>
-0x6F23 # <CJK>
0x6F2B # <CJK>
0x6F2C # <CJK>
-0x6F31 # <CJK>
-0x6F32 # <CJK>
0x6F38 # <CJK>
-0x6F3E # <CJK>
-0x6F3F # <CJK>
-0x6F41 # <CJK>
-0x6F45 # <CJK>
0x6F54 # <CJK>
-0x6F58 # <CJK>
-0x6F5B # <CJK>
0x6F5C # <CJK>
0x6F5F # <CJK>
0x6F64 # <CJK>
-0x6F66 # <CJK>
-0x6F6D # <CJK>
0x6F6E # <CJK>
-0x6F6F # <CJK>
0x6F70 # <CJK>
-0x6F74 # <CJK>
-0x6F78 # <CJK>
-0x6F7A # <CJK>
-0x6F7C # <CJK>
-0x6F80 # <CJK>
-0x6F81 # <CJK>
-0x6F82 # <CJK>
0x6F84 # <CJK>
-0x6F86 # <CJK>
-0x6F8E # <CJK>
-0x6F91 # <CJK>
-0x6F97 # <CJK>
-0x6FA1 # <CJK>
-0x6FA3 # <CJK>
-0x6FA4 # <CJK>
-0x6FAA # <CJK>
-0x6FB1 # <CJK>
-0x6FB3 # <CJK>
-0x6FB9 # <CJK>
0x6FC0 # <CJK>
0x6FC1 # <CJK>
-0x6FC2 # <CJK>
0x6FC3 # <CJK>
-0x6FC6 # <CJK>
-0x6FD4 # <CJK>
-0x6FD5 # <CJK>
-0x6FD8 # <CJK>
-0x6FDB # <CJK>
-0x6FDF # <CJK>
-0x6FE0 # <CJK>
-0x6FE1 # <CJK>
-0x6FE4 # <CJK>
0x6FEB # <CJK>
-0x6FEC # <CJK>
-0x6FEE # <CJK>
0x6FEF # <CJK>
-0x6FF1 # <CJK>
-0x6FF3 # <CJK>
-0x6FF6 # <CJK>
-0x6FFA # <CJK>
-0x6FFE # <CJK>
-0x7001 # <CJK>
-0x7009 # <CJK>
-0x700B # <CJK>
-0x700F # <CJK>
-0x7011 # <CJK>
-0x7015 # <CJK>
-0x7018 # <CJK>
-0x701A # <CJK>
-0x701B # <CJK>
-0x701D # <CJK>
-0x701E # <CJK>
-0x701F # <CJK>
-0x7026 # <CJK>
-0x7027 # <CJK>
0x702C # <CJK>
-0x7030 # <CJK>
-0x7032 # <CJK>
-0x703E # <CJK>
-0x704C # <CJK>
-0x7051 # <CJK>
-0x7058 # <CJK>
-0x7063 # <CJK>
0x706B # <CJK>
0x706F # <CJK>
0x7070 # <CJK>
-0x7078 # <CJK>
-0x707C # <CJK>
0x707D # <CJK>
0x7089 # <CJK>
0x708A # <CJK>
0x708E # <CJK>
-0x7092 # <CJK>
-0x7099 # <CJK>
-0x70AC # <CJK>
0x70AD # <CJK>
-0x70AE # <CJK>
-0x70AF # <CJK>
-0x70B3 # <CJK>
-0x70B8 # <CJK>
0x70B9 # <CJK>
0x70BA # <CJK>
0x70C8 # <CJK>
-0x70CB # <CJK>
-0x70CF # <CJK>
-0x70D9 # <CJK>
-0x70DD # <CJK>
-0x70DF # <CJK>
-0x70F1 # <CJK>
-0x70F9 # <CJK>
-0x70FD # <CJK>
-0x7109 # <CJK>
-0x7114 # <CJK>
-0x7119 # <CJK>
-0x711A # <CJK>
-0x711C # <CJK>
0x7121 # <CJK>
0x7126 # <CJK>
0x7136 # <CJK>
0x713C # <CJK>
-0x7149 # <CJK>
-0x714C # <CJK>
0x714E # <CJK>
-0x7155 # <CJK>
-0x7156 # <CJK>
0x7159 # <CJK>
-0x7162 # <CJK>
-0x7164 # <CJK>
-0x7165 # <CJK>
-0x7166 # <CJK>
0x7167 # <CJK>
0x7169 # <CJK>
-0x716C # <CJK>
0x716E # <CJK>
-0x717D # <CJK>
-0x7184 # <CJK>
-0x7188 # <CJK>
0x718A # <CJK>
-0x718F # <CJK>
-0x7194 # <CJK>
-0x7195 # <CJK>
-#0x7199 # <CJK> # not in kochi fonts
0x719F # <CJK>
-0x71A8 # <CJK>
-0x71AC # <CJK>
0x71B1 # <CJK>
-0x71B9 # <CJK>
-0x71BE # <CJK>
0x71C3 # <CJK>
-0x71C8 # <CJK>
-0x71C9 # <CJK>
-0x71CE # <CJK>
-0x71D0 # <CJK>
-0x71D2 # <CJK>
-0x71D4 # <CJK>
-0x71D5 # <CJK>
-0x71D7 # <CJK>
-0x71DF # <CJK>
-0x71E0 # <CJK>
0x71E5 # <CJK>
-0x71E6 # <CJK>
-0x71E7 # <CJK>
-0x71EC # <CJK>
-0x71ED # <CJK>
-0x71EE # <CJK>
-0x71F5 # <CJK>
-0x71F9 # <CJK>
-0x71FB # <CJK>
-0x71FC # <CJK>
-0x71FF # <CJK>
0x7206 # <CJK>
-0x720D # <CJK>
-0x7210 # <CJK>
-0x721B # <CJK>
-0x7228 # <CJK>
0x722A # <CJK>
-0x722C # <CJK>
-0x722D # <CJK>
-0x7230 # <CJK>
-0x7232 # <CJK>
0x7235 # <CJK>
0x7236 # <CJK>
-0x723A # <CJK>
-0x723B # <CJK>
-0x723C # <CJK>
0x723D # <CJK>
-0x723E # <CJK>
-0x723F # <CJK>
-0x7240 # <CJK>
-0x7246 # <CJK>
0x7247 # <CJK>
0x7248 # <CJK>
-0x724B # <CJK>
-0x724C # <CJK>
-0x7252 # <CJK>
-0x7258 # <CJK>
0x7259 # <CJK>
0x725B # <CJK>
-0x725D # <CJK>
-0x725F # <CJK>
-0x7261 # <CJK>
-0x7262 # <CJK>
0x7267 # <CJK>
0x7269 # <CJK>
0x7272 # <CJK>
-0x7274 # <CJK>
0x7279 # <CJK>
-0x727D # <CJK>
-0x727E # <CJK>
-0x7280 # <CJK>
-0x7281 # <CJK>
-0x7282 # <CJK>
-0x7287 # <CJK>
-0x7292 # <CJK>
-0x7296 # <CJK>
0x72A0 # <CJK>
-0x72A2 # <CJK>
-0x72A7 # <CJK>
0x72AC # <CJK>
0x72AF # <CJK>
-0x72B2 # <CJK>
0x72B6 # <CJK>
-0x72B9 # <CJK>
0x72C2 # <CJK>
-0x72C3 # <CJK>
-0x72C4 # <CJK>
-0x72C6 # <CJK>
-0x72CE # <CJK>
-0x72D0 # <CJK>
-0x72D2 # <CJK>
-0x72D7 # <CJK>
0x72D9 # <CJK>
-0x72DB # <CJK>
-0x72E0 # <CJK>
-0x72E1 # <CJK>
-0x72E2 # <CJK>
0x72E9 # <CJK>
0x72EC # <CJK>
0x72ED # <CJK>
-0x72F7 # <CJK>
-0x72F8 # <CJK>
-0x72F9 # <CJK>
-0x72FC # <CJK>
-0x72FD # <CJK>
-0x730A # <CJK>
-0x7316 # <CJK>
-0x7317 # <CJK>
0x731B # <CJK>
-0x731C # <CJK>
-0x731D # <CJK>
0x731F # <CJK>
-0x7325 # <CJK>
-0x7329 # <CJK>
-0x732A # <CJK>
0x732B # <CJK>
0x732E # <CJK>
-0x732F # <CJK>
-0x7334 # <CJK>
0x7336 # <CJK>
-0x7337 # <CJK>
-0x733E # <CJK>
0x733F # <CJK>
0x7344 # <CJK>
-0x7345 # <CJK>
-0x734E # <CJK>
-0x734F # <CJK>
-0x7357 # <CJK>
0x7363 # <CJK>
-0x7368 # <CJK>
-0x736A # <CJK>
-0x7370 # <CJK>
0x7372 # <CJK>
-0x7375 # <CJK>
-0x7378 # <CJK>
-0x737A # <CJK>
-0x737B # <CJK>
0x7384 # <CJK>
0x7387 # <CJK>
0x7389 # <CJK>
0x738B # <CJK>
-0x7396 # <CJK>
0x73A9 # <CJK>
-0x73B2 # <CJK>
-0x73B3 # <CJK>
-0x73BB # <CJK>
-0x73C0 # <CJK>
-0x73C2 # <CJK>
-0x73C8 # <CJK>
-0x73CA # <CJK>
0x73CD # <CJK>
-0x73CE # <CJK>
-0x73DE # <CJK>
0x73E0 # <CJK>
-0x73E5 # <CJK>
-0x73EA # <CJK>
0x73ED # <CJK>
-0x73EE # <CJK>
-0x73F1 # <CJK>
-0x73F8 # <CJK>
0x73FE # <CJK>
0x7403 # <CJK>
-0x7405 # <CJK>
0x7406 # <CJK>
-0x7409 # <CJK>
-0x7422 # <CJK>
-0x7425 # <CJK>
-0x7432 # <CJK>
-0x7433 # <CJK>
0x7434 # <CJK>
-0x7435 # <CJK>
-0x7436 # <CJK>
-0x743A # <CJK>
-0x743F # <CJK>
-0x7441 # <CJK>
-0x7455 # <CJK>
-0x7459 # <CJK>
-0x745A # <CJK>
-0x745B # <CJK>
-0x745C # <CJK>
-0x745E # <CJK>
-0x745F # <CJK>
0x7460 # <CJK>
-0x7463 # <CJK>
-0x7464 # <CJK>
-0x7469 # <CJK>
-0x746A # <CJK>
-0x746F # <CJK>
-0x7470 # <CJK>
-0x7473 # <CJK>
-0x7476 # <CJK>
-0x747E # <CJK>
0x7483 # <CJK>
-0x748B # <CJK>
-0x749E # <CJK>
-0x74A2 # <CJK>
0x74A7 # <CJK>
0x74B0 # <CJK>
0x74BD # <CJK>
-0x74CA # <CJK>
-0x74CF # <CJK>
-0x74D4 # <CJK>
-0x74DC # <CJK>
-0x74E0 # <CJK>
-0x74E2 # <CJK>
-0x74E3 # <CJK>
0x74E6 # <CJK>
-0x74E7 # <CJK>
-0x74E9 # <CJK>
-0x74EE # <CJK>
-0x74F0 # <CJK>
-0x74F1 # <CJK>
-0x74F2 # <CJK>
0x74F6 # <CJK>
-0x74F7 # <CJK>
-0x74F8 # <CJK>
-0x7503 # <CJK>
-0x7504 # <CJK>
-0x7505 # <CJK>
-0x750C # <CJK>
-0x750D # <CJK>
-0x750E # <CJK>
-0x7511 # <CJK>
-0x7513 # <CJK>
-0x7515 # <CJK>
0x7518 # <CJK>
0x751A # <CJK>
-0x751C # <CJK>
-0x751E # <CJK>
0x751F # <CJK>
0x7523 # <CJK>
-0x7525 # <CJK>
-0x7526 # <CJK>
0x7528 # <CJK>
-0x752B # <CJK>
-0x752C # <CJK>
0x7530 # <CJK>
0x7531 # <CJK>
0x7532 # <CJK>
0x7533 # <CJK>
0x7537 # <CJK>
-0x7538 # <CJK>
0x753A # <CJK>
0x753B # <CJK>
-0x753C # <CJK>
-0x7544 # <CJK>
-0x7546 # <CJK>
-0x7549 # <CJK>
-0x754A # <CJK>
-0x754B # <CJK>
0x754C # <CJK>
-0x754D # <CJK>
0x754F # <CJK>
0x7551 # <CJK>
0x7554 # <CJK>
0x7559 # <CJK>
-0x755A # <CJK>
-0x755B # <CJK>
0x755C # <CJK>
0x755D # <CJK>
-0x7560 # <CJK>
-0x7562 # <CJK>
-0x7564 # <CJK>
0x7565 # <CJK>
-0x7566 # <CJK>
-0x7567 # <CJK>
-0x7569 # <CJK>
0x756A # <CJK>
-0x756B # <CJK>
-0x756D # <CJK>
0x7570 # <CJK>
0x7573 # <CJK>
-0x7574 # <CJK>
-0x7576 # <CJK>
-0x7577 # <CJK>
-0x7578 # <CJK>
0x757F # <CJK>
-0x7582 # <CJK>
-0x7586 # <CJK>
-0x7587 # <CJK>
-0x7589 # <CJK>
-0x758A # <CJK>
-0x758B # <CJK>
0x758E # <CJK>
-0x758F # <CJK>
0x7591 # <CJK>
-0x7594 # <CJK>
-0x759A # <CJK>
-0x759D # <CJK>
-0x75A3 # <CJK>
-0x75A5 # <CJK>
0x75AB # <CJK>
-0x75B1 # <CJK>
0x75B2 # <CJK>
-0x75B3 # <CJK>
-0x75B5 # <CJK>
-0x75B8 # <CJK>
-0x75B9 # <CJK>
-0x75BC # <CJK>
-0x75BD # <CJK>
0x75BE # <CJK>
-0x75C2 # <CJK>
-0x75C3 # <CJK>
0x75C5 # <CJK>
0x75C7 # <CJK>
-0x75CA # <CJK>
-0x75CD # <CJK>
-0x75D2 # <CJK>
-0x75D4 # <CJK>
0x75D5 # <CJK>
0x75D8 # <CJK>
-0x75D9 # <CJK>
0x75DB # <CJK>
-0x75DE # <CJK>
0x75E2 # <CJK>
-0x75E3 # <CJK>
0x75E9 # <CJK>
-0x75F0 # <CJK>
-0x75F2 # <CJK>
-0x75F3 # <CJK>
0x75F4 # <CJK>
-0x75FA # <CJK>
-0x75FC # <CJK>
-0x75FE # <CJK>
-0x75FF # <CJK>
-0x7601 # <CJK>
-0x7609 # <CJK>
-0x760B # <CJK>
0x760D # <CJK>
-0x761F # <CJK>
-0x7620 # <CJK>
-0x7621 # <CJK>
-0x7622 # <CJK>
-0x7624 # <CJK>
-0x7627 # <CJK>
-0x7630 # <CJK>
-0x7634 # <CJK>
-0x763B # <CJK>
0x7642 # <CJK>
-0x7646 # <CJK>
-0x7647 # <CJK>
-0x7648 # <CJK>
-0x764C # <CJK>
0x7652 # <CJK>
0x7656 # <CJK>
-0x7658 # <CJK>
-0x765C # <CJK>
-0x7661 # <CJK>
-0x7662 # <CJK>
-0x7667 # <CJK>
-0x7668 # <CJK>
-0x7669 # <CJK>
-0x766A # <CJK>
-0x766C # <CJK>
-0x7670 # <CJK>
-0x7672 # <CJK>
-0x7676 # <CJK>
-0x7678 # <CJK>
0x767A # <CJK>
0x767B # <CJK>
-0x767C # <CJK>
0x767D # <CJK>
0x767E # <CJK>
-0x7680 # <CJK>
-0x7683 # <CJK>
0x7684 # <CJK>
0x7686 # <CJK>
0x7687 # <CJK>
-0x7688 # <CJK>
-0x768B # <CJK>
-0x768E # <CJK>
-0x7690 # <CJK>
-0x7693 # <CJK>
-0x7696 # <CJK>
-0x7699 # <CJK>
-0x769A # <CJK>
0x76AE # <CJK>
-0x76B0 # <CJK>
-0x76B4 # <CJK>
-0x76B7 # <CJK>
-0x76B8 # <CJK>
-0x76B9 # <CJK>
-0x76BA # <CJK>
0x76BF # <CJK>
-0x76C2 # <CJK>
-0x76C3 # <CJK>
0x76C6 # <CJK>
-0x76C8 # <CJK>
0x76CA # <CJK>
-0x76CD # <CJK>
-0x76D2 # <CJK>
-0x76D6 # <CJK>
0x76D7 # <CJK>
0x76DB # <CJK>
-0x76DC # <CJK>
-0x76DE # <CJK>
0x76DF # <CJK>
-0x76E1 # <CJK>
0x76E3 # <CJK>
0x76E4 # <CJK>
-0x76E5 # <CJK>
-0x76E7 # <CJK>
-0x76EA # <CJK>
0x76EE # <CJK>
0x76F2 # <CJK>
0x76F4 # <CJK>
0x76F8 # <CJK>
-0x76FB # <CJK>
0x76FE # <CJK>
0x7701 # <CJK>
-0x7704 # <CJK>
-0x7707 # <CJK>
-0x7708 # <CJK>
0x7709 # <CJK>
0x770B # <CJK>
0x770C # <CJK>
-0x771B # <CJK>
-0x771E # <CJK>
0x771F # <CJK>
0x7720 # <CJK>
-0x7724 # <CJK>
-0x7725 # <CJK>
-0x7726 # <CJK>
-0x7729 # <CJK>
-0x7737 # <CJK>
-0x7738 # <CJK>
0x773A # <CJK>
0x773C # <CJK>
0x7740 # <CJK>
-0x7747 # <CJK>
-0x775A # <CJK>
-0x775B # <CJK>
0x7761 # <CJK>
0x7763 # <CJK>
-0x7765 # <CJK>
0x7766 # <CJK>
-0x7768 # <CJK>
-0x776B # <CJK>
-0x7779 # <CJK>
-0x777E # <CJK>
-0x777F # <CJK>
-0x778B # <CJK>
-0x778E # <CJK>
-0x7791 # <CJK>
-0x779E # <CJK>
-0x77A0 # <CJK>
-0x77A5 # <CJK>
0x77AC # <CJK>
0x77AD # <CJK>
-0x77B0 # <CJK>
0x77B3 # <CJK>
-0x77B6 # <CJK>
-0x77B9 # <CJK>
-0x77BB # <CJK>
-0x77BC # <CJK>
-0x77BD # <CJK>
-0x77BF # <CJK>
-0x77C7 # <CJK>
-0x77CD # <CJK>
-0x77D7 # <CJK>
-0x77DA # <CJK>
0x77DB # <CJK>
-0x77DC # <CJK>
0x77E2 # <CJK>
-0x77E3 # <CJK>
0x77E5 # <CJK>
-0x77E7 # <CJK>
-0x77E9 # <CJK>
0x77ED # <CJK>
-0x77EE # <CJK>
0x77EF # <CJK>
0x77F3 # <CJK>
-0x77FC # <CJK>
0x7802 # <CJK>
-0x780C # <CJK>
-0x7812 # <CJK>
0x7814 # <CJK>
0x7815 # <CJK>
-0x7820 # <CJK>
-0x7825 # <CJK>
-0x7826 # <CJK>
-0x7827 # <CJK>
0x7832 # <CJK>
0x7834 # <CJK>
-0x783A # <CJK>
-0x783F # <CJK>
-0x7845 # <CJK>
0x785D # <CJK>
0x786B # <CJK>
0x786C # <CJK>
-0x786F # <CJK>
-0x7872 # <CJK>
-0x7874 # <CJK>
-0x787C # <CJK>
0x7881 # <CJK>
-0x7886 # <CJK>
-0x7887 # <CJK>
-0x788C # <CJK>
-0x788D # <CJK>
-0x788E # <CJK>
0x7891 # <CJK>
-0x7893 # <CJK>
-0x7895 # <CJK>
-0x7897 # <CJK>
-0x789A # <CJK>
-0x78A3 # <CJK>
-0x78A7 # <CJK>
-0x78A9 # <CJK>
-0x78AA # <CJK>
-0x78AF # <CJK>
-0x78B5 # <CJK>
0x78BA # <CJK>
-0x78BC # <CJK>
-0x78BE # <CJK>
0x78C1 # <CJK>
-0x78C5 # <CJK>
-0x78C6 # <CJK>
-0x78CA # <CJK>
-0x78CB # <CJK>
-0x78D0 # <CJK>
-0x78D1 # <CJK>
-0x78D4 # <CJK>
-0x78DA # <CJK>
-0x78E7 # <CJK>
0x78E8 # <CJK>
-0x78EC # <CJK>
-0x78EF # <CJK>
-0x78F4 # <CJK>
-0x78FD # <CJK>
0x7901 # <CJK>
-0x7907 # <CJK>
0x790E # <CJK>
-0x7911 # <CJK>
-0x7912 # <CJK>
-0x7919 # <CJK>
-0x7926 # <CJK>
-0x792A # <CJK>
-0x792B # <CJK>
-0x792C # <CJK>
0x793A # <CJK>
0x793C # <CJK>
0x793E # <CJK>
-0x7940 # <CJK>
-0x7941 # <CJK>
-0x7947 # <CJK>
0x7948 # <CJK>
0x7949 # <CJK>
-0x7950 # <CJK>
-0x7953 # <CJK>
-0x7955 # <CJK>
0x7956 # <CJK>
-0x7957 # <CJK>
-0x795A # <CJK>
0x795D # <CJK>
0x795E # <CJK>
-0x795F # <CJK>
-0x7960 # <CJK>
-0x7962 # <CJK>
0x7965 # <CJK>
0x7968 # <CJK>
0x796D # <CJK>
-0x7977 # <CJK>
-0x797A # <CJK>
-0x797F # <CJK>
-0x7980 # <CJK>
0x7981 # <CJK>
-0x7984 # <CJK>
0x7985 # <CJK>
-0x798A # <CJK>
0x798D # <CJK>
-0x798E # <CJK>
0x798F # <CJK>
-0x799D # <CJK>
-0x79A6 # <CJK>
-0x79A7 # <CJK>
-0x79AA # <CJK>
-0x79AE # <CJK>
-0x79B0 # <CJK>
-0x79B3 # <CJK>
-0x79B9 # <CJK>
-0x79BA # <CJK>
-0x79BD # <CJK>
-0x79BE # <CJK>
-0x79BF # <CJK>
0x79C0 # <CJK>
0x79C1 # <CJK>
-0x79C9 # <CJK>
0x79CB # <CJK>
0x79D1 # <CJK>
0x79D2 # <CJK>
-0x79D5 # <CJK>
0x79D8 # <CJK>
0x79DF # <CJK>
-0x79E1 # <CJK>
-0x79E3 # <CJK>
-0x79E4 # <CJK>
-0x79E6 # <CJK>
-0x79E7 # <CJK>
0x79E9 # <CJK>
-0x79EC # <CJK>
0x79F0 # <CJK>
0x79FB # <CJK>
-0x7A00 # <CJK>
-0x7A08 # <CJK>
0x7A0B # <CJK>
-0x7A0D # <CJK>
0x7A0E # <CJK>
-0x7A14 # <CJK>
-0x7A17 # <CJK>
-0x7A18 # <CJK>
-0x7A19 # <CJK>
0x7A1A # <CJK>
-0x7A1C # <CJK>
-0x7A1F # <CJK>
-0x7A20 # <CJK>
0x7A2E # <CJK>
-0x7A31 # <CJK>
0x7A32 # <CJK>
-0x7A37 # <CJK>
-0x7A3B # <CJK>
0x7A3C # <CJK>
0x7A3D # <CJK>
-0x7A3E # <CJK>
0x7A3F # <CJK>
0x7A40 # <CJK>
0x7A42 # <CJK>
-0x7A43 # <CJK>
-0x7A46 # <CJK>
-0x7A49 # <CJK>
0x7A4D # <CJK>
-0x7A4E # <CJK>
0x7A4F # <CJK>
-0x7A50 # <CJK>
-0x7A57 # <CJK>
-0x7A61 # <CJK>
-0x7A62 # <CJK>
-0x7A63 # <CJK>
-0x7A69 # <CJK>
0x7A6B # <CJK>
-0x7A70 # <CJK>
0x7A74 # <CJK>
0x7A76 # <CJK>
-0x7A79 # <CJK>
0x7A7A # <CJK>
-0x7A7D # <CJK>
-0x7A7F # <CJK>
0x7A81 # <CJK>
0x7A83 # <CJK>
-0x7A84 # <CJK>
-0x7A88 # <CJK>
0x7A92 # <CJK>
0x7A93 # <CJK>
-0x7A95 # <CJK>
-0x7A96 # <CJK>
-0x7A97 # <CJK>
-0x7A98 # <CJK>
0x7A9F # <CJK>
-0x7AA9 # <CJK>
-0x7AAA # <CJK>
0x7AAE # <CJK>
0x7AAF # <CJK>
-0x7AB0 # <CJK>
-0x7AB6 # <CJK>
-0x7ABA # <CJK>
-0x7ABF # <CJK>
-0x7AC3 # <CJK>
-0x7AC4 # <CJK>
-0x7AC5 # <CJK>
-0x7AC7 # <CJK>
-0x7AC8 # <CJK>
-0x7ACA # <CJK>
0x7ACB # <CJK>
-0x7ACD # <CJK>
-0x7ACF # <CJK>
-0x7AD2 # <CJK>
-0x7AD3 # <CJK>
-0x7AD5 # <CJK>
-0x7AD9 # <CJK>
-0x7ADA # <CJK>
0x7ADC # <CJK>
-0x7ADD # <CJK>
-0x7ADF # <CJK>
0x7AE0 # <CJK>
-0x7AE1 # <CJK>
-0x7AE2 # <CJK>
-0x7AE3 # <CJK>
0x7AE5 # <CJK>
-0x7AE6 # <CJK>
-0x7AEA # <CJK>
-0x7AED # <CJK>
0x7AEF # <CJK>
-0x7AF0 # <CJK>
0x7AF6 # <CJK>
-0x7AF8 # <CJK>
0x7AF9 # <CJK>
-0x7AFA # <CJK>
-0x7AFF # <CJK>
-0x7B02 # <CJK>
-0x7B04 # <CJK>
-0x7B06 # <CJK>
-0x7B08 # <CJK>
-0x7B0A # <CJK>
-0x7B0B # <CJK>
-0x7B0F # <CJK>
0x7B11 # <CJK>
-0x7B18 # <CJK>
-0x7B19 # <CJK>
0x7B1B # <CJK>
-0x7B1E # <CJK>
-0x7B20 # <CJK>
-0x7B25 # <CJK>
0x7B26 # <CJK>
-0x7B28 # <CJK>
0x7B2C # <CJK>
-0x7B33 # <CJK>
-0x7B35 # <CJK>
-0x7B36 # <CJK>
-0x7B39 # <CJK>
-0x7B45 # <CJK>
0x7B46 # <CJK>
-0x7B48 # <CJK>
0x7B49 # <CJK>
0x7B4B # <CJK>
-0x7B4C # <CJK>
-0x7B4D # <CJK>
-0x7B4F # <CJK>
-0x7B50 # <CJK>
-0x7B51 # <CJK>
0x7B52 # <CJK>
0x7B54 # <CJK>
0x7B56 # <CJK>
-0x7B5D # <CJK>
-0x7B65 # <CJK>
-0x7B67 # <CJK>
-0x7B6C # <CJK>
-0x7B6E # <CJK>
-0x7B70 # <CJK>
-0x7B71 # <CJK>
-0x7B74 # <CJK>
-0x7B75 # <CJK>
-0x7B7A # <CJK>
-0x7B86 # <CJK>
0x7B87 # <CJK>
0x7B8B # <CJK>
-0x7B8D # <CJK>
-0x7B8F # <CJK>
-0x7B92 # <CJK>
-0x7B94 # <CJK>
-0x7B95 # <CJK>
0x7B97 # <CJK>
-0x7B98 # <CJK>
-0x7B99 # <CJK>
-0x7B9A # <CJK>
-0x7B9C # <CJK>
-0x7B9D # <CJK>
-0x7B9F # <CJK>
0x7BA1 # <CJK>
-0x7BAA # <CJK>
-0x7BAD # <CJK>
0x7BB1 # <CJK>
-0x7BB4 # <CJK>
0x7BB8 # <CJK>
0x7BC0 # <CJK>
-0x7BC1 # <CJK>
0x7BC4 # <CJK>
-0x7BC6 # <CJK>
-0x7BC7 # <CJK>
0x7BC9 # <CJK>
-0x7BCB # <CJK>
-0x7BCC # <CJK>
-0x7BCF # <CJK>
-0x7BDD # <CJK>
-0x7BE0 # <CJK>
0x7BE4 # <CJK>
-0x7BE5 # <CJK>
-0x7BE6 # <CJK>
-0x7BE9 # <CJK>
-0x7BED # <CJK>
-0x7BF3 # <CJK>
-0x7BF6 # <CJK>
-0x7BF7 # <CJK>
-0x7C00 # <CJK>
-0x7C07 # <CJK>
-0x7C0D # <CJK>
-0x7C11 # <CJK>
-0x7C12 # <CJK>
-0x7C13 # <CJK>
-0x7C14 # <CJK>
-0x7C17 # <CJK>
-0x7C1F # <CJK>
0x7C21 # <CJK>
-0x7C23 # <CJK>
-0x7C27 # <CJK>
-0x7C2A # <CJK>
-0x7C2B # <CJK>
-0x7C37 # <CJK>
-0x7C38 # <CJK>
-0x7C3D # <CJK>
-0x7C3E # <CJK>
0x7C3F # <CJK>
-0x7C40 # <CJK>
-0x7C43 # <CJK>
-0x7C4C # <CJK>
0x7C4D # <CJK>
-0x7C4F # <CJK>
-0x7C50 # <CJK>
-0x7C54 # <CJK>
-0x7C56 # <CJK>
-0x7C58 # <CJK>
-0x7C5F # <CJK>
0x7C60 # <CJK>
-0x7C64 # <CJK>
-0x7C65 # <CJK>
-0x7C6C # <CJK>
0x7C73 # <CJK>
-0x7C75 # <CJK>
-0x7C7E # <CJK>
-0x7C81 # <CJK>
-0x7C82 # <CJK>
-0x7C83 # <CJK>
0x7C89 # <CJK>
0x7C8B # <CJK>
-0x7C8D # <CJK>
-0x7C90 # <CJK>
0x7C92 # <CJK>
-0x7C95 # <CJK>
0x7C97 # <CJK>
0x7C98 # <CJK>
0x7C9B # <CJK>
-0x7C9F # <CJK>
-0x7CA1 # <CJK>
-0x7CA2 # <CJK>
-0x7CA4 # <CJK>
-0x7CA5 # <CJK>
0x7CA7 # <CJK>
-0x7CA8 # <CJK>
-0x7CAB # <CJK>
-0x7CAD # <CJK>
-0x7CAE # <CJK>
-0x7CB1 # <CJK>
-0x7CB2 # <CJK>
-0x7CB3 # <CJK>
-0x7CB9 # <CJK>
-0x7CBD # <CJK>
0x7CBE # <CJK>
-0x7CC0 # <CJK>
-0x7CC2 # <CJK>
-0x7CC5 # <CJK>
-0x7CCA # <CJK>
-0x7CCE # <CJK>
-0x7CD2 # <CJK>
0x7CD6 # <CJK>
-0x7CD8 # <CJK>
-0x7CDC # <CJK>
-0x7CDE # <CJK>
-0x7CDF # <CJK>
-0x7CE0 # <CJK>
-0x7CE2 # <CJK>
0x7CE7 # <CJK>
-0x7CEF # <CJK>
-0x7CF2 # <CJK>
-0x7CF4 # <CJK>
-0x7CF6 # <CJK>
0x7CF8 # <CJK>
-0x7CFA # <CJK>
0x7CFB # <CJK>
0x7CFE # <CJK>
0x7D00 # <CJK>
-0x7D02 # <CJK>
0x7D04 # <CJK>
0x7D05 # <CJK>
-0x7D06 # <CJK>
-0x7D0A # <CJK>
0x7D0B # <CJK>
0x7D0D # <CJK>
-0x7D10 # <CJK>
0x7D14 # <CJK>
-0x7D15 # <CJK>
-0x7D17 # <CJK>
-0x7D18 # <CJK>
0x7D19 # <CJK>
0x7D1A # <CJK>
0x7D1B # <CJK>
-0x7D1C # <CJK>
0x7D20 # <CJK>
0x7D21 # <CJK>
0x7D22 # <CJK>
0x7D2B # <CJK>
-0x7D2C # <CJK>
-0x7D2E # <CJK>
0x7D2F # <CJK>
0x7D30 # <CJK>
-0x7D32 # <CJK>
0x7D33 # <CJK>
-0x7D35 # <CJK>
0x7D39 # <CJK>
0x7D3A # <CJK>
-0x7D3F # <CJK>
0x7D42 # <CJK>
-0x7D43 # <CJK>
0x7D44 # <CJK>
-0x7D45 # <CJK>
-0x7D46 # <CJK>
-0x7D4B # <CJK>
0x7D4C # <CJK>
-0x7D4E # <CJK>
-0x7D4F # <CJK>
0x7D50 # <CJK>
-0x7D56 # <CJK>
-0x7D5B # <CJK>
0x7D5E # <CJK>
0x7D61 # <CJK>
-0x7D62 # <CJK>
-0x7D63 # <CJK>
0x7D66 # <CJK>
-0x7D68 # <CJK>
-0x7D6E # <CJK>
0x7D71 # <CJK>
-0x7D72 # <CJK>
-0x7D73 # <CJK>
0x7D75 # <CJK>
0x7D76 # <CJK>
0x7D79 # <CJK>
-0x7D7D # <CJK>
-0x7D89 # <CJK>
-0x7D8F # <CJK>
-0x7D93 # <CJK>
0x7D99 # <CJK>
0x7D9A # <CJK>
-0x7D9B # <CJK>
-0x7D9C # <CJK>
-0x7D9F # <CJK>
-0x7DA2 # <CJK>
-0x7DA3 # <CJK>
-0x7DAB # <CJK>
-0x7DAC # <CJK>
0x7DAD # <CJK>
-0x7DAE # <CJK>
-0x7DAF # <CJK>
-0x7DB0 # <CJK>
0x7DB1 # <CJK>
0x7DB2 # <CJK>
-0x7DB4 # <CJK>
-0x7DB5 # <CJK>
-0x7DB8 # <CJK>
-0x7DBA # <CJK>
0x7DBB # <CJK>
-0x7DBD # <CJK>
-0x7DBE # <CJK>
0x7DBF # <CJK>
-0x7DC7 # <CJK>
0x7DCA # <CJK>
-0x7DCB # <CJK>
0x7DCF # <CJK>
0x7DD1 # <CJK>
0x7DD2 # <CJK>
-0x7DD5 # <CJK>
-0x7DD8 # <CJK>
0x7DDA # <CJK>
-0x7DDC # <CJK>
-0x7DDD # <CJK>
-0x7DDE # <CJK>
0x7DE0 # <CJK>
-0x7DE1 # <CJK>
-0x7DE4 # <CJK>
0x7DE8 # <CJK>
0x7DE9 # <CJK>
-0x7DEC # <CJK>
0x7DEF # <CJK>
-0x7DF2 # <CJK>
0x7DF4 # <CJK>
0x7DFB # <CJK>
0x7E01 # <CJK>
0x7E04 # <CJK>
-0x7E05 # <CJK>
-0x7E09 # <CJK>
-0x7E0A # <CJK>
-0x7E0B # <CJK>
-0x7E12 # <CJK>
0x7E1B # <CJK>
-0x7E1E # <CJK>
-0x7E1F # <CJK>
-0x7E21 # <CJK>
-0x7E22 # <CJK>
-0x7E23 # <CJK>
0x7E26 # <CJK>
0x7E2B # <CJK>
0x7E2E # <CJK>
-0x7E31 # <CJK>
-0x7E32 # <CJK>
-0x7E35 # <CJK>
-0x7E37 # <CJK>
-0x7E39 # <CJK>
-0x7E3A # <CJK>
-0x7E3B # <CJK>
-0x7E3D # <CJK>
0x7E3E # <CJK>
0x7E41 # <CJK>
-0x7E43 # <CJK>
-0x7E46 # <CJK>
0x7E4A # <CJK>
-0x7E4B # <CJK>
-0x7E4D # <CJK>
0x7E54 # <CJK>
0x7E55 # <CJK>
-0x7E56 # <CJK>
-0x7E59 # <CJK>
-0x7E5A # <CJK>
-0x7E5D # <CJK>
-0x7E5E # <CJK>
-0x7E66 # <CJK>
-0x7E67 # <CJK>
-0x7E69 # <CJK>
-0x7E6A # <CJK>
0x7E6D # <CJK>
0x7E70 # <CJK>
-0x7E79 # <CJK>
-0x7E7B # <CJK>
-0x7E7C # <CJK>
-0x7E7D # <CJK>
-0x7E7F # <CJK>
-0x7E82 # <CJK>
-0x7E83 # <CJK>
-0x7E88 # <CJK>
-0x7E89 # <CJK>
-0x7E8C # <CJK>
-0x7E8E # <CJK>
-0x7E8F # <CJK>
-0x7E90 # <CJK>
-0x7E92 # <CJK>
-0x7E93 # <CJK>
-0x7E94 # <CJK>
-0x7E96 # <CJK>
-0x7E9B # <CJK>
-0x7E9C # <CJK>
0x7F36 # <CJK>
-0x7F38 # <CJK>
-0x7F3A # <CJK>
-0x7F45 # <CJK>
-0x7F4C # <CJK>
-0x7F4D # <CJK>
-0x7F4E # <CJK>
-0x7F50 # <CJK>
-0x7F51 # <CJK>
-0x7F54 # <CJK>
-0x7F55 # <CJK>
-0x7F58 # <CJK>
-0x7F5F # <CJK>
-0x7F60 # <CJK>
-0x7F67 # <CJK>
-0x7F68 # <CJK>
-0x7F69 # <CJK>
0x7F6A # <CJK>
-0x7F6B # <CJK>
0x7F6E # <CJK>
0x7F70 # <CJK>
0x7F72 # <CJK>
0x7F75 # <CJK>
0x7F77 # <CJK>
-0x7F78 # <CJK>
-0x7F79 # <CJK>
-0x7F82 # <CJK>
-0x7F83 # <CJK>
0x7F85 # <CJK>
-0x7F86 # <CJK>
-0x7F87 # <CJK>
-0x7F88 # <CJK>
0x7F8A # <CJK>
-0x7F8C # <CJK>
0x7F8E # <CJK>
-0x7F94 # <CJK>
-0x7F9A # <CJK>
-0x7F9D # <CJK>
0x7F9E # <CJK>
-0x7FA3 # <CJK>
0x7FA4 # <CJK>
0x7FA8 # <CJK>
0x7FA9 # <CJK>
-0x7FAE # <CJK>
-0x7FAF # <CJK>
-0x7FB2 # <CJK>
-0x7FB6 # <CJK>
-0x7FB8 # <CJK>
-0x7FB9 # <CJK>
0x7FBD # <CJK>
0x7FC1 # <CJK>
-0x7FC5 # <CJK>
-0x7FC6 # <CJK>
-0x7FCA # <CJK>
0x7FCC # <CJK>
0x7FD2 # <CJK>
-0x7FD4 # <CJK>
-0x7FD5 # <CJK>
-0x7FE0 # <CJK>
-0x7FE1 # <CJK>
-0x7FE6 # <CJK>
-0x7FE9 # <CJK>
-0x7FEB # <CJK>
-0x7FF0 # <CJK>
-0x7FF3 # <CJK>
-0x7FF9 # <CJK>
0x7FFB # <CJK>
0x7FFC # <CJK>
-0x8000 # <CJK>
0x8001 # <CJK>
0x8003 # <CJK>
-0x8004 # <CJK>
0x8005 # <CJK>
-0x8006 # <CJK>
-0x800B # <CJK>
-0x800C # <CJK>
0x8010 # <CJK>
-0x8012 # <CJK>
0x8015 # <CJK>
0x8017 # <CJK>
-0x8018 # <CJK>
-0x8019 # <CJK>
-0x801C # <CJK>
-0x8021 # <CJK>
-0x8028 # <CJK>
0x8033 # <CJK>
-0x8036 # <CJK>
-0x803B # <CJK>
-0x803D # <CJK>
-0x803F # <CJK>
-0x8046 # <CJK>
-0x804A # <CJK>
-0x8052 # <CJK>
0x8056 # <CJK>
-0x8058 # <CJK>
-0x805A # <CJK>
0x805E # <CJK>
-0x805F # <CJK>
-0x8061 # <CJK>
-0x8062 # <CJK>
-0x8068 # <CJK>
-0x806F # <CJK>
-0x8070 # <CJK>
-0x8072 # <CJK>
-0x8073 # <CJK>
0x8074 # <CJK>
-0x8076 # <CJK>
0x8077 # <CJK>
-0x8079 # <CJK>
-0x807D # <CJK>
-0x807E # <CJK>
-0x807F # <CJK>
-0x8084 # <CJK>
-0x8085 # <CJK>
-0x8086 # <CJK>
-0x8087 # <CJK>
0x8089 # <CJK>
-0x808B # <CJK>
0x808C # <CJK>
-0x8093 # <CJK>
0x8096 # <CJK>
0x8098 # <CJK>
-0x809A # <CJK>
-0x809B # <CJK>
0x809D # <CJK>
0x80A1 # <CJK>
0x80A2 # <CJK>
0x80A5 # <CJK>
0x80A9 # <CJK>
0x80AA # <CJK>
-0x80AC # <CJK>
-0x80AD # <CJK>
0x80AF # <CJK>
-0x80B1 # <CJK>
0x80B2 # <CJK>
-0x80B4 # <CJK>
0x80BA # <CJK>
0x80C3 # <CJK>
-0x80C4 # <CJK>
0x80C6 # <CJK>
0x80CC # <CJK>
0x80CE # <CJK>
-0x80D6 # <CJK>
-0x80D9 # <CJK>
-0x80DA # <CJK>
-0x80DB # <CJK>
-0x80DD # <CJK>
0x80DE # <CJK>
-0x80E1 # <CJK>
-0x80E4 # <CJK>
-0x80E5 # <CJK>
-0x80EF # <CJK>
-0x80F1 # <CJK>
0x80F4 # <CJK>
0x80F8 # <CJK>
-0x80FC # <CJK>
0x80FD # <CJK>
0x8102 # <CJK>
0x8105 # <CJK>
-0x8106 # <CJK>
0x8107 # <CJK>
0x8108 # <CJK>
-0x8109 # <CJK>
0x810A # <CJK>
0x811A # <CJK>
-0x811B # <CJK>
-0x8123 # <CJK>
-0x8129 # <CJK>
-0x812F # <CJK>
0x8131 # <CJK>
0x8133 # <CJK>
-0x8139 # <CJK>
-0x813E # <CJK>
-0x8146 # <CJK>
-0x814B # <CJK>
0x814E # <CJK>
0x8150 # <CJK>
-0x8151 # <CJK>
-0x8153 # <CJK>
-0x8154 # <CJK>
0x8155 # <CJK>
-0x815F # <CJK>
-0x8165 # <CJK>
-0x8166 # <CJK>
0x816B # <CJK>
-0x816E # <CJK>
0x8170 # <CJK>
-0x8171 # <CJK>
-0x8174 # <CJK>
0x8178 # <CJK>
0x8179 # <CJK>
0x817A # <CJK>
-0x817F # <CJK>
-0x8180 # <CJK>
-0x8182 # <CJK>
-0x8183 # <CJK>
-0x8188 # <CJK>
-0x818A # <CJK>
-0x818F # <CJK>
-0x8193 # <CJK>
-0x8195 # <CJK>
0x819A # <CJK>
0x819C # <CJK>
0x819D # <CJK>
-0x81A0 # <CJK>
-0x81A3 # <CJK>
-0x81A4 # <CJK>
0x81A8 # <CJK>
-0x81A9 # <CJK>
-0x81B0 # <CJK>
0x81B3 # <CJK>
-0x81B5 # <CJK>
-0x81B8 # <CJK>
-0x81BA # <CJK>
-0x81BD # <CJK>
-0x81BE # <CJK>
-0x81BF # <CJK>
-0x81C0 # <CJK>
-0x81C2 # <CJK>
0x81C6 # <CJK>
-0x81C8 # <CJK>
-0x81C9 # <CJK>
-0x81CD # <CJK>
-0x81D1 # <CJK>
0x81D3 # <CJK>
-0x81D8 # <CJK>
-0x81D9 # <CJK>
-0x81DA # <CJK>
-0x81DF # <CJK>
-0x81E0 # <CJK>
0x81E3 # <CJK>
-0x81E5 # <CJK>
-0x81E7 # <CJK>
0x81E8 # <CJK>
0x81EA # <CJK>
0x81ED # <CJK>
0x81F3 # <CJK>
0x81F4 # <CJK>
-0x81FA # <CJK>
-0x81FB # <CJK>
0x81FC # <CJK>
-0x81FE # <CJK>
-0x8201 # <CJK>
-0x8202 # <CJK>
-0x8205 # <CJK>
-0x8207 # <CJK>
0x8208 # <CJK>
-0x8209 # <CJK>
-0x820A # <CJK>
0x820C # <CJK>
-0x820D # <CJK>
0x820E # <CJK>
-0x8210 # <CJK>
-0x8212 # <CJK>
-0x8216 # <CJK>
0x8217 # <CJK>
-0x8218 # <CJK>
-0x821B # <CJK>
-0x821C # <CJK>
0x821E # <CJK>
0x821F # <CJK>
-0x8229 # <CJK>
0x822A # <CJK>
-0x822B # <CJK>
0x822C # <CJK>
-0x822E # <CJK>
-0x8233 # <CJK>
-0x8235 # <CJK>
0x8236 # <CJK>
0x8237 # <CJK>
-0x8238 # <CJK>
0x8239 # <CJK>
-0x8240 # <CJK>
0x8247 # <CJK>
-0x8258 # <CJK>
-0x8259 # <CJK>
-0x825A # <CJK>
-0x825D # <CJK>
-0x825F # <CJK>
-0x8262 # <CJK>
-0x8264 # <CJK>
0x8266 # <CJK>
-0x8268 # <CJK>
-0x826A # <CJK>
-0x826B # <CJK>
-0x826E # <CJK>
0x826F # <CJK>
-0x8271 # <CJK>
0x8272 # <CJK>
0x8276 # <CJK>
-0x8277 # <CJK>
-0x8278 # <CJK>
-0x827E # <CJK>
0x828B # <CJK>
-0x828D # <CJK>
-0x8292 # <CJK>
-0x8299 # <CJK>
0x829D # <CJK>
-0x829F # <CJK>
-0x82A5 # <CJK>
-0x82A6 # <CJK>
-0x82AB # <CJK>
-0x82AC # <CJK>
-0x82AD # <CJK>
0x82AF # <CJK>
0x82B1 # <CJK>
0x82B3 # <CJK>
0x82B8 # <CJK>
-0x82B9 # <CJK>
-0x82BB # <CJK>
0x82BD # <CJK>
-0x82C5 # <CJK>
-0x82D1 # <CJK>
-0x82D2 # <CJK>
-0x82D3 # <CJK>
-0x82D4 # <CJK>
0x82D7 # <CJK>
-0x82D9 # <CJK>
0x82DB # <CJK>
-0x82DC # <CJK>
-0x82DE # <CJK>
-0x82DF # <CJK>
-0x82E1 # <CJK>
-0x82E3 # <CJK>
0x82E5 # <CJK>
0x82E6 # <CJK>
-0x82E7 # <CJK>
-0x82EB # <CJK>
0x82F1 # <CJK>
-0x82F3 # <CJK>
-0x82F4 # <CJK>
-0x82F9 # <CJK>
-0x82FA # <CJK>
-0x82FB # <CJK>
0x8302 # <CJK>
-0x8303 # <CJK>
-0x8304 # <CJK>
-0x8305 # <CJK>
-0x8306 # <CJK>
-0x8309 # <CJK>
0x830E # <CJK>
-0x8316 # <CJK>
-0x8317 # <CJK>
-0x8318 # <CJK>
-0x831C # <CJK>
-0x8323 # <CJK>
0x8328 # <CJK>
-0x832B # <CJK>
-0x832F # <CJK>
-0x8331 # <CJK>
-0x8332 # <CJK>
-0x8334 # <CJK>
-0x8335 # <CJK>
0x8336 # <CJK>
-0x8338 # <CJK>
-0x8339 # <CJK>
-0x8340 # <CJK>
-0x8345 # <CJK>
0x8349 # <CJK>
-0x834A # <CJK>
-0x834F # <CJK>
-0x8350 # <CJK>
0x8352 # <CJK>
0x8358 # <CJK>
-0x8373 # <CJK>
-0x8375 # <CJK>
0x8377 # <CJK>
-0x837B # <CJK>
-0x837C # <CJK>
-0x8385 # <CJK>
-0x8387 # <CJK>
-0x8389 # <CJK>
-0x838A # <CJK>
-0x838E # <CJK>
-0x8393 # <CJK>
-0x8396 # <CJK>
-0x839A # <CJK>
-0x839E # <CJK>
-0x839F # <CJK>
-0x83A0 # <CJK>
-0x83A2 # <CJK>
-0x83A8 # <CJK>
-0x83AA # <CJK>
-0x83AB # <CJK>
-0x83B1 # <CJK>
-0x83B5 # <CJK>
-0x83BD # <CJK>
-0x83C1 # <CJK>
-0x83C5 # <CJK>
0x83CA # <CJK>
0x83CC # <CJK>
-0x83CE # <CJK>
0x83D3 # <CJK>
-0x83D6 # <CJK>
-0x83D8 # <CJK>
0x83DC # <CJK>
-0x83DF # <CJK>
-0x83E0 # <CJK>
-0x83E9 # <CJK>
-0x83EB # <CJK>
0x83EF # <CJK>
-0x83F0 # <CJK>
-0x83F1 # <CJK>
-0x83F2 # <CJK>
-0x83F4 # <CJK>
-0x83F7 # <CJK>
-0x83FB # <CJK>
-0x83FD # <CJK>
-0x8403 # <CJK>
-0x8404 # <CJK>
-0x8407 # <CJK>
-0x840B # <CJK>
-0x840C # <CJK>
-0x840D # <CJK>
0x840E # <CJK>
-0x8413 # <CJK>
-0x8420 # <CJK>
-0x8422 # <CJK>
-0x8429 # <CJK>
-0x842A # <CJK>
-0x842C # <CJK>
-0x8431 # <CJK>
-0x8435 # <CJK>
-0x8438 # <CJK>
-0x843C # <CJK>
0x843D # <CJK>
-0x8446 # <CJK>
0x8449 # <CJK>
-0x844E # <CJK>
0x8457 # <CJK>
0x845B # <CJK>
-0x8461 # <CJK>
-0x8462 # <CJK>
-0x8463 # <CJK>
-0x8466 # <CJK>
-0x8469 # <CJK>
-0x846B # <CJK>
0x846C # <CJK>
-0x846D # <CJK>
-0x846E # <CJK>
-0x846F # <CJK>
-0x8471 # <CJK>
-0x8475 # <CJK>
-0x8477 # <CJK>
-0x8479 # <CJK>
-0x847A # <CJK>
-0x8482 # <CJK>
-0x8484 # <CJK>
-0x848B # <CJK>
-0x8490 # <CJK>
-0x8494 # <CJK>
-0x8499 # <CJK>
-0x849C # <CJK>
-0x849F # <CJK>
-0x84A1 # <CJK>
-0x84AD # <CJK>
-0x84B2 # <CJK>
0x84B8 # <CJK>
-0x84B9 # <CJK>
-0x84BB # <CJK>
-0x84BC # <CJK>
-0x84BF # <CJK>
-0x84C1 # <CJK>
0x84C4 # <CJK>
-0x84C6 # <CJK>
-0x84C9 # <CJK>
-0x84CA # <CJK>
0x84CB # <CJK>
-0x84CD # <CJK>
-0x84D0 # <CJK>
-0x84D1 # <CJK>
-0x84D6 # <CJK>
-0x84D9 # <CJK>
-0x84DA # <CJK>
-0x84EC # <CJK>
-0x84EE # <CJK>
-0x84F4 # <CJK>
-0x84FC # <CJK>
-0x84FF # <CJK>
-0x8500 # <CJK>
-0x8506 # <CJK>
0x8511 # <CJK>
-0x8513 # <CJK>
-0x8514 # <CJK>
-0x8515 # <CJK>
-0x8517 # <CJK>
-0x8518 # <CJK>
-0x851A # <CJK>
-0x851F # <CJK>
-0x8521 # <CJK>
-0x8526 # <CJK>
-0x852C # <CJK>
-0x852D # <CJK>
0x8535 # <CJK>
0x853D # <CJK>
-0x8540 # <CJK>
-0x8541 # <CJK>
-0x8543 # <CJK>
-0x8548 # <CJK>
-0x8549 # <CJK>
-0x854A # <CJK>
-0x854B # <CJK>
-0x854E # <CJK>
-0x8555 # <CJK>
-0x8557 # <CJK>
-0x8558 # <CJK>
-0x855A # <CJK>
-0x8563 # <CJK>
-0x8568 # <CJK>
-0x8569 # <CJK>
-0x856A # <CJK>
-0x856D # <CJK>
-0x8577 # <CJK>
-0x857E # <CJK>
-0x8580 # <CJK>
0x8584 # <CJK>
-0x8587 # <CJK>
-0x8588 # <CJK>
-0x858A # <CJK>
-0x8590 # <CJK>
-0x8591 # <CJK>
-0x8594 # <CJK>
-0x8597 # <CJK>
-0x8599 # <CJK>
-0x859B # <CJK>
-0x859C # <CJK>
-0x85A4 # <CJK>
0x85A6 # <CJK>
-0x85A8 # <CJK>
-0x85A9 # <CJK>
0x85AA # <CJK>
0x85AB # <CJK>
0x85AC # <CJK>
-0x85AE # <CJK>
-0x85AF # <CJK>
-0x85B9 # <CJK>
-0x85BA # <CJK>
-0x85C1 # <CJK>
-0x85C9 # <CJK>
0x85CD # <CJK>
-0x85CF # <CJK>
-0x85D0 # <CJK>
-0x85D5 # <CJK>
-0x85DC # <CJK>
-0x85DD # <CJK>
0x85E4 # <CJK>
-0x85E5 # <CJK>
0x85E9 # <CJK>
-0x85EA # <CJK>
-0x85F7 # <CJK>
-0x85F9 # <CJK>
-0x85FA # <CJK>
0x85FB # <CJK>
-0x85FE # <CJK>
-0x8602 # <CJK>
-0x8606 # <CJK>
-0x8607 # <CJK>
-0x860A # <CJK>
-0x860B # <CJK>
-0x8613 # <CJK>
-0x8616 # <CJK>
-0x8617 # <CJK>
-0x861A # <CJK>
-0x8622 # <CJK>
-0x862D # <CJK>
-0x862F # <CJK>
-0x8630 # <CJK>
-0x863F # <CJK>
-0x864D # <CJK>
0x864E # <CJK>
0x8650 # <CJK>
-0x8654 # <CJK>
-0x8655 # <CJK>
0x865A # <CJK>
0x865C # <CJK>
0x865E # <CJK>
-0x865F # <CJK>
-0x8667 # <CJK>
0x866B # <CJK>
-0x8671 # <CJK>
0x8679 # <CJK>
-0x867B # <CJK>
0x868A # <CJK>
-0x868B # <CJK>
-0x868C # <CJK>
-0x8693 # <CJK>
0x8695 # <CJK>
-0x86A3 # <CJK>
-0x86A4 # <CJK>
-0x86A9 # <CJK>
-0x86AA # <CJK>
-0x86AB # <CJK>
-0x86AF # <CJK>
-0x86B0 # <CJK>
-0x86B6 # <CJK>
-0x86C4 # <CJK>
-0x86C6 # <CJK>
0x86C7 # <CJK>
-0x86C9 # <CJK>
-0x86CB # <CJK>
0x86CD # <CJK>
-0x86CE # <CJK>
-0x86D4 # <CJK>
-0x86D9 # <CJK>
-0x86DB # <CJK>
-0x86DE # <CJK>
-0x86DF # <CJK>
-0x86E4 # <CJK>
-0x86E9 # <CJK>
-0x86EC # <CJK>
-0x86ED # <CJK>
0x86EE # <CJK>
-0x86EF # <CJK>
-0x86F8 # <CJK>
-0x86F9 # <CJK>
-0x86FB # <CJK>
-0x86FE # <CJK>
-0x8700 # <CJK>
0x8702 # <CJK>
-0x8703 # <CJK>
-0x8706 # <CJK>
-0x8708 # <CJK>
-0x8709 # <CJK>
-0x870A # <CJK>
-0x870D # <CJK>
-0x8711 # <CJK>
-0x8712 # <CJK>
-0x8718 # <CJK>
-0x871A # <CJK>
0x871C # <CJK>
-0x8725 # <CJK>
-0x8729 # <CJK>
-0x8734 # <CJK>
-0x8737 # <CJK>
-0x873B # <CJK>
-0x873F # <CJK>
-0x8749 # <CJK>
-0x874B # <CJK>
-0x874C # <CJK>
-0x874E # <CJK>
-0x8753 # <CJK>
-0x8755 # <CJK>
-0x8757 # <CJK>
-0x8759 # <CJK>
-0x875F # <CJK>
-0x8760 # <CJK>
-0x8763 # <CJK>
-0x8766 # <CJK>
-0x8768 # <CJK>
-0x876A # <CJK>
-0x876E # <CJK>
-0x8774 # <CJK>
-0x8776 # <CJK>
-0x8778 # <CJK>
-0x877F # <CJK>
-0x8782 # <CJK>
0x878D # <CJK>
-0x879F # <CJK>
-0x87A2 # <CJK>
-0x87AB # <CJK>
-0x87AF # <CJK>
-0x87B3 # <CJK>
-0x87BA # <CJK>
-0x87BB # <CJK>
-0x87BD # <CJK>
-0x87C0 # <CJK>
-0x87C4 # <CJK>
-0x87C6 # <CJK>
-0x87C7 # <CJK>
-0x87CB # <CJK>
-0x87D0 # <CJK>
-0x87D2 # <CJK>
-0x87E0 # <CJK>
-0x87EF # <CJK>
-0x87F2 # <CJK>
-0x87F6 # <CJK>
-0x87F7 # <CJK>
-0x87F9 # <CJK>
-0x87FB # <CJK>
-0x87FE # <CJK>
-0x8805 # <CJK>
-0x880D # <CJK>
-0x880E # <CJK>
-0x880F # <CJK>
-0x8811 # <CJK>
-0x8815 # <CJK>
-0x8816 # <CJK>
-0x8821 # <CJK>
-0x8822 # <CJK>
-0x8823 # <CJK>
-0x8827 # <CJK>
-0x8831 # <CJK>
-0x8836 # <CJK>
-0x8839 # <CJK>
-0x883B # <CJK>
0x8840 # <CJK>
-0x8842 # <CJK>
-0x8844 # <CJK>
0x8846 # <CJK>
0x884C # <CJK>
-0x884D # <CJK>
-0x8852 # <CJK>
0x8853 # <CJK>
0x8857 # <CJK>
-0x8859 # <CJK>
0x885B # <CJK>
0x885D # <CJK>
-0x885E # <CJK>
0x8861 # <CJK>
-0x8862 # <CJK>
0x8863 # <CJK>
0x8868 # <CJK>
-0x886B # <CJK>
0x8870 # <CJK>
-0x8872 # <CJK>
-0x8875 # <CJK>
0x8877 # <CJK>
-0x887D # <CJK>
-0x887E # <CJK>
-0x887F # <CJK>
-0x8881 # <CJK>
-0x8882 # <CJK>
-0x8888 # <CJK>
0x888B # <CJK>
-0x888D # <CJK>
-0x8892 # <CJK>
0x8896 # <CJK>
-0x8897 # <CJK>
-0x8899 # <CJK>
-0x889E # <CJK>
-0x88A2 # <CJK>
-0x88A4 # <CJK>
0x88AB # <CJK>
-0x88AE # <CJK>
-0x88B0 # <CJK>
-0x88B1 # <CJK>
-0x88B4 # <CJK>
-0x88B5 # <CJK>
-0x88B7 # <CJK>
-0x88BF # <CJK>
0x88C1 # <CJK>
0x88C2 # <CJK>
-0x88C3 # <CJK>
-0x88C4 # <CJK>
0x88C5 # <CJK>
0x88CF # <CJK>
-0x88D4 # <CJK>
0x88D5 # <CJK>
-0x88D8 # <CJK>
-0x88D9 # <CJK>
0x88DC # <CJK>
-0x88DD # <CJK>
-0x88DF # <CJK>
-0x88E1 # <CJK>
-0x88E8 # <CJK>
-0x88F2 # <CJK>
-0x88F3 # <CJK>
-0x88F4 # <CJK>
0x88F8 # <CJK>
-0x88F9 # <CJK>
-0x88FC # <CJK>
0x88FD # <CJK>
0x88FE # <CJK>
-0x8902 # <CJK>
-0x8904 # <CJK>
0x8907 # <CJK>
-0x890A # <CJK>
-0x890C # <CJK>
0x8910 # <CJK>
0x8912 # <CJK>
-0x8913 # <CJK>
-0x891D # <CJK>
-0x891E # <CJK>
-0x8925 # <CJK>
-0x892A # <CJK>
-0x892B # <CJK>
-0x8936 # <CJK>
-0x8938 # <CJK>
-0x893B # <CJK>
-0x8941 # <CJK>
-0x8943 # <CJK>
-0x8944 # <CJK>
-0x894C # <CJK>
-0x894D # <CJK>
-0x8956 # <CJK>
-0x895E # <CJK>
0x895F # <CJK>
-0x8960 # <CJK>
-0x8964 # <CJK>
-0x8966 # <CJK>
-0x896A # <CJK>
-0x896D # <CJK>
-0x896F # <CJK>
0x8972 # <CJK>
-0x8974 # <CJK>
-0x8977 # <CJK>
-0x897E # <CJK>
0x897F # <CJK>
0x8981 # <CJK>
-0x8983 # <CJK>
0x8986 # <CJK>
0x8987 # <CJK>
-0x8988 # <CJK>
-0x898A # <CJK>
0x898B # <CJK>
0x898F # <CJK>
-0x8993 # <CJK>
0x8996 # <CJK>
-0x8997 # <CJK>
-0x8998 # <CJK>
0x899A # <CJK>
-0x89A1 # <CJK>
-0x89A6 # <CJK>
0x89A7 # <CJK>
-0x89A9 # <CJK>
0x89AA # <CJK>
-0x89AC # <CJK>
-0x89AF # <CJK>
-0x89B2 # <CJK>
0x89B3 # <CJK>
-0x89BA # <CJK>
-0x89BD # <CJK>
-0x89BF # <CJK>
-0x89C0 # <CJK>
0x89D2 # <CJK>
-0x89DA # <CJK>
-0x89DC # <CJK>
-0x89DD # <CJK>
0x89E3 # <CJK>
0x89E6 # <CJK>
-0x89E7 # <CJK>
-0x89F4 # <CJK>
-0x89F8 # <CJK>
0x8A00 # <CJK>
0x8A02 # <CJK>
0x8A03 # <CJK>
0x8A08 # <CJK>
-0x8A0A # <CJK>
-0x8A0C # <CJK>
0x8A0E # <CJK>
-0x8A10 # <CJK>
0x8A13 # <CJK>
-0x8A16 # <CJK>
0x8A17 # <CJK>
0x8A18 # <CJK>
-0x8A1B # <CJK>
-0x8A1D # <CJK>
0x8A1F # <CJK>
-0x8A23 # <CJK>
-0x8A25 # <CJK>
0x8A2A # <CJK>
0x8A2D # <CJK>
0x8A31 # <CJK>
0x8A33 # <CJK>
0x8A34 # <CJK>
-0x8A36 # <CJK>
0x8A3A # <CJK>
-0x8A3B # <CJK>
0x8A3C # <CJK>
-0x8A41 # <CJK>
-0x8A46 # <CJK>
-0x8A48 # <CJK>
0x8A50 # <CJK>
-0x8A51 # <CJK>
-0x8A52 # <CJK>
0x8A54 # <CJK>
0x8A55 # <CJK>
-0x8A5B # <CJK>
0x8A5E # <CJK>
0x8A60 # <CJK>
-0x8A62 # <CJK>
0x8A63 # <CJK>
0x8A66 # <CJK>
0x8A69 # <CJK>
-0x8A6B # <CJK>
-0x8A6C # <CJK>
-0x8A6D # <CJK>
0x8A6E # <CJK>
0x8A70 # <CJK>
0x8A71 # <CJK>
0x8A72 # <CJK>
0x8A73 # <CJK>
-0x8A7C # <CJK>
-0x8A82 # <CJK>
-0x8A84 # <CJK>
-0x8A85 # <CJK>
0x8A87 # <CJK>
0x8A89 # <CJK>
0x8A8C # <CJK>
0x8A8D # <CJK>
-0x8A91 # <CJK>
0x8A93 # <CJK>
0x8A95 # <CJK>
0x8A98 # <CJK>
-0x8A9A # <CJK>
0x8A9E # <CJK>
0x8AA0 # <CJK>
-0x8AA1 # <CJK>
-0x8AA3 # <CJK>
0x8AA4 # <CJK>
-0x8AA5 # <CJK>
-0x8AA6 # <CJK>
-0x8AA8 # <CJK>
0x8AAC # <CJK>
0x8AAD # <CJK>
0x8AB0 # <CJK>
0x8AB2 # <CJK>
-0x8AB9 # <CJK>
-0x8ABC # <CJK>
0x8ABF # <CJK>
-0x8AC2 # <CJK>
-0x8AC4 # <CJK>
0x8AC7 # <CJK>
0x8ACB # <CJK>
-0x8ACC # <CJK>
-0x8ACD # <CJK>
-0x8ACF # <CJK>
-0x8AD2 # <CJK>
0x8AD6 # <CJK>
-0x8ADA # <CJK>
-0x8ADB # <CJK>
-0x8ADC # <CJK>
-0x8ADE # <CJK>
-0x8AE0 # <CJK>
-0x8AE1 # <CJK>
-0x8AE2 # <CJK>
-0x8AE4 # <CJK>
0x8AE6 # <CJK>
0x8AE7 # <CJK>
-0x8AEB # <CJK>
0x8AED # <CJK>
0x8AEE # <CJK>
-0x8AF1 # <CJK>
-0x8AF3 # <CJK>
-0x8AF7 # <CJK>
0x8AF8 # <CJK>
-0x8AFA # <CJK>
0x8AFE # <CJK>
0x8B00 # <CJK>
0x8B01 # <CJK>
-0x8B02 # <CJK>
0x8B04 # <CJK>
-0x8B07 # <CJK>
-0x8B0C # <CJK>
0x8B0E # <CJK>
-0x8B10 # <CJK>
-0x8B14 # <CJK>
-0x8B16 # <CJK>
-0x8B17 # <CJK>
0x8B19 # <CJK>
-0x8B1A # <CJK>
0x8B1B # <CJK>
0x8B1D # <CJK>
-0x8B20 # <CJK>
0x8B21 # <CJK>
-0x8B26 # <CJK>
-0x8B28 # <CJK>
-0x8B2B # <CJK>
-0x8B2C # <CJK>
-0x8B33 # <CJK>
0x8B39 # <CJK>
-0x8B3E # <CJK>
-0x8B41 # <CJK>
-0x8B49 # <CJK>
-0x8B4C # <CJK>
-0x8B4E # <CJK>
-0x8B4F # <CJK>
-0x8B56 # <CJK>
0x8B58 # <CJK>
-0x8B5A # <CJK>
-0x8B5B # <CJK>
0x8B5C # <CJK>
-0x8B5F # <CJK>
0x8B66 # <CJK>
-0x8B6B # <CJK>
-0x8B6C # <CJK>
-0x8B6F # <CJK>
0x8B70 # <CJK>
-0x8B71 # <CJK>
0x8B72 # <CJK>
-0x8B74 # <CJK>
0x8B77 # <CJK>
-0x8B7D # <CJK>
-0x8B80 # <CJK>
-0x8B83 # <CJK>
-0x8B8A # <CJK>
-0x8B8C # <CJK>
-0x8B8E # <CJK>
-0x8B90 # <CJK>
-0x8B92 # <CJK>
-0x8B93 # <CJK>
-0x8B96 # <CJK>
-0x8B99 # <CJK>
-0x8B9A # <CJK>
0x8C37 # <CJK>
-0x8C3A # <CJK>
-0x8C3F # <CJK>
-0x8C41 # <CJK>
0x8C46 # <CJK>
-0x8C48 # <CJK>
0x8C4A # <CJK>
-0x8C4C # <CJK>
-0x8C4E # <CJK>
-0x8C50 # <CJK>
-0x8C55 # <CJK>
0x8C5A # <CJK>
0x8C61 # <CJK>
-0x8C62 # <CJK>
0x8C6A # <CJK>
-0x8C6B # <CJK>
-0x8C6C # <CJK>
-0x8C78 # <CJK>
-0x8C79 # <CJK>
-0x8C7A # <CJK>
-0x8C7C # <CJK>
-0x8C82 # <CJK>
-0x8C85 # <CJK>
-0x8C89 # <CJK>
-0x8C8A # <CJK>
0x8C8C # <CJK>
-0x8C8D # <CJK>
-0x8C8E # <CJK>
-0x8C94 # <CJK>
-0x8C98 # <CJK>
0x8C9D # <CJK>
0x8C9E # <CJK>
0x8CA0 # <CJK>
@@ -5348,1218 +2008,338 @@
0x8CAA # <CJK>
0x8CAB # <CJK>
0x8CAC # <CJK>
-0x8CAD # <CJK>
-0x8CAE # <CJK>
0x8CAF # <CJK>
-0x8CB0 # <CJK>
-0x8CB2 # <CJK>
-0x8CB3 # <CJK>
0x8CB4 # <CJK>
-0x8CB6 # <CJK>
0x8CB7 # <CJK>
0x8CB8 # <CJK>
0x8CBB # <CJK>
0x8CBC # <CJK>
-0x8CBD # <CJK>
0x8CBF # <CJK>
0x8CC0 # <CJK>
-0x8CC1 # <CJK>
0x8CC2 # <CJK>
0x8CC3 # <CJK>
0x8CC4 # <CJK>
0x8CC7 # <CJK>
-0x8CC8 # <CJK>
0x8CCA # <CJK>
-0x8CCD # <CJK>
-0x8CCE # <CJK>
-0x8CD1 # <CJK>
0x8CD3 # <CJK>
-0x8CDA # <CJK>
0x8CDB # <CJK>
0x8CDC # <CJK>
0x8CDE # <CJK>
0x8CE0 # <CJK>
0x8CE2 # <CJK>
-0x8CE3 # <CJK>
-0x8CE4 # <CJK>
0x8CE6 # <CJK>
0x8CEA # <CJK>
0x8CED # <CJK>
-0x8CFA # <CJK>
-0x8CFB # <CJK>
0x8CFC # <CJK>
-0x8CFD # <CJK>
-0x8D04 # <CJK>
-0x8D05 # <CJK>
-0x8D07 # <CJK>
0x8D08 # <CJK>
-0x8D0A # <CJK>
-0x8D0B # <CJK>
-0x8D0D # <CJK>
-0x8D0F # <CJK>
-0x8D10 # <CJK>
-0x8D13 # <CJK>
-0x8D14 # <CJK>
-0x8D16 # <CJK>
0x8D64 # <CJK>
0x8D66 # <CJK>
-0x8D67 # <CJK>
-0x8D6B # <CJK>
-0x8D6D # <CJK>
0x8D70 # <CJK>
-0x8D71 # <CJK>
-0x8D73 # <CJK>
0x8D74 # <CJK>
0x8D77 # <CJK>
-0x8D81 # <CJK>
0x8D85 # <CJK>
0x8D8A # <CJK>
-0x8D99 # <CJK>
0x8DA3 # <CJK>
-0x8DA8 # <CJK>
0x8DB3 # <CJK>
-0x8DBA # <CJK>
-0x8DBE # <CJK>
-0x8DC2 # <CJK>
-0x8DCB # <CJK>
-0x8DCC # <CJK>
-0x8DCF # <CJK>
-0x8DD6 # <CJK>
-0x8DDA # <CJK>
-0x8DDB # <CJK>
0x8DDD # <CJK>
-0x8DDF # <CJK>
0x8DE1 # <CJK>
-0x8DE3 # <CJK>
-0x8DE8 # <CJK>
-0x8DEA # <CJK>
-0x8DEB # <CJK>
0x8DEF # <CJK>
0x8DF3 # <CJK>
0x8DF5 # <CJK>
-0x8DFC # <CJK>
-0x8DFF # <CJK>
-0x8E08 # <CJK>
-0x8E09 # <CJK>
0x8E0A # <CJK>
0x8E0F # <CJK>
-0x8E10 # <CJK>
-0x8E1D # <CJK>
-0x8E1E # <CJK>
-0x8E1F # <CJK>
0x8E2A # <CJK>
-0x8E30 # <CJK>
-0x8E34 # <CJK>
-0x8E35 # <CJK>
-0x8E42 # <CJK>
-0x8E44 # <CJK>
-0x8E47 # <CJK>
-0x8E48 # <CJK>
-0x8E49 # <CJK>
-0x8E4A # <CJK>
-0x8E4C # <CJK>
-0x8E50 # <CJK>
-0x8E55 # <CJK>
-0x8E59 # <CJK>
-0x8E5F # <CJK>
-0x8E60 # <CJK>
-0x8E63 # <CJK>
-0x8E64 # <CJK>
-0x8E72 # <CJK>
0x8E74 # <CJK>
-0x8E76 # <CJK>
-0x8E7C # <CJK>
-0x8E81 # <CJK>
-0x8E84 # <CJK>
-0x8E85 # <CJK>
-0x8E87 # <CJK>
-0x8E8A # <CJK>
-0x8E8B # <CJK>
0x8E8D # <CJK>
-0x8E91 # <CJK>
-0x8E93 # <CJK>
-0x8E94 # <CJK>
-0x8E99 # <CJK>
-0x8EA1 # <CJK>
-0x8EAA # <CJK>
0x8EAB # <CJK>
-0x8EAC # <CJK>
-0x8EAF # <CJK>
-0x8EB0 # <CJK>
-0x8EB1 # <CJK>
-0x8EBE # <CJK>
-0x8EC5 # <CJK>
-0x8EC6 # <CJK>
-0x8EC8 # <CJK>
0x8ECA # <CJK>
-0x8ECB # <CJK>
0x8ECC # <CJK>
0x8ECD # <CJK>
0x8ED2 # <CJK>
-0x8EDB # <CJK>
0x8EDF # <CJK>
0x8EE2 # <CJK>
-0x8EE3 # <CJK>
-0x8EEB # <CJK>
0x8EF8 # <CJK>
-0x8EFB # <CJK>
-0x8EFC # <CJK>
0x8EFD # <CJK>
-0x8EFE # <CJK>
0x8F03 # <CJK>
-0x8F05 # <CJK>
0x8F09 # <CJK>
-0x8F0A # <CJK>
-0x8F0C # <CJK>
-0x8F12 # <CJK>
-0x8F13 # <CJK>
-0x8F14 # <CJK>
-0x8F15 # <CJK>
-0x8F19 # <CJK>
-0x8F1B # <CJK>
-0x8F1C # <CJK>
0x8F1D # <CJK>
-0x8F1F # <CJK>
-0x8F26 # <CJK>
0x8F29 # <CJK>
0x8F2A # <CJK>
-0x8F2F # <CJK>
-0x8F33 # <CJK>
0x8F38 # <CJK>
-0x8F39 # <CJK>
-0x8F3B # <CJK>
-0x8F3E # <CJK>
-0x8F3F # <CJK>
-0x8F42 # <CJK>
0x8F44 # <CJK>
-0x8F45 # <CJK>
-0x8F46 # <CJK>
-0x8F49 # <CJK>
-0x8F4C # <CJK>
-0x8F4D # <CJK>
-0x8F4E # <CJK>
-0x8F57 # <CJK>
-0x8F5C # <CJK>
-0x8F5F # <CJK>
-0x8F61 # <CJK>
-0x8F62 # <CJK>
-0x8F63 # <CJK>
-0x8F64 # <CJK>
0x8F9B # <CJK>
-0x8F9C # <CJK>
0x8F9E # <CJK>
-0x8F9F # <CJK>
0x8FA3 # <CJK>
-0x8FA7 # <CJK>
-0x8FA8 # <CJK>
-0x8FAD # <CJK>
-0x8FAE # <CJK>
-0x8FAF # <CJK>
-0x8FB0 # <CJK>
0x8FB1 # <CJK>
0x8FB2 # <CJK>
-0x8FB7 # <CJK>
0x8FBA # <CJK>
-0x8FBB # <CJK>
0x8FBC # <CJK>
-0x8FBF # <CJK>
-0x8FC2 # <CJK>
-0x8FC4 # <CJK>
0x8FC5 # <CJK>
0x8FCE # <CJK>
0x8FD1 # <CJK>
0x8FD4 # <CJK>
-0x8FDA # <CJK>
-0x8FE2 # <CJK>
-0x8FE5 # <CJK>
-0x8FE6 # <CJK>
-0x8FE9 # <CJK>
-0x8FEA # <CJK>
0x8FEB # <CJK>
0x8FED # <CJK>
-0x8FEF # <CJK>
0x8FF0 # <CJK>
-0x8FF4 # <CJK>
0x8FF7 # <CJK>
-0x8FF8 # <CJK>
-0x8FF9 # <CJK>
-0x8FFA # <CJK>
0x8FFD # <CJK>
0x9000 # <CJK>
0x9001 # <CJK>
0x9003 # <CJK>
-0x9005 # <CJK>
0x9006 # <CJK>
-0x900B # <CJK>
-0x900D # <CJK>
-0x900E # <CJK>
0x900F # <CJK>
0x9010 # <CJK>
-0x9011 # <CJK>
0x9013 # <CJK>
0x9014 # <CJK>
-0x9015 # <CJK>
-0x9016 # <CJK>
-0x9017 # <CJK>
-0x9019 # <CJK>
0x901A # <CJK>
0x901D # <CJK>
-0x901E # <CJK>
0x901F # <CJK>
0x9020 # <CJK>
-0x9021 # <CJK>
-0x9022 # <CJK>
0x9023 # <CJK>
-0x9027 # <CJK>
0x902E # <CJK>
0x9031 # <CJK>
0x9032 # <CJK>
-0x9035 # <CJK>
-0x9036 # <CJK>
0x9038 # <CJK>
-0x9039 # <CJK>
-0x903C # <CJK>
-0x903E # <CJK>
-0x9041 # <CJK>
0x9042 # <CJK>
0x9045 # <CJK>
0x9047 # <CJK>
-0x9049 # <CJK>
0x904A # <CJK>
0x904B # <CJK>
0x904D # <CJK>
0x904E # <CJK>
-0x904F # <CJK>
-0x9050 # <CJK>
-0x9051 # <CJK>
-0x9052 # <CJK>
0x9053 # <CJK>
0x9054 # <CJK>
0x9055 # <CJK>
-0x9056 # <CJK>
-0x9058 # <CJK>
-0x9059 # <CJK>
0x905C # <CJK>
-0x905E # <CJK>
0x9060 # <CJK>
0x9061 # <CJK>
0x9063 # <CJK>
-0x9065 # <CJK>
-0x9068 # <CJK>
0x9069 # <CJK>
0x906D # <CJK>
0x906E # <CJK>
-0x906F # <CJK>
-0x9072 # <CJK>
0x9075 # <CJK>
-0x9076 # <CJK>
0x9077 # <CJK>
0x9078 # <CJK>
0x907A # <CJK>
-0x907C # <CJK>
-0x907D # <CJK>
0x907F # <CJK>
-0x9080 # <CJK>
-0x9081 # <CJK>
-0x9082 # <CJK>
-0x9083 # <CJK>
0x9084 # <CJK>
-0x9087 # <CJK>
-0x9089 # <CJK>
-0x908A # <CJK>
-0x908F # <CJK>
-0x9091 # <CJK>
0x90A3 # <CJK>
0x90A6 # <CJK>
-0x90A8 # <CJK>
0x90AA # <CJK>
-0x90AF # <CJK>
-0x90B1 # <CJK>
-0x90B5 # <CJK>
0x90B8 # <CJK>
-0x90C1 # <CJK>
0x90CA # <CJK>
0x90CE # <CJK>
-0x90DB # <CJK>
0x90E1 # <CJK>
-0x90E2 # <CJK>
-0x90E4 # <CJK>
0x90E8 # <CJK>
0x90ED # <CJK>
0x90F5 # <CJK>
0x90F7 # <CJK>
0x90FD # <CJK>
-0x9102 # <CJK>
-0x9112 # <CJK>
-0x9119 # <CJK>
-0x912D # <CJK>
-0x9130 # <CJK>
-0x9132 # <CJK>
-0x9149 # <CJK>
-0x914A # <CJK>
-0x914B # <CJK>
0x914C # <CJK>
0x914D # <CJK>
0x914E # <CJK>
0x9152 # <CJK>
0x9154 # <CJK>
-0x9156 # <CJK>
-0x9158 # <CJK>
0x9162 # <CJK>
-0x9163 # <CJK>
-0x9165 # <CJK>
-0x9169 # <CJK>
0x916A # <CJK>
0x916C # <CJK>
-0x9172 # <CJK>
-0x9173 # <CJK>
0x9175 # <CJK>
0x9177 # <CJK>
0x9178 # <CJK>
-0x9182 # <CJK>
-0x9187 # <CJK>
-0x9189 # <CJK>
-0x918B # <CJK>
-0x918D # <CJK>
-0x9190 # <CJK>
0x9192 # <CJK>
-0x9197 # <CJK>
0x919C # <CJK>
-0x91A2 # <CJK>
-0x91A4 # <CJK>
-0x91AA # <CJK>
-0x91AB # <CJK>
-0x91AF # <CJK>
-0x91B4 # <CJK>
-0x91B5 # <CJK>
0x91B8 # <CJK>
-0x91BA # <CJK>
-0x91C0 # <CJK>
-0x91C1 # <CJK>
-0x91C6 # <CJK>
0x91C7 # <CJK>
0x91C8 # <CJK>
-0x91C9 # <CJK>
-0x91CB # <CJK>
0x91CC # <CJK>
0x91CD # <CJK>
0x91CE # <CJK>
0x91CF # <CJK>
-0x91D0 # <CJK>
0x91D1 # <CJK>
-0x91D6 # <CJK>
-0x91D8 # <CJK>
-0x91DB # <CJK>
0x91DC # <CJK>
0x91DD # <CJK>
-0x91DF # <CJK>
-0x91E1 # <CJK>
0x91E3 # <CJK>
-0x91E6 # <CJK>
-0x91E7 # <CJK>
-0x91F5 # <CJK>
-0x91F6 # <CJK>
-0x91FC # <CJK>
-0x91FF # <CJK>
0x920D # <CJK>
-0x920E # <CJK>
-0x9211 # <CJK>
-0x9214 # <CJK>
-0x9215 # <CJK>
-0x921E # <CJK>
-0x9229 # <CJK>
-0x922C # <CJK>
0x9234 # <CJK>
-0x9237 # <CJK>
-0x923F # <CJK>
0x9244 # <CJK>
-0x9245 # <CJK>
-0x9248 # <CJK>
-0x9249 # <CJK>
-0x924B # <CJK>
-0x9250 # <CJK>
-0x9257 # <CJK>
-0x925A # <CJK>
0x925B # <CJK>
-0x925E # <CJK>
0x9262 # <CJK>
-0x9264 # <CJK>
-0x9266 # <CJK>
0x9271 # <CJK>
-0x927E # <CJK>
0x9280 # <CJK>
0x9283 # <CJK>
0x9285 # <CJK>
-0x9291 # <CJK>
-0x9293 # <CJK>
-0x9295 # <CJK>
-0x9296 # <CJK>
0x9298 # <CJK>
-0x929A # <CJK>
-0x929B # <CJK>
-0x929C # <CJK>
0x92AD # <CJK>
-0x92B7 # <CJK>
-0x92B9 # <CJK>
-0x92CF # <CJK>
-0x92D2 # <CJK>
-0x92E4 # <CJK>
-0x92E9 # <CJK>
-0x92EA # <CJK>
0x92ED # <CJK>
-0x92F2 # <CJK>
0x92F3 # <CJK>
-0x92F8 # <CJK>
-0x92FA # <CJK>
0x92FC # <CJK>
-0x9306 # <CJK>
-0x930F # <CJK>
-0x9310 # <CJK>
-0x9318 # <CJK>
-0x9319 # <CJK>
-0x931A # <CJK>
0x9320 # <CJK>
-0x9322 # <CJK>
-0x9323 # <CJK>
0x9326 # <CJK>
-0x9328 # <CJK>
-0x932B # <CJK>
0x932C # <CJK>
0x932E # <CJK>
0x932F # <CJK>
0x9332 # <CJK>
-0x9335 # <CJK>
-0x933A # <CJK>
-0x933B # <CJK>
-0x9344 # <CJK>
0x934B # <CJK>
-0x934D # <CJK>
-0x9354 # <CJK>
-0x9356 # <CJK>
0x935B # <CJK>
-0x935C # <CJK>
-0x9360 # <CJK>
-0x936C # <CJK>
-0x936E # <CJK>
0x9375 # <CJK>
-0x937C # <CJK>
-0x937E # <CJK>
0x938C # <CJK>
-0x9394 # <CJK>
0x9396 # <CJK>
-0x9397 # <CJK>
-0x939A # <CJK>
-0x93A7 # <CJK>
-0x93AC # <CJK>
-0x93AD # <CJK>
0x93AE # <CJK>
-0x93B0 # <CJK>
-0x93B9 # <CJK>
-0x93C3 # <CJK>
-0x93C8 # <CJK>
-0x93D0 # <CJK>
-0x93D1 # <CJK>
-0x93D6 # <CJK>
-0x93D7 # <CJK>
-0x93D8 # <CJK>
-0x93DD # <CJK>
0x93E1 # <CJK>
-0x93E4 # <CJK>
-0x93E5 # <CJK>
-0x93E8 # <CJK>
-0x9403 # <CJK>
-0x9407 # <CJK>
-0x9410 # <CJK>
-0x9413 # <CJK>
-0x9414 # <CJK>
0x9418 # <CJK>
-0x9419 # <CJK>
-0x941A # <CJK>
-0x9421 # <CJK>
-0x942B # <CJK>
-0x9435 # <CJK>
-0x9436 # <CJK>
-0x9438 # <CJK>
-0x943A # <CJK>
-0x9441 # <CJK>
-0x9444 # <CJK>
0x9451 # <CJK>
-0x9452 # <CJK>
-0x9453 # <CJK>
-0x945A # <CJK>
-0x945B # <CJK>
-0x945E # <CJK>
-0x9460 # <CJK>
-0x9462 # <CJK>
-0x946A # <CJK>
-0x9470 # <CJK>
-0x9475 # <CJK>
-0x9477 # <CJK>
-0x947C # <CJK>
-0x947D # <CJK>
-0x947E # <CJK>
-0x947F # <CJK>
-0x9481 # <CJK>
0x9577 # <CJK>
0x9580 # <CJK>
-0x9582 # <CJK>
-0x9583 # <CJK>
-0x9587 # <CJK>
0x9589 # <CJK>
-0x958A # <CJK>
0x958B # <CJK>
-0x958F # <CJK>
0x9591 # <CJK>
0x9593 # <CJK>
-0x9594 # <CJK>
-0x9596 # <CJK>
-0x9598 # <CJK>
-0x9599 # <CJK>
-0x95A0 # <CJK>
0x95A2 # <CJK>
0x95A3 # <CJK>
-0x95A4 # <CJK>
0x95A5 # <CJK>
-0x95A7 # <CJK>
-0x95A8 # <CJK>
-0x95AD # <CJK>
0x95B2 # <CJK>
-0x95B9 # <CJK>
-0x95BB # <CJK>
-0x95BC # <CJK>
-0x95BE # <CJK>
-0x95C3 # <CJK>
0x95C7 # <CJK>
-0x95CA # <CJK>
-0x95CC # <CJK>
-0x95CD # <CJK>
-0x95D4 # <CJK>
-0x95D5 # <CJK>
-0x95D6 # <CJK>
0x95D8 # <CJK>
-0x95DC # <CJK>
-0x95E1 # <CJK>
-0x95E2 # <CJK>
-0x95E5 # <CJK>
0x961C # <CJK>
-0x9621 # <CJK>
-0x9628 # <CJK>
0x962A # <CJK>
-0x962E # <CJK>
-0x962F # <CJK>
0x9632 # <CJK>
0x963B # <CJK>
-0x963F # <CJK>
-0x9640 # <CJK>
-0x9642 # <CJK>
0x9644 # <CJK>
-0x964B # <CJK>
-0x964C # <CJK>
0x964D # <CJK>
-0x964F # <CJK>
0x9650 # <CJK>
0x965B # <CJK>
-0x965C # <CJK>
-0x965D # <CJK>
-0x965E # <CJK>
-0x965F # <CJK>
0x9662 # <CJK>
0x9663 # <CJK>
0x9664 # <CJK>
0x9665 # <CJK>
-0x9666 # <CJK>
0x966A # <CJK>
-0x966C # <CJK>
0x9670 # <CJK>
-0x9672 # <CJK>
0x9673 # <CJK>
0x9675 # <CJK>
0x9676 # <CJK>
-0x9677 # <CJK>
0x9678 # <CJK>
0x967A # <CJK>
0x967D # <CJK>
0x9685 # <CJK>
0x9686 # <CJK>
-0x9688 # <CJK>
0x968A # <CJK>
-0x968B # <CJK>
-0x968D # <CJK>
0x968E # <CJK>
0x968F # <CJK>
0x9694 # <CJK>
-0x9695 # <CJK>
-0x9697 # <CJK>
-0x9698 # <CJK>
0x9699 # <CJK>
0x969B # <CJK>
0x969C # <CJK>
0x96A0 # <CJK>
0x96A3 # <CJK>
-0x96A7 # <CJK>
-0x96A8 # <CJK>
-0x96AA # <CJK>
-0x96B0 # <CJK>
-0x96B1 # <CJK>
-0x96B2 # <CJK>
-0x96B4 # <CJK>
-0x96B6 # <CJK>
0x96B7 # <CJK>
-0x96B8 # <CJK>
-0x96B9 # <CJK>
0x96BB # <CJK>
-0x96BC # <CJK>
-0x96C0 # <CJK>
-0x96C1 # <CJK>
0x96C4 # <CJK>
0x96C5 # <CJK>
0x96C6 # <CJK>
0x96C7 # <CJK>
-0x96C9 # <CJK>
-0x96CB # <CJK>
0x96CC # <CJK>
-0x96CD # <CJK>
-0x96CE # <CJK>
0x96D1 # <CJK>
-0x96D5 # <CJK>
-0x96D6 # <CJK>
-0x96D9 # <CJK>
-0x96DB # <CJK>
-0x96DC # <CJK>
0x96E2 # <CJK>
0x96E3 # <CJK>
0x96E8 # <CJK>
0x96EA # <CJK>
-0x96EB # <CJK>
0x96F0 # <CJK>
0x96F2 # <CJK>
0x96F6 # <CJK>
0x96F7 # <CJK>
-0x96F9 # <CJK>
0x96FB # <CJK>
0x9700 # <CJK>
-0x9704 # <CJK>
-0x9706 # <CJK>
0x9707 # <CJK>
-0x9708 # <CJK>
0x970A # <CJK>
-0x970D # <CJK>
-0x970E # <CJK>
-0x970F # <CJK>
-0x9711 # <CJK>
-0x9713 # <CJK>
-0x9716 # <CJK>
-0x9719 # <CJK>
0x971C # <CJK>
-0x971E # <CJK>
-0x9724 # <CJK>
0x9727 # <CJK>
-0x972A # <CJK>
-0x9730 # <CJK>
0x9732 # <CJK>
-0x9738 # <CJK>
-0x9739 # <CJK>
-0x973D # <CJK>
-0x973E # <CJK>
-0x9742 # <CJK>
-0x9744 # <CJK>
-0x9746 # <CJK>
-0x9748 # <CJK>
-0x9749 # <CJK>
0x9752 # <CJK>
-0x9756 # <CJK>
0x9759 # <CJK>
-0x975C # <CJK>
0x975E # <CJK>
-0x9760 # <CJK>
-0x9761 # <CJK>
0x9762 # <CJK>
-0x9764 # <CJK>
-0x9766 # <CJK>
-0x9768 # <CJK>
0x9769 # <CJK>
-0x976B # <CJK>
-0x976D # <CJK>
-0x9771 # <CJK>
0x9774 # <CJK>
-0x9779 # <CJK>
-0x977A # <CJK>
-0x977C # <CJK>
-0x9781 # <CJK>
-0x9784 # <CJK>
-0x9785 # <CJK>
-0x9786 # <CJK>
-0x978B # <CJK>
-0x978D # <CJK>
-0x978F # <CJK>
-0x9790 # <CJK>
-0x9798 # <CJK>
-0x979C # <CJK>
-0x97A0 # <CJK>
-0x97A3 # <CJK>
-0x97A6 # <CJK>
-0x97A8 # <CJK>
-0x97AB # <CJK>
-0x97AD # <CJK>
-0x97B3 # <CJK>
-0x97B4 # <CJK>
-0x97C3 # <CJK>
-0x97C6 # <CJK>
-0x97C8 # <CJK>
-0x97CB # <CJK>
0x97D3 # <CJK>
-0x97DC # <CJK>
-0x97ED # <CJK>
-0x97EE # <CJK>
-0x97F2 # <CJK>
0x97F3 # <CJK>
-0x97F5 # <CJK>
-0x97F6 # <CJK>
0x97FB # <CJK>
0x97FF # <CJK>
-0x9801 # <CJK>
0x9802 # <CJK>
0x9803 # <CJK>
0x9805 # <CJK>
0x9806 # <CJK>
0x9808 # <CJK>
-0x980C # <CJK>
-0x980F # <CJK>
0x9810 # <CJK>
0x9811 # <CJK>
0x9812 # <CJK>
0x9813 # <CJK>
-0x9817 # <CJK>
0x9818 # <CJK>
-0x981A # <CJK>
-0x9821 # <CJK>
-0x9824 # <CJK>
-0x982C # <CJK>
0x982D # <CJK>
-0x9834 # <CJK>
-0x9837 # <CJK>
-0x9838 # <CJK>
+#0x9830 # <CJK> # not in DroidSansJapanese
0x983B # <CJK>
0x983C # <CJK>
-0x983D # <CJK>
-0x9846 # <CJK>
-0x984B # <CJK>
0x984C # <CJK>
0x984D # <CJK>
0x984E # <CJK>
-0x984F # <CJK>
0x9854 # <CJK>
0x9855 # <CJK>
0x9858 # <CJK>
-0x985B # <CJK>
0x985E # <CJK>
0x9867 # <CJK>
-0x986B # <CJK>
-0x986F # <CJK>
-0x9870 # <CJK>
-0x9871 # <CJK>
-0x9873 # <CJK>
-0x9874 # <CJK>
0x98A8 # <CJK>
-0x98AA # <CJK>
-0x98AF # <CJK>
-0x98B1 # <CJK>
-0x98B6 # <CJK>
-0x98C3 # <CJK>
-0x98C4 # <CJK>
-0x98C6 # <CJK>
0x98DB # <CJK>
-0x98DC # <CJK>
0x98DF # <CJK>
0x98E2 # <CJK>
-0x98E9 # <CJK>
-0x98EB # <CJK>
-0x98ED # <CJK>
-0x98EE # <CJK>
0x98EF # <CJK>
0x98F2 # <CJK>
-0x98F4 # <CJK>
0x98FC # <CJK>
0x98FD # <CJK>
0x98FE # <CJK>
-0x9903 # <CJK>
0x9905 # <CJK>
-0x9909 # <CJK>
0x990A # <CJK>
0x990C # <CJK>
-0x9910 # <CJK>
-0x9912 # <CJK>
0x9913 # <CJK>
-0x9914 # <CJK>
-0x9918 # <CJK>
-0x991D # <CJK>
-0x991E # <CJK>
-0x9920 # <CJK>
-0x9921 # <CJK>
-0x9924 # <CJK>
0x9928 # <CJK>
-0x992C # <CJK>
-0x992E # <CJK>
-0x993D # <CJK>
-0x993E # <CJK>
-0x9942 # <CJK>
-0x9945 # <CJK>
-0x9949 # <CJK>
-0x994B # <CJK>
-0x994C # <CJK>
-0x9950 # <CJK>
-0x9951 # <CJK>
-0x9952 # <CJK>
-0x9955 # <CJK>
-0x9957 # <CJK>
0x9996 # <CJK>
-0x9997 # <CJK>
-0x9998 # <CJK>
0x9999 # <CJK>
-0x99A5 # <CJK>
-0x99A8 # <CJK>
0x99AC # <CJK>
-0x99AD # <CJK>
-0x99AE # <CJK>
-0x99B3 # <CJK>
-0x99B4 # <CJK>
-0x99BC # <CJK>
-0x99C1 # <CJK>
0x99C4 # <CJK>
0x99C5 # <CJK>
0x99C6 # <CJK>
-0x99C8 # <CJK>
0x99D0 # <CJK>
-0x99D1 # <CJK>
0x99D2 # <CJK>
-0x99D5 # <CJK>
-0x99D8 # <CJK>
-0x99DB # <CJK>
-0x99DD # <CJK>
-0x99DF # <CJK>
-0x99E2 # <CJK>
-0x99ED # <CJK>
-0x99EE # <CJK>
-0x99F1 # <CJK>
-0x99F2 # <CJK>
-0x99F8 # <CJK>
-0x99FB # <CJK>
-0x99FF # <CJK>
-0x9A01 # <CJK>
-0x9A05 # <CJK>
0x9A0E # <CJK>
-0x9A0F # <CJK>
0x9A12 # <CJK>
0x9A13 # <CJK>
-0x9A19 # <CJK>
-0x9A28 # <CJK>
-0x9A2B # <CJK>
0x9A30 # <CJK>
-0x9A37 # <CJK>
-0x9A3E # <CJK>
-0x9A40 # <CJK>
-0x9A42 # <CJK>
-0x9A43 # <CJK>
-0x9A45 # <CJK>
-0x9A4D # <CJK>
-0x9A55 # <CJK>
-0x9A57 # <CJK>
0x9A5A # <CJK>
-0x9A5B # <CJK>
-0x9A5F # <CJK>
-0x9A62 # <CJK>
-0x9A64 # <CJK>
-0x9A65 # <CJK>
-0x9A69 # <CJK>
-0x9A6A # <CJK>
-0x9A6B # <CJK>
0x9AA8 # <CJK>
-0x9AAD # <CJK>
-0x9AB0 # <CJK>
0x9AB8 # <CJK>
-0x9ABC # <CJK>
-0x9AC0 # <CJK>
0x9AC4 # <CJK>
-0x9ACF # <CJK>
-0x9AD1 # <CJK>
-0x9AD3 # <CJK>
-0x9AD4 # <CJK>
0x9AD8 # <CJK>
-0x9ADE # <CJK>
-0x9ADF # <CJK>
-0x9AE2 # <CJK>
-0x9AE3 # <CJK>
-0x9AE6 # <CJK>
0x9AEA # <CJK>
-0x9AEB # <CJK>
-0x9AED # <CJK>
-0x9AEE # <CJK>
-0x9AEF # <CJK>
-0x9AF1 # <CJK>
-0x9AF4 # <CJK>
-0x9AF7 # <CJK>
-0x9AFB # <CJK>
-0x9B06 # <CJK>
-0x9B18 # <CJK>
-0x9B1A # <CJK>
-0x9B1F # <CJK>
-0x9B22 # <CJK>
-0x9B23 # <CJK>
-0x9B25 # <CJK>
-0x9B27 # <CJK>
-0x9B28 # <CJK>
-0x9B29 # <CJK>
-0x9B2A # <CJK>
-0x9B2E # <CJK>
-0x9B2F # <CJK>
0x9B31 # <CJK>
-0x9B32 # <CJK>
-0x9B3B # <CJK>
0x9B3C # <CJK>
-0x9B41 # <CJK>
0x9B42 # <CJK>
-0x9B43 # <CJK>
-0x9B44 # <CJK>
0x9B45 # <CJK>
-0x9B4D # <CJK>
-0x9B4E # <CJK>
-0x9B4F # <CJK>
-0x9B51 # <CJK>
0x9B54 # <CJK>
-0x9B58 # <CJK>
0x9B5A # <CJK>
-0x9B6F # <CJK>
-0x9B74 # <CJK>
-0x9B83 # <CJK>
-0x9B8E # <CJK>
-0x9B91 # <CJK>
-0x9B92 # <CJK>
-0x9B93 # <CJK>
-0x9B96 # <CJK>
-0x9B97 # <CJK>
-0x9B9F # <CJK>
-0x9BA0 # <CJK>
-0x9BA8 # <CJK>
-0x9BAA # <CJK>
-0x9BAB # <CJK>
-0x9BAD # <CJK>
0x9BAE # <CJK>
-0x9BB4 # <CJK>
-0x9BB9 # <CJK>
-0x9BC0 # <CJK>
-0x9BC6 # <CJK>
-0x9BC9 # <CJK>
-0x9BCA # <CJK>
-0x9BCF # <CJK>
-0x9BD1 # <CJK>
-0x9BD2 # <CJK>
-0x9BD4 # <CJK>
-0x9BD6 # <CJK>
-0x9BDB # <CJK>
-0x9BE1 # <CJK>
-0x9BE2 # <CJK>
-0x9BE3 # <CJK>
-0x9BE4 # <CJK>
0x9BE8 # <CJK>
-0x9BF0 # <CJK>
-0x9BF1 # <CJK>
-0x9BF2 # <CJK>
-0x9BF5 # <CJK>
-0x9C04 # <CJK>
-0x9C06 # <CJK>
-0x9C08 # <CJK>
-0x9C09 # <CJK>
-0x9C0A # <CJK>
-0x9C0C # <CJK>
-0x9C0D # <CJK>
-0x9C10 # <CJK>
-0x9C12 # <CJK>
-0x9C13 # <CJK>
-0x9C14 # <CJK>
-0x9C15 # <CJK>
-0x9C1B # <CJK>
-0x9C21 # <CJK>
-0x9C24 # <CJK>
-0x9C25 # <CJK>
-0x9C2D # <CJK>
-0x9C2E # <CJK>
-0x9C2F # <CJK>
-0x9C30 # <CJK>
-0x9C32 # <CJK>
-0x9C39 # <CJK>
-0x9C3A # <CJK>
-0x9C3B # <CJK>
-0x9C3E # <CJK>
-0x9C46 # <CJK>
-0x9C47 # <CJK>
-0x9C48 # <CJK>
-0x9C52 # <CJK>
-0x9C57 # <CJK>
-0x9C5A # <CJK>
-0x9C60 # <CJK>
-0x9C67 # <CJK>
-0x9C76 # <CJK>
-0x9C78 # <CJK>
0x9CE5 # <CJK>
-0x9CE7 # <CJK>
-0x9CE9 # <CJK>
-0x9CEB # <CJK>
-0x9CEC # <CJK>
-0x9CF0 # <CJK>
-0x9CF3 # <CJK>
0x9CF4 # <CJK>
-0x9CF6 # <CJK>
-0x9D03 # <CJK>
-0x9D06 # <CJK>
-0x9D07 # <CJK>
-0x9D08 # <CJK>
-0x9D09 # <CJK>
-0x9D0E # <CJK>
-0x9D12 # <CJK>
-0x9D15 # <CJK>
-0x9D1B # <CJK>
-0x9D1F # <CJK>
-0x9D23 # <CJK>
-0x9D26 # <CJK>
-0x9D28 # <CJK>
-0x9D2A # <CJK>
-0x9D2B # <CJK>
-0x9D2C # <CJK>
-0x9D3B # <CJK>
-0x9D3E # <CJK>
-0x9D3F # <CJK>
-0x9D41 # <CJK>
-0x9D44 # <CJK>
-0x9D46 # <CJK>
-0x9D48 # <CJK>
-0x9D50 # <CJK>
-0x9D51 # <CJK>
-0x9D59 # <CJK>
-0x9D5C # <CJK>
-0x9D5D # <CJK>
-0x9D5E # <CJK>
-0x9D60 # <CJK>
-0x9D61 # <CJK>
-0x9D64 # <CJK>
-0x9D6C # <CJK>
-0x9D6F # <CJK>
-0x9D72 # <CJK>
-0x9D7A # <CJK>
-0x9D87 # <CJK>
-0x9D89 # <CJK>
0x9D8F # <CJK>
-0x9D9A # <CJK>
-0x9DA4 # <CJK>
-0x9DA9 # <CJK>
-0x9DAB # <CJK>
-0x9DAF # <CJK>
-0x9DB2 # <CJK>
0x9DB4 # <CJK>
-0x9DB8 # <CJK>
-0x9DBA # <CJK>
-0x9DBB # <CJK>
-0x9DC1 # <CJK>
-0x9DC2 # <CJK>
-0x9DC4 # <CJK>
-0x9DC6 # <CJK>
-0x9DCF # <CJK>
-0x9DD3 # <CJK>
-0x9DD9 # <CJK>
-0x9DE6 # <CJK>
-0x9DED # <CJK>
-0x9DEF # <CJK>
-0x9DF2 # <CJK>
-0x9DF8 # <CJK>
-0x9DF9 # <CJK>
-0x9DFA # <CJK>
-0x9DFD # <CJK>
-0x9E1A # <CJK>
-0x9E1B # <CJK>
-0x9E1E # <CJK>
-0x9E75 # <CJK>
-0x9E78 # <CJK>
-0x9E79 # <CJK>
-0x9E7D # <CJK>
0x9E7F # <CJK>
-0x9E81 # <CJK>
-0x9E88 # <CJK>
-0x9E8B # <CJK>
-0x9E8C # <CJK>
-0x9E91 # <CJK>
-0x9E92 # <CJK>
0x9E93 # <CJK>
-0x9E95 # <CJK>
0x9E97 # <CJK>
-0x9E9D # <CJK>
-0x9E9F # <CJK>
-0x9EA5 # <CJK>
0x9EA6 # <CJK>
-0x9EA9 # <CJK>
-0x9EAA # <CJK>
-0x9EAD # <CJK>
-0x9EB8 # <CJK>
-0x9EB9 # <CJK>
0x9EBA # <CJK>
0x9EBB # <CJK>
-0x9EBC # <CJK>
-0x9EBE # <CJK>
-0x9EBF # <CJK>
0x9EC4 # <CJK>
-0x9ECC # <CJK>
-0x9ECD # <CJK>
-0x9ECE # <CJK>
-0x9ECF # <CJK>
-0x9ED0 # <CJK>
0x9ED2 # <CJK>
-0x9ED4 # <CJK>
-0x9ED8 # <CJK>
0x9ED9 # <CJK>
-0x9EDB # <CJK>
-0x9EDC # <CJK>
-0x9EDD # <CJK>
-0x9EDE # <CJK>
-0x9EE0 # <CJK>
-0x9EE5 # <CJK>
-0x9EE8 # <CJK>
-0x9EEF # <CJK>
-0x9EF4 # <CJK>
-0x9EF6 # <CJK>
-0x9EF7 # <CJK>
-0x9EF9 # <CJK>
-0x9EFB # <CJK>
-0x9EFC # <CJK>
-0x9EFD # <CJK>
-0x9F07 # <CJK>
-0x9F08 # <CJK>
-0x9F0E # <CJK>
0x9F13 # <CJK>
-0x9F15 # <CJK>
-0x9F20 # <CJK>
-0x9F21 # <CJK>
-0x9F2C # <CJK>
0x9F3B # <CJK>
-0x9F3E # <CJK>
-0x9F4A # <CJK>
-0x9F4B # <CJK>
-0x9F4E # <CJK>
-0x9F4F # <CJK>
-0x9F52 # <CJK>
-0x9F54 # <CJK>
-0x9F5F # <CJK>
-0x9F60 # <CJK>
-0x9F61 # <CJK>
0x9F62 # <CJK>
-0x9F63 # <CJK>
-0x9F66 # <CJK>
-0x9F67 # <CJK>
-0x9F6A # <CJK>
-0x9F6C # <CJK>
-0x9F72 # <CJK>
-0x9F76 # <CJK>
-0x9F77 # <CJK>
-0x9F8D # <CJK>
-0x9F95 # <CJK>
-0x9F9C # <CJK>
-0x9F9D # <CJK>
-0x9FA0 # <CJK>
-#0xFFE5 # FULLWIDTH YEN SIGN
+#0x20B9F # <CJK>
diff --git a/fc-lang/ko.orth b/fc-lang/ko.orth
index 39114a5a..4bb52c6f 100644
--- a/fc-lang/ko.orth
+++ b/fc-lang/ko.orth
@@ -86,7 +86,6 @@
0x3161 # HANGUL LETTER EU
0x3162 # HANGUL LETTER YI
0x3163 # HANGUL LETTER I
-0x3164 # HANGUL FILLER
0x3165 # HANGUL LETTER SSANGNIEUN
0x3166 # HANGUL LETTER NIEUN-TIKEUT
0x3167 # HANGUL LETTER NIEUN-SIOS
diff --git a/fc-lang/prs.orth b/fc-lang/prs.orth
deleted file mode 100644
index b6a2ef5b..00000000
--- a/fc-lang/prs.orth
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-# fontconfig/fc-lang/prs.orth
-#
-# Copyright © 2009 Roozbeh Pournader
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of the author(s) not be used in
-# advertising or publicity pertaining to distribution of the software without
-# specific, written prior permission. The authors make no
-# representations about the suitability of this software for any purpose. It
-# is provided "as is" without express or implied warranty.
-#
-# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
-# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
-# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
-# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-# PERFORMANCE OF THIS SOFTWARE.
-#
-# Dari/Eastern Farsi (prs)
-#
-# We assume that Afghan Persian uses the same orthography as Iranian
-# Persian, although the actual orthography is probably less strict than that
-# of the Iranian Academy of Persian Language and Literature.
-include fa.orth
diff --git a/fc-list/Makefile.in b/fc-list/Makefile.in
new file mode 100644
index 00000000..16145cd1
--- /dev/null
+++ b/fc-list/Makefile.in
@@ -0,0 +1,786 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+# fontconfig/fc-list/Makefile.am
+#
+# Copyright © 2003 Keith Packard
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = fc-list$(EXEEXT)
+@USEDOCBOOK_TRUE@am__append_1 = ${man_MANS}
+subdir = fc-list
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
+PROGRAMS = $(bin_PROGRAMS)
+fc_list_SOURCES = fc-list.c
+fc_list_OBJECTS = fc-list.$(OBJEXT)
+fc_list_DEPENDENCIES = ${top_builddir}/src/libfontconfig.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = fc-list.c
+DIST_SOURCES = fc-list.c
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(man_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+DOC2MAN = docbook2man
+FC_LIST_SRC = ${top_srcdir}/fc-list
+SGML = ${FC_LIST_SRC}/fc-list.sgml
+AM_CPPFLAGS = -I${top_srcdir} $(WARN_CFLAGS)
+BUILT_MANS = fc-list.1
+@ENABLE_DOCS_TRUE@man_MANS = ${BUILT_MANS}
+EXTRA_DIST = fc-list.sgml $(BUILT_MANS)
+CLEANFILES = $(am__append_1)
+fc_list_LDADD = ${top_builddir}/src/libfontconfig.la
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-list/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu fc-list/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+fc-list$(EXEEXT): $(fc_list_OBJECTS) $(fc_list_DEPENDENCIES) $(EXTRA_fc_list_DEPENDENCIES)
+ @rm -f fc-list$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fc_list_OBJECTS) $(fc_list_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fc-list.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man1: $(man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS) $(MANS) all-local
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-man1 \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-binPROGRAMS uninstall-man uninstall-man1
+
+
+@USEDOCBOOK_TRUE@${man_MANS}: ${SGML}
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(RM) $@; \
+@USEDOCBOOK_TRUE@ $(DOC2MAN) ${SGML}; \
+@USEDOCBOOK_TRUE@ $(RM) manpage.*
+
+@USEDOCBOOK_TRUE@all-local: $(man_MANS)
+@USEDOCBOOK_FALSE@all-local:
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/fc-list/fc-list.1 b/fc-list/fc-list.1
new file mode 100644
index 00000000..6aa0de3c
--- /dev/null
+++ b/fc-list/fc-list.1
@@ -0,0 +1,76 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FC-LIST" "1" "Aug 13, 2008" "" ""
+.SH NAME
+fc-list \- list available fonts
+.SH SYNOPSIS
+.sp
+\fBfc-list\fR [ \fB-vVh\fR ] [ \fB--verbose\fR ] [ \fB [ -f \fIformat\fB ] [ --format \fIformat\fB ] \fR ] [ \fB [ -q ] [ --quiet ] \fR ] [ \fB--version\fR ] [ \fB--help\fR ]
+
+ [ \fB\fIpattern\fB [ \fIelement\fB\fI...\fB ] \fR ]
+.SH "DESCRIPTION"
+.PP
+\fBfc-list\fR lists fonts and styles
+available on the system for applications using fontconfig.
+If any elements are specified, only those are printed.
+Otherwise family and style are printed, unless verbose
+output is requested.
+.SH "OPTIONS"
+.PP
+This program follows the usual GNU command line syntax,
+with long options starting with two dashes (`-'). A summary of
+options is included below.
+.TP
+\fB-v\fR
+Print verbose output of the whole font pattern for each match,
+or \fIelement\fRs if any is
+provided.
+.TP
+\fB-f\fR
+Format output according to the format specifier
+\fIformat\fR\&.
+.TP
+\fB-q\fR
+Suppress all normal output. returns 1 as the error code if no fonts matched.
+.TP
+\fB-V\fR
+Show version of the program and exit.
+.TP
+\fB-h\fR
+Show summary of options.
+.TP
+\fB\fIpattern\fB\fR
+If this argument is set, only fonts matching
+\fIpattern\fR are displayed.
+.TP
+\fB\fIelement\fB\fR
+If set, the \fIelement\fR property
+is displayed for matching fonts.
+.SH "EXAMPLES"
+.TP
+\fBfc-list\fR
+Lists all font faces.
+.TP
+\fBfc-list :lang=hi\fR
+Lists font faces that cover Hindi.
+.TP
+\fBfc-list : family style file spacing\fR
+Lists the filename and spacing value for each font
+face. ``:'' is an empty pattern that matches all
+fonts.
+.SH "SEE ALSO"
+.PP
+\fBfc-match\fR(1)
+\fBFcFontList\fR(3)
+\fBFcPatternFormat\fR(3)
+\fBfc-cat\fR(1)
+\fBfc-cache\fR(1)
+\fBfc-pattern\fR(1)
+\fBfc-query\fR(1)
+\fBfc-scan\fR(1)
+.PP
+The fontconfig user's guide, in HTML format:
+\fI/usr/share/doc/fontconfig/fontconfig-user.html\fR\&.
+.SH "AUTHOR"
+.PP
+This manual page was written by Keith Packard
+<keithp@keithp.com> and Josselin Mouette <joss@debian.org>\&.
diff --git a/fc-match/Makefile.in b/fc-match/Makefile.in
new file mode 100644
index 00000000..ce4ebd2b
--- /dev/null
+++ b/fc-match/Makefile.in
@@ -0,0 +1,786 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+# fontconfig/fc-match/Makefile.am
+#
+# Copyright © 2003 Keith Packard
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = fc-match$(EXEEXT)
+@USEDOCBOOK_TRUE@am__append_1 = ${man_MANS}
+subdir = fc-match
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
+PROGRAMS = $(bin_PROGRAMS)
+fc_match_SOURCES = fc-match.c
+fc_match_OBJECTS = fc-match.$(OBJEXT)
+fc_match_DEPENDENCIES = ${top_builddir}/src/libfontconfig.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = fc-match.c
+DIST_SOURCES = fc-match.c
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(man_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+DOC2MAN = docbook2man
+FC_MATCH_SRC = ${top_srcdir}/fc-match
+SGML = ${FC_MATCH_SRC}/fc-match.sgml
+AM_CPPFLAGS = -I${top_srcdir} $(WARN_CFLAGS)
+BUILT_MANS = fc-match.1
+@ENABLE_DOCS_TRUE@man_MANS = ${BUILT_MANS}
+EXTRA_DIST = fc-match.sgml $(BUILT_MANS)
+CLEANFILES = $(am__append_1)
+fc_match_LDADD = ${top_builddir}/src/libfontconfig.la
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-match/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu fc-match/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+fc-match$(EXEEXT): $(fc_match_OBJECTS) $(fc_match_DEPENDENCIES) $(EXTRA_fc_match_DEPENDENCIES)
+ @rm -f fc-match$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fc_match_OBJECTS) $(fc_match_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fc-match.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man1: $(man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS) $(MANS) all-local
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-man1 \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-binPROGRAMS uninstall-man uninstall-man1
+
+
+@USEDOCBOOK_TRUE@${man_MANS}: ${SGML}
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(RM) $@; \
+@USEDOCBOOK_TRUE@ $(DOC2MAN) ${SGML}; \
+@USEDOCBOOK_TRUE@ $(RM) manpage.*
+
+@USEDOCBOOK_TRUE@all-local: $(man_MANS)
+@USEDOCBOOK_FALSE@all-local:
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/fc-match/fc-match.1 b/fc-match/fc-match.1
new file mode 100644
index 00000000..50393acb
--- /dev/null
+++ b/fc-match/fc-match.1
@@ -0,0 +1,74 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FC-MATCH" "1" "Aug 13, 2008" "" ""
+.SH NAME
+fc-match \- match available fonts
+.SH SYNOPSIS
+.sp
+\fBfc-match\fR [ \fB-asvVh\fR ] [ \fB--all\fR ] [ \fB--sort\fR ] [ \fB--verbose\fR ] [ \fB [ -f \fIformat\fB ] [ --format \fIformat\fB ] \fR ] [ \fB--version\fR ] [ \fB--help\fR ]
+
+ [ \fB\fIpattern\fB [ \fIelement\fB\fI...\fB ] \fR ]
+.SH "DESCRIPTION"
+.PP
+\fBfc-match\fR matches
+\fIpattern\fR (empty
+pattern by default) using the normal fontconfig matching rules to find
+the best font available. If \fB--sort\fR is given, the sorted list of best
+matching fonts is displayed.
+The \fB--all\fR option works like
+\fB--sort\fR except that no pruning is done on the list of fonts.
+.PP
+If any elements are specified, only those are printed.
+Otherwise short file name, family, and style are printed, unless verbose
+output is requested.
+.SH "OPTIONS"
+.PP
+This program follows the usual GNU command line syntax,
+with long options starting with two dashes (`-'). A summary of
+options is included below.
+.TP
+\fB-a\fR
+Displays sorted list of best matching fonts, but do not do any
+pruning on the list.
+.TP
+\fB-s\fR
+Displays sorted list of best matching fonts.
+.TP
+\fB-v\fR
+Print verbose output of the whole font pattern for each match,
+or \fIelement\fRs if any is
+provided.
+.TP
+\fB-f\fR
+Format output according to the format specifier
+\fIformat\fR\&.
+.TP
+\fB-V\fR
+Show version of the program and exit.
+.TP
+\fB-h\fR
+Show summary of options.
+.TP
+\fB\fIpattern\fB\fR
+Displays fonts matching
+\fIpattern\fR (uses empty pattern by default).
+.TP
+\fB\fIelement\fB\fR
+If set, the \fIelement\fR property
+is displayed for matching fonts.
+.SH "SEE ALSO"
+.PP
+\fBfc-list\fR(1)
+\fBFcFontMatch\fR(3)
+\fBFcFontSort\fR(3)
+\fBFcPatternFormat\fR(3)
+\fBfc-cat\fR(1)
+\fBfc-cache\fR(1)
+\fBfc-pattern\fR(1)
+\fBfc-query\fR(1)
+\fBfc-scan\fR(1)
+.PP
+The fontconfig user's guide, in HTML format:
+\fI/usr/share/doc/fontconfig/fontconfig-user.html\fR\&.
+.SH "AUTHOR"
+.PP
+This manual page was updated by Patrick Lam <plam@csail.mit.edu>\&.
diff --git a/fc-pattern/Makefile.in b/fc-pattern/Makefile.in
new file mode 100644
index 00000000..00540062
--- /dev/null
+++ b/fc-pattern/Makefile.in
@@ -0,0 +1,786 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+# fontconfig/fc-pattern/Makefile.am
+#
+# Copyright © 2003 Keith Packard
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = fc-pattern$(EXEEXT)
+@USEDOCBOOK_TRUE@am__append_1 = ${man_MANS}
+subdir = fc-pattern
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
+PROGRAMS = $(bin_PROGRAMS)
+fc_pattern_SOURCES = fc-pattern.c
+fc_pattern_OBJECTS = fc-pattern.$(OBJEXT)
+fc_pattern_DEPENDENCIES = ${top_builddir}/src/libfontconfig.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = fc-pattern.c
+DIST_SOURCES = fc-pattern.c
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(man_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+DOC2MAN = docbook2man
+FC_PATTERN_SRC = ${top_srcdir}/fc-pattern
+SGML = ${FC_PATTERN_SRC}/fc-pattern.sgml
+AM_CPPFLAGS = -I${top_srcdir} $(WARN_CFLAGS)
+BUILT_MANS = fc-pattern.1
+@ENABLE_DOCS_TRUE@man_MANS = ${BUILT_MANS}
+EXTRA_DIST = fc-pattern.sgml $(BUILT_MANS)
+CLEANFILES = $(am__append_1)
+fc_pattern_LDADD = ${top_builddir}/src/libfontconfig.la
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-pattern/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu fc-pattern/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+fc-pattern$(EXEEXT): $(fc_pattern_OBJECTS) $(fc_pattern_DEPENDENCIES) $(EXTRA_fc_pattern_DEPENDENCIES)
+ @rm -f fc-pattern$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fc_pattern_OBJECTS) $(fc_pattern_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fc-pattern.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man1: $(man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS) $(MANS) all-local
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-man1 \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-binPROGRAMS uninstall-man uninstall-man1
+
+
+@USEDOCBOOK_TRUE@${man_MANS}: ${SGML}
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(RM) $@; \
+@USEDOCBOOK_TRUE@ $(DOC2MAN) ${SGML}; \
+@USEDOCBOOK_TRUE@ $(RM) manpage.*
+
+@USEDOCBOOK_TRUE@all-local: $(man_MANS)
+@USEDOCBOOK_FALSE@all-local:
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/fc-pattern/fc-pattern.1 b/fc-pattern/fc-pattern.1
new file mode 100644
index 00000000..cc19b9c7
--- /dev/null
+++ b/fc-pattern/fc-pattern.1
@@ -0,0 +1,67 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FC-PATTERN" "1" "Apr 20, 2010" "" ""
+.SH NAME
+fc-pattern \- parse and show pattern
+.SH SYNOPSIS
+.sp
+\fBfc-pattern\fR [ \fB-cdVh\fR ] [ \fB--config\fR ] [ \fB--default\fR ] [ \fB [ -f \fIformat\fB ] [ --format \fIformat\fB ] \fR ] [ \fB--version\fR ] [ \fB--help\fR ]
+
+ [ \fB\fIpattern\fB [ \fIelement\fB\fI...\fB ] \fR ]
+.SH "DESCRIPTION"
+.PP
+\fBfc-pattern\fR parses
+\fIpattern\fR (empty
+pattern by default) and shows the parsed result.
+If \fB--config\fR is given, config substitution is performed on the
+pattern before being displayed.
+If \fB--default\fR is given, default substitution is performed on the
+pattern before being displayed.
+.PP
+If any elements are specified, only those are printed.
+.SH "OPTIONS"
+.PP
+This program follows the usual GNU command line syntax,
+with long options starting with two dashes (`-'). A summary of
+options is included below.
+.TP
+\fB-c\fR
+Perform config substitution on pattern.
+.TP
+\fB-d\fR
+Perform default substitution on pattern.
+.TP
+\fB-f\fR
+Format output according to the format specifier
+\fIformat\fR\&.
+.TP
+\fB-V\fR
+Show version of the program and exit.
+.TP
+\fB-h\fR
+Show summary of options.
+.TP
+\fB\fIpattern\fB\fR
+Parses and displays \fIpattern\fR (uses empty pattern by default).
+.TP
+\fB\fIelement\fB\fR
+If set, the \fIelement\fR property
+is displayed for parsed pattern.
+.SH "SEE ALSO"
+.PP
+\fBFcNameParse\fR(3)
+\fBFcConfigSubstitute\fR(3)
+\fBFcDefaultSubstitute\fR(3)
+\fBFcPatternPrint\fR(3)
+\fBFcPatternFormat\fR(3)
+\fBfc-cat\fR(1)
+\fBfc-cache\fR(1)
+\fBfc-list\fR(1)
+\fBfc-match\fR(1)
+\fBfc-query\fR(1)
+\fBfc-scan\fR(1)
+.PP
+The fontconfig user's guide, in HTML format:
+\fI/usr/share/doc/fontconfig/fontconfig-user.html\fR\&.
+.SH "AUTHOR"
+.PP
+This manual page was updated by Behdad Esfahbod <behdad@behdad.org>\&.
diff --git a/fc-query/Makefile.in b/fc-query/Makefile.in
new file mode 100644
index 00000000..978879b4
--- /dev/null
+++ b/fc-query/Makefile.in
@@ -0,0 +1,786 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+# fontconfig/fc-query/Makefile.am
+#
+# Copyright © 2003 Keith Packard
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = fc-query$(EXEEXT)
+@USEDOCBOOK_TRUE@am__append_1 = ${man_MANS}
+subdir = fc-query
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
+PROGRAMS = $(bin_PROGRAMS)
+fc_query_SOURCES = fc-query.c
+fc_query_OBJECTS = fc-query.$(OBJEXT)
+fc_query_DEPENDENCIES = ${top_builddir}/src/libfontconfig.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = fc-query.c
+DIST_SOURCES = fc-query.c
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(man_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+DOC2MAN = docbook2man
+FC_QUERY_SRC = ${top_srcdir}/fc-query
+SGML = ${FC_QUERY_SRC}/fc-query.sgml
+AM_CPPFLAGS = -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
+BUILT_MANS = fc-query.1
+@ENABLE_DOCS_TRUE@man_MANS = ${BUILT_MANS}
+EXTRA_DIST = fc-query.sgml $(BUILT_MANS)
+CLEANFILES = $(am__append_1)
+fc_query_LDADD = ${top_builddir}/src/libfontconfig.la
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-query/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu fc-query/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+fc-query$(EXEEXT): $(fc_query_OBJECTS) $(fc_query_DEPENDENCIES) $(EXTRA_fc_query_DEPENDENCIES)
+ @rm -f fc-query$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fc_query_OBJECTS) $(fc_query_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fc-query.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man1: $(man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS) $(MANS) all-local
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-man1 \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-binPROGRAMS uninstall-man uninstall-man1
+
+
+@USEDOCBOOK_TRUE@${man_MANS}: ${SGML}
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(RM) $@; \
+@USEDOCBOOK_TRUE@ $(DOC2MAN) ${SGML}; \
+@USEDOCBOOK_TRUE@ $(RM) manpage.*
+
+@USEDOCBOOK_TRUE@all-local: $(man_MANS)
+@USEDOCBOOK_FALSE@all-local:
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/fc-query/fc-query.1 b/fc-query/fc-query.1
new file mode 100644
index 00000000..7c675950
--- /dev/null
+++ b/fc-query/fc-query.1
@@ -0,0 +1,58 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FC-QUERY" "1" "Aug 13, 2008" "" ""
+.SH NAME
+fc-query \- query font files
+.SH SYNOPSIS
+.sp
+\fBfc-query\fR [ \fB-Vh\fR ]
+
+ [ \fB [ -i \fIindex\fB ] [ --index \fIindex\fB ] \fR ] [ \fB [ -f \fIformat\fB ] [ --format \fIformat\fB ] \fR ] [ \fB--version\fR ] [ \fB--help\fR ] \fB\fIfont-file\fB\fR\fI...\fR
+.SH "DESCRIPTION"
+.PP
+\fBfc-query\fR queries
+\fIfont-file\fR(s) using the normal fontconfig
+rules and prints out font pattern for each face found.
+If \fB--index\fR is given, only one face of each file is
+queried, otherwise all faces are queried.
+.SH "OPTIONS"
+.PP
+This program follows the usual GNU command line syntax,
+with long options starting with two dashes (`-'). A summary of
+options is included below.
+.TP
+\fB-i\fR
+Only query face indexed \fIindex\fR of
+each file.
+.TP
+\fB-f\fR
+Format output according to the format specifier
+\fIformat\fR\&.
+.TP
+\fB-V\fR
+Show version of the program and exit.
+.TP
+\fB-h\fR
+Show summary of options.
+.TP
+\fB\fIfont-file\fB\fR
+Query \fIfont-file\fR for font faces.
+.SH "RETURN CODES"
+.PP
+\fBfc-query\fR returns error code 0 for successful parsing,
+or 1 if any errors occured or if at least one font face could not be opened.
+.SH "SEE ALSO"
+.PP
+\fBfc-scan\fR(1)
+\fBFcFreeTypeQuery\fR(3)
+\fBFcPatternFormat\fR(3)
+\fBfc-cat\fR(1)
+\fBfc-cache\fR(1)
+\fBfc-list\fR(1)
+\fBfc-match\fR(1)
+\fBfc-pattern\fR(1)
+.PP
+The fontconfig user's guide, in HTML format:
+\fI/usr/share/doc/fontconfig/fontconfig-user.html\fR\&.
+.SH "AUTHOR"
+.PP
+This manual page was updated by Behdad Esfahbod <behdad@behdad.org>\&.
diff --git a/fc-scan/Makefile.in b/fc-scan/Makefile.in
new file mode 100644
index 00000000..2b1a1b46
--- /dev/null
+++ b/fc-scan/Makefile.in
@@ -0,0 +1,786 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+# fontconfig/fc-scan/Makefile.am
+#
+# Copyright © 2003 Keith Packard
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = fc-scan$(EXEEXT)
+@USEDOCBOOK_TRUE@am__append_1 = ${man_MANS}
+subdir = fc-scan
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
+PROGRAMS = $(bin_PROGRAMS)
+fc_scan_SOURCES = fc-scan.c
+fc_scan_OBJECTS = fc-scan.$(OBJEXT)
+fc_scan_DEPENDENCIES = ${top_builddir}/src/libfontconfig.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = fc-scan.c
+DIST_SOURCES = fc-scan.c
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(man_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+DOC2MAN = docbook2man
+FC_SCAN_SRC = ${top_srcdir}/fc-scan
+SGML = ${FC_SCAN_SRC}/fc-scan.sgml
+AM_CPPFLAGS = -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
+BUILT_MANS = fc-scan.1
+@ENABLE_DOCS_TRUE@man_MANS = ${BUILT_MANS}
+EXTRA_DIST = fc-scan.sgml $(BUILT_MANS)
+CLEANFILES = $(am__append_1)
+fc_scan_LDADD = ${top_builddir}/src/libfontconfig.la
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-scan/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu fc-scan/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+fc-scan$(EXEEXT): $(fc_scan_OBJECTS) $(fc_scan_DEPENDENCIES) $(EXTRA_fc_scan_DEPENDENCIES)
+ @rm -f fc-scan$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fc_scan_OBJECTS) $(fc_scan_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fc-scan.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man1: $(man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS) $(MANS) all-local
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-man1 \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-binPROGRAMS uninstall-man uninstall-man1
+
+
+@USEDOCBOOK_TRUE@${man_MANS}: ${SGML}
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(RM) $@; \
+@USEDOCBOOK_TRUE@ $(DOC2MAN) ${SGML}; \
+@USEDOCBOOK_TRUE@ $(RM) manpage.*
+
+@USEDOCBOOK_TRUE@all-local: $(man_MANS)
+@USEDOCBOOK_FALSE@all-local:
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/fc-scan/fc-scan.1 b/fc-scan/fc-scan.1
new file mode 100644
index 00000000..b1714c2d
--- /dev/null
+++ b/fc-scan/fc-scan.1
@@ -0,0 +1,53 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FC-SCAN" "1" "Jan 15, 2009" "" ""
+.SH NAME
+fc-scan \- scan font files or directories
+.SH SYNOPSIS
+.sp
+\fBfc-scan\fR [ \fB-Vh\fR ]
+
+ [ \fB [ -f \fIformat\fB ] [ --format \fIformat\fB ] \fR ] [ \fB--version\fR ] [ \fB--help\fR ] \fB\fIfile\fB\fR\fI...\fR
+.SH "DESCRIPTION"
+.PP
+\fBfc-scan\fR scans
+\fIfile\fR(s) recursively
+and prints out font pattern for each face found.
+.SH "OPTIONS"
+.PP
+This program follows the usual GNU command line syntax,
+with long options starting with two dashes (`-'). A summary of
+options is included below.
+.TP
+\fB-f\fR
+Format output according to the format specifier
+\fIformat\fR\&.
+.TP
+\fB-V\fR
+Show version of the program and exit.
+.TP
+\fB-h\fR
+Show summary of options.
+.TP
+\fB\fIfile\fB\fR
+Scan \fIfile\fR recursively for font faces.
+.SH "RETURN CODES"
+.PP
+\fBfc-scan\fR returns error code 0 if at least one font
+was found or 1 otherwise.
+.SH "SEE ALSO"
+.PP
+\fBfc-query\fR(1)
+\fBFcFileScan\fR(3)
+\fBFcDirScan\fR(3)
+\fBFcPatternFormat\fR(3)
+\fBfc-cat\fR(1)
+\fBfc-cache\fR(1)
+\fBfc-list\fR(1)
+\fBfc-match\fR(1)
+\fBfc-pattern\fR(1)
+.PP
+The fontconfig user's guide, in HTML format:
+\fI/usr/share/doc/fontconfig/fontconfig-user.html\fR\&.
+.SH "AUTHOR"
+.PP
+This manual page was updated by Behdad Esfahbod <behdad@behdad.org>\&.
diff --git a/fc-validate/Makefile.in b/fc-validate/Makefile.in
new file mode 100644
index 00000000..cbe53827
--- /dev/null
+++ b/fc-validate/Makefile.in
@@ -0,0 +1,788 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+# fontconfig/fc-query/Makefile.am
+#
+# Copyright © 2003 Keith Packard
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = fc-validate$(EXEEXT)
+@USEDOCBOOK_TRUE@am__append_1 = $(man_MANS)
+subdir = fc-validate
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
+PROGRAMS = $(bin_PROGRAMS)
+fc_validate_SOURCES = fc-validate.c
+fc_validate_OBJECTS = fc-validate.$(OBJEXT)
+am__DEPENDENCIES_1 =
+fc_validate_DEPENDENCIES = ${top_builddir}/src/libfontconfig.la \
+ $(am__DEPENDENCIES_1)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = fc-validate.c
+DIST_SOURCES = fc-validate.c
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(man_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+DOC2MAN = docbook2man
+FC_VALIDATE_SRC = ${top_srcdir}/fc-validate
+SGML = ${FC_VALIDATE_SRC}/fc-validate.sgml
+AM_CPPFLAGS = -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
+BUILT_MANS = fc-validate.1
+@ENABLE_DOCS_TRUE@man_MANS = ${BUILT_MANS}
+EXTRA_DIST = fc-validate.sgml $(BUILT_MANS)
+CLEANFILES = $(am__append_1)
+fc_validate_LDADD = ${top_builddir}/src/libfontconfig.la $(FREETYPE_LIBS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-validate/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu fc-validate/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+fc-validate$(EXEEXT): $(fc_validate_OBJECTS) $(fc_validate_DEPENDENCIES) $(EXTRA_fc_validate_DEPENDENCIES)
+ @rm -f fc-validate$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fc_validate_OBJECTS) $(fc_validate_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fc-validate.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man1: $(man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS) $(MANS) all-local
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-man1 \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-binPROGRAMS uninstall-man uninstall-man1
+
+
+@USEDOCBOOK_TRUE@${man_MANS}: ${SGML}
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(RM) $@; \
+@USEDOCBOOK_TRUE@ $(DOC2MAN) ${SGML}; \
+@USEDOCBOOK_TRUE@ $(RM) manpage.*
+
+@USEDOCBOOK_TRUE@all-local: $(man_MANS)
+@USEDOCBOOK_FALSE@all-local:
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/fc-validate/fc-validate.1 b/fc-validate/fc-validate.1
new file mode 100644
index 00000000..90301416
--- /dev/null
+++ b/fc-validate/fc-validate.1
@@ -0,0 +1,47 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FC-VALIDATE" "1" "Sep 10, 2012" "" ""
+.SH NAME
+fc-validate \- validate font files
+.SH SYNOPSIS
+.sp
+\fBfc-validate\fR [ \fB-Vhv\fR ]
+
+ [ \fB [ -i \fIindex\fB ] [ --index \fIindex\fB ] \fR ] [ \fB [ -l \fIlang\fB ] [ --lang \fIlang\fB ] \fR ] [ \fB--verbose\fR ] [ \fB--version\fR ] [ \fB--help\fR ] \fB\fIfont-file\fB\fR\fI...\fR
+.SH "DESCRIPTION"
+.PP
+\fBfc-validate\fR validates
+\fIfont-file\fR(s) if each fonts satisfies
+the language coverage according to the orthography files in fontconfig.
+If \fB--index\fR is given, only one face of each file is
+validated, otherwise all faces are validated.
+.SH "OPTIONS"
+.PP
+This program follows the usual GNU command line syntax,
+with long options starting with two dashes (`-'). A summary of
+options is included below.
+.TP
+\fB-i\fR
+Only query face indexed \fIindex\fR of
+each file.
+.TP
+\fB-l\fR
+Set \fIlang\fR as a language instead of current locale. this is used for \fB-m\fR\&.
+.TP
+\fB-v\fR
+Show more detailed information.
+.TP
+\fB-V\fR
+Show version of the program and exit.
+.TP
+\fB-h\fR
+Show summary of options.
+.TP
+\fB\fIfont-file\fB\fR
+Query \fIfont-file\fR for font faces.
+.SH "RETURN CODES"
+.PP
+\fBfc-validate\fR returns error code 0 for successful parsing,
+or 1 if any errors occured or if at least one font face could not be opened.
+.SH "AUTHOR"
+.PP
+This manual page was updated by Akira TAGOH <akira@tagoh.org>\&.
diff --git a/fontconfig.spec b/fontconfig.spec
new file mode 100644
index 00000000..04c23a6d
--- /dev/null
+++ b/fontconfig.spec
@@ -0,0 +1,138 @@
+# Some distributions name their Freetype 2 package "freetype", while others
+# name it "freetype2". You can define the name your distribution uses here.
+%define freetype2 freetype
+
+Summary: Font configuration and customization library
+Name: fontconfig
+Version: 2.11.93
+Release: 1
+License: MIT
+Group: System Environment/Libraries
+Source: http://fontconfig.org/release/fontconfig-%{version}.tar.gz
+URL: http://fontconfig.org
+BuildRoot: %{_tmppath}/%{name}-%{version}-root
+
+BuildRequires: %{_bindir}/docbook2html
+BuildRequires: %{_bindir}/docbook2txt
+BuildRequires: %{freetype2}-devel
+BuildRequires: expat-devel
+BuildRequires: perl
+
+PreReq: %{freetype2}
+
+%description
+Fontconfig is designed to locate fonts within the
+system and select them according to requirements specified by
+applications.
+
+%package devel
+Summary: Font configuration and customization library
+Group: Development/Libraries
+Requires: %{name} = %{version}
+Requires: %{freetype2}-devel
+
+%description devel
+The fontconfig-devel package includes the static libraries,
+header files, and developer docs for the fontconfig package.
+
+Install fontconfig-devel if you want to develop programs which
+will use fontconfig.
+
+# Some rpm specific directories. Prefix 'my' hopefully does not collide with anything.
+%define my_docdir %{_datadir}/doc/%{name}-%{version}
+%define my_develdocdir %{_datadir}/doc/%{name}-devel-%{version}
+%define my_tmpdocdir $RPM_BUILD_ROOT%{my_docdir}
+%define my_tmpdeveldocdir $RPM_BUILD_ROOT%{my_develdocdir}
+
+%prep
+%setup -q
+
+%build
+%configure --with-x-fonts=/usr/X11R6/lib/X11/fonts --disable-gtk-doc \
+ --with-docdir=%{my_docdir}
+make %{_smp_mflags}
+
+%install
+[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
+{
+ %makeinstall docdir=%{my_tmpdocdir}
+
+ # The make does not distinguish the base and devel packages
+ mkdir -p %{my_tmpdeveldocdir}
+ mv -f %{my_tmpdocdir}/*devel* %{my_tmpdeveldocdir}
+
+ # Use a more informative directory name:
+ mv -f %{my_tmpdeveldocdir}/fontconfig-devel %{my_tmpdeveldocdir}/html
+}
+
+%clean
+[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
+
+%post
+{
+ /sbin/ldconfig
+ # Force regeneration of all fontconfig cache files.
+ %{_bindir}/fc-cache -f --system-only
+}
+
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(-, root, root)
+%doc README AUTHORS COPYING ChangeLog doc/fontconfig-user.{html,txt}
+%{my_docdir}/*
+%dir %{_sysconfdir}/fonts
+%{_sysconfdir}/fonts/fonts.conf
+%{_sysconfdir}/fonts/fonts.dtd
+%config %{_sysconfdir}/fonts/local.conf
+%{_bindir}/fc-*
+%{_libdir}/libfontconfig*.so.*
+%{_mandir}/man1/*
+%{_mandir}/man5/*
+
+%files devel
+%defattr(-, root, root)
+#%doc doc/fontconfig-devel.txt doc/fontconfig-devel/*
+%{my_develdocdir}
+%dir %{_includedir}/fontconfig
+%{_includedir}/fontconfig/*
+%{_libdir}/*.a
+%{_libdir}/*.la
+%{_libdir}/libfontconfig.so
+%{_libdir}/pkgconfig
+%{_mandir}/man3/*
+
+%changelog
+* Wed Mar 20 2004 Enrique Perez-Terron <enrio@online.no>
+- Added mandir /man1/* to main file list
+- Added missing '/*' after includedir/fontconfig to avoid "listed twice" error.
+- Removed configure option --disable-docs since its problem is solved, see below.
+- Added option to makeinstall to have it install docs in the proper directory.
+ Notice though that the %doc macro deletes and recreates the docs directory.
+- Cleaner separation of devel docs.
+- Renamed doc/fontconfig-devel-*/fontconfig-devel subdirectory to 'html'.
+- Removed %doc macro from devel filelist, since it deletes installed files.
+
+* Fri Mar 7 2003 Mike A. Harris <mharris@redhat.com> 2.1.92-1
+- Removed man1/* and added man5/* to main package and man3/* to devel package
+- Added missing defattr(-, root, root) to main package
+- Added HTML and text development documentation to -devel subpackage
+
+* Wed Mar 5 2003 Mike A. Harris <mharris@redhat.com>
+- Added back the configure macro options --disable-docs because otherwise
+ fontconfig installs docs into /usr/share/doc/fontconfig (with no version
+ number) unconditionally, causing RPM to fail the build due to unpackaged
+ files terminate build
+
+* Wed Mar 5 2003 Mike A. Harris <mharris@redhat.com>
+- Removed commented out rpm macro define at top of spec file, replacing it with
+ a simple explanation, since rpm macros are expanded by rpm even in comments
+- Changed /usr/bin to _bindir in BuildRequires lines
+- Cleaned up rpm postinstall script, and made fc-cache use _bindir
+- Reorganized file manifest lists
+
+* Sun Mar 2 2003 Owen Taylor <otaylor@redhat.com>
+- Various improvements from Red Hat spec file
+
+* Sun Mar 2 2003 Mike A. Harris <mharris@redhat.com>
+- Initial changelog entry
diff --git a/fontconfig/Makefile.in b/fontconfig/Makefile.in
new file mode 100644
index 00000000..1f0eca4d
--- /dev/null
+++ b/fontconfig/Makefile.in
@@ -0,0 +1,606 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = fontconfig
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(fontconfiginclude_HEADERS)
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(fontconfigincludedir)"
+HEADERS = $(fontconfiginclude_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+fontconfigincludedir = $(includedir)/fontconfig
+fontconfig_headers = \
+ fontconfig.h \
+ fcfreetype.h \
+ fcprivate.h
+
+fontconfiginclude_HEADERS = $(fontconfig_headers)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fontconfig/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu fontconfig/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-fontconfigincludeHEADERS: $(fontconfiginclude_HEADERS)
+ @$(NORMAL_INSTALL)
+ @list='$(fontconfiginclude_HEADERS)'; test -n "$(fontconfigincludedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(fontconfigincludedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(fontconfigincludedir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(fontconfigincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(fontconfigincludedir)" || exit $$?; \
+ done
+
+uninstall-fontconfigincludeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(fontconfiginclude_HEADERS)'; test -n "$(fontconfigincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(fontconfigincludedir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(HEADERS)
+installdirs:
+ for dir in "$(DESTDIR)$(fontconfigincludedir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-fontconfigincludeHEADERS
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-fontconfigincludeHEADERS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool cscopelist-am ctags ctags-am distclean \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-fontconfigincludeHEADERS \
+ install-html install-html-am install-info install-info-am \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-fontconfigincludeHEADERS
+
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/fontconfig/fcprivate.h b/fontconfig/fcprivate.h
index 210c1d8a..a6ee5c23 100644
--- a/fontconfig/fcprivate.h
+++ b/fontconfig/fcprivate.h
@@ -77,6 +77,9 @@
case FcTypeLangSet: \
__v__.u.l = va_arg (va, const FcLangSet *); \
break; \
+ case FcTypeRange: \
+ __v__.u.r = va_arg (va, const FcRange *); \
+ break; \
} \
if (!FcPatternAdd (__p__, __o__, __v__, FcTrue)) \
goto _FcPatternVapBuild_bail1; \
diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h
index 22582512..b14c9616 100644
--- a/fontconfig/fontconfig.h
+++ b/fontconfig/fontconfig.h
@@ -52,7 +52,7 @@ typedef int FcBool;
#define FC_MAJOR 2
#define FC_MINOR 11
-#define FC_REVISION 1
+#define FC_REVISION 93
#define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
@@ -66,7 +66,7 @@ typedef int FcBool;
* it means multiple copies of the font information.
*/
-#define FC_CACHE_VERSION "4"
+#define FC_CACHE_VERSION "5"
#define FcTrue 1
#define FcFalse 0
@@ -75,7 +75,7 @@ typedef int FcBool;
#define FC_STYLE "style" /* String */
#define FC_SLANT "slant" /* Int */
#define FC_WEIGHT "weight" /* Int */
-#define FC_SIZE "size" /* Double */
+#define FC_SIZE "size" /* Range (double) */
#define FC_ASPECT "aspect" /* Double */
#define FC_PIXEL_SIZE "pixelsize" /* Double */
#define FC_SPACING "spacing" /* Int */
@@ -94,6 +94,7 @@ typedef int FcBool;
#define FC_RASTERIZER "rasterizer" /* String (deprecated) */
#define FC_OUTLINE "outline" /* Bool */
#define FC_SCALABLE "scalable" /* Bool */
+#define FC_COLOR "color" /* Bool */
#define FC_SCALE "scale" /* double */
#define FC_DPI "dpi" /* double */
#define FC_RGBA "rgba" /* Int */
@@ -115,7 +116,7 @@ typedef int FcBool;
#define FC_FONT_FEATURES "fontfeatures" /* String */
#define FC_NAMELANG "namelang" /* String RFC 3866 langs */
#define FC_PRGNAME "prgname" /* String */
-#define FC_HASH "hash" /* String */
+#define FC_HASH "hash" /* String (deprecated) */
#define FC_POSTSCRIPT_NAME "postscriptname" /* String */
#define FC_CACHE_SUFFIX ".cache-" FC_CACHE_VERSION
@@ -131,6 +132,8 @@ typedef int FcBool;
#define FC_WEIGHT_EXTRALIGHT 40
#define FC_WEIGHT_ULTRALIGHT FC_WEIGHT_EXTRALIGHT
#define FC_WEIGHT_LIGHT 50
+#define FC_WEIGHT_DEMILIGHT 55
+#define FC_WEIGHT_SEMILIGHT FC_WEIGHT_DEMILIGHT
#define FC_WEIGHT_BOOK 75
#define FC_WEIGHT_REGULAR 80
#define FC_WEIGHT_NORMAL FC_WEIGHT_REGULAR
@@ -194,7 +197,8 @@ typedef enum _FcType {
FcTypeMatrix,
FcTypeCharSet,
FcTypeFTFace,
- FcTypeLangSet
+ FcTypeLangSet,
+ FcTypeRange
} FcType;
typedef struct _FcMatrix {
@@ -231,6 +235,8 @@ typedef struct _FcPattern FcPattern;
typedef struct _FcLangSet FcLangSet;
+typedef struct _FcRange FcRange;
+
typedef struct _FcValue {
FcType type;
union {
@@ -242,6 +248,7 @@ typedef struct _FcValue {
const FcCharSet *c;
void *f;
const FcLangSet *l;
+ const FcRange *r;
} u;
} FcValue;
@@ -853,6 +860,9 @@ FcPatternAddBool (FcPattern *p, const char *object, FcBool b);
FcPublic FcBool
FcPatternAddLangSet (FcPattern *p, const char *object, const FcLangSet *ls);
+FcPublic FcBool
+FcPatternAddRange (FcPattern *p, const char *object, const FcRange *r);
+
FcPublic FcResult
FcPatternGetInteger (const FcPattern *p, const char *object, int n, int *i);
@@ -874,6 +884,9 @@ FcPatternGetBool (const FcPattern *p, const char *object, int n, FcBool *b);
FcPublic FcResult
FcPatternGetLangSet (const FcPattern *p, const char *object, int n, FcLangSet **ls);
+FcPublic FcResult
+FcPatternGetRange (const FcPattern *p, const char *object, int id, FcRange **r);
+
FcPublic FcPattern *
FcPatternVaBuild (FcPattern *p, va_list va);
@@ -883,6 +896,30 @@ FcPatternBuild (FcPattern *p, ...) FC_ATTRIBUTE_SENTINEL(0);
FcPublic FcChar8 *
FcPatternFormat (FcPattern *pat, const FcChar8 *format);
+/* fcrange.c */
+FcPublic FcRange *
+FcRangeCreateDouble (double begin, double end);
+
+FcPublic FcRange *
+FcRangeCreateInteger (FcChar32 begin, FcChar32 end);
+
+FcPublic void
+FcRangeDestroy (FcRange *range);
+
+FcPublic FcRange *
+FcRangeCopy (const FcRange *r);
+
+FcPublic FcBool
+FcRangeGetDouble(const FcRange *range, double *begin, double *end);
+
+/* fcweight.c */
+
+FcPublic int
+FcWeightFromOpenType (int ot_weight);
+
+FcPublic int
+FcWeightToOpenType (int fc_weight);
+
/* fcstr.c */
FcPublic FcChar8 *
diff --git a/fonts.conf.in b/fonts.conf.in
index 6a8753d0..7c16a707 100644
--- a/fonts.conf.in
+++ b/fonts.conf.in
@@ -79,72 +79,6 @@
<config>
<!--
- These are the default Unicode chars that are expected to be blank
- in fonts. All other blank chars are assumed to be broken and
- won't appear in the resulting charsets
- -->
- <blank>
- <int>0x0020</int> <!-- SPACE -->
- <int>0x00A0</int> <!-- NO-BREAK SPACE -->
- <int>0x00AD</int> <!-- SOFT HYPHEN -->
- <int>0x034F</int> <!-- COMBINING GRAPHEME JOINER -->
- <int>0x0600</int> <!-- ARABIC NUMBER SIGN -->
- <int>0x0601</int> <!-- ARABIC SIGN SANAH -->
- <int>0x0602</int> <!-- ARABIC FOOTNOTE MARKER -->
- <int>0x0603</int> <!-- ARABIC SIGN SAFHA -->
- <int>0x06DD</int> <!-- ARABIC END OF AYAH -->
- <int>0x070F</int> <!-- SYRIAC ABBREVIATION MARK -->
- <int>0x115F</int> <!-- HANGUL CHOSEONG FILLER -->
- <int>0x1160</int> <!-- HANGUL JUNGSEONG FILLER -->
- <int>0x1680</int> <!-- OGHAM SPACE MARK -->
- <int>0x17B4</int> <!-- KHMER VOWEL INHERENT AQ -->
- <int>0x17B5</int> <!-- KHMER VOWEL INHERENT AA -->
- <int>0x180E</int> <!-- MONGOLIAN VOWEL SEPARATOR -->
- <int>0x2000</int> <!-- EN QUAD -->
- <int>0x2001</int> <!-- EM QUAD -->
- <int>0x2002</int> <!-- EN SPACE -->
- <int>0x2003</int> <!-- EM SPACE -->
- <int>0x2004</int> <!-- THREE-PER-EM SPACE -->
- <int>0x2005</int> <!-- FOUR-PER-EM SPACE -->
- <int>0x2006</int> <!-- SIX-PER-EM SPACE -->
- <int>0x2007</int> <!-- FIGURE SPACE -->
- <int>0x2008</int> <!-- PUNCTUATION SPACE -->
- <int>0x2009</int> <!-- THIN SPACE -->
- <int>0x200A</int> <!-- HAIR SPACE -->
- <int>0x200B</int> <!-- ZERO WIDTH SPACE -->
- <int>0x200C</int> <!-- ZERO WIDTH NON-JOINER -->
- <int>0x200D</int> <!-- ZERO WIDTH JOINER -->
- <int>0x200E</int> <!-- LEFT-TO-RIGHT MARK -->
- <int>0x200F</int> <!-- RIGHT-TO-LEFT MARK -->
- <int>0x2028</int> <!-- LINE SEPARATOR -->
- <int>0x2029</int> <!-- PARAGRAPH SEPARATOR -->
- <int>0x202A</int> <!-- LEFT-TO-RIGHT EMBEDDING -->
- <int>0x202B</int> <!-- RIGHT-TO-LEFT EMBEDDING -->
- <int>0x202C</int> <!-- POP DIRECTIONAL FORMATTING -->
- <int>0x202D</int> <!-- LEFT-TO-RIGHT OVERRIDE -->
- <int>0x202E</int> <!-- RIGHT-TO-LEFT OVERRIDE -->
- <int>0x202F</int> <!-- NARROW NO-BREAK SPACE -->
- <int>0x205F</int> <!-- MEDIUM MATHEMATICAL SPACE -->
- <int>0x2060</int> <!-- WORD JOINER -->
- <int>0x2061</int> <!-- FUNCTION APPLICATION -->
- <int>0x2062</int> <!-- INVISIBLE TIMES -->
- <int>0x2063</int> <!-- INVISIBLE SEPARATOR -->
- <int>0x206A</int> <!-- INHIBIT SYMMETRIC SWAPPING -->
- <int>0x206B</int> <!-- ACTIVATE SYMMETRIC SWAPPING -->
- <int>0x206C</int> <!-- INHIBIT ARABIC FORM SHAPING -->
- <int>0x206D</int> <!-- ACTIVATE ARABIC FORM SHAPING -->
- <int>0x206E</int> <!-- NATIONAL DIGIT SHAPES -->
- <int>0x206F</int> <!-- NOMINAL DIGIT SHAPES -->
- <int>0x2800</int> <!-- BRAILLE PATTERN BLANK -->
- <int>0x3000</int> <!-- IDEOGRAPHIC SPACE -->
- <int>0x3164</int> <!-- HANGUL FILLER -->
- <int>0xFEFF</int> <!-- ZERO WIDTH NO-BREAK SPACE -->
- <int>0xFFA0</int> <!-- HALFWIDTH HANGUL FILLER -->
- <int>0xFFF9</int> <!-- INTERLINEAR ANNOTATION ANCHOR -->
- <int>0xFFFA</int> <!-- INTERLINEAR ANNOTATION SEPARATOR -->
- <int>0xFFFB</int> <!-- INTERLINEAR ANNOTATION TERMINATOR -->
- </blank>
-<!--
Rescan configuration every 30 seconds when FcFontSetList is called
-->
<rescan>
diff --git a/install-sh b/install-sh
new file mode 100755
index 00000000..377bb868
--- /dev/null
+++ b/install-sh
@@ -0,0 +1,527 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2011-11-20.07; # UTC
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# 'make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+nl='
+'
+IFS=" "" $nl"
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit=${DOITPROG-}
+if test -z "$doit"; then
+ doit_exec=exec
+else
+ doit_exec=$doit
+fi
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+ test "$posix_glob" != "?" || {
+ if (set -f) 2>/dev/null; then
+ posix_glob=
+ else
+ posix_glob=:
+ fi
+ }
+'
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+no_target_directory=
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+ or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+ --help display this help and exit.
+ --version display version info and exit.
+
+ -c (ignored)
+ -C install only if different (preserve the last data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -s $stripprog installed files.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+ case $1 in
+ -c) ;;
+
+ -C) copy_on_change=true;;
+
+ -d) dir_arg=true;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift;;
+
+ --help) echo "$usage"; exit $?;;
+
+ -m) mode=$2
+ case $mode in
+ *' '* | *' '* | *'
+'* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
+
+ -o) chowncmd="$chownprog $2"
+ shift;;
+
+ -s) stripcmd=$stripprog;;
+
+ -t) dst_arg=$2
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ shift;;
+
+ -T) no_target_directory=true;;
+
+ --version) echo "$0 $scriptversion"; exit $?;;
+
+ --) shift
+ break;;
+
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
+
+ *) break;;
+ esac
+ shift
+done
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+ # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dst_arg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dst_arg"
+ shift # fnord
+ fi
+ shift # arg
+ dst_arg=$arg
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ done
+fi
+
+if test $# -eq 0; then
+ if test -z "$dir_arg"; then
+ echo "$0: no input file specified." >&2
+ exit 1
+ fi
+ # It's OK to call 'install-sh -d' without argument.
+ # This can happen when creating conditional directories.
+ exit 0
+fi
+
+if test -z "$dir_arg"; then
+ do_exit='(exit $ret); exit $ret'
+ trap "ret=129; $do_exit" 1
+ trap "ret=130; $do_exit" 2
+ trap "ret=141; $do_exit" 13
+ trap "ret=143; $do_exit" 15
+
+ # Set umask so as not to create temps with too-generous modes.
+ # However, 'strip' requires both read and write access to temps.
+ case $mode in
+ # Optimize common cases.
+ *644) cp_umask=133;;
+ *755) cp_umask=22;;
+
+ *[0-7])
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw='% 200'
+ fi
+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+ *)
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw=,u+rw
+ fi
+ cp_umask=$mode$u_plus_rw;;
+ esac
+fi
+
+for src
+do
+ # Protect names problematic for 'test' and other utilities.
+ case $src in
+ -* | [=\(\)!]) src=./$src;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
+ else
+
+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+ # might cause directories to be created, which would be especially bad
+ # if $src (and thus $dsttmp) contains '*'.
+ if test ! -f "$src" && test ! -d "$src"; then
+ echo "$0: $src does not exist." >&2
+ exit 1
+ fi
+
+ if test -z "$dst_arg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+ dst=$dst_arg
+
+ # If destination is a directory, append the input filename; won't work
+ # if double slashes aren't ignored.
+ if test -d "$dst"; then
+ if test -n "$no_target_directory"; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
+ fi
+ dstdir=$dst
+ dst=$dstdir/`basename "$src"`
+ dstdir_status=0
+ else
+ # Prefer dirname, but fall back on a substitute if dirname fails.
+ dstdir=`
+ (dirname "$dst") 2>/dev/null ||
+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$dst" : 'X\(//\)[^/]' \| \
+ X"$dst" : 'X\(//\)$' \| \
+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+ echo X"$dst" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'
+ `
+
+ test -d "$dstdir"
+ dstdir_status=$?
+ fi
+ fi
+
+ obsolete_mkdir_used=false
+
+ if test $dstdir_status != 0; then
+ case $posix_mkdir in
+ '')
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
+ esac
+
+ if
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
+
+ # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # or it failed possibly due to a race condition. Create the
+ # directory the slow way, step by step, checking for races as we go.
+
+ case $dstdir in
+ /*) prefix='/';;
+ [-=\(\)!]*) prefix='./';;
+ *) prefix='';;
+ esac
+
+ eval "$initialize_posix_glob"
+
+ oIFS=$IFS
+ IFS=/
+ $posix_glob set -f
+ set fnord $dstdir
+ shift
+ $posix_glob set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test X"$d" = X && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
+ done
+
+ if test -n "$prefixes"; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
+ fi
+ fi
+ fi
+
+ if test -n "$dir_arg"; then
+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+ else
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+ # Copy the file name to the temp name.
+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+ # and set any options; do chmod last to preserve setuid bits.
+ #
+ # If any of these fail, we abort the whole thing. If we want to
+ # ignore errors from any of these, just make sure not to ignore
+ # errors from the above "$doit $cpprog $src $dsttmp" command.
+ #
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+ eval "$initialize_posix_glob" &&
+ $posix_glob set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ $posix_glob set +f &&
+
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
+
+ trap '' 0
+ fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/ltmain.sh b/ltmain.sh
new file mode 100644
index 00000000..63ae69dc
--- /dev/null
+++ b/ltmain.sh
@@ -0,0 +1,9655 @@
+
+# libtool (GNU libtool) 2.4.2
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
+# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# Usage: $progname [OPTION]... [MODE-ARG]...
+#
+# Provide generalized library-building support services.
+#
+# --config show all configuration variables
+# --debug enable verbose shell tracing
+# -n, --dry-run display commands without modifying any files
+# --features display basic configuration information and exit
+# --mode=MODE use operation mode MODE
+# --preserve-dup-deps don't remove duplicate dependency libraries
+# --quiet, --silent don't print informational messages
+# --no-quiet, --no-silent
+# print informational messages (default)
+# --no-warn don't display warning messages
+# --tag=TAG use configuration variables from tag TAG
+# -v, --verbose print more informational messages than default
+# --no-verbose don't print the extra informational messages
+# --version print version information
+# -h, --help, --help-all print short, long, or detailed help message
+#
+# MODE must be one of the following:
+#
+# clean remove files from the build directory
+# compile compile a source file into a libtool object
+# execute automatically set library path, then run a program
+# finish complete the installation of libtool libraries
+# install install libraries or executables
+# link create a library or an executable
+# uninstall remove libraries from an installed directory
+#
+# MODE-ARGS vary depending on the MODE. When passed as first option,
+# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
+# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
+#
+# When reporting a bug, please describe a test case to reproduce it and
+# include the following information:
+#
+# host-triplet: $host
+# shell: $SHELL
+# compiler: $LTCC
+# compiler flags: $LTCFLAGS
+# linker: $LD (gnu? $with_gnu_ld)
+# $progname: (GNU libtool) 2.4.2
+# automake: $automake_version
+# autoconf: $autoconf_version
+#
+# Report bugs to <bug-libtool@gnu.org>.
+# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
+# General help using GNU software: <http://www.gnu.org/gethelp/>.
+
+PROGRAM=libtool
+PACKAGE=libtool
+VERSION=2.4.2
+TIMESTAMP=""
+package_revision=1.3337
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
+# NLS nuisances: We save the old values to restore during execute mode.
+lt_user_locale=
+lt_safe_locale=
+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+ eval "if test \"\${$lt_var+set}\" = set; then
+ save_$lt_var=\$$lt_var
+ $lt_var=C
+ export $lt_var
+ lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
+ lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+ fi"
+done
+LC_ALL=C
+LANGUAGE=C
+export LANGUAGE LC_ALL
+
+$lt_unset CDPATH
+
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+
+
+: ${CP="cp -f"}
+test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+: ${Xsed="$SED -e 1s/^X//"}
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
+
+exit_status=$EXIT_SUCCESS
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS=" $lt_nl"
+
+dirname="s,/[^/]*$,,"
+basename="s,^.*/,,"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+} # func_dirname may be replaced by extended shell implementation
+
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+} # func_basename may be replaced by extended shell implementation
+
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+ func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
+} # func_dirname_and_basename may be replaced by extended shell implementation
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ esac
+} # func_stripname may be replaced by extended shell implementation
+
+
+# These SED scripts presuppose an absolute path with a trailing slash.
+pathcar='s,^/\([^/]*\).*$,\1,'
+pathcdr='s,^/[^/]*,,'
+removedotparts=':dotsl
+ s@/\./@/@g
+ t dotsl
+ s,/\.$,/,'
+collapseslashes='s@/\{1,\}@/@g'
+finalslash='s,/*$,/,'
+
+# func_normal_abspath PATH
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+# value returned in "$func_normal_abspath_result"
+func_normal_abspath ()
+{
+ # Start from root dir and reassemble the path.
+ func_normal_abspath_result=
+ func_normal_abspath_tpath=$1
+ func_normal_abspath_altnamespace=
+ case $func_normal_abspath_tpath in
+ "")
+ # Empty path, that just means $cwd.
+ func_stripname '' '/' "`pwd`"
+ func_normal_abspath_result=$func_stripname_result
+ return
+ ;;
+ # The next three entries are used to spot a run of precisely
+ # two leading slashes without using negated character classes;
+ # we take advantage of case's first-match behaviour.
+ ///*)
+ # Unusual form of absolute path, do nothing.
+ ;;
+ //*)
+ # Not necessarily an ordinary path; POSIX reserves leading '//'
+ # and for example Cygwin uses it to access remote file shares
+ # over CIFS/SMB, so we conserve a leading double slash if found.
+ func_normal_abspath_altnamespace=/
+ ;;
+ /*)
+ # Absolute path, do nothing.
+ ;;
+ *)
+ # Relative path, prepend $cwd.
+ func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+ ;;
+ esac
+ # Cancel out all the simple stuff to save iterations. We also want
+ # the path to end with a slash for ease of parsing, so make sure
+ # there is one (and only one) here.
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
+ while :; do
+ # Processed it all yet?
+ if test "$func_normal_abspath_tpath" = / ; then
+ # If we ascended to the root using ".." the result may be empty now.
+ if test -z "$func_normal_abspath_result" ; then
+ func_normal_abspath_result=/
+ fi
+ break
+ fi
+ func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$pathcar"`
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$pathcdr"`
+ # Figure out what to do with it
+ case $func_normal_abspath_tcomponent in
+ "")
+ # Trailing empty path component, ignore it.
+ ;;
+ ..)
+ # Parent dir; strip last assembled component from result.
+ func_dirname "$func_normal_abspath_result"
+ func_normal_abspath_result=$func_dirname_result
+ ;;
+ *)
+ # Actual path component, append it.
+ func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
+ ;;
+ esac
+ done
+ # Restore leading double-slash if one was found on entry.
+ func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+# func_relative_path SRCDIR DSTDIR
+# generates a relative path from SRCDIR to DSTDIR, with a trailing
+# slash if non-empty, suitable for immediately appending a filename
+# without needing to append a separator.
+# value returned in "$func_relative_path_result"
+func_relative_path ()
+{
+ func_relative_path_result=
+ func_normal_abspath "$1"
+ func_relative_path_tlibdir=$func_normal_abspath_result
+ func_normal_abspath "$2"
+ func_relative_path_tbindir=$func_normal_abspath_result
+
+ # Ascend the tree starting from libdir
+ while :; do
+ # check if we have found a prefix of bindir
+ case $func_relative_path_tbindir in
+ $func_relative_path_tlibdir)
+ # found an exact match
+ func_relative_path_tcancelled=
+ break
+ ;;
+ $func_relative_path_tlibdir*)
+ # found a matching prefix
+ func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+ func_relative_path_tcancelled=$func_stripname_result
+ if test -z "$func_relative_path_result"; then
+ func_relative_path_result=.
+ fi
+ break
+ ;;
+ *)
+ func_dirname $func_relative_path_tlibdir
+ func_relative_path_tlibdir=${func_dirname_result}
+ if test "x$func_relative_path_tlibdir" = x ; then
+ # Have to descend all the way to the root!
+ func_relative_path_result=../$func_relative_path_result
+ func_relative_path_tcancelled=$func_relative_path_tbindir
+ break
+ fi
+ func_relative_path_result=../$func_relative_path_result
+ ;;
+ esac
+ done
+
+ # Now calculate path; take care to avoid doubling-up slashes.
+ func_stripname '' '/' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
+ func_stripname '/' '/' "$func_relative_path_tcancelled"
+ if test "x$func_stripname_result" != x ; then
+ func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
+ fi
+
+ # Normalisation. If bindir is libdir, return empty string,
+ # else relative path ending with a slash; either way, target
+ # file name can be directly appended.
+ if test ! -z "$func_relative_path_result"; then
+ func_stripname './' '' "$func_relative_path_result/"
+ func_relative_path_result=$func_stripname_result
+ fi
+}
+
+# The name of this program:
+func_dirname_and_basename "$progpath"
+progname=$func_basename_result
+
+# Make sure we have an absolute path for reexecution:
+case $progpath in
+ [\\/]*|[A-Za-z]:\\*) ;;
+ *[\\/]*)
+ progdir=$func_dirname_result
+ progdir=`cd "$progdir" && pwd`
+ progpath="$progdir/$progname"
+ ;;
+ *)
+ save_IFS="$IFS"
+ IFS=${PATH_SEPARATOR-:}
+ for progdir in $PATH; do
+ IFS="$save_IFS"
+ test -x "$progdir/$progname" && break
+ done
+ IFS="$save_IFS"
+ test -n "$progdir" || progdir=`pwd`
+ progpath="$progdir/$progname"
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
+
+# Sed substitution that converts a w32 file name or path
+# which contains forward slashes, into one that contains
+# (escaped) backslashes. A very naive implementation.
+lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
+# Re-`\' parameter expansions in output of double_quote_subst that were
+# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
+# in input to double_quote_subst, that '$' was protected from expansion.
+# Since each input `\' is now two `\'s, look for any number of runs of
+# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
+bs='\\'
+bs2='\\\\'
+bs4='\\\\\\\\'
+dollar='\$'
+sed_double_backslash="\
+ s/$bs4/&\\
+/g
+ s/^$bs2$dollar/$bs&/
+ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
+ s/\n//g"
+
+# Standard options:
+opt_dry_run=false
+opt_help=false
+opt_quiet=false
+opt_verbose=false
+opt_warning=:
+
+# func_echo arg...
+# Echo program name prefixed message, along with the current mode
+# name if it has been set yet.
+func_echo ()
+{
+ $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
+}
+
+# func_verbose arg...
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+ $opt_verbose && func_echo ${1+"$@"}
+
+ # A bug in bash halts the script if the last line of a function
+ # fails when set -e is in force, so we need another command to
+ # work around that:
+ :
+}
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
+# func_error arg...
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+ $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
+}
+
+# func_warning arg...
+# Echo program name prefixed warning message to standard error.
+func_warning ()
+{
+ $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+
+ # bash bug again:
+ :
+}
+
+# func_fatal_error arg...
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+ func_error ${1+"$@"}
+ exit $EXIT_FAILURE
+}
+
+# func_fatal_help arg...
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+ func_error ${1+"$@"}
+ func_fatal_error "$help"
+}
+help="Try \`$progname --help' for more information." ## default
+
+
+# func_grep expression filename
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+ $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_mkdir_p directory-path
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+ my_directory_path="$1"
+ my_dir_list=
+
+ if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+
+ # Protect directory names starting with `-'
+ case $my_directory_path in
+ -*) my_directory_path="./$my_directory_path" ;;
+ esac
+
+ # While some portion of DIR does not yet exist...
+ while test ! -d "$my_directory_path"; do
+ # ...make a list in topmost first order. Use a colon delimited
+ # list incase some portion of path contains whitespace.
+ my_dir_list="$my_directory_path:$my_dir_list"
+
+ # If the last portion added has no slash in it, the list is done
+ case $my_directory_path in */*) ;; *) break ;; esac
+
+ # ...otherwise throw away the child directory and loop
+ my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
+ done
+ my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
+
+ save_mkdir_p_IFS="$IFS"; IFS=':'
+ for my_dir in $my_dir_list; do
+ IFS="$save_mkdir_p_IFS"
+ # mkdir can fail with a `File exist' error if two processes
+ # try to create one of the directories concurrently. Don't
+ # stop in that case!
+ $MKDIR "$my_dir" 2>/dev/null || :
+ done
+ IFS="$save_mkdir_p_IFS"
+
+ # Bail out if we (or some other process) failed to create a directory.
+ test -d "$my_directory_path" || \
+ func_fatal_error "Failed to create \`$1'"
+ fi
+}
+
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible. If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+ my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+ if test "$opt_dry_run" = ":"; then
+ # Return a directory name, but don't create it in dry-run mode
+ my_tmpdir="${my_template}-$$"
+ else
+
+ # If mktemp works, use that first and foremost
+ my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+ if test ! -d "$my_tmpdir"; then
+ # Failing that, at least try and use $RANDOM to avoid a race
+ my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+ save_mktempdir_umask=`umask`
+ umask 0077
+ $MKDIR "$my_tmpdir"
+ umask $save_mktempdir_umask
+ fi
+
+ # If we're not in dry-run mode, bomb out on failure
+ test -d "$my_tmpdir" || \
+ func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+ fi
+
+ $ECHO "$my_tmpdir"
+}
+
+
+# func_quote_for_eval arg
+# Aesthetically quote ARG to be evaled later.
+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
+# is double-quoted, suitable for a subsequent eval, whereas
+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
+# which are still active within double quotes backslashified.
+func_quote_for_eval ()
+{
+ case $1 in
+ *[\\\`\"\$]*)
+ func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
+ *)
+ func_quote_for_eval_unquoted_result="$1" ;;
+ esac
+
+ case $func_quote_for_eval_unquoted_result in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and and variable
+ # expansion for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+ ;;
+ *)
+ func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
+ esac
+}
+
+
+# func_quote_for_expand arg
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+ case $1 in
+ *[\\\`\"]*)
+ my_arg=`$ECHO "$1" | $SED \
+ -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+ *)
+ my_arg="$1" ;;
+ esac
+
+ case $my_arg in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting and command substitution for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ my_arg="\"$my_arg\""
+ ;;
+ esac
+
+ func_quote_for_expand_result="$my_arg"
+}
+
+
+# func_show_eval cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
+
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ if ${opt_dry_run-false}; then :; else
+ eval "$my_cmd"
+ my_status=$?
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
+ fi
+ fi
+}
+
+
+# func_show_eval_locale cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it. Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
+
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ if ${opt_dry_run-false}; then :; else
+ eval "$lt_user_locale
+ $my_cmd"
+ my_status=$?
+ eval "$lt_safe_locale"
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
+ fi
+ fi
+}
+
+# func_tr_sh
+# Turn $1 into a string suitable for a shell variable name.
+# Result is stored in $func_tr_sh_result. All characters
+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
+# if $1 begins with a digit, a '_' is prepended as well.
+func_tr_sh ()
+{
+ case $1 in
+ [0-9]* | *[!a-zA-Z0-9_]*)
+ func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
+ ;;
+ * )
+ func_tr_sh_result=$1
+ ;;
+ esac
+}
+
+
+# func_version
+# Echo version message to standard output and exit.
+func_version ()
+{
+ $opt_debug
+
+ $SED -n '/(C)/!b go
+ :more
+ /\./!{
+ N
+ s/\n# / /
+ b more
+ }
+ :go
+ /^# '$PROGRAM' (GNU /,/# warranty; / {
+ s/^# //
+ s/^# *$//
+ s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
+ p
+ }' < "$progpath"
+ exit $?
+}
+
+# func_usage
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+ $opt_debug
+
+ $SED -n '/^# Usage:/,/^# *.*--help/ {
+ s/^# //
+ s/^# *$//
+ s/\$progname/'$progname'/
+ p
+ }' < "$progpath"
+ echo
+ $ECHO "run \`$progname --help | more' for full usage"
+ exit $?
+}
+
+# func_help [NOEXIT]
+# Echo long help message to standard output and exit,
+# unless 'noexit' is passed as argument.
+func_help ()
+{
+ $opt_debug
+
+ $SED -n '/^# Usage:/,/# Report bugs to/ {
+ :print
+ s/^# //
+ s/^# *$//
+ s*\$progname*'$progname'*
+ s*\$host*'"$host"'*
+ s*\$SHELL*'"$SHELL"'*
+ s*\$LTCC*'"$LTCC"'*
+ s*\$LTCFLAGS*'"$LTCFLAGS"'*
+ s*\$LD*'"$LD"'*
+ s/\$with_gnu_ld/'"$with_gnu_ld"'/
+ s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
+ s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
+ p
+ d
+ }
+ /^# .* home page:/b print
+ /^# General help using/b print
+ ' < "$progpath"
+ ret=$?
+ if test -z "$1"; then
+ exit $ret
+ fi
+}
+
+# func_missing_arg argname
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+ $opt_debug
+
+ func_error "missing argument for $1."
+ exit_cmd=exit
+}
+
+
+# func_split_short_opt shortopt
+# Set func_split_short_opt_name and func_split_short_opt_arg shell
+# variables after splitting SHORTOPT after the 2nd character.
+func_split_short_opt ()
+{
+ my_sed_short_opt='1s/^\(..\).*$/\1/;q'
+ my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
+
+ func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
+ func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
+} # func_split_short_opt may be replaced by extended shell implementation
+
+
+# func_split_long_opt longopt
+# Set func_split_long_opt_name and func_split_long_opt_arg shell
+# variables after splitting LONGOPT at the `=' sign.
+func_split_long_opt ()
+{
+ my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
+ my_sed_long_arg='1s/^--[^=]*=//'
+
+ func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
+ func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
+} # func_split_long_opt may be replaced by extended shell implementation
+
+exit_cmd=:
+
+
+
+
+
+magic="%%%MAGIC variable%%%"
+magic_exe="%%%MAGIC EXE variable%%%"
+
+# Global variables.
+nonopt=
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end. This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "${1}=\$${1}\${2}"
+} # func_append may be replaced by extended shell implementation
+
+# func_append_quoted var value
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+func_append_quoted ()
+{
+ func_quote_for_eval "${2}"
+ eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
+} # func_append_quoted may be replaced by extended shell implementation
+
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=`expr "${@}"`
+} # func_arith may be replaced by extended shell implementation
+
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
+} # func_len may be replaced by extended shell implementation
+
+
+# func_lo2o object
+func_lo2o ()
+{
+ func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+} # func_lo2o may be replaced by extended shell implementation
+
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+} # func_xform may be replaced by extended shell implementation
+
+
+# func_fatal_configuration arg...
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+ func_error ${1+"$@"}
+ func_error "See the $PACKAGE documentation for more information."
+ func_fatal_error "Fatal configuration error."
+}
+
+
+# func_config
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+ re_begincf='^# ### BEGIN LIBTOOL'
+ re_endcf='^# ### END LIBTOOL'
+
+ # Default configuration.
+ $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
+ # Now print the configurations for the tags.
+ for tagname in $taglist; do
+ $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
+ done
+
+ exit $?
+}
+
+# func_features
+# Display the features supported by this script.
+func_features ()
+{
+ echo "host: $host"
+ if test "$build_libtool_libs" = yes; then
+ echo "enable shared libraries"
+ else
+ echo "disable shared libraries"
+ fi
+ if test "$build_old_libs" = yes; then
+ echo "enable static libraries"
+ else
+ echo "disable static libraries"
+ fi
+
+ exit $?
+}
+
+# func_enable_tag tagname
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+ # Global variable:
+ tagname="$1"
+
+ re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+ re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+ sed_extractcf="/$re_begincf/,/$re_endcf/p"
+
+ # Validate tagname.
+ case $tagname in
+ *[!-_A-Za-z0-9,/]*)
+ func_fatal_error "invalid tag name: $tagname"
+ ;;
+ esac
+
+ # Don't test for the "default" C tag, as we know it's
+ # there but not specially marked.
+ case $tagname in
+ CC) ;;
+ *)
+ if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+ taglist="$taglist $tagname"
+
+ # Evaluate the configuration. Be careful to quote the path
+ # and the sed script, to avoid splitting on whitespace, but
+ # also don't use non-portable quotes within backquotes within
+ # quotes we have to do it in 2 steps:
+ extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+ eval "$extractedcf"
+ else
+ func_error "ignoring unknown tag $tagname"
+ fi
+ ;;
+ esac
+}
+
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+ if test "$package_revision" != "$macro_revision"; then
+ if test "$VERSION" != "$macro_version"; then
+ if test -z "$macro_version"; then
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ fi
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+ fi
+
+ exit $EXIT_MISMATCH
+ fi
+}
+
+
+# Shorthand for --mode=foo, only valid as the first argument
+case $1 in
+clean|clea|cle|cl)
+ shift; set dummy --mode clean ${1+"$@"}; shift
+ ;;
+compile|compil|compi|comp|com|co|c)
+ shift; set dummy --mode compile ${1+"$@"}; shift
+ ;;
+execute|execut|execu|exec|exe|ex|e)
+ shift; set dummy --mode execute ${1+"$@"}; shift
+ ;;
+finish|finis|fini|fin|fi|f)
+ shift; set dummy --mode finish ${1+"$@"}; shift
+ ;;
+install|instal|insta|inst|ins|in|i)
+ shift; set dummy --mode install ${1+"$@"}; shift
+ ;;
+link|lin|li|l)
+ shift; set dummy --mode link ${1+"$@"}; shift
+ ;;
+uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+ shift; set dummy --mode uninstall ${1+"$@"}; shift
+ ;;
+esac
+
+
+
+# Option defaults:
+opt_debug=:
+opt_dry_run=false
+opt_config=false
+opt_preserve_dup_deps=false
+opt_features=false
+opt_finish=false
+opt_help=false
+opt_help_all=false
+opt_silent=:
+opt_warning=:
+opt_verbose=:
+opt_silent=false
+opt_verbose=false
+
+
+# Parse options once, thoroughly. This comes as soon as possible in the
+# script to make things like `--version' happen as quickly as we can.
+{
+ # this just eases exit handling
+ while test $# -gt 0; do
+ opt="$1"
+ shift
+ case $opt in
+ --debug|-x) opt_debug='set -x'
+ func_echo "enabling shell trace mode"
+ $opt_debug
+ ;;
+ --dry-run|--dryrun|-n)
+ opt_dry_run=:
+ ;;
+ --config)
+ opt_config=:
+func_config
+ ;;
+ --dlopen|-dlopen)
+ optarg="$1"
+ opt_dlopen="${opt_dlopen+$opt_dlopen
+}$optarg"
+ shift
+ ;;
+ --preserve-dup-deps)
+ opt_preserve_dup_deps=:
+ ;;
+ --features)
+ opt_features=:
+func_features
+ ;;
+ --finish)
+ opt_finish=:
+set dummy --mode finish ${1+"$@"}; shift
+ ;;
+ --help)
+ opt_help=:
+ ;;
+ --help-all)
+ opt_help_all=:
+opt_help=': help-all'
+ ;;
+ --mode)
+ test $# = 0 && func_missing_arg $opt && break
+ optarg="$1"
+ opt_mode="$optarg"
+case $optarg in
+ # Valid mode arguments:
+ clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+ # Catch anything else as an error
+ *) func_error "invalid argument for $opt"
+ exit_cmd=exit
+ break
+ ;;
+esac
+ shift
+ ;;
+ --no-silent|--no-quiet)
+ opt_silent=false
+func_append preserve_args " $opt"
+ ;;
+ --no-warning|--no-warn)
+ opt_warning=false
+func_append preserve_args " $opt"
+ ;;
+ --no-verbose)
+ opt_verbose=false
+func_append preserve_args " $opt"
+ ;;
+ --silent|--quiet)
+ opt_silent=:
+func_append preserve_args " $opt"
+ opt_verbose=false
+ ;;
+ --verbose|-v)
+ opt_verbose=:
+func_append preserve_args " $opt"
+opt_silent=false
+ ;;
+ --tag)
+ test $# = 0 && func_missing_arg $opt && break
+ optarg="$1"
+ opt_tag="$optarg"
+func_append preserve_args " $opt $optarg"
+func_enable_tag "$optarg"
+ shift
+ ;;
+
+ -\?|-h) func_usage ;;
+ --help) func_help ;;
+ --version) func_version ;;
+
+ # Separate optargs to long options:
+ --*=*)
+ func_split_long_opt "$opt"
+ set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ # Separate non-argument short options:
+ -\?*|-h*|-n*|-v*)
+ func_split_short_opt "$opt"
+ set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ --) break ;;
+ -*) func_fatal_help "unrecognized option \`$opt'" ;;
+ *) set dummy "$opt" ${1+"$@"}; shift; break ;;
+ esac
+ done
+
+ # Validate options:
+
+ # save first non-option argument
+ if test "$#" -gt 0; then
+ nonopt="$opt"
+ shift
+ fi
+
+ # preserve --debug
+ test "$opt_debug" = : || func_append preserve_args " --debug"
+
+ case $host in
+ *cygwin* | *mingw* | *pw32* | *cegcc*)
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
+ ;;
+ *)
+ opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+ ;;
+ esac
+
+ $opt_help || {
+ # Sanity checks first:
+ func_check_version_match
+
+ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+ func_fatal_configuration "not configured to build any kind of library"
+ fi
+
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
+
+ # Only execute mode is allowed to have -dlopen flags.
+ if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
+ func_error "unrecognized option \`-dlopen'"
+ $ECHO "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Change the help message to a mode-specific one.
+ generic_help="$help"
+ help="Try \`$progname --help --mode=$opt_mode' for more information."
+ }
+
+
+ # Bail if the options were screwed
+ $exit_cmd $EXIT_FAILURE
+}
+
+
+
+
+## ----------- ##
+## Main. ##
+## ----------- ##
+
+# func_lalib_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+ test -f "$1" &&
+ $SED -e 4q "$1" 2>/dev/null \
+ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs. To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway. Works if `file' does not exist.
+func_lalib_unsafe_p ()
+{
+ lalib_p=no
+ if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+ for lalib_p_l in 1 2 3 4
+ do
+ read lalib_p_line
+ case "$lalib_p_line" in
+ \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+ esac
+ done
+ exec 0<&5 5<&-
+ fi
+ test "$lalib_p" = yes
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+ func_lalib_p "$1"
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+ func_ltwrapper_exec_suffix=
+ case $1 in
+ *.exe) ;;
+ *) func_ltwrapper_exec_suffix=.exe ;;
+ esac
+ $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+ func_dirname_and_basename "$1" "" "."
+ func_stripname '' '.exe' "$func_basename_result"
+ func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+ func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+ $opt_debug
+ save_ifs=$IFS; IFS='~'
+ for cmd in $1; do
+ IFS=$save_ifs
+ eval cmd=\"$cmd\"
+ func_show_eval "$cmd" "${2-:}"
+ done
+ IFS=$save_ifs
+}
+
+
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)! Also, sourcing
+# `FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+ $opt_debug
+ case $1 in
+ */* | *\\*) . "$1" ;;
+ *) . "./$1" ;;
+ esac
+}
+
+
+# func_resolve_sysroot PATH
+# Replace a leading = in PATH with a sysroot. Store the result into
+# func_resolve_sysroot_result
+func_resolve_sysroot ()
+{
+ func_resolve_sysroot_result=$1
+ case $func_resolve_sysroot_result in
+ =*)
+ func_stripname '=' '' "$func_resolve_sysroot_result"
+ func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
+ ;;
+ esac
+}
+
+# func_replace_sysroot PATH
+# If PATH begins with the sysroot, replace it with = and
+# store the result into func_replace_sysroot_result.
+func_replace_sysroot ()
+{
+ case "$lt_sysroot:$1" in
+ ?*:"$lt_sysroot"*)
+ func_stripname "$lt_sysroot" '' "$1"
+ func_replace_sysroot_result="=$func_stripname_result"
+ ;;
+ *)
+ # Including no sysroot.
+ func_replace_sysroot_result=$1
+ ;;
+ esac
+}
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+ $opt_debug
+ if test -n "$available_tags" && test -z "$tagname"; then
+ CC_quoted=
+ for arg in $CC; do
+ func_append_quoted CC_quoted "$arg"
+ done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
+ case $@ in
+ # Blanks in the command may have been stripped by the calling shell,
+ # but not from the CC environment variable when configure was run.
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
+ # Blanks at the start of $base_compile will cause this to fail
+ # if we don't check for them as well.
+ *)
+ for z in $available_tags; do
+ if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+ # Evaluate the configuration.
+ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+ CC_quoted=
+ for arg in $CC; do
+ # Double-quote args containing other shell metacharacters.
+ func_append_quoted CC_quoted "$arg"
+ done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
+ case "$@ " in
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
+ # The compiler in the base compile command matches
+ # the one in the tagged configuration.
+ # Assume this is the tagged configuration we want.
+ tagname=$z
+ break
+ ;;
+ esac
+ fi
+ done
+ # If $tagname still isn't set, then no tagged configuration
+ # was found and let the user know that the "--tag" command
+ # line option must be used.
+ if test -z "$tagname"; then
+ func_echo "unable to infer tagged configuration"
+ func_fatal_error "specify a tag with \`--tag'"
+# else
+# func_verbose "using $tagname tagged configuration"
+ fi
+ ;;
+ esac
+ fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+ write_libobj=${1}
+ if test "$build_libtool_libs" = yes; then
+ write_lobj=\'${2}\'
+ else
+ write_lobj=none
+ fi
+
+ if test "$build_old_libs" = yes; then
+ write_oldobj=\'${3}\'
+ else
+ write_oldobj=none
+ fi
+
+ $opt_dry_run || {
+ cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+ $MV "${write_libobj}T" "${write_libobj}"
+ }
+}
+
+
+##################################################
+# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
+##################################################
+
+# func_convert_core_file_wine_to_w32 ARG
+# Helper function used by file name conversion functions when $build is *nix,
+# and $host is mingw, cygwin, or some other w32 environment. Relies on a
+# correctly configured wine environment available, with the winepath program
+# in $build's $PATH.
+#
+# ARG is the $build file name to be converted to w32 format.
+# Result is available in $func_convert_core_file_wine_to_w32_result, and will
+# be empty on error (or when ARG is empty)
+func_convert_core_file_wine_to_w32 ()
+{
+ $opt_debug
+ func_convert_core_file_wine_to_w32_result="$1"
+ if test -n "$1"; then
+ # Unfortunately, winepath does not exit with a non-zero error code, so we
+ # are forced to check the contents of stdout. On the other hand, if the
+ # command is not found, the shell will set an exit code of 127 and print
+ # *an error message* to stdout. So we must check for both error code of
+ # zero AND non-empty stdout, which explains the odd construction:
+ func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
+ if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
+ func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
+ $SED -e "$lt_sed_naive_backslashify"`
+ else
+ func_convert_core_file_wine_to_w32_result=
+ fi
+ fi
+}
+# end: func_convert_core_file_wine_to_w32
+
+
+# func_convert_core_path_wine_to_w32 ARG
+# Helper function used by path conversion functions when $build is *nix, and
+# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
+# configured wine environment available, with the winepath program in $build's
+# $PATH. Assumes ARG has no leading or trailing path separator characters.
+#
+# ARG is path to be converted from $build format to win32.
+# Result is available in $func_convert_core_path_wine_to_w32_result.
+# Unconvertible file (directory) names in ARG are skipped; if no directory names
+# are convertible, then the result may be empty.
+func_convert_core_path_wine_to_w32 ()
+{
+ $opt_debug
+ # unfortunately, winepath doesn't convert paths, only file names
+ func_convert_core_path_wine_to_w32_result=""
+ if test -n "$1"; then
+ oldIFS=$IFS
+ IFS=:
+ for func_convert_core_path_wine_to_w32_f in $1; do
+ IFS=$oldIFS
+ func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
+ if test -n "$func_convert_core_file_wine_to_w32_result" ; then
+ if test -z "$func_convert_core_path_wine_to_w32_result"; then
+ func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
+ else
+ func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
+ fi
+ fi
+ done
+ IFS=$oldIFS
+ fi
+}
+# end: func_convert_core_path_wine_to_w32
+
+
+# func_cygpath ARGS...
+# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
+# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
+# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
+# (2), returns the Cygwin file name or path in func_cygpath_result (input
+# file name or path is assumed to be in w32 format, as previously converted
+# from $build's *nix or MSYS format). In case (3), returns the w32 file name
+# or path in func_cygpath_result (input file name or path is assumed to be in
+# Cygwin format). Returns an empty string on error.
+#
+# ARGS are passed to cygpath, with the last one being the file name or path to
+# be converted.
+#
+# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
+# environment variable; do not put it in $PATH.
+func_cygpath ()
+{
+ $opt_debug
+ if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
+ func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
+ if test "$?" -ne 0; then
+ # on failure, ensure result is empty
+ func_cygpath_result=
+ fi
+ else
+ func_cygpath_result=
+ func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
+ fi
+}
+#end: func_cygpath
+
+
+# func_convert_core_msys_to_w32 ARG
+# Convert file name or path ARG from MSYS format to w32 format. Return
+# result in func_convert_core_msys_to_w32_result.
+func_convert_core_msys_to_w32 ()
+{
+ $opt_debug
+ # awkward: cmd appends spaces to result
+ func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
+ $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
+}
+#end: func_convert_core_msys_to_w32
+
+
+# func_convert_file_check ARG1 ARG2
+# Verify that ARG1 (a file name in $build format) was converted to $host
+# format in ARG2. Otherwise, emit an error message, but continue (resetting
+# func_to_host_file_result to ARG1).
+func_convert_file_check ()
+{
+ $opt_debug
+ if test -z "$2" && test -n "$1" ; then
+ func_error "Could not determine host file name corresponding to"
+ func_error " \`$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback:
+ func_to_host_file_result="$1"
+ fi
+}
+# end func_convert_file_check
+
+
+# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
+# Verify that FROM_PATH (a path in $build format) was converted to $host
+# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
+# func_to_host_file_result to a simplistic fallback value (see below).
+func_convert_path_check ()
+{
+ $opt_debug
+ if test -z "$4" && test -n "$3"; then
+ func_error "Could not determine the host path corresponding to"
+ func_error " \`$3'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback. This is a deliberately simplistic "conversion" and
+ # should not be "improved". See libtool.info.
+ if test "x$1" != "x$2"; then
+ lt_replace_pathsep_chars="s|$1|$2|g"
+ func_to_host_path_result=`echo "$3" |
+ $SED -e "$lt_replace_pathsep_chars"`
+ else
+ func_to_host_path_result="$3"
+ fi
+ fi
+}
+# end func_convert_path_check
+
+
+# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
+# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
+# and appending REPL if ORIG matches BACKPAT.
+func_convert_path_front_back_pathsep ()
+{
+ $opt_debug
+ case $4 in
+ $1 ) func_to_host_path_result="$3$func_to_host_path_result"
+ ;;
+ esac
+ case $4 in
+ $2 ) func_append func_to_host_path_result "$3"
+ ;;
+ esac
+}
+# end func_convert_path_front_back_pathsep
+
+
+##################################################
+# $build to $host FILE NAME CONVERSION FUNCTIONS #
+##################################################
+# invoked via `$to_host_file_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# Result will be available in $func_to_host_file_result.
+
+
+# func_to_host_file ARG
+# Converts the file name ARG from $build format to $host format. Return result
+# in func_to_host_file_result.
+func_to_host_file ()
+{
+ $opt_debug
+ $to_host_file_cmd "$1"
+}
+# end func_to_host_file
+
+
+# func_to_tool_file ARG LAZY
+# converts the file name ARG from $build format to toolchain format. Return
+# result in func_to_tool_file_result. If the conversion in use is listed
+# in (the comma separated) LAZY, no conversion takes place.
+func_to_tool_file ()
+{
+ $opt_debug
+ case ,$2, in
+ *,"$to_tool_file_cmd",*)
+ func_to_tool_file_result=$1
+ ;;
+ *)
+ $to_tool_file_cmd "$1"
+ func_to_tool_file_result=$func_to_host_file_result
+ ;;
+ esac
+}
+# end func_to_tool_file
+
+
+# func_convert_file_noop ARG
+# Copy ARG to func_to_host_file_result.
+func_convert_file_noop ()
+{
+ func_to_host_file_result="$1"
+}
+# end func_convert_file_noop
+
+
+# func_convert_file_msys_to_w32 ARG
+# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper. Returns result in
+# func_to_host_file_result.
+func_convert_file_msys_to_w32 ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ func_convert_core_msys_to_w32 "$1"
+ func_to_host_file_result="$func_convert_core_msys_to_w32_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_w32
+
+
+# func_convert_file_cygwin_to_w32 ARG
+# Convert file name ARG from Cygwin to w32 format. Returns result in
+# func_to_host_file_result.
+func_convert_file_cygwin_to_w32 ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
+ # LT_CYGPATH in this case.
+ func_to_host_file_result=`cygpath -m "$1"`
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_cygwin_to_w32
+
+
+# func_convert_file_nix_to_w32 ARG
+# Convert file name ARG from *nix to w32 format. Requires a wine environment
+# and a working winepath. Returns result in func_to_host_file_result.
+func_convert_file_nix_to_w32 ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ func_convert_core_file_wine_to_w32 "$1"
+ func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_w32
+
+
+# func_convert_file_msys_to_cygwin ARG
+# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_file_msys_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ func_convert_core_msys_to_w32 "$1"
+ func_cygpath -u "$func_convert_core_msys_to_w32_result"
+ func_to_host_file_result="$func_cygpath_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_cygwin
+
+
+# func_convert_file_nix_to_cygwin ARG
+# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
+# in a wine environment, working winepath, and LT_CYGPATH set. Returns result
+# in func_to_host_file_result.
+func_convert_file_nix_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
+ func_convert_core_file_wine_to_w32 "$1"
+ func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
+ func_to_host_file_result="$func_cygpath_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_cygwin
+
+
+#############################################
+# $build to $host PATH CONVERSION FUNCTIONS #
+#############################################
+# invoked via `$to_host_path_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# The result will be available in $func_to_host_path_result.
+#
+# Path separators are also converted from $build format to $host format. If
+# ARG begins or ends with a path separator character, it is preserved (but
+# converted to $host format) on output.
+#
+# All path conversion functions are named using the following convention:
+# file name conversion function : func_convert_file_X_to_Y ()
+# path conversion function : func_convert_path_X_to_Y ()
+# where, for any given $build/$host combination the 'X_to_Y' value is the
+# same. If conversion functions are added for new $build/$host combinations,
+# the two new functions must follow this pattern, or func_init_to_host_path_cmd
+# will break.
+
+
+# func_init_to_host_path_cmd
+# Ensures that function "pointer" variable $to_host_path_cmd is set to the
+# appropriate value, based on the value of $to_host_file_cmd.
+to_host_path_cmd=
+func_init_to_host_path_cmd ()
+{
+ $opt_debug
+ if test -z "$to_host_path_cmd"; then
+ func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
+ to_host_path_cmd="func_convert_path_${func_stripname_result}"
+ fi
+}
+
+
+# func_to_host_path ARG
+# Converts the path ARG from $build format to $host format. Return result
+# in func_to_host_path_result.
+func_to_host_path ()
+{
+ $opt_debug
+ func_init_to_host_path_cmd
+ $to_host_path_cmd "$1"
+}
+# end func_to_host_path
+
+
+# func_convert_path_noop ARG
+# Copy ARG to func_to_host_path_result.
+func_convert_path_noop ()
+{
+ func_to_host_path_result="$1"
+}
+# end func_convert_path_noop
+
+
+# func_convert_path_msys_to_w32 ARG
+# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper. Returns result in
+# func_to_host_path_result.
+func_convert_path_msys_to_w32 ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # Remove leading and trailing path separator characters from ARG. MSYS
+ # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
+ # and winepath ignores them completely.
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_to_host_path_result="$func_convert_core_msys_to_w32_result"
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_msys_to_w32
+
+
+# func_convert_path_cygwin_to_w32 ARG
+# Convert path ARG from Cygwin to w32 format. Returns result in
+# func_to_host_file_result.
+func_convert_path_cygwin_to_w32 ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_cygwin_to_w32
+
+
+# func_convert_path_nix_to_w32 ARG
+# Convert path ARG from *nix to w32 format. Requires a wine environment and
+# a working winepath. Returns result in func_to_host_file_result.
+func_convert_path_nix_to_w32 ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+ func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_nix_to_w32
+
+
+# func_convert_path_msys_to_cygwin ARG
+# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_path_msys_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
+ func_to_host_path_result="$func_cygpath_result"
+ func_convert_path_check : : \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+ fi
+}
+# end func_convert_path_msys_to_cygwin
+
+
+# func_convert_path_nix_to_cygwin ARG
+# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
+# a wine environment, working winepath, and LT_CYGPATH set. Returns result in
+# func_to_host_file_result.
+func_convert_path_nix_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # Remove leading and trailing path separator characters from
+ # ARG. msys behavior is inconsistent here, cygpath turns them
+ # into '.;' and ';.', and winepath ignores them completely.
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+ func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
+ func_to_host_path_result="$func_cygpath_result"
+ func_convert_path_check : : \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+ fi
+}
+# end func_convert_path_nix_to_cygwin
+
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+ $opt_debug
+ # Get the compilation command and the source file.
+ base_compile=
+ srcfile="$nonopt" # always keep a non-empty value in "srcfile"
+ suppress_opt=yes
+ suppress_output=
+ arg_mode=normal
+ libobj=
+ later=
+ pie_flag=
+
+ for arg
+ do
+ case $arg_mode in
+ arg )
+ # do not "continue". Instead, add this to base_compile
+ lastarg="$arg"
+ arg_mode=normal
+ ;;
+
+ target )
+ libobj="$arg"
+ arg_mode=normal
+ continue
+ ;;
+
+ normal )
+ # Accept any command-line options.
+ case $arg in
+ -o)
+ test -n "$libobj" && \
+ func_fatal_error "you cannot specify \`-o' more than once"
+ arg_mode=target
+ continue
+ ;;
+
+ -pie | -fpie | -fPIE)
+ func_append pie_flag " $arg"
+ continue
+ ;;
+
+ -shared | -static | -prefer-pic | -prefer-non-pic)
+ func_append later " $arg"
+ continue
+ ;;
+
+ -no-suppress)
+ suppress_opt=no
+ continue
+ ;;
+
+ -Xcompiler)
+ arg_mode=arg # the next one goes into the "base_compile" arg list
+ continue # The current "srcfile" will either be retained or
+ ;; # replaced later. I would guess that would be a bug.
+
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ lastarg=
+ save_ifs="$IFS"; IFS=','
+ for arg in $args; do
+ IFS="$save_ifs"
+ func_append_quoted lastarg "$arg"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$lastarg"
+ lastarg=$func_stripname_result
+
+ # Add the arguments to base_compile.
+ func_append base_compile " $lastarg"
+ continue
+ ;;
+
+ *)
+ # Accept the current argument as the source file.
+ # The previous "srcfile" becomes the current argument.
+ #
+ lastarg="$srcfile"
+ srcfile="$arg"
+ ;;
+ esac # case $arg
+ ;;
+ esac # case $arg_mode
+
+ # Aesthetically quote the previous argument.
+ func_append_quoted base_compile "$lastarg"
+ done # for arg
+
+ case $arg_mode in
+ arg)
+ func_fatal_error "you must specify an argument for -Xcompile"
+ ;;
+ target)
+ func_fatal_error "you must specify a target with \`-o'"
+ ;;
+ *)
+ # Get the name of the library object.
+ test -z "$libobj" && {
+ func_basename "$srcfile"
+ libobj="$func_basename_result"
+ }
+ ;;
+ esac
+
+ # Recognize several different file suffixes.
+ # If the user specifies -o file.o, it is replaced with file.lo
+ case $libobj in
+ *.[cCFSifmso] | \
+ *.ada | *.adb | *.ads | *.asm | \
+ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
+ func_xform "$libobj"
+ libobj=$func_xform_result
+ ;;
+ esac
+
+ case $libobj in
+ *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
+ *)
+ func_fatal_error "cannot determine name of library object from \`$libobj'"
+ ;;
+ esac
+
+ func_infer_tag $base_compile
+
+ for arg in $later; do
+ case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
+ continue
+ ;;
+
+ -static)
+ build_libtool_libs=no
+ build_old_libs=yes
+ continue
+ ;;
+
+ -prefer-pic)
+ pic_mode=yes
+ continue
+ ;;
+
+ -prefer-non-pic)
+ pic_mode=no
+ continue
+ ;;
+ esac
+ done
+
+ func_quote_for_eval "$libobj"
+ test "X$libobj" != "X$func_quote_for_eval_result" \
+ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
+ && func_warning "libobj name \`$libobj' may not contain shell special characters."
+ func_dirname_and_basename "$obj" "/" ""
+ objname="$func_basename_result"
+ xdir="$func_dirname_result"
+ lobj=${xdir}$objdir/$objname
+
+ test -z "$base_compile" && \
+ func_fatal_help "you must specify a compilation command"
+
+ # Delete any leftover library objects.
+ if test "$build_old_libs" = yes; then
+ removelist="$obj $lobj $libobj ${libobj}T"
+ else
+ removelist="$lobj $libobj ${libobj}T"
+ fi
+
+ # On Cygwin there's no "real" PIC flag so we must build both object types
+ case $host_os in
+ cygwin* | mingw* | pw32* | os2* | cegcc*)
+ pic_mode=default
+ ;;
+ esac
+ if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+ # non-PIC code in shared libraries is not supported
+ pic_mode=default
+ fi
+
+ # Calculate the filename of the output object if compiler does
+ # not support -o with -c
+ if test "$compiler_c_o" = no; then
+ output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
+ lockfile="$output_obj.lock"
+ else
+ output_obj=
+ need_locks=no
+ lockfile=
+ fi
+
+ # Lock this critical section if it is needed
+ # We use this script file to make the link, it avoids creating a new file
+ if test "$need_locks" = yes; then
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ elif test "$need_locks" = warn; then
+ if test -f "$lockfile"; then
+ $ECHO "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+ func_append removelist " $output_obj"
+ $ECHO "$srcfile" > "$lockfile"
+ fi
+
+ $opt_dry_run || $RM $removelist
+ func_append removelist " $lockfile"
+ trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+ func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
+ srcfile=$func_to_tool_file_result
+ func_quote_for_eval "$srcfile"
+ qsrcfile=$func_quote_for_eval_result
+
+ # Only build a PIC object if we are building libtool libraries.
+ if test "$build_libtool_libs" = yes; then
+ # Without this assignment, base_compile gets emptied.
+ fbsd_hideous_sh_bug=$base_compile
+
+ if test "$pic_mode" != no; then
+ command="$base_compile $qsrcfile $pic_flag"
+ else
+ # Don't build PIC code
+ command="$base_compile $qsrcfile"
+ fi
+
+ func_mkdir_p "$xdir$objdir"
+
+ if test -z "$output_obj"; then
+ # Place PIC objects in $objdir
+ func_append command " -o $lobj"
+ fi
+
+ func_show_eval_locale "$command" \
+ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
+
+ if test "$need_locks" = warn &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed, then go on to compile the next one
+ if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+ func_show_eval '$MV "$output_obj" "$lobj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+
+ # Allow error messages only from the first compilation.
+ if test "$suppress_opt" = yes; then
+ suppress_output=' >/dev/null 2>&1'
+ fi
+ fi
+
+ # Only build a position-dependent object if we build old libraries.
+ if test "$build_old_libs" = yes; then
+ if test "$pic_mode" != yes; then
+ # Don't build PIC code
+ command="$base_compile $qsrcfile$pie_flag"
+ else
+ command="$base_compile $qsrcfile $pic_flag"
+ fi
+ if test "$compiler_c_o" = yes; then
+ func_append command " -o $obj"
+ fi
+
+ # Suppress compiler output if we already did a PIC compilation.
+ func_append command "$suppress_output"
+ func_show_eval_locale "$command" \
+ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
+ if test "$need_locks" = warn &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed
+ if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+ func_show_eval '$MV "$output_obj" "$obj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+ fi
+
+ $opt_dry_run || {
+ func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+ # Unlock the critical section if it was locked
+ if test "$need_locks" != no; then
+ removelist=$lockfile
+ $RM "$lockfile"
+ fi
+ }
+
+ exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+ test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+ # We need to display help for each of the modes.
+ case $opt_mode in
+ "")
+ # Generic help is extracted from the usage comments
+ # at the start of this file.
+ func_help
+ ;;
+
+ clean)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ compile)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
+ -no-suppress do not suppress compiler output for multiple passes
+ -prefer-pic try to build PIC objects only
+ -prefer-non-pic try to build non-PIC objects only
+ -shared do not build a \`.o' file suitable for static linking
+ -static only build a \`.o' file suitable for static linking
+ -Wc,FLAG pass FLAG directly to the compiler
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+ ;;
+
+ execute)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+ -dlopen FILE add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+ ;;
+
+ finish)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges. Use
+the \`--dry-run' option if you just want to see what would be executed."
+ ;;
+
+ install)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command. The first component should be
+either the \`install' or \`cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+ -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+ ;;
+
+ link)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+ -all-static do not do any dynamic linking at all
+ -avoid-version do not add a version suffix if possible
+ -bindir BINDIR specify path to binaries directory (for systems where
+ libraries must be found in the PATH setting at runtime)
+ -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -export-symbols SYMFILE
+ try to export only the symbols listed in SYMFILE
+ -export-symbols-regex REGEX
+ try to export only the symbols matching REGEX
+ -LLIBDIR search LIBDIR for required installed libraries
+ -lNAME OUTPUT-FILE requires the installed library libNAME
+ -module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
+ -no-undefined declare that a library does not refer to external symbols
+ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
+ -objectlist FILE Use a list of object files found in FILE to specify objects
+ -precious-files-regex REGEX
+ don't remove output files matching REGEX
+ -release RELEASE specify package release information
+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
+ -shared only do dynamic linking of libtool libraries
+ -shrext SUFFIX override the standard shared library file extension
+ -static do not do any dynamic linking of uninstalled libtool libraries
+ -static-libtool-libs
+ do not do any dynamic linking of libtool libraries
+ -version-info CURRENT[:REVISION[:AGE]]
+ specify library version info [each variable defaults to 0]
+ -weak LIBNAME declare that the target provides the LIBNAME interface
+ -Wc,FLAG
+ -Xcompiler FLAG pass linker-specific FLAG directly to the compiler
+ -Wl,FLAG
+ -Xlinker FLAG pass linker-specific FLAG directly to the linker
+ -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename. Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+ ;;
+
+ uninstall)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ *)
+ func_fatal_help "invalid operation mode \`$opt_mode'"
+ ;;
+ esac
+
+ echo
+ $ECHO "Try \`$progname --help' for more information about other modes."
+}
+
+# Now that we've collected a possible --mode arg, show help if necessary
+if $opt_help; then
+ if test "$opt_help" = :; then
+ func_mode_help
+ else
+ {
+ func_help noexit
+ for opt_mode in compile link execute install finish uninstall clean; do
+ func_mode_help
+ done
+ } | sed -n '1p; 2,$s/^Usage:/ or: /p'
+ {
+ func_help noexit
+ for opt_mode in compile link execute install finish uninstall clean; do
+ echo
+ func_mode_help
+ done
+ } |
+ sed '1d
+ /^When reporting/,/^Report/{
+ H
+ d
+ }
+ $x
+ /information about other modes/d
+ /more detailed .*MODE/d
+ s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
+ fi
+ exit $?
+fi
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+ $opt_debug
+ # The first argument is the command name.
+ cmd="$nonopt"
+ test -z "$cmd" && \
+ func_fatal_help "you must specify a COMMAND"
+
+ # Handle -dlopen flags immediately.
+ for file in $opt_dlopen; do
+ test -f "$file" \
+ || func_fatal_help "\`$file' is not a file"
+
+ dir=
+ case $file in
+ *.la)
+ func_resolve_sysroot "$file"
+ file=$func_resolve_sysroot_result
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$lib' is not a valid libtool archive"
+
+ # Read the libtool library.
+ dlname=
+ library_names=
+ func_source "$file"
+
+ # Skip this library if it cannot be dlopened.
+ if test -z "$dlname"; then
+ # Warn if it was a shared library.
+ test -n "$library_names" && \
+ func_warning "\`$file' was not linked with \`-export-dynamic'"
+ continue
+ fi
+
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+
+ if test -f "$dir/$objdir/$dlname"; then
+ func_append dir "/$objdir"
+ else
+ if test ! -f "$dir/$dlname"; then
+ func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+ fi
+ fi
+ ;;
+
+ *.lo)
+ # Just add the directory containing the .lo file.
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ ;;
+
+ *)
+ func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+ continue
+ ;;
+ esac
+
+ # Get the absolute pathname.
+ absdir=`cd "$dir" && pwd`
+ test -n "$absdir" && dir="$absdir"
+
+ # Now add the directory to shlibpath_var.
+ if eval "test -z \"\$$shlibpath_var\""; then
+ eval "$shlibpath_var=\"\$dir\""
+ else
+ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+ fi
+ done
+
+ # This variable tells wrapper scripts just to set shlibpath_var
+ # rather than running their programs.
+ libtool_execute_magic="$magic"
+
+ # Check if any of the arguments is a wrapper script.
+ args=
+ for file
+ do
+ case $file in
+ -* | *.la | *.lo ) ;;
+ *)
+ # Do a test to see if this is really a libtool program.
+ if func_ltwrapper_script_p "$file"; then
+ func_source "$file"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ elif func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ func_source "$func_ltwrapper_scriptname_result"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ fi
+ ;;
+ esac
+ # Quote arguments (to preserve shell metacharacters).
+ func_append_quoted args "$file"
+ done
+
+ if test "X$opt_dry_run" = Xfalse; then
+ if test -n "$shlibpath_var"; then
+ # Export the shlibpath_var.
+ eval "export $shlibpath_var"
+ fi
+
+ # Restore saved environment variables
+ for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ do
+ eval "if test \"\${save_$lt_var+set}\" = set; then
+ $lt_var=\$save_$lt_var; export $lt_var
+ else
+ $lt_unset $lt_var
+ fi"
+ done
+
+ # Now prepare to actually exec the command.
+ exec_cmd="\$cmd$args"
+ else
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+ echo "export $shlibpath_var"
+ fi
+ $ECHO "$cmd$args"
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+ $opt_debug
+ libs=
+ libdirs=
+ admincmds=
+
+ for opt in "$nonopt" ${1+"$@"}
+ do
+ if test -d "$opt"; then
+ func_append libdirs " $opt"
+
+ elif test -f "$opt"; then
+ if func_lalib_unsafe_p "$opt"; then
+ func_append libs " $opt"
+ else
+ func_warning "\`$opt' is not a valid libtool archive"
+ fi
+
+ else
+ func_fatal_error "invalid argument \`$opt'"
+ fi
+ done
+
+ if test -n "$libs"; then
+ if test -n "$lt_sysroot"; then
+ sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
+ sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
+ else
+ sysroot_cmd=
+ fi
+
+ # Remove sysroot references
+ if $opt_dry_run; then
+ for lib in $libs; do
+ echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
+ done
+ else
+ tmpdir=`func_mktempdir`
+ for lib in $libs; do
+ sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+ > $tmpdir/tmp-la
+ mv -f $tmpdir/tmp-la $lib
+ done
+ ${RM}r "$tmpdir"
+ fi
+ fi
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ for libdir in $libdirs; do
+ if test -n "$finish_cmds"; then
+ # Do each command in the finish commands.
+ func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+ fi
+ if test -n "$finish_eval"; then
+ # Do the single finish_eval.
+ eval cmds=\"$finish_eval\"
+ $opt_dry_run || eval "$cmds" || func_append admincmds "
+ $cmds"
+ fi
+ done
+ fi
+
+ # Exit here if they wanted silent mode.
+ $opt_silent && exit $EXIT_SUCCESS
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ echo "----------------------------------------------------------------------"
+ echo "Libraries have been installed in:"
+ for libdir in $libdirs; do
+ $ECHO " $libdir"
+ done
+ echo
+ echo "If you ever happen to want to link against installed libraries"
+ echo "in a given directory, LIBDIR, you must either use libtool, and"
+ echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+ echo "flag during linking and do at least one of the following:"
+ if test -n "$shlibpath_var"; then
+ echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ echo " during execution"
+ fi
+ if test -n "$runpath_var"; then
+ echo " - add LIBDIR to the \`$runpath_var' environment variable"
+ echo " during linking"
+ fi
+ if test -n "$hardcode_libdir_flag_spec"; then
+ libdir=LIBDIR
+ eval flag=\"$hardcode_libdir_flag_spec\"
+
+ $ECHO " - use the \`$flag' linker flag"
+ fi
+ if test -n "$admincmds"; then
+ $ECHO " - have your system administrator run these commands:$admincmds"
+ fi
+ if test -f /etc/ld.so.conf; then
+ echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+ fi
+ echo
+
+ echo "See any operating system documentation about shared libraries for"
+ case $host in
+ solaris2.[6789]|solaris2.1[0-9])
+ echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+ echo "pages."
+ ;;
+ *)
+ echo "more information, such as the ld(1) and ld.so(8) manual pages."
+ ;;
+ esac
+ echo "----------------------------------------------------------------------"
+ fi
+ exit $EXIT_SUCCESS
+}
+
+test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+ $opt_debug
+ # There may be an optional sh(1) argument at the beginning of
+ # install_prog (especially on Windows NT).
+ if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+ # Allow the use of GNU shtool's install command.
+ case $nonopt in *shtool*) :;; *) false;; esac; then
+ # Aesthetically quote it.
+ func_quote_for_eval "$nonopt"
+ install_prog="$func_quote_for_eval_result "
+ arg=$1
+ shift
+ else
+ install_prog=
+ arg=$nonopt
+ fi
+
+ # The real first argument should be the name of the installation program.
+ # Aesthetically quote it.
+ func_quote_for_eval "$arg"
+ func_append install_prog "$func_quote_for_eval_result"
+ install_shared_prog=$install_prog
+ case " $install_prog " in
+ *[\\\ /]cp\ *) install_cp=: ;;
+ *) install_cp=false ;;
+ esac
+
+ # We need to accept at least all the BSD install flags.
+ dest=
+ files=
+ opts=
+ prev=
+ install_type=
+ isdir=no
+ stripme=
+ no_mode=:
+ for arg
+ do
+ arg2=
+ if test -n "$dest"; then
+ func_append files " $dest"
+ dest=$arg
+ continue
+ fi
+
+ case $arg in
+ -d) isdir=yes ;;
+ -f)
+ if $install_cp; then :; else
+ prev=$arg
+ fi
+ ;;
+ -g | -m | -o)
+ prev=$arg
+ ;;
+ -s)
+ stripme=" -s"
+ continue
+ ;;
+ -*)
+ ;;
+ *)
+ # If the previous option needed an argument, then skip it.
+ if test -n "$prev"; then
+ if test "x$prev" = x-m && test -n "$install_override_mode"; then
+ arg2=$install_override_mode
+ no_mode=false
+ fi
+ prev=
+ else
+ dest=$arg
+ continue
+ fi
+ ;;
+ esac
+
+ # Aesthetically quote the argument.
+ func_quote_for_eval "$arg"
+ func_append install_prog " $func_quote_for_eval_result"
+ if test -n "$arg2"; then
+ func_quote_for_eval "$arg2"
+ fi
+ func_append install_shared_prog " $func_quote_for_eval_result"
+ done
+
+ test -z "$install_prog" && \
+ func_fatal_help "you must specify an install program"
+
+ test -n "$prev" && \
+ func_fatal_help "the \`$prev' option requires an argument"
+
+ if test -n "$install_override_mode" && $no_mode; then
+ if $install_cp; then :; else
+ func_quote_for_eval "$install_override_mode"
+ func_append install_shared_prog " -m $func_quote_for_eval_result"
+ fi
+ fi
+
+ if test -z "$files"; then
+ if test -z "$dest"; then
+ func_fatal_help "no file or destination specified"
+ else
+ func_fatal_help "you must specify a destination"
+ fi
+ fi
+
+ # Strip any trailing slash from the destination.
+ func_stripname '' '/' "$dest"
+ dest=$func_stripname_result
+
+ # Check to see that the destination is a directory.
+ test -d "$dest" && isdir=yes
+ if test "$isdir" = yes; then
+ destdir="$dest"
+ destname=
+ else
+ func_dirname_and_basename "$dest" "" "."
+ destdir="$func_dirname_result"
+ destname="$func_basename_result"
+
+ # Not a directory, so check to see that there is only one file specified.
+ set dummy $files; shift
+ test "$#" -gt 1 && \
+ func_fatal_help "\`$dest' is not a directory"
+ fi
+ case $destdir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ for file in $files; do
+ case $file in
+ *.lo) ;;
+ *)
+ func_fatal_help "\`$destdir' must be an absolute directory name"
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ staticlibs=
+ future_libdirs=
+ current_libdirs=
+ for file in $files; do
+
+ # Do each installation.
+ case $file in
+ *.$libext)
+ # Do the static libraries later.
+ func_append staticlibs " $file"
+ ;;
+
+ *.la)
+ func_resolve_sysroot "$file"
+ file=$func_resolve_sysroot_result
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$file' is not a valid libtool archive"
+
+ library_names=
+ old_library=
+ relink_command=
+ func_source "$file"
+
+ # Add the libdir to current_libdirs if it is the destination.
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+ *) func_append current_libdirs " $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+ *) func_append future_libdirs " $libdir" ;;
+ esac
+ fi
+
+ func_dirname "$file" "/" ""
+ dir="$func_dirname_result"
+ func_append dir "$objdir"
+
+ if test -n "$relink_command"; then
+ # Determine the prefix the user has applied to our future dir.
+ inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
+
+ # Don't allow the user to place us outside of our expected
+ # location b/c this prevents finding dependent libraries that
+ # are installed to the same prefix.
+ # At present, this check doesn't affect windows .dll's that
+ # are installed into $libdir/../bin (currently, that works fine)
+ # but it's something to keep an eye on.
+ test "$inst_prefix_dir" = "$destdir" && \
+ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+
+ if test -n "$inst_prefix_dir"; then
+ # Stick the inst_prefix_dir data into the link command.
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+ else
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+ fi
+
+ func_warning "relinking \`$file'"
+ func_show_eval "$relink_command" \
+ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+ fi
+
+ # See the names of the shared library.
+ set dummy $library_names; shift
+ if test -n "$1"; then
+ realname="$1"
+ shift
+
+ srcname="$realname"
+ test -n "$relink_command" && srcname="$realname"T
+
+ # Install the shared library and build the symlinks.
+ func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
+ 'exit $?'
+ tstripme="$stripme"
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $realname in
+ *.dll.a)
+ tstripme=""
+ ;;
+ esac
+ ;;
+ esac
+ if test -n "$tstripme" && test -n "$striplib"; then
+ func_show_eval "$striplib $destdir/$realname" 'exit $?'
+ fi
+
+ if test "$#" -gt 0; then
+ # Delete the old symlinks, and create new ones.
+ # Try `ln -sf' first, because the `ln' binary might depend on
+ # the symlink we replace! Solaris /bin/ln does not understand -f,
+ # so we also need to try rm && ln -s.
+ for linkname
+ do
+ test "$linkname" != "$realname" \
+ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+ done
+ fi
+
+ # Do each command in the postinstall commands.
+ lib="$destdir/$realname"
+ func_execute_cmds "$postinstall_cmds" 'exit $?'
+ fi
+
+ # Install the pseudo-library for information purposes.
+ func_basename "$file"
+ name="$func_basename_result"
+ instname="$dir/$name"i
+ func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+ # Maybe install the static library, too.
+ test -n "$old_library" && func_append staticlibs " $dir/$old_library"
+ ;;
+
+ *.lo)
+ # Install (i.e. copy) a libtool object.
+
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
+ fi
+
+ # Deduce the name of the destination old-style object file.
+ case $destfile in
+ *.lo)
+ func_lo2o "$destfile"
+ staticdest=$func_lo2o_result
+ ;;
+ *.$objext)
+ staticdest="$destfile"
+ destfile=
+ ;;
+ *)
+ func_fatal_help "cannot copy a libtool object to \`$destfile'"
+ ;;
+ esac
+
+ # Install the libtool object if requested.
+ test -n "$destfile" && \
+ func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+ # Install the old object if enabled.
+ if test "$build_old_libs" = yes; then
+ # Deduce the name of the old-style object file.
+ func_lo2o "$file"
+ staticobj=$func_lo2o_result
+ func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+ fi
+ exit $EXIT_SUCCESS
+ ;;
+
+ *)
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
+ fi
+
+ # If the file is missing, and there is a .exe on the end, strip it
+ # because it is most likely a libtool script we actually want to
+ # install
+ stripped_ext=""
+ case $file in
+ *.exe)
+ if test ! -f "$file"; then
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ stripped_ext=".exe"
+ fi
+ ;;
+ esac
+
+ # Do a test to see if this is really a libtool program.
+ case $host in
+ *cygwin* | *mingw*)
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ wrapper=$func_ltwrapper_scriptname_result
+ else
+ func_stripname '' '.exe' "$file"
+ wrapper=$func_stripname_result
+ fi
+ ;;
+ *)
+ wrapper=$file
+ ;;
+ esac
+ if func_ltwrapper_script_p "$wrapper"; then
+ notinst_deplibs=
+ relink_command=
+
+ func_source "$wrapper"
+
+ # Check the variables that should have been set.
+ test -z "$generated_by_libtool_version" && \
+ func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+
+ finalize=yes
+ for lib in $notinst_deplibs; do
+ # Check to see that each library is installed.
+ libdir=
+ if test -f "$lib"; then
+ func_source "$lib"
+ fi
+ libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
+ if test -n "$libdir" && test ! -f "$libfile"; then
+ func_warning "\`$lib' has not been installed in \`$libdir'"
+ finalize=no
+ fi
+ done
+
+ relink_command=
+ func_source "$wrapper"
+
+ outputname=
+ if test "$fast_install" = no && test -n "$relink_command"; then
+ $opt_dry_run || {
+ if test "$finalize" = yes; then
+ tmpdir=`func_mktempdir`
+ func_basename "$file$stripped_ext"
+ file="$func_basename_result"
+ outputname="$tmpdir/$file"
+ # Replace the output file specification.
+ relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
+
+ $opt_silent || {
+ func_quote_for_expand "$relink_command"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ if eval "$relink_command"; then :
+ else
+ func_error "error: relink \`$file' with the above command before installing it"
+ $opt_dry_run || ${RM}r "$tmpdir"
+ continue
+ fi
+ file="$outputname"
+ else
+ func_warning "cannot relink \`$file'"
+ fi
+ }
+ else
+ # Install the binary that we compiled earlier.
+ file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
+ fi
+ fi
+
+ # remove .exe since cygwin /usr/bin/install will append another
+ # one anyway
+ case $install_prog,$host in
+ */usr/bin/install*,*cygwin*)
+ case $file:$destfile in
+ *.exe:*.exe)
+ # this is ok
+ ;;
+ *.exe:*)
+ destfile=$destfile.exe
+ ;;
+ *:*.exe)
+ func_stripname '' '.exe' "$destfile"
+ destfile=$func_stripname_result
+ ;;
+ esac
+ ;;
+ esac
+ func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+ $opt_dry_run || if test -n "$outputname"; then
+ ${RM}r "$tmpdir"
+ fi
+ ;;
+ esac
+ done
+
+ for file in $staticlibs; do
+ func_basename "$file"
+ name="$func_basename_result"
+
+ # Set up the ranlib parameters.
+ oldlib="$destdir/$name"
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
+
+ func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+ if test -n "$stripme" && test -n "$old_striplib"; then
+ func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
+ fi
+
+ # Do each command in the postinstall commands.
+ func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+ done
+
+ test -n "$future_libdirs" && \
+ func_warning "remember to run \`$progname --finish$future_libdirs'"
+
+ if test -n "$current_libdirs"; then
+ # Maybe just do a dry run.
+ $opt_dry_run && current_libdirs=" -n$current_libdirs"
+ exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+ else
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test "$opt_mode" = install && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+ $opt_debug
+ my_outputname="$1"
+ my_originator="$2"
+ my_pic_p="${3-no}"
+ my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+ my_dlsyms=
+
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ if test -n "$NM" && test -n "$global_symbol_pipe"; then
+ my_dlsyms="${my_outputname}S.c"
+ else
+ func_error "not configured to extract global symbols from dlpreopened files"
+ fi
+ fi
+
+ if test -n "$my_dlsyms"; then
+ case $my_dlsyms in
+ "") ;;
+ *.c)
+ # Discover the nlist of each of the dlfiles.
+ nlist="$output_objdir/${my_outputname}.nm"
+
+ func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+ # Parse the name list into a source file.
+ func_verbose "creating $output_objdir/$my_dlsyms"
+
+ $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+#endif
+
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+/* External symbol declarations for the compiler. */\
+"
+
+ if test "$dlself" = yes; then
+ func_verbose "generating symbol list for \`$output'"
+
+ $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+ # Add our own program objects to the symbol list.
+ progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ for progfile in $progfiles; do
+ func_to_tool_file "$progfile" func_convert_file_msys_to_w32
+ func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
+ $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -n "$exclude_expsyms"; then
+ $opt_dry_run || {
+ eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ if test -n "$export_symbols_regex"; then
+ $opt_dry_run || {
+ eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ export_symbols="$output_objdir/$outputname.exp"
+ $opt_dry_run || {
+ $RM $export_symbols
+ eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ else
+ $opt_dry_run || {
+ eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ fi
+ fi
+
+ for dlprefile in $dlprefiles; do
+ func_verbose "extracting global C symbols from \`$dlprefile'"
+ func_basename "$dlprefile"
+ name="$func_basename_result"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ # if an import library, we need to obtain dlname
+ if func_win32_import_lib_p "$dlprefile"; then
+ func_tr_sh "$dlprefile"
+ eval "curr_lafile=\$libfile_$func_tr_sh_result"
+ dlprefile_dlbasename=""
+ if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
+ # Use subshell, to avoid clobbering current variable values
+ dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
+ if test -n "$dlprefile_dlname" ; then
+ func_basename "$dlprefile_dlname"
+ dlprefile_dlbasename="$func_basename_result"
+ else
+ # no lafile. user explicitly requested -dlpreopen <import library>.
+ $sharedlib_from_linklib_cmd "$dlprefile"
+ dlprefile_dlbasename=$sharedlib_from_linklib_result
+ fi
+ fi
+ $opt_dry_run || {
+ if test -n "$dlprefile_dlbasename" ; then
+ eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
+ else
+ func_warning "Could not compute DLL name from $name"
+ eval '$ECHO ": $name " >> "$nlist"'
+ fi
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
+ $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
+ }
+ else # not an import lib
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ fi
+ ;;
+ *)
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ ;;
+ esac
+ done
+
+ $opt_dry_run || {
+ # Make sure we have at least an empty file.
+ test -f "$nlist" || : > "$nlist"
+
+ if test -n "$exclude_expsyms"; then
+ $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+ $MV "$nlist"T "$nlist"
+ fi
+
+ # Try sorting and uniquifying the output.
+ if $GREP -v "^: " < "$nlist" |
+ if sort -k 3 </dev/null >/dev/null 2>&1; then
+ sort -k 3
+ else
+ sort +2
+ fi |
+ uniq > "$nlist"S; then
+ :
+ else
+ $GREP -v "^: " < "$nlist" > "$nlist"S
+ fi
+
+ if test -f "$nlist"S; then
+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+ else
+ echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
+ fi
+
+ echo >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols. */
+typedef struct {
+ const char *name;
+ void *address;
+} lt_dlsymlist;
+extern LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];
+LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{\
+ { \"$my_originator\", (void *) 0 },"
+
+ case $need_lib_prefix in
+ no)
+ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ *)
+ eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ esac
+ echo >> "$output_objdir/$my_dlsyms" "\
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+ } # !$opt_dry_run
+
+ pic_flag_for_symtable=
+ case "$compile_command " in
+ *" -static "*) ;;
+ *)
+ case $host in
+ # compiling the symbol table file with pic_flag works around
+ # a FreeBSD bug that causes programs to crash when -lm is
+ # linked before any other PIC object. But we must not use
+ # pic_flag when linking with -static. The problem exists in
+ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+ *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+ *-*-hpux*)
+ pic_flag_for_symtable=" $pic_flag" ;;
+ *)
+ if test "X$my_pic_p" != Xno; then
+ pic_flag_for_symtable=" $pic_flag"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ symtab_cflags=
+ for arg in $LTCFLAGS; do
+ case $arg in
+ -pie | -fpie | -fPIE) ;;
+ *) func_append symtab_cflags " $arg" ;;
+ esac
+ done
+
+ # Now compile the dynamic symbol file.
+ func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+ # Clean up the generated files.
+ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+
+ # Transform the symbol file into the correct name.
+ symfileobj="$output_objdir/${my_outputname}S.$objext"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ if test -f "$output_objdir/$my_outputname.def"; then
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ else
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ fi
+ ;;
+ *)
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ ;;
+ esac
+ ;;
+ *)
+ func_fatal_error "unknown suffix for \`$my_dlsyms'"
+ ;;
+ esac
+ else
+ # We keep going just in case the user didn't refer to
+ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
+ # really was required.
+
+ # Nullify the symbol file.
+ compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
+ fi
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+# Despite the name, also deal with 64 bit binaries.
+func_win32_libid ()
+{
+ $opt_debug
+ win32_libid_type="unknown"
+ win32_fileres=`file -L $1 2>/dev/null`
+ case $win32_fileres in
+ *ar\ archive\ import\ library*) # definitely import
+ win32_libid_type="x86 archive import"
+ ;;
+ *ar\ archive*) # could be an import, or static
+ # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
+ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+ $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+ $SED -n -e '
+ 1,100{
+ / I /{
+ s,.*,import,
+ p
+ q
+ }
+ }'`
+ case $win32_nmres in
+ import*) win32_libid_type="x86 archive import";;
+ *) win32_libid_type="x86 archive static";;
+ esac
+ fi
+ ;;
+ *DLL*)
+ win32_libid_type="x86 DLL"
+ ;;
+ *executable*) # but shell scripts are "executable" too...
+ case $win32_fileres in
+ *MS\ Windows\ PE\ Intel*)
+ win32_libid_type="x86 DLL"
+ ;;
+ esac
+ ;;
+ esac
+ $ECHO "$win32_libid_type"
+}
+
+# func_cygming_dll_for_implib ARG
+#
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+# Invoked by eval'ing the libtool variable
+# $sharedlib_from_linklib_cmd
+# Result is available in the variable
+# $sharedlib_from_linklib_result
+func_cygming_dll_for_implib ()
+{
+ $opt_debug
+ sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
+}
+
+# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
+#
+# The is the core of a fallback implementation of a
+# platform-specific function to extract the name of the
+# DLL associated with the specified import library LIBNAME.
+#
+# SECTION_NAME is either .idata$6 or .idata$7, depending
+# on the platform and compiler that created the implib.
+#
+# Echos the name of the DLL associated with the
+# specified import library.
+func_cygming_dll_for_implib_fallback_core ()
+{
+ $opt_debug
+ match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
+ $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
+ $SED '/^Contents of section '"$match_literal"':/{
+ # Place marker at beginning of archive member dllname section
+ s/.*/====MARK====/
+ p
+ d
+ }
+ # These lines can sometimes be longer than 43 characters, but
+ # are always uninteresting
+ /:[ ]*file format pe[i]\{,1\}-/d
+ /^In archive [^:]*:/d
+ # Ensure marker is printed
+ /^====MARK====/p
+ # Remove all lines with less than 43 characters
+ /^.\{43\}/!d
+ # From remaining lines, remove first 43 characters
+ s/^.\{43\}//' |
+ $SED -n '
+ # Join marker and all lines until next marker into a single line
+ /^====MARK====/ b para
+ H
+ $ b para
+ b
+ :para
+ x
+ s/\n//g
+ # Remove the marker
+ s/^====MARK====//
+ # Remove trailing dots and whitespace
+ s/[\. \t]*$//
+ # Print
+ /./p' |
+ # we now have a list, one entry per line, of the stringified
+ # contents of the appropriate section of all members of the
+ # archive which possess that section. Heuristic: eliminate
+ # all those which have a first or second character that is
+ # a '.' (that is, objdump's representation of an unprintable
+ # character.) This should work for all archives with less than
+ # 0x302f exports -- but will fail for DLLs whose name actually
+ # begins with a literal '.' or a single character followed by
+ # a '.'.
+ #
+ # Of those that remain, print the first one.
+ $SED -e '/^\./d;/^.\./d;q'
+}
+
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+ $opt_debug
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+ test -n "$func_cygming_gnu_implib_tmp"
+}
+
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+ $opt_debug
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+ test -n "$func_cygming_ms_implib_tmp"
+}
+
+# func_cygming_dll_for_implib_fallback ARG
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+#
+# This fallback implementation is for use when $DLLTOOL
+# does not support the --identify-strict option.
+# Invoked by eval'ing the libtool variable
+# $sharedlib_from_linklib_cmd
+# Result is available in the variable
+# $sharedlib_from_linklib_result
+func_cygming_dll_for_implib_fallback ()
+{
+ $opt_debug
+ if func_cygming_gnu_implib_p "$1" ; then
+ # binutils import library
+ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
+ elif func_cygming_ms_implib_p "$1" ; then
+ # ms-generated import library
+ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
+ else
+ # unknown
+ sharedlib_from_linklib_result=""
+ fi
+}
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+ $opt_debug
+ f_ex_an_ar_dir="$1"; shift
+ f_ex_an_ar_oldlib="$1"
+ if test "$lock_old_archive_extraction" = yes; then
+ lockfile=$f_ex_an_ar_oldlib.lock
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ fi
+ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
+ 'stat=$?; rm -f "$lockfile"; exit $stat'
+ if test "$lock_old_archive_extraction" = yes; then
+ $opt_dry_run || rm -f "$lockfile"
+ fi
+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+ fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+ $opt_debug
+ my_gentop="$1"; shift
+ my_oldlibs=${1+"$@"}
+ my_oldobjs=""
+ my_xlib=""
+ my_xabs=""
+ my_xdir=""
+
+ for my_xlib in $my_oldlibs; do
+ # Extract the objects.
+ case $my_xlib in
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+ *) my_xabs=`pwd`"/$my_xlib" ;;
+ esac
+ func_basename "$my_xlib"
+ my_xlib="$func_basename_result"
+ my_xlib_u=$my_xlib
+ while :; do
+ case " $extracted_archives " in
+ *" $my_xlib_u "*)
+ func_arith $extracted_serial + 1
+ extracted_serial=$func_arith_result
+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ *) break ;;
+ esac
+ done
+ extracted_archives="$extracted_archives $my_xlib_u"
+ my_xdir="$my_gentop/$my_xlib_u"
+
+ func_mkdir_p "$my_xdir"
+
+ case $host in
+ *-darwin*)
+ func_verbose "Extracting $my_xabs"
+ # Do not bother doing anything if just a dry run
+ $opt_dry_run || {
+ darwin_orig_dir=`pwd`
+ cd $my_xdir || exit $?
+ darwin_archive=$my_xabs
+ darwin_curdir=`pwd`
+ darwin_base_archive=`basename "$darwin_archive"`
+ darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+ if test -n "$darwin_arches"; then
+ darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+ darwin_arch=
+ func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+ for darwin_arch in $darwin_arches ; do
+ func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+ cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+ cd "$darwin_curdir"
+ $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+ done # $darwin_arches
+ ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+ darwin_file=
+ darwin_files=
+ for darwin_file in $darwin_filelist; do
+ darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
+ $LIPO -create -output "$darwin_file" $darwin_files
+ done # $darwin_filelist
+ $RM -rf unfat-$$
+ cd "$darwin_orig_dir"
+ else
+ cd $darwin_orig_dir
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ fi # $darwin_arches
+ } # !$opt_dry_run
+ ;;
+ *)
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
+ done
+
+ func_extract_archives_result="$my_oldobjs"
+}
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable. Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take. If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory. This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+ func_emit_wrapper_arg1=${1-no}
+
+ $ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+ # install mode needs the following variables:
+ generated_by_libtool_version='$macro_version'
+ notinst_deplibs='$notinst_deplibs'
+else
+ # When we are sourced in execute mode, \$file and \$ECHO are already set.
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ file=\"\$0\""
+
+ qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+ $ECHO "\
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+ ECHO=\"$qECHO\"
+ fi
+
+# Very basic option parsing. These options are (a) specific to
+# the libtool wrapper, (b) are identical between the wrapper
+# /script/ and the wrapper /executable/ which is used only on
+# windows platforms, and (c) all begin with the string "--lt-"
+# (application programs are unlikely to have options which match
+# this pattern).
+#
+# There are only two supported options: --lt-debug and
+# --lt-dump-script. There is, deliberately, no --lt-help.
+#
+# The first argument to this parsing function should be the
+# script's $0 value, followed by "$@".
+lt_option_debug=
+func_parse_lt_options ()
+{
+ lt_script_arg0=\$0
+ shift
+ for lt_opt
+ do
+ case \"\$lt_opt\" in
+ --lt-debug) lt_option_debug=1 ;;
+ --lt-dump-script)
+ lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
+ test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
+ lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
+ cat \"\$lt_dump_D/\$lt_dump_F\"
+ exit 0
+ ;;
+ --lt-*)
+ \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
+ exit 1
+ ;;
+ esac
+ done
+
+ # Print the debug banner immediately:
+ if test -n \"\$lt_option_debug\"; then
+ echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
+ fi
+}
+
+# Used when --lt-debug. Prints its arguments to stdout
+# (redirection is the responsibility of the caller)
+func_lt_dump_args ()
+{
+ lt_dump_args_N=1;
+ for lt_arg
+ do
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
+ lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
+ done
+}
+
+# Core function for launching the target application
+func_exec_program_core ()
+{
+"
+ case $host in
+ # Backslashes separate directories on plain windows
+ *-*-mingw | *-*-os2* | *-cegcc*)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+ ;;
+
+ *)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+ ;;
+ esac
+ $ECHO "\
+ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+ exit 1
+}
+
+# A function to encapsulate launching the target application
+# Strips options in the --lt-* namespace from \$@ and
+# launches target application with the remaining arguments.
+func_exec_program ()
+{
+ case \" \$* \" in
+ *\\ --lt-*)
+ for lt_wr_arg
+ do
+ case \$lt_wr_arg in
+ --lt-*) ;;
+ *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+ esac
+ shift
+ done ;;
+ esac
+ func_exec_program_core \${1+\"\$@\"}
+}
+
+ # Parse options
+ func_parse_lt_options \"\$0\" \${1+\"\$@\"}
+
+ # Find the directory that this script lives in.
+ thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
+ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+ # Follow symbolic links until we get to the real thisdir.
+ file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
+ while test -n \"\$file\"; do
+ destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
+
+ # If there was a directory component, then change thisdir.
+ if test \"x\$destdir\" != \"x\$file\"; then
+ case \"\$destdir\" in
+ [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+ *) thisdir=\"\$thisdir/\$destdir\" ;;
+ esac
+ fi
+
+ file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
+ file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
+ done
+
+ # Usually 'no', except on cygwin/mingw when embedded into
+ # the cwrapper.
+ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
+ if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+ # special case for '.'
+ if test \"\$thisdir\" = \".\"; then
+ thisdir=\`pwd\`
+ fi
+ # remove .libs from thisdir
+ case \"\$thisdir\" in
+ *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
+ $objdir ) thisdir=. ;;
+ esac
+ fi
+
+ # Try to get the absolute directory name.
+ absdir=\`cd \"\$thisdir\" && pwd\`
+ test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+ if test "$fast_install" = yes; then
+ $ECHO "\
+ program=lt-'$outputname'$exeext
+ progdir=\"\$thisdir/$objdir\"
+
+ if test ! -f \"\$progdir/\$program\" ||
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+ file=\"\$\$-\$program\"
+
+ if test ! -d \"\$progdir\"; then
+ $MKDIR \"\$progdir\"
+ else
+ $RM \"\$progdir/\$file\"
+ fi"
+
+ $ECHO "\
+
+ # relink executable if necessary
+ if test -n \"\$relink_command\"; then
+ if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+ else
+ $ECHO \"\$relink_command_output\" >&2
+ $RM \"\$progdir/\$file\"
+ exit 1
+ fi
+ fi
+
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+ { $RM \"\$progdir/\$program\";
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+ $RM \"\$progdir/\$file\"
+ fi"
+ else
+ $ECHO "\
+ program='$outputname'
+ progdir=\"\$thisdir/$objdir\"
+"
+ fi
+
+ $ECHO "\
+
+ if test -f \"\$progdir/\$program\"; then"
+
+ # fixup the dll searchpath if we need to.
+ #
+ # Fix the DLL searchpath if we need to. Do this before prepending
+ # to shlibpath, because on Windows, both are PATH and uninstalled
+ # libraries must come first.
+ if test -n "$dllsearchpath"; then
+ $ECHO "\
+ # Add the dll search path components to the executable PATH
+ PATH=$dllsearchpath:\$PATH
+"
+ fi
+
+ # Export our shlibpath_var if we have one.
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $ECHO "\
+ # Add our own library path to $shlibpath_var
+ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+ # Some systems cannot cope with colon-terminated $shlibpath_var
+ # The second colon is a workaround for a bug in BeOS R4 sed
+ $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
+
+ export $shlibpath_var
+"
+ fi
+
+ $ECHO "\
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ # Run the actual program with our arguments.
+ func_exec_program \${1+\"\$@\"}
+ fi
+ else
+ # The program doesn't exist.
+ \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+ \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+ \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+ exit 1
+ fi
+fi\
+"
+}
+
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+ cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+ Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+
+ The $output program cannot be directly executed until all the libtool
+ libraries that it depends on are installed.
+
+ This wrapper executable should never be moved out of the build directory.
+ If it is, it will not operate correctly.
+*/
+EOF
+ cat <<"EOF"
+#ifdef _MSC_VER
+# define _CRT_SECURE_NO_DEPRECATE 1
+#endif
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+# include <io.h>
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+/* declarations of non-ANSI functions */
+#if defined(__MINGW32__)
+# ifdef __STRICT_ANSI__
+int _putenv (const char *);
+# endif
+#elif defined(__CYGWIN__)
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+/* #elif defined (other platforms) ... */
+#endif
+
+/* portability defines, excluding path handling macros */
+#if defined(_MSC_VER)
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+# define S_IXUSR _S_IEXEC
+# ifndef _INTPTR_T_DEFINED
+# define _INTPTR_T_DEFINED
+# define intptr_t int
+# endif
+#elif defined(__MINGW32__)
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+#elif defined(__CYGWIN__)
+# define HAVE_SETENV
+# define FOPEN_WB "wb"
+/* #elif defined (other platforms) ... */
+#endif
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+/* path handling portability macros */
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+ defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+# define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+# define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+ if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+#if defined(LT_DEBUGWRAPPER)
+static int lt_debug = 1;
+#else
+static int lt_debug = 0;
+#endif
+
+const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_debugprintf (const char *file, int line, const char *fmt, ...);
+void lt_fatal (const char *file, int line, const char *message, ...);
+static const char *nonnull (const char *s);
+static const char *nonempty (const char *s);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+char **prepare_spawn (char **argv);
+void lt_dump_script (FILE *f);
+EOF
+
+ cat <<EOF
+volatile const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ func_to_host_path "$temp_rpath"
+ cat <<EOF
+const char * LIB_PATH_VALUE = "$func_to_host_path_result";
+EOF
+ else
+ cat <<"EOF"
+const char * LIB_PATH_VALUE = "";
+EOF
+ fi
+
+ if test -n "$dllsearchpath"; then
+ func_to_host_path "$dllsearchpath:"
+ cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE = "$func_to_host_path_result";
+EOF
+ else
+ cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE = "";
+EOF
+ fi
+
+ if test "$fast_install" = yes; then
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+ else
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+ fi
+
+
+ cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX "--lt-"
+
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
+static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug";
+
+int
+main (int argc, char *argv[])
+{
+ char **newargz;
+ int newargc;
+ char *tmp_pathspec;
+ char *actual_cwrapper_path;
+ char *actual_cwrapper_name;
+ char *target_name;
+ char *lt_argv_zero;
+ intptr_t rval = 127;
+
+ int i;
+
+ program_name = (char *) xstrdup (base_name (argv[0]));
+ newargz = XMALLOC (char *, argc + 1);
+
+ /* very simple arg parsing; don't want to rely on getopt
+ * also, copy all non cwrapper options to newargz, except
+ * argz[0], which is handled differently
+ */
+ newargc=0;
+ for (i = 1; i < argc; i++)
+ {
+ if (strcmp (argv[i], dumpscript_opt) == 0)
+ {
+EOF
+ case "$host" in
+ *mingw* | *cygwin* )
+ # make stdout use "unix" line endings
+ echo " setmode(1,_O_BINARY);"
+ ;;
+ esac
+
+ cat <<"EOF"
+ lt_dump_script (stdout);
+ return 0;
+ }
+ if (strcmp (argv[i], debug_opt) == 0)
+ {
+ lt_debug = 1;
+ continue;
+ }
+ if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
+ {
+ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+ namespace, but it is not one of the ones we know about and
+ have already dealt with, above (inluding dump-script), then
+ report an error. Otherwise, targets might begin to believe
+ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+ namespace. The first time any user complains about this, we'll
+ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+ or a configure.ac-settable value.
+ */
+ lt_fatal (__FILE__, __LINE__,
+ "unrecognized %s option: '%s'",
+ ltwrapper_option_prefix, argv[i]);
+ }
+ /* otherwise ... */
+ newargz[++newargc] = xstrdup (argv[i]);
+ }
+ newargz[++newargc] = NULL;
+
+EOF
+ cat <<EOF
+ /* The GNU banner must be the first non-error debug message */
+ lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
+EOF
+ cat <<"EOF"
+ lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
+
+ tmp_pathspec = find_executable (argv[0]);
+ if (tmp_pathspec == NULL)
+ lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (before symlink chase) at: %s\n",
+ tmp_pathspec);
+
+ actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (after symlink chase) at: %s\n",
+ actual_cwrapper_path);
+ XFREE (tmp_pathspec);
+
+ actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
+ strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+ /* wrapper name transforms */
+ strendzap (actual_cwrapper_name, ".exe");
+ tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+ XFREE (actual_cwrapper_name);
+ actual_cwrapper_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ /* target_name transforms -- use actual target program name; might have lt- prefix */
+ target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+ strendzap (target_name, ".exe");
+ tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+ XFREE (target_name);
+ target_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) libtool target name: %s\n",
+ target_name);
+EOF
+
+ cat <<EOF
+ newargz[0] =
+ XMALLOC (char, (strlen (actual_cwrapper_path) +
+ strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+ strcpy (newargz[0], actual_cwrapper_path);
+ strcat (newargz[0], "$objdir");
+ strcat (newargz[0], "/");
+EOF
+
+ cat <<"EOF"
+ /* stop here, and copy so we don't have to do this twice */
+ tmp_pathspec = xstrdup (newargz[0]);
+
+ /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+ strcat (newargz[0], actual_cwrapper_name);
+
+ /* DO want the lt- prefix here if it exists, so use target_name */
+ lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+ XFREE (tmp_pathspec);
+ tmp_pathspec = NULL;
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ {
+ char* p;
+ while ((p = strchr (newargz[0], '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ }
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+ XFREE (target_name);
+ XFREE (actual_cwrapper_path);
+ XFREE (actual_cwrapper_name);
+
+ lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+ lt_setenv ("DUALCASE", "1"); /* for MSK sh */
+ /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must
+ be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
+ because on Windows, both *_VARNAMEs are PATH but uninstalled
+ libraries must come first. */
+ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+ lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+
+ lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
+ nonnull (lt_argv_zero));
+ for (i = 0; i < newargc; i++)
+ {
+ lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
+ i, nonnull (newargz[i]));
+ }
+
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ /* execv doesn't actually work on mingw as expected on unix */
+ newargz = prepare_spawn (newargz);
+ rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+ if (rval == -1)
+ {
+ /* failed to start process */
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) failed to launch target \"%s\": %s\n",
+ lt_argv_zero, nonnull (strerror (errno)));
+ return 127;
+ }
+ return rval;
+EOF
+ ;;
+ *)
+ cat <<"EOF"
+ execv (lt_argv_zero, newargz);
+ return rval; /* =127, but avoids unused variable warning */
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+ void *p = (void *) malloc (num);
+ if (!p)
+ lt_fatal (__FILE__, __LINE__, "memory exhausted");
+
+ return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+ return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+ string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+ const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ /* Skip over the disk name in MSDOS pathnames. */
+ if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+ name += 2;
+#endif
+
+ for (base = name; *name; name++)
+ if (IS_DIR_SEPARATOR (*name))
+ base = name + 1;
+ return base;
+}
+
+int
+check_executable (const char *path)
+{
+ struct stat st;
+
+ lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
+ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
+
+ if ((stat (path, &st) >= 0)
+ && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+ return 1;
+ else
+ return 0;
+}
+
+int
+make_executable (const char *path)
+{
+ int rval = 0;
+ struct stat st;
+
+ lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
+ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
+
+ if (stat (path, &st) >= 0)
+ {
+ rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+ }
+ return rval;
+}
+
+/* Searches for the full path of the wrapper. Returns
+ newly allocated full path name if found, NULL otherwise
+ Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+ int has_slash = 0;
+ const char *p;
+ const char *p_next;
+ /* static buffer for getcwd */
+ char tmp[LT_PATHMAX + 1];
+ int tmp_len;
+ char *concat_name;
+
+ lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
+ nonempty (wrapper));
+
+ if ((wrapper == NULL) || (*wrapper == '\0'))
+ return NULL;
+
+ /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ else
+ {
+#endif
+ if (IS_DIR_SEPARATOR (wrapper[0]))
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ }
+#endif
+
+ for (p = wrapper; *p; p++)
+ if (*p == '/')
+ {
+ has_slash = 1;
+ break;
+ }
+ if (!has_slash)
+ {
+ /* no slashes; search PATH */
+ const char *path = getenv ("PATH");
+ if (path != NULL)
+ {
+ for (p = path; *p; p = p_next)
+ {
+ const char *q;
+ size_t p_len;
+ for (q = p; *q; q++)
+ if (IS_PATH_SEPARATOR (*q))
+ break;
+ p_len = q - p;
+ p_next = (*q == '\0' ? q : q + 1);
+ if (p_len == 0)
+ {
+ /* empty path: current directory */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name =
+ XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+ }
+ else
+ {
+ concat_name =
+ XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, p, p_len);
+ concat_name[p_len] = '/';
+ strcpy (concat_name + p_len + 1, wrapper);
+ }
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ }
+ /* not found in PATH; assume curdir */
+ }
+ /* Relative path | not found in path: prepend cwd */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+ return xstrdup (pathspec);
+#else
+ char buf[LT_PATHMAX];
+ struct stat s;
+ char *tmp_pathspec = xstrdup (pathspec);
+ char *p;
+ int has_symlinks = 0;
+ while (strlen (tmp_pathspec) && !has_symlinks)
+ {
+ lt_debugprintf (__FILE__, __LINE__,
+ "checking path component for symlinks: %s\n",
+ tmp_pathspec);
+ if (lstat (tmp_pathspec, &s) == 0)
+ {
+ if (S_ISLNK (s.st_mode) != 0)
+ {
+ has_symlinks = 1;
+ break;
+ }
+
+ /* search backwards for last DIR_SEPARATOR */
+ p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+ while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ p--;
+ if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ {
+ /* no more DIR_SEPARATORS left */
+ break;
+ }
+ *p = '\0';
+ }
+ else
+ {
+ lt_fatal (__FILE__, __LINE__,
+ "error accessing file \"%s\": %s",
+ tmp_pathspec, nonnull (strerror (errno)));
+ }
+ }
+ XFREE (tmp_pathspec);
+
+ if (!has_symlinks)
+ {
+ return xstrdup (pathspec);
+ }
+
+ tmp_pathspec = realpath (pathspec, buf);
+ if (tmp_pathspec == 0)
+ {
+ lt_fatal (__FILE__, __LINE__,
+ "could not follow symlinks for %s", pathspec);
+ }
+ return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+ size_t len, patlen;
+
+ assert (str != NULL);
+ assert (pat != NULL);
+
+ len = strlen (str);
+ patlen = strlen (pat);
+
+ if (patlen <= len)
+ {
+ str += len - patlen;
+ if (strcmp (str, pat) == 0)
+ *str = '\0';
+ }
+ return str;
+}
+
+void
+lt_debugprintf (const char *file, int line, const char *fmt, ...)
+{
+ va_list args;
+ if (lt_debug)
+ {
+ (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
+ va_start (args, fmt);
+ (void) vfprintf (stderr, fmt, args);
+ va_end (args);
+ }
+}
+
+static void
+lt_error_core (int exit_status, const char *file,
+ int line, const char *mode,
+ const char *message, va_list ap)
+{
+ fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
+ vfprintf (stderr, message, ap);
+ fprintf (stderr, ".\n");
+
+ if (exit_status >= 0)
+ exit (exit_status);
+}
+
+void
+lt_fatal (const char *file, int line, const char *message, ...)
+{
+ va_list ap;
+ va_start (ap, message);
+ lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
+ va_end (ap);
+}
+
+static const char *
+nonnull (const char *s)
+{
+ return s ? s : "(null)";
+}
+
+static const char *
+nonempty (const char *s)
+{
+ return (s && !*s) ? "(empty)" : nonnull (s);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_setenv) setting '%s' to '%s'\n",
+ nonnull (name), nonnull (value));
+ {
+#ifdef HAVE_SETENV
+ /* always make a copy, for consistency with !HAVE_SETENV */
+ char *str = xstrdup (value);
+ setenv (name, str, 1);
+#else
+ int len = strlen (name) + 1 + strlen (value) + 1;
+ char *str = XMALLOC (char, len);
+ sprintf (str, "%s=%s", name, value);
+ if (putenv (str) != EXIT_SUCCESS)
+ {
+ XFREE (str);
+ }
+#endif
+ }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+ char *new_value;
+ if (orig_value && *orig_value)
+ {
+ int orig_value_len = strlen (orig_value);
+ int add_len = strlen (add);
+ new_value = XMALLOC (char, add_len + orig_value_len + 1);
+ if (to_end)
+ {
+ strcpy (new_value, orig_value);
+ strcpy (new_value + orig_value_len, add);
+ }
+ else
+ {
+ strcpy (new_value, add);
+ strcpy (new_value + add_len, orig_value);
+ }
+ }
+ else
+ {
+ new_value = xstrdup (add);
+ }
+ return new_value;
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ /* some systems can't cope with a ':'-terminated path #' */
+ int len = strlen (new_value);
+ while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+ {
+ new_value[len-1] = '\0';
+ }
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+EOF
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+
+/* Prepares an argument vector before calling spawn().
+ Note that spawn() does not by itself call the command interpreter
+ (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
+ ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ GetVersionEx(&v);
+ v.dwPlatformId == VER_PLATFORM_WIN32_NT;
+ }) ? "cmd.exe" : "command.com").
+ Instead it simply concatenates the arguments, separated by ' ', and calls
+ CreateProcess(). We must quote the arguments since Win32 CreateProcess()
+ interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
+ special way:
+ - Space and tab are interpreted as delimiters. They are not treated as
+ delimiters if they are surrounded by double quotes: "...".
+ - Unescaped double quotes are removed from the input. Their only effect is
+ that within double quotes, space and tab are treated like normal
+ characters.
+ - Backslashes not followed by double quotes are not special.
+ - But 2*n+1 backslashes followed by a double quote become
+ n backslashes followed by a double quote (n >= 0):
+ \" -> "
+ \\\" -> \"
+ \\\\\" -> \\"
+ */
+#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+char **
+prepare_spawn (char **argv)
+{
+ size_t argc;
+ char **new_argv;
+ size_t i;
+
+ /* Count number of arguments. */
+ for (argc = 0; argv[argc] != NULL; argc++)
+ ;
+
+ /* Allocate new argument vector. */
+ new_argv = XMALLOC (char *, argc + 1);
+
+ /* Put quoted arguments into the new argument vector. */
+ for (i = 0; i < argc; i++)
+ {
+ const char *string = argv[i];
+
+ if (string[0] == '\0')
+ new_argv[i] = xstrdup ("\"\"");
+ else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
+ {
+ int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
+ size_t length;
+ unsigned int backslashes;
+ const char *s;
+ char *quoted_string;
+ char *p;
+
+ length = 0;
+ backslashes = 0;
+ if (quote_around)
+ length++;
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ length += backslashes + 1;
+ length++;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ length += backslashes + 1;
+
+ quoted_string = XMALLOC (char, length + 1);
+
+ p = quoted_string;
+ backslashes = 0;
+ if (quote_around)
+ *p++ = '"';
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ {
+ unsigned int j;
+ for (j = backslashes + 1; j > 0; j--)
+ *p++ = '\\';
+ }
+ *p++ = c;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ {
+ unsigned int j;
+ for (j = backslashes; j > 0; j--)
+ *p++ = '\\';
+ *p++ = '"';
+ }
+ *p = '\0';
+
+ new_argv[i] = quoted_string;
+ }
+ else
+ new_argv[i] = (char *) string;
+ }
+ new_argv[argc] = NULL;
+
+ return new_argv;
+}
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+void lt_dump_script (FILE* f)
+{
+EOF
+ func_emit_wrapper yes |
+ $SED -n -e '
+s/^\(.\{79\}\)\(..*\)/\1\
+\2/
+h
+s/\([\\"]\)/\\\1/g
+s/$/\\n/
+s/\([^\n]*\).*/ fputs ("\1", f);/p
+g
+D'
+ cat <<"EOF"
+}
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_win32_import_lib_p ARG
+# True if ARG is an import lib, as indicated by $file_magic_cmd
+func_win32_import_lib_p ()
+{
+ $opt_debug
+ case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
+ *import*) : ;;
+ *) false ;;
+ esac
+}
+
+# func_mode_link arg...
+func_mode_link ()
+{
+ $opt_debug
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ # It is impossible to link a dll without this setting, and
+ # we shouldn't force the makefile maintainer to figure out
+ # which system we are compiling for in order to pass an extra
+ # flag for every libtool invocation.
+ # allow_undefined=no
+
+ # FIXME: Unfortunately, there are problems with the above when trying
+ # to make a dll which has undefined symbols, in which case not
+ # even a static library is built. For now, we need to specify
+ # -no-undefined on the libtool link line when we can be certain
+ # that all symbols are satisfied, otherwise we get a static library.
+ allow_undefined=yes
+ ;;
+ *)
+ allow_undefined=yes
+ ;;
+ esac
+ libtool_args=$nonopt
+ base_compile="$nonopt $@"
+ compile_command=$nonopt
+ finalize_command=$nonopt
+
+ compile_rpath=
+ finalize_rpath=
+ compile_shlibpath=
+ finalize_shlibpath=
+ convenience=
+ old_convenience=
+ deplibs=
+ old_deplibs=
+ compiler_flags=
+ linker_flags=
+ dllsearchpath=
+ lib_search_path=`pwd`
+ inst_prefix_dir=
+ new_inherited_linker_flags=
+
+ avoid_version=no
+ bindir=
+ dlfiles=
+ dlprefiles=
+ dlself=no
+ export_dynamic=no
+ export_symbols=
+ export_symbols_regex=
+ generated=
+ libobjs=
+ ltlibs=
+ module=no
+ no_install=no
+ objs=
+ non_pic_objects=
+ precious_files_regex=
+ prefer_static_libs=no
+ preload=no
+ prev=
+ prevarg=
+ release=
+ rpath=
+ xrpath=
+ perm_rpath=
+ temp_rpath=
+ thread_safe=no
+ vinfo=
+ vinfo_number=no
+ weak_libs=
+ single_module="${wl}-single_module"
+ func_infer_tag $base_compile
+
+ # We need to know -static, to get the right output filenames.
+ for arg
+ do
+ case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
+ break
+ ;;
+ -all-static | -static | -static-libtool-libs)
+ case $arg in
+ -all-static)
+ if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+ func_warning "complete static linking is impossible in this configuration"
+ fi
+ if test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ -static)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=built
+ ;;
+ -static-libtool-libs)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ esac
+ build_libtool_libs=no
+ build_old_libs=yes
+ break
+ ;;
+ esac
+ done
+
+ # See if our shared archives depend on static archives.
+ test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+ # Go through the arguments, transforming them on the way.
+ while test "$#" -gt 0; do
+ arg="$1"
+ shift
+ func_quote_for_eval "$arg"
+ qarg=$func_quote_for_eval_unquoted_result
+ func_append libtool_args " $func_quote_for_eval_result"
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$prev"; then
+ case $prev in
+ output)
+ func_append compile_command " @OUTPUT@"
+ func_append finalize_command " @OUTPUT@"
+ ;;
+ esac
+
+ case $prev in
+ bindir)
+ bindir="$arg"
+ prev=
+ continue
+ ;;
+ dlfiles|dlprefiles)
+ if test "$preload" = no; then
+ # Add the symbol object into the linking commands.
+ func_append compile_command " @SYMFILE@"
+ func_append finalize_command " @SYMFILE@"
+ preload=yes
+ fi
+ case $arg in
+ *.la | *.lo) ;; # We handle these cases below.
+ force)
+ if test "$dlself" = no; then
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ self)
+ if test "$prev" = dlprefiles; then
+ dlself=yes
+ elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+ dlself=yes
+ else
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ *)
+ if test "$prev" = dlfiles; then
+ func_append dlfiles " $arg"
+ else
+ func_append dlprefiles " $arg"
+ fi
+ prev=
+ continue
+ ;;
+ esac
+ ;;
+ expsyms)
+ export_symbols="$arg"
+ test -f "$arg" \
+ || func_fatal_error "symbol file \`$arg' does not exist"
+ prev=
+ continue
+ ;;
+ expsyms_regex)
+ export_symbols_regex="$arg"
+ prev=
+ continue
+ ;;
+ framework)
+ case $host in
+ *-*-darwin*)
+ case "$deplibs " in
+ *" $qarg.ltframework "*) ;;
+ *) func_append deplibs " $qarg.ltframework" # this is fixed later
+ ;;
+ esac
+ ;;
+ esac
+ prev=
+ continue
+ ;;
+ inst_prefix)
+ inst_prefix_dir="$arg"
+ prev=
+ continue
+ ;;
+ objectlist)
+ if test -f "$arg"; then
+ save_arg=$arg
+ moreargs=
+ for fil in `cat "$save_arg"`
+ do
+# func_append moreargs " $fil"
+ arg=$fil
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ func_source "$arg"
+
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test "$pic_object" = none &&
+ test "$non_pic_object" = none; then
+ func_fatal_error "cannot find name of object for \`$arg'"
+ fi
+
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ if test "$pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ pic_object="$xdir$pic_object"
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ func_append dlfiles " $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ func_append dlprefiles " $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg="$pic_object"
+ fi
+
+ # Non-PIC object.
+ if test "$non_pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object="$xdir$non_pic_object"
+
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test "$pic_object" = none ; then
+ arg="$non_pic_object"
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
+ fi
+ fi
+ done
+ else
+ func_fatal_error "link input file \`$arg' does not exist"
+ fi
+ arg=$save_arg
+ prev=
+ continue
+ ;;
+ precious_regex)
+ precious_files_regex="$arg"
+ prev=
+ continue
+ ;;
+ release)
+ release="-$arg"
+ prev=
+ continue
+ ;;
+ rpath | xrpath)
+ # We need an absolute path.
+ case $arg in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ if test "$prev" = rpath; then
+ case "$rpath " in
+ *" $arg "*) ;;
+ *) func_append rpath " $arg" ;;
+ esac
+ else
+ case "$xrpath " in
+ *" $arg "*) ;;
+ *) func_append xrpath " $arg" ;;
+ esac
+ fi
+ prev=
+ continue
+ ;;
+ shrext)
+ shrext_cmds="$arg"
+ prev=
+ continue
+ ;;
+ weak)
+ func_append weak_libs " $arg"
+ prev=
+ continue
+ ;;
+ xcclinker)
+ func_append linker_flags " $qarg"
+ func_append compiler_flags " $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xcompiler)
+ func_append compiler_flags " $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xlinker)
+ func_append linker_flags " $qarg"
+ func_append compiler_flags " $wl$qarg"
+ prev=
+ func_append compile_command " $wl$qarg"
+ func_append finalize_command " $wl$qarg"
+ continue
+ ;;
+ *)
+ eval "$prev=\"\$arg\""
+ prev=
+ continue
+ ;;
+ esac
+ fi # test -n "$prev"
+
+ prevarg="$arg"
+
+ case $arg in
+ -all-static)
+ if test -n "$link_static_flag"; then
+ # See comment for -static flag below, for more details.
+ func_append compile_command " $link_static_flag"
+ func_append finalize_command " $link_static_flag"
+ fi
+ continue
+ ;;
+
+ -allow-undefined)
+ # FIXME: remove this flag sometime in the future.
+ func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+ ;;
+
+ -avoid-version)
+ avoid_version=yes
+ continue
+ ;;
+
+ -bindir)
+ prev=bindir
+ continue
+ ;;
+
+ -dlopen)
+ prev=dlfiles
+ continue
+ ;;
+
+ -dlpreopen)
+ prev=dlprefiles
+ continue
+ ;;
+
+ -export-dynamic)
+ export_dynamic=yes
+ continue
+ ;;
+
+ -export-symbols | -export-symbols-regex)
+ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+ func_fatal_error "more than one -exported-symbols argument is not allowed"
+ fi
+ if test "X$arg" = "X-export-symbols"; then
+ prev=expsyms
+ else
+ prev=expsyms_regex
+ fi
+ continue
+ ;;
+
+ -framework)
+ prev=framework
+ continue
+ ;;
+
+ -inst-prefix-dir)
+ prev=inst_prefix
+ continue
+ ;;
+
+ # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+ # so, if we see these flags be careful not to treat them like -L
+ -L[A-Z][A-Z]*:*)
+ case $with_gcc/$host in
+ no/*-*-irix* | /*-*-irix*)
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ ;;
+ esac
+ continue
+ ;;
+
+ -L*)
+ func_stripname "-L" '' "$arg"
+ if test -z "$func_stripname_result"; then
+ if test "$#" -gt 0; then
+ func_fatal_error "require no space between \`-L' and \`$1'"
+ else
+ func_fatal_error "need path for \`-L' option"
+ fi
+ fi
+ func_resolve_sysroot "$func_stripname_result"
+ dir=$func_resolve_sysroot_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ test -z "$absdir" && \
+ func_fatal_error "cannot determine absolute directory name of \`$dir'"
+ dir="$absdir"
+ ;;
+ esac
+ case "$deplibs " in
+ *" -L$dir "* | *" $arg "*)
+ # Will only happen for absolute or sysroot arguments
+ ;;
+ *)
+ # Preserve sysroot, but never include relative directories
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
+ *) func_append deplibs " -L$dir" ;;
+ esac
+ func_append lib_search_path " $dir"
+ ;;
+ esac
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$dir:"*) ;;
+ ::) dllsearchpath=$dir;;
+ *) func_append dllsearchpath ":$dir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) func_append dllsearchpath ":$testbindir";;
+ esac
+ ;;
+ esac
+ continue
+ ;;
+
+ -l*)
+ if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
+ # These systems don't actually have a C or math library (as such)
+ continue
+ ;;
+ *-*-os2*)
+ # These systems don't actually have a C library (as such)
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C and math libraries are in the System framework
+ func_append deplibs " System.ltframework"
+ continue
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ test "X$arg" = "X-lc" && continue
+ ;;
+ esac
+ elif test "X$arg" = "X-lc_r"; then
+ case $host in
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc_r directly, use -pthread flag.
+ continue
+ ;;
+ esac
+ fi
+ func_append deplibs " $arg"
+ continue
+ ;;
+
+ -module)
+ module=yes
+ continue
+ ;;
+
+ # Tru64 UNIX uses -model [arg] to determine the layout of C++
+ # classes, name mangling, and exception handling.
+ # Darwin uses the -arch flag to determine output architecture.
+ -model|-arch|-isysroot|--sysroot)
+ func_append compiler_flags " $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ prev=xcompiler
+ continue
+ ;;
+
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+ func_append compiler_flags " $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case "$new_inherited_linker_flags " in
+ *" $arg "*) ;;
+ * ) func_append new_inherited_linker_flags " $arg" ;;
+ esac
+ continue
+ ;;
+
+ -multi_module)
+ single_module="${wl}-multi_module"
+ continue
+ ;;
+
+ -no-fast-install)
+ fast_install=no
+ continue
+ ;;
+
+ -no-install)
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
+ # The PATH hackery in wrapper scripts is required on Windows
+ # and Darwin in order for the loader to find any dlls it needs.
+ func_warning "\`-no-install' is ignored for $host"
+ func_warning "assuming \`-no-fast-install' instead"
+ fast_install=no
+ ;;
+ *) no_install=yes ;;
+ esac
+ continue
+ ;;
+
+ -no-undefined)
+ allow_undefined=no
+ continue
+ ;;
+
+ -objectlist)
+ prev=objectlist
+ continue
+ ;;
+
+ -o) prev=output ;;
+
+ -precious-files-regex)
+ prev=precious_regex
+ continue
+ ;;
+
+ -release)
+ prev=release
+ continue
+ ;;
+
+ -rpath)
+ prev=rpath
+ continue
+ ;;
+
+ -R)
+ prev=xrpath
+ continue
+ ;;
+
+ -R*)
+ func_stripname '-R' '' "$arg"
+ dir=$func_stripname_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ =*)
+ func_stripname '=' '' "$dir"
+ dir=$lt_sysroot$func_stripname_result
+ ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) func_append xrpath " $dir" ;;
+ esac
+ continue
+ ;;
+
+ -shared)
+ # The effects of -shared are defined in a previous loop.
+ continue
+ ;;
+
+ -shrext)
+ prev=shrext
+ continue
+ ;;
+
+ -static | -static-libtool-libs)
+ # The effects of -static are defined in a previous loop.
+ # We used to do the same as -all-static on platforms that
+ # didn't have a PIC flag, but the assumption that the effects
+ # would be equivalent was wrong. It would break on at least
+ # Digital Unix and AIX.
+ continue
+ ;;
+
+ -thread-safe)
+ thread_safe=yes
+ continue
+ ;;
+
+ -version-info)
+ prev=vinfo
+ continue
+ ;;
+
+ -version-number)
+ prev=vinfo
+ vinfo_number=yes
+ continue
+ ;;
+
+ -weak)
+ prev=weak
+ continue
+ ;;
+
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$flag"
+ func_append arg " $func_quote_for_eval_result"
+ func_append compiler_flags " $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Wl,*)
+ func_stripname '-Wl,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$flag"
+ func_append arg " $wl$func_quote_for_eval_result"
+ func_append compiler_flags " $wl$func_quote_for_eval_result"
+ func_append linker_flags " $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Xcompiler)
+ prev=xcompiler
+ continue
+ ;;
+
+ -Xlinker)
+ prev=xlinker
+ continue
+ ;;
+
+ -XCClinker)
+ prev=xcclinker
+ continue
+ ;;
+
+ # -msg_* for osf cc
+ -msg_*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+
+ # Flags to be passed through unchanged, with rationale:
+ # -64, -mips[0-9] enable 64-bit mode for the SGI compiler
+ # -r[0-9][0-9]* specify processor for the SGI compiler
+ # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
+ # +DA*, +DD* enable 64-bit mode for the HP compiler
+ # -q* compiler args for the IBM compiler
+ # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
+ # -F/path path to uninstalled frameworks, gcc on darwin
+ # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
+ # @file GCC response files
+ # -tp=* Portland pgcc target processor selection
+ # --sysroot=* for sysroot support
+ # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+ -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ func_append compiler_flags " $arg"
+ continue
+ ;;
+
+ # Some other compiler flag.
+ -* | +*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+
+ *.$objext)
+ # A standard object.
+ func_append objs " $arg"
+ ;;
+
+ *.lo)
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ func_source "$arg"
+
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test "$pic_object" = none &&
+ test "$non_pic_object" = none; then
+ func_fatal_error "cannot find name of object for \`$arg'"
+ fi
+
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ if test "$pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ pic_object="$xdir$pic_object"
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ func_append dlfiles " $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ func_append dlprefiles " $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg="$pic_object"
+ fi
+
+ # Non-PIC object.
+ if test "$non_pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object="$xdir$non_pic_object"
+
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test "$pic_object" = none ; then
+ arg="$non_pic_object"
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
+ fi
+ fi
+ ;;
+
+ *.$libext)
+ # An archive.
+ func_append deplibs " $arg"
+ func_append old_deplibs " $arg"
+ continue
+ ;;
+
+ *.la)
+ # A libtool-controlled library.
+
+ func_resolve_sysroot "$arg"
+ if test "$prev" = dlfiles; then
+ # This library was specified with -dlopen.
+ func_append dlfiles " $func_resolve_sysroot_result"
+ prev=
+ elif test "$prev" = dlprefiles; then
+ # The library was specified with -dlpreopen.
+ func_append dlprefiles " $func_resolve_sysroot_result"
+ prev=
+ else
+ func_append deplibs " $func_resolve_sysroot_result"
+ fi
+ continue
+ ;;
+
+ # Some other compiler argument.
+ *)
+ # Unknown arguments in both finalize_command and compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+ esac # arg
+
+ # Now actually substitute the argument into the commands.
+ if test -n "$arg"; then
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+ done # argument parsing loop
+
+ test -n "$prev" && \
+ func_fatal_help "the \`$prevarg' option requires an argument"
+
+ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+ eval arg=\"$export_dynamic_flag_spec\"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+
+ oldlibs=
+ # calculate the name of the file, without its directory
+ func_basename "$output"
+ outputname="$func_basename_result"
+ libobjs_save="$libobjs"
+
+ if test -n "$shlibpath_var"; then
+ # get the directories listed in $shlibpath_var
+ eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
+ else
+ shlib_search_path=
+ fi
+ eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+ eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+ func_dirname "$output" "/" ""
+ output_objdir="$func_dirname_result$objdir"
+ func_to_tool_file "$output_objdir/"
+ tool_output_objdir=$func_to_tool_file_result
+ # Create the object directory.
+ func_mkdir_p "$output_objdir"
+
+ # Determine the type of output
+ case $output in
+ "")
+ func_fatal_help "you must specify an output file"
+ ;;
+ *.$libext) linkmode=oldlib ;;
+ *.lo | *.$objext) linkmode=obj ;;
+ *.la) linkmode=lib ;;
+ *) linkmode=prog ;; # Anything else should be a program.
+ esac
+
+ specialdeplibs=
+
+ libs=
+ # Find all interdependent deplibs by searching for libraries
+ # that are linked more than once (e.g. -la -lb -la)
+ for deplib in $deplibs; do
+ if $opt_preserve_dup_deps ; then
+ case "$libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append libs " $deplib"
+ done
+
+ if test "$linkmode" = lib; then
+ libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+ # Compute libraries that are listed more than once in $predeps
+ # $postdeps and mark them as special (i.e., whose duplicates are
+ # not to be eliminated).
+ pre_post_deps=
+ if $opt_duplicate_compiler_generated_deps; then
+ for pre_post_dep in $predeps $postdeps; do
+ case "$pre_post_deps " in
+ *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
+ esac
+ func_append pre_post_deps " $pre_post_dep"
+ done
+ fi
+ pre_post_deps=
+ fi
+
+ deplibs=
+ newdependency_libs=
+ newlib_search_path=
+ need_relink=no # whether we're linking any uninstalled libtool libraries
+ notinst_deplibs= # not-installed libtool libraries
+ notinst_path= # paths that contain not-installed libtool libraries
+
+ case $linkmode in
+ lib)
+ passes="conv dlpreopen link"
+ for file in $dlfiles $dlprefiles; do
+ case $file in
+ *.la) ;;
+ *)
+ func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+ ;;
+ esac
+ done
+ ;;
+ prog)
+ compile_deplibs=
+ finalize_deplibs=
+ alldeplibs=no
+ newdlfiles=
+ newdlprefiles=
+ passes="conv scan dlopen dlpreopen link"
+ ;;
+ *) passes="conv"
+ ;;
+ esac
+
+ for pass in $passes; do
+ # The preopen pass in lib mode reverses $deplibs; put it back here
+ # so that -L comes before libs that need it for instance...
+ if test "$linkmode,$pass" = "lib,link"; then
+ ## FIXME: Find the place where the list is rebuilt in the wrong
+ ## order, and fix it there properly
+ tmp_deplibs=
+ for deplib in $deplibs; do
+ tmp_deplibs="$deplib $tmp_deplibs"
+ done
+ deplibs="$tmp_deplibs"
+ fi
+
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan"; then
+ libs="$deplibs"
+ deplibs=
+ fi
+ if test "$linkmode" = prog; then
+ case $pass in
+ dlopen) libs="$dlfiles" ;;
+ dlpreopen) libs="$dlprefiles" ;;
+ link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+ esac
+ fi
+ if test "$linkmode,$pass" = "lib,dlpreopen"; then
+ # Collect and forward deplibs of preopened libtool libs
+ for lib in $dlprefiles; do
+ # Ignore non-libtool-libs
+ dependency_libs=
+ func_resolve_sysroot "$lib"
+ case $lib in
+ *.la) func_source "$func_resolve_sysroot_result" ;;
+ esac
+
+ # Collect preopened libtool deplibs, except any this library
+ # has declared as weak libs
+ for deplib in $dependency_libs; do
+ func_basename "$deplib"
+ deplib_base=$func_basename_result
+ case " $weak_libs " in
+ *" $deplib_base "*) ;;
+ *) func_append deplibs " $deplib" ;;
+ esac
+ done
+ done
+ libs="$dlprefiles"
+ fi
+ if test "$pass" = dlopen; then
+ # Collect dlpreopened libraries
+ save_deplibs="$deplibs"
+ deplibs=
+ fi
+
+ for deplib in $libs; do
+ lib=
+ found=no
+ case $deplib in
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ func_append compiler_flags " $deplib"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -l*)
+ if test "$linkmode" != lib && test "$linkmode" != prog; then
+ func_warning "\`-l' is ignored for archives/objects"
+ continue
+ fi
+ func_stripname '-l' '' "$deplib"
+ name=$func_stripname_result
+ if test "$linkmode" = lib; then
+ searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+ else
+ searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+ fi
+ for searchdir in $searchdirs; do
+ for search_ext in .la $std_shrext .so .a; do
+ # Search the libtool library
+ lib="$searchdir/lib${name}${search_ext}"
+ if test -f "$lib"; then
+ if test "$search_ext" = ".la"; then
+ found=yes
+ else
+ found=no
+ fi
+ break 2
+ fi
+ done
+ done
+ if test "$found" != yes; then
+ # deplib doesn't seem to be a libtool library
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ else # deplib is a libtool library
+ # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+ # We need to do some special things here, and not later.
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $deplib "*)
+ if func_lalib_p "$lib"; then
+ library_names=
+ old_library=
+ func_source "$lib"
+ for l in $old_library $library_names; do
+ ll="$l"
+ done
+ if test "X$ll" = "X$old_library" ; then # only static version available
+ found=no
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
+ lib=$ladir/$old_library
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ fi
+ fi
+ ;;
+ *) ;;
+ esac
+ fi
+ fi
+ ;; # -l
+ *.ltframework)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -L*)
+ case $linkmode in
+ lib)
+ deplibs="$deplib $deplibs"
+ test "$pass" = conv && continue
+ newdependency_libs="$deplib $newdependency_libs"
+ func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ prog)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ if test "$pass" = scan; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ *)
+ func_warning "\`-L' is ignored for archives/objects"
+ ;;
+ esac # linkmode
+ continue
+ ;; # -L
+ -R*)
+ if test "$pass" = link; then
+ func_stripname '-R' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ dir=$func_resolve_sysroot_result
+ # Make sure the xrpath contains only unique directories.
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) func_append xrpath " $dir" ;;
+ esac
+ fi
+ deplibs="$deplib $deplibs"
+ continue
+ ;;
+ *.la)
+ func_resolve_sysroot "$deplib"
+ lib=$func_resolve_sysroot_result
+ ;;
+ *.$libext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ case $linkmode in
+ lib)
+ # Linking convenience modules into shared libraries is allowed,
+ # but linking other static libraries is non-portable.
+ case " $dlpreconveniencelibs " in
+ *" $deplib "*) ;;
+ *)
+ valid_a_lib=no
+ case $deplibs_check_method in
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
+ | $EGREP "$match_pattern_regex" > /dev/null; then
+ valid_a_lib=yes
+ fi
+ ;;
+ pass_all)
+ valid_a_lib=yes
+ ;;
+ esac
+ if test "$valid_a_lib" != yes; then
+ echo
+ $ECHO "*** Warning: Trying to link with static lib archive $deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because the file extensions .$libext of this argument makes me believe"
+ echo "*** that it is just a static archive that I should not use here."
+ else
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the"
+ $ECHO "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+ fi
+ ;;
+ esac
+ continue
+ ;;
+ prog)
+ if test "$pass" != link; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ continue
+ ;;
+ esac # linkmode
+ ;; # *.$libext
+ *.lo | *.$objext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ elif test "$linkmode" = prog; then
+ if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+ # If there is no dlopen support or we're linking statically,
+ # we need to preload.
+ func_append newdlprefiles " $deplib"
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ func_append newdlfiles " $deplib"
+ fi
+ fi
+ continue
+ ;;
+ %DEPLIBS%)
+ alldeplibs=yes
+ continue
+ ;;
+ esac # case $deplib
+
+ if test "$found" = yes || test -f "$lib"; then :
+ else
+ func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
+ fi
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$lib" \
+ || func_fatal_error "\`$lib' is not a valid libtool archive"
+
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
+
+ dlname=
+ dlopen=
+ dlpreopen=
+ libdir=
+ library_names=
+ old_library=
+ inherited_linker_flags=
+ # If the library was installed with an old release of libtool,
+ # it will not redefine variables installed, or shouldnotlink
+ installed=yes
+ shouldnotlink=no
+ avoidtemprpath=
+
+
+ # Read the .la file
+ func_source "$lib"
+
+ # Convert "-framework foo" to "foo.ltframework"
+ if test -n "$inherited_linker_flags"; then
+ tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
+ for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+ case " $new_inherited_linker_flags " in
+ *" $tmp_inherited_linker_flag "*) ;;
+ *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
+ esac
+ done
+ fi
+ dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan" ||
+ { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+ test -n "$dlopen" && func_append dlfiles " $dlopen"
+ test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
+ fi
+
+ if test "$pass" = conv; then
+ # Only check for convenience libraries
+ deplibs="$lib $deplibs"
+ if test -z "$libdir"; then
+ if test -z "$old_library"; then
+ func_fatal_error "cannot find name of link library for \`$lib'"
+ fi
+ # It is a libtool convenience library, so add in its objects.
+ func_append convenience " $ladir/$objdir/$old_library"
+ func_append old_convenience " $ladir/$objdir/$old_library"
+ elif test "$linkmode" != prog && test "$linkmode" != lib; then
+ func_fatal_error "\`$lib' is not a convenience library"
+ fi
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done
+ continue
+ fi # $pass = conv
+
+
+ # Get the name of the library we link against.
+ linklib=
+ if test -n "$old_library" &&
+ { test "$prefer_static_libs" = yes ||
+ test "$prefer_static_libs,$installed" = "built,no"; }; then
+ linklib=$old_library
+ else
+ for l in $old_library $library_names; do
+ linklib="$l"
+ done
+ fi
+ if test -z "$linklib"; then
+ func_fatal_error "cannot find name of link library for \`$lib'"
+ fi
+
+ # This library was specified with -dlopen.
+ if test "$pass" = dlopen; then
+ if test -z "$libdir"; then
+ func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
+ fi
+ if test -z "$dlname" ||
+ test "$dlopen_support" != yes ||
+ test "$build_libtool_libs" = no; then
+ # If there is no dlname, no dlopen support or we're linking
+ # statically, we need to preload. We also need to preload any
+ # dependent libraries so libltdl's deplib preloader doesn't
+ # bomb out in the load deplibs phase.
+ func_append dlprefiles " $lib $dependency_libs"
+ else
+ func_append newdlfiles " $lib"
+ fi
+ continue
+ fi # $pass = dlopen
+
+ # We need an absolute path.
+ case $ladir in
+ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+ *)
+ abs_ladir=`cd "$ladir" && pwd`
+ if test -z "$abs_ladir"; then
+ func_warning "cannot determine absolute directory name of \`$ladir'"
+ func_warning "passing it literally to the linker, although it might fail"
+ abs_ladir="$ladir"
+ fi
+ ;;
+ esac
+ func_basename "$lib"
+ laname="$func_basename_result"
+
+ # Find the relevant object directory and library name.
+ if test "X$installed" = Xyes; then
+ if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ func_warning "library \`$lib' was moved."
+ dir="$ladir"
+ absdir="$abs_ladir"
+ libdir="$abs_ladir"
+ else
+ dir="$lt_sysroot$libdir"
+ absdir="$lt_sysroot$libdir"
+ fi
+ test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ else
+ if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ dir="$ladir"
+ absdir="$abs_ladir"
+ # Remove this search path later
+ func_append notinst_path " $abs_ladir"
+ else
+ dir="$ladir/$objdir"
+ absdir="$abs_ladir/$objdir"
+ # Remove this search path later
+ func_append notinst_path " $abs_ladir"
+ fi
+ fi # $installed = yes
+ func_stripname 'lib' '.la' "$laname"
+ name=$func_stripname_result
+
+ # This library was specified with -dlpreopen.
+ if test "$pass" = dlpreopen; then
+ if test -z "$libdir" && test "$linkmode" = prog; then
+ func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+ fi
+ case "$host" in
+ # special handling for platforms with PE-DLLs.
+ *cygwin* | *mingw* | *cegcc* )
+ # Linker will automatically link against shared library if both
+ # static and shared are present. Therefore, ensure we extract
+ # symbols from the import library if a shared library is present
+ # (otherwise, the dlopen module name will be incorrect). We do
+ # this by putting the import library name into $newdlprefiles.
+ # We recover the dlopen module name by 'saving' the la file
+ # name in a special purpose variable, and (later) extracting the
+ # dlname from the la file.
+ if test -n "$dlname"; then
+ func_tr_sh "$dir/$linklib"
+ eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
+ func_append newdlprefiles " $dir/$linklib"
+ else
+ func_append newdlprefiles " $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ func_append dlpreconveniencelibs " $dir/$old_library"
+ fi
+ ;;
+ * )
+ # Prefer using a static library (so that no silly _DYNAMIC symbols
+ # are required to link).
+ if test -n "$old_library"; then
+ func_append newdlprefiles " $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ func_append dlpreconveniencelibs " $dir/$old_library"
+ # Otherwise, use the dlname, so that lt_dlopen finds it.
+ elif test -n "$dlname"; then
+ func_append newdlprefiles " $dir/$dlname"
+ else
+ func_append newdlprefiles " $dir/$linklib"
+ fi
+ ;;
+ esac
+ fi # $pass = dlpreopen
+
+ if test -z "$libdir"; then
+ # Link the convenience library
+ if test "$linkmode" = lib; then
+ deplibs="$dir/$old_library $deplibs"
+ elif test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$dir/$old_library $compile_deplibs"
+ finalize_deplibs="$dir/$old_library $finalize_deplibs"
+ else
+ deplibs="$lib $deplibs" # used for prog,scan pass
+ fi
+ continue
+ fi
+
+
+ if test "$linkmode" = prog && test "$pass" != link; then
+ func_append newlib_search_path " $ladir"
+ deplibs="$lib $deplibs"
+
+ linkalldeplibs=no
+ if test "$link_all_deplibs" != no || test -z "$library_names" ||
+ test "$build_libtool_libs" = no; then
+ linkalldeplibs=yes
+ fi
+
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ esac
+ # Need to link against all dependency_libs?
+ if test "$linkalldeplibs" = yes; then
+ deplibs="$deplib $deplibs"
+ else
+ # Need to hardcode shared library paths
+ # or/and link against static libraries
+ newdependency_libs="$deplib $newdependency_libs"
+ fi
+ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done # for deplib
+ continue
+ fi # $linkmode = prog...
+
+ if test "$linkmode,$pass" = "prog,link"; then
+ if test -n "$library_names" &&
+ { { test "$prefer_static_libs" = no ||
+ test "$prefer_static_libs,$installed" = "built,yes"; } ||
+ test -z "$old_library"; }; then
+ # We need to hardcode the library path
+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+ # Make sure the rpath contains only unique directories.
+ case "$temp_rpath:" in
+ *"$absdir:"*) ;;
+ *) func_append temp_rpath "$absdir:" ;;
+ esac
+ fi
+
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) func_append compile_rpath " $absdir" ;;
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ ;;
+ esac
+ fi # $linkmode,$pass = prog,link...
+
+ if test "$alldeplibs" = yes &&
+ { test "$deplibs_check_method" = pass_all ||
+ { test "$build_libtool_libs" = yes &&
+ test -n "$library_names"; }; }; then
+ # We only need to search for static libraries
+ continue
+ fi
+ fi
+
+ link_static=no # Whether the deplib will be linked statically
+ use_static_libs=$prefer_static_libs
+ if test "$use_static_libs" = built && test "$installed" = yes; then
+ use_static_libs=no
+ fi
+ if test -n "$library_names" &&
+ { test "$use_static_libs" = no || test -z "$old_library"; }; then
+ case $host in
+ *cygwin* | *mingw* | *cegcc*)
+ # No point in relinking DLLs because paths are not encoded
+ func_append notinst_deplibs " $lib"
+ need_relink=no
+ ;;
+ *)
+ if test "$installed" = no; then
+ func_append notinst_deplibs " $lib"
+ need_relink=yes
+ fi
+ ;;
+ esac
+ # This is a shared library
+
+ # Warn about portability, can't link against -module's on some
+ # systems (darwin). Don't bleat about dlopened modules though!
+ dlopenmodule=""
+ for dlpremoduletest in $dlprefiles; do
+ if test "X$dlpremoduletest" = "X$lib"; then
+ dlopenmodule="$dlpremoduletest"
+ break
+ fi
+ done
+ if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+ echo
+ if test "$linkmode" = prog; then
+ $ECHO "*** Warning: Linking the executable $output against the loadable module"
+ else
+ $ECHO "*** Warning: Linking the shared library $output against the loadable module"
+ fi
+ $ECHO "*** $linklib is not portable!"
+ fi
+ if test "$linkmode" = lib &&
+ test "$hardcode_into_libs" = yes; then
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) func_append compile_rpath " $absdir" ;;
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ ;;
+ esac
+ fi
+
+ if test -n "$old_archive_from_expsyms_cmds"; then
+ # figure out the soname
+ set dummy $library_names
+ shift
+ realname="$1"
+ shift
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ # use dlname if we got it. it's perfectly good, no?
+ if test -n "$dlname"; then
+ soname="$dlname"
+ elif test -n "$soname_spec"; then
+ # bleh windows
+ case $host in
+ *cygwin* | mingw* | *cegcc*)
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix="-$major"
+ ;;
+ esac
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+
+ # Make a new name for the extract_expsyms_cmds to use
+ soroot="$soname"
+ func_basename "$soroot"
+ soname="$func_basename_result"
+ func_stripname 'lib' '.dll' "$soname"
+ newlib=libimp-$func_stripname_result.a
+
+ # If the library has no export list, then create one now
+ if test -f "$output_objdir/$soname-def"; then :
+ else
+ func_verbose "extracting exported symbol list from \`$soname'"
+ func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
+ fi
+
+ # Create $newlib
+ if test -f "$output_objdir/$newlib"; then :; else
+ func_verbose "generating import library for \`$soname'"
+ func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
+ fi
+ # make sure the library variables are pointing to the new library
+ dir=$output_objdir
+ linklib=$newlib
+ fi # test -n "$old_archive_from_expsyms_cmds"
+
+ if test "$linkmode" = prog || test "$opt_mode" != relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ lib_linked=yes
+ case $hardcode_action in
+ immediate | unsupported)
+ if test "$hardcode_direct" = no; then
+ add="$dir/$linklib"
+ case $host in
+ *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+ *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+ *-*-unixware7*) add_dir="-L$dir" ;;
+ *-*-darwin* )
+ # if the lib is a (non-dlopened) module then we can not
+ # link against it, someone is ignoring the earlier warnings
+ if /usr/bin/file -L $add 2> /dev/null |
+ $GREP ": [^:]* bundle" >/dev/null ; then
+ if test "X$dlopenmodule" != "X$lib"; then
+ $ECHO "*** Warning: lib $linklib is a module, not a shared library"
+ if test -z "$old_library" ; then
+ echo
+ echo "*** And there doesn't seem to be a static archive available"
+ echo "*** The link will probably fail, sorry"
+ else
+ add="$dir/$old_library"
+ fi
+ elif test -n "$old_library"; then
+ add="$dir/$old_library"
+ fi
+ fi
+ esac
+ elif test "$hardcode_minus_L" = no; then
+ case $host in
+ *-*-sunos*) add_shlibpath="$dir" ;;
+ esac
+ add_dir="-L$dir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = no; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ relink)
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
+ add="$dir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$absdir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ func_append add_dir " -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ *) lib_linked=no ;;
+ esac
+
+ if test "$lib_linked" != yes; then
+ func_fatal_configuration "unsupported hardcode properties"
+ fi
+
+ if test -n "$add_shlibpath"; then
+ case :$compile_shlibpath: in
+ *":$add_shlibpath:"*) ;;
+ *) func_append compile_shlibpath "$add_shlibpath:" ;;
+ esac
+ fi
+ if test "$linkmode" = prog; then
+ test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+ test -n "$add" && compile_deplibs="$add $compile_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ if test "$hardcode_direct" != yes &&
+ test "$hardcode_minus_L" != yes &&
+ test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) func_append finalize_shlibpath "$libdir:" ;;
+ esac
+ fi
+ fi
+ fi
+
+ if test "$linkmode" = prog || test "$opt_mode" = relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ # Finalize command for both is simple: just hardcode it.
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
+ add="$libdir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$libdir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) func_append finalize_shlibpath "$libdir:" ;;
+ esac
+ add="-l$name"
+ elif test "$hardcode_automatic" = yes; then
+ if test -n "$inst_prefix_dir" &&
+ test -f "$inst_prefix_dir$libdir/$linklib" ; then
+ add="$inst_prefix_dir$libdir/$linklib"
+ else
+ add="$libdir/$linklib"
+ fi
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
+ add_dir="-L$libdir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ func_append add_dir " -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add="-l$name"
+ fi
+
+ if test "$linkmode" = prog; then
+ test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+ test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ fi
+ fi
+ elif test "$linkmode" = prog; then
+ # Here we assume that one of hardcode_direct or hardcode_minus_L
+ # is not unsupported. This is valid on all known static and
+ # shared platforms.
+ if test "$hardcode_direct" != unsupported; then
+ test -n "$old_library" && linklib="$old_library"
+ compile_deplibs="$dir/$linklib $compile_deplibs"
+ finalize_deplibs="$dir/$linklib $finalize_deplibs"
+ else
+ compile_deplibs="-l$name -L$dir $compile_deplibs"
+ finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+ fi
+ elif test "$build_libtool_libs" = yes; then
+ # Not a shared library
+ if test "$deplibs_check_method" != pass_all; then
+ # We're trying link a shared library against a static one
+ # but the system doesn't support it.
+
+ # Just print a warning and add the library to dependency_libs so
+ # that the program can be linked against the static library.
+ echo
+ $ECHO "*** Warning: This system can not link to static lib archive $lib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have."
+ if test "$module" = yes; then
+ echo "*** But as you try to build a module library, libtool will still create "
+ echo "*** a static module, that should work as long as the dlopening application"
+ echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+ if test -z "$global_symbol_pipe"; then
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ else
+ deplibs="$dir/$old_library $deplibs"
+ link_static=yes
+ fi
+ fi # link shared/static library?
+
+ if test "$linkmode" = lib; then
+ if test -n "$dependency_libs" &&
+ { test "$hardcode_into_libs" != yes ||
+ test "$build_old_libs" = yes ||
+ test "$link_static" = yes; }; then
+ # Extract -R from dependency_libs
+ temp_deplibs=
+ for libdir in $dependency_libs; do
+ case $libdir in
+ -R*) func_stripname '-R' '' "$libdir"
+ temp_xrpath=$func_stripname_result
+ case " $xrpath " in
+ *" $temp_xrpath "*) ;;
+ *) func_append xrpath " $temp_xrpath";;
+ esac;;
+ *) func_append temp_deplibs " $libdir";;
+ esac
+ done
+ dependency_libs="$temp_deplibs"
+ fi
+
+ func_append newlib_search_path " $absdir"
+ # Link against this library
+ test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+ # ... and its dependency_libs
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ newdependency_libs="$deplib $newdependency_libs"
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result";;
+ *) func_resolve_sysroot "$deplib" ;;
+ esac
+ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+ *" $func_resolve_sysroot_result "*)
+ func_append specialdeplibs " $func_resolve_sysroot_result" ;;
+ esac
+ fi
+ func_append tmp_libs " $func_resolve_sysroot_result"
+ done
+
+ if test "$link_all_deplibs" != no; then
+ # Add the search paths of all dependency libraries
+ for deplib in $dependency_libs; do
+ path=
+ case $deplib in
+ -L*) path="$deplib" ;;
+ *.la)
+ func_resolve_sysroot "$deplib"
+ deplib=$func_resolve_sysroot_result
+ func_dirname "$deplib" "" "."
+ dir=$func_dirname_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ if test -z "$absdir"; then
+ func_warning "cannot determine absolute directory name of \`$dir'"
+ absdir="$dir"
+ fi
+ ;;
+ esac
+ if $GREP "^installed=no" $deplib > /dev/null; then
+ case $host in
+ *-*-darwin*)
+ depdepl=
+ eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+ if test -n "$deplibrary_names" ; then
+ for tmp in $deplibrary_names ; do
+ depdepl=$tmp
+ done
+ if test -f "$absdir/$objdir/$depdepl" ; then
+ depdepl="$absdir/$objdir/$depdepl"
+ darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ if test -z "$darwin_install_name"; then
+ darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ fi
+ func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+ func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
+ path=
+ fi
+ fi
+ ;;
+ *)
+ path="-L$absdir/$objdir"
+ ;;
+ esac
+ else
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ test "$absdir" != "$libdir" && \
+ func_warning "\`$deplib' seems to be moved"
+
+ path="-L$absdir"
+ fi
+ ;;
+ esac
+ case " $deplibs " in
+ *" $path "*) ;;
+ *) deplibs="$path $deplibs" ;;
+ esac
+ done
+ fi # link_all_deplibs != no
+ fi # linkmode = lib
+ done # for deplib in $libs
+ if test "$pass" = link; then
+ if test "$linkmode" = "prog"; then
+ compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+ finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+ else
+ compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ fi
+ fi
+ dependency_libs="$newdependency_libs"
+ if test "$pass" = dlpreopen; then
+ # Link the dlpreopened libraries before other libraries
+ for deplib in $save_deplibs; do
+ deplibs="$deplib $deplibs"
+ done
+ fi
+ if test "$pass" != dlopen; then
+ if test "$pass" != conv; then
+ # Make sure lib_search_path contains only unique directories.
+ lib_search_path=
+ for dir in $newlib_search_path; do
+ case "$lib_search_path " in
+ *" $dir "*) ;;
+ *) func_append lib_search_path " $dir" ;;
+ esac
+ done
+ newlib_search_path=
+ fi
+
+ if test "$linkmode,$pass" != "prog,link"; then
+ vars="deplibs"
+ else
+ vars="compile_deplibs finalize_deplibs"
+ fi
+ for var in $vars dependency_libs; do
+ # Add libraries to $var in reverse order
+ eval tmp_libs=\"\$$var\"
+ new_libs=
+ for deplib in $tmp_libs; do
+ # FIXME: Pedantically, this is the right thing to do, so
+ # that some nasty dependency loop isn't accidentally
+ # broken:
+ #new_libs="$deplib $new_libs"
+ # Pragmatically, this seems to cause very few problems in
+ # practice:
+ case $deplib in
+ -L*) new_libs="$deplib $new_libs" ;;
+ -R*) ;;
+ *)
+ # And here is the reason: when a library appears more
+ # than once as an explicit dependence of a library, or
+ # is implicitly linked in more than once by the
+ # compiler, it is considered special, and multiple
+ # occurrences thereof are not removed. Compare this
+ # with having the same library being listed as a
+ # dependency of multiple other libraries: in this case,
+ # we know (pedantically, we assume) the library does not
+ # need to be listed more than once, so we keep only the
+ # last copy. This is not always right, but it is rare
+ # enough that we require users that really mean to play
+ # such unportable linking tricks to link the library
+ # using -Wl,-lname, so that libtool does not consider it
+ # for duplicate removal.
+ case " $specialdeplibs " in
+ *" $deplib "*) new_libs="$deplib $new_libs" ;;
+ *)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$deplib $new_libs" ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ done
+ tmp_libs=
+ for deplib in $new_libs; do
+ case $deplib in
+ -L*)
+ case " $tmp_libs " in
+ *" $deplib "*) ;;
+ *) func_append tmp_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append tmp_libs " $deplib" ;;
+ esac
+ done
+ eval $var=\"$tmp_libs\"
+ done # for var
+ fi
+ # Last step: remove runtime libs from dependency_libs
+ # (they stay in deplibs)
+ tmp_libs=
+ for i in $dependency_libs ; do
+ case " $predeps $postdeps $compiler_lib_search_path " in
+ *" $i "*)
+ i=""
+ ;;
+ esac
+ if test -n "$i" ; then
+ func_append tmp_libs " $i"
+ fi
+ done
+ dependency_libs=$tmp_libs
+ done # for pass
+ if test "$linkmode" = prog; then
+ dlfiles="$newdlfiles"
+ fi
+ if test "$linkmode" = prog || test "$linkmode" = lib; then
+ dlprefiles="$newdlprefiles"
+ fi
+
+ case $linkmode in
+ oldlib)
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ func_warning "\`-dlopen' is ignored for archives"
+ fi
+
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for archives" ;;
+ esac
+
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for archives"
+
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for archives"
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for archives"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for archives"
+
+ test -n "$export_symbols$export_symbols_regex" && \
+ func_warning "\`-export-symbols' is ignored for archives"
+
+ # Now set the variables for building old libraries.
+ build_libtool_libs=no
+ oldlibs="$output"
+ func_append objs "$old_deplibs"
+ ;;
+
+ lib)
+ # Make sure we only generate libraries of the form `libNAME.la'.
+ case $outputname in
+ lib*)
+ func_stripname 'lib' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ ;;
+ *)
+ test "$module" = no && \
+ func_fatal_help "libtool library \`$output' must begin with \`lib'"
+
+ if test "$need_lib_prefix" != no; then
+ # Add the "lib" prefix for modules if required
+ func_stripname '' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ else
+ func_stripname '' '.la' "$outputname"
+ libname=$func_stripname_result
+ fi
+ ;;
+ esac
+
+ if test -n "$objs"; then
+ if test "$deplibs_check_method" != pass_all; then
+ func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+ else
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+ $ECHO "*** objects $objs is not portable!"
+ func_append libobjs " $objs"
+ fi
+ fi
+
+ test "$dlself" != no && \
+ func_warning "\`-dlopen self' is ignored for libtool libraries"
+
+ set dummy $rpath
+ shift
+ test "$#" -gt 1 && \
+ func_warning "ignoring multiple \`-rpath's for a libtool library"
+
+ install_libdir="$1"
+
+ oldlibs=
+ if test -z "$rpath"; then
+ if test "$build_libtool_libs" = yes; then
+ # Building a libtool convenience library.
+ # Some compilers have problems with a `.al' extension so
+ # convenience libraries should have the same extension an
+ # archive normally would.
+ oldlibs="$output_objdir/$libname.$libext $oldlibs"
+ build_libtool_libs=convenience
+ build_old_libs=yes
+ fi
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for convenience libraries"
+ else
+
+ # Parse the version information argument.
+ save_ifs="$IFS"; IFS=':'
+ set dummy $vinfo 0 0 0
+ shift
+ IFS="$save_ifs"
+
+ test -n "$7" && \
+ func_fatal_help "too many parameters to \`-version-info'"
+
+ # convert absolute version numbers to libtool ages
+ # this retains compatibility with .la files and attempts
+ # to make the code below a bit more comprehensible
+
+ case $vinfo_number in
+ yes)
+ number_major="$1"
+ number_minor="$2"
+ number_revision="$3"
+ #
+ # There are really only two kinds -- those that
+ # use the current revision as the major version
+ # and those that subtract age and use age as
+ # a minor version. But, then there is irix
+ # which has an extra 1 added just for fun
+ #
+ case $version_type in
+ # correct linux to gnu/linux during the next big refactor
+ darwin|linux|osf|windows|none)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age="$number_minor"
+ revision="$number_revision"
+ ;;
+ freebsd-aout|freebsd-elf|qnx|sunos)
+ current="$number_major"
+ revision="$number_minor"
+ age="0"
+ ;;
+ irix|nonstopux)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age="$number_minor"
+ revision="$number_minor"
+ lt_irix_increment=no
+ ;;
+ esac
+ ;;
+ no)
+ current="$1"
+ revision="$2"
+ age="$3"
+ ;;
+ esac
+
+ # Check that each of the things are valid numbers.
+ case $current in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "CURRENT \`$current' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $revision in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "REVISION \`$revision' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $age in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "AGE \`$age' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ if test "$age" -gt "$current"; then
+ func_error "AGE \`$age' is greater than the current interface number \`$current'"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ fi
+
+ # Calculate the version variables.
+ major=
+ versuffix=
+ verstring=
+ case $version_type in
+ none) ;;
+
+ darwin)
+ # Like Linux, but with the current version available in
+ # verstring for coding it into the library header
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix="$major.$age.$revision"
+ # Darwin ld doesn't like 0 for these options...
+ func_arith $current + 1
+ minor_current=$func_arith_result
+ xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ ;;
+
+ freebsd-aout)
+ major=".$current"
+ versuffix=".$current.$revision";
+ ;;
+
+ freebsd-elf)
+ major=".$current"
+ versuffix=".$current"
+ ;;
+
+ irix | nonstopux)
+ if test "X$lt_irix_increment" = "Xno"; then
+ func_arith $current - $age
+ else
+ func_arith $current - $age + 1
+ fi
+ major=$func_arith_result
+
+ case $version_type in
+ nonstopux) verstring_prefix=nonstopux ;;
+ *) verstring_prefix=sgi ;;
+ esac
+ verstring="$verstring_prefix$major.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$revision
+ while test "$loop" -ne 0; do
+ func_arith $revision - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring="$verstring_prefix$major.$iface:$verstring"
+ done
+
+ # Before this point, $major must not contain `.'.
+ major=.$major
+ versuffix="$major.$revision"
+ ;;
+
+ linux) # correct to gnu/linux during the next big refactor
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix="$major.$age.$revision"
+ ;;
+
+ osf)
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=".$current.$age.$revision"
+ verstring="$current.$age.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$age
+ while test "$loop" -ne 0; do
+ func_arith $current - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring="$verstring:${iface}.0"
+ done
+
+ # Make executables depend on our current version.
+ func_append verstring ":${current}.0"
+ ;;
+
+ qnx)
+ major=".$current"
+ versuffix=".$current"
+ ;;
+
+ sunos)
+ major=".$current"
+ versuffix=".$current.$revision"
+ ;;
+
+ windows)
+ # Use '-' rather than '.', since we only want one
+ # extension on DOS 8.3 filesystems.
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix="-$major"
+ ;;
+
+ *)
+ func_fatal_configuration "unknown library version type \`$version_type'"
+ ;;
+ esac
+
+ # Clear the version info if we defaulted, and they specified a release.
+ if test -z "$vinfo" && test -n "$release"; then
+ major=
+ case $version_type in
+ darwin)
+ # we can't check for "0.0" in archive_cmds due to quoting
+ # problems, so we reset it completely
+ verstring=
+ ;;
+ *)
+ verstring="0.0"
+ ;;
+ esac
+ if test "$need_version" = no; then
+ versuffix=
+ else
+ versuffix=".0.0"
+ fi
+ fi
+
+ # Remove version info from name if versioning should be avoided
+ if test "$avoid_version" = yes && test "$need_version" = no; then
+ major=
+ versuffix=
+ verstring=""
+ fi
+
+ # Check to see if the archive will have undefined symbols.
+ if test "$allow_undefined" = yes; then
+ if test "$allow_undefined_flag" = unsupported; then
+ func_warning "undefined symbols not allowed in $host shared libraries"
+ build_libtool_libs=no
+ build_old_libs=yes
+ fi
+ else
+ # Don't allow undefined symbols.
+ allow_undefined_flag="$no_undefined_flag"
+ fi
+
+ fi
+
+ func_generate_dlsyms "$libname" "$libname" "yes"
+ func_append libobjs " $symfileobj"
+ test "X$libobjs" = "X " && libobjs=
+
+ if test "$opt_mode" != relink; then
+ # Remove our outputs, but don't remove object files since they
+ # may have been created when compiling PIC objects.
+ removelist=
+ tempremovelist=`$ECHO "$output_objdir/*"`
+ for p in $tempremovelist; do
+ case $p in
+ *.$objext | *.gcno)
+ ;;
+ $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+ if test "X$precious_files_regex" != "X"; then
+ if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+ then
+ continue
+ fi
+ fi
+ func_append removelist " $p"
+ ;;
+ *) ;;
+ esac
+ done
+ test -n "$removelist" && \
+ func_show_eval "${RM}r \$removelist"
+ fi
+
+ # Now set the variables for building old libraries.
+ if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+ func_append oldlibs " $output_objdir/$libname.$libext"
+
+ # Transform .lo files to .o files.
+ oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
+ fi
+
+ # Eliminate all temporary directories.
+ #for path in $notinst_path; do
+ # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
+ # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
+ # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
+ #done
+
+ if test -n "$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ temp_xrpath=
+ for libdir in $xrpath; do
+ func_replace_sysroot "$libdir"
+ func_append temp_xrpath " -R$func_replace_sysroot_result"
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ done
+ if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+ dependency_libs="$temp_xrpath $dependency_libs"
+ fi
+ fi
+
+ # Make sure dlfiles contains only unique files that won't be dlpreopened
+ old_dlfiles="$dlfiles"
+ dlfiles=
+ for lib in $old_dlfiles; do
+ case " $dlprefiles $dlfiles " in
+ *" $lib "*) ;;
+ *) func_append dlfiles " $lib" ;;
+ esac
+ done
+
+ # Make sure dlprefiles contains only unique files
+ old_dlprefiles="$dlprefiles"
+ dlprefiles=
+ for lib in $old_dlprefiles; do
+ case "$dlprefiles " in
+ *" $lib "*) ;;
+ *) func_append dlprefiles " $lib" ;;
+ esac
+ done
+
+ if test "$build_libtool_libs" = yes; then
+ if test -n "$rpath"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
+ # these systems don't actually have a c library (as such)!
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C library is in the System framework
+ func_append deplibs " System.ltframework"
+ ;;
+ *-*-netbsd*)
+ # Don't link with libc until the a.out ld.so is fixed.
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ ;;
+ *)
+ # Add libc to deplibs on all other systems if necessary.
+ if test "$build_libtool_need_lc" = "yes"; then
+ func_append deplibs " -lc"
+ fi
+ ;;
+ esac
+ fi
+
+ # Transform deplibs into only deplibs that can be linked in shared.
+ name_save=$name
+ libname_save=$libname
+ release_save=$release
+ versuffix_save=$versuffix
+ major_save=$major
+ # I'm not sure if I'm treating the release correctly. I think
+ # release should show up in the -l (ie -lgmp5) so we don't want to
+ # add it in twice. Is that correct?
+ release=""
+ versuffix=""
+ major=""
+ newdeplibs=
+ droppeddeps=no
+ case $deplibs_check_method in
+ pass_all)
+ # Don't check for shared/static. Everything works.
+ # This might be a little naive. We might want to check
+ # whether the library exists or not. But this is on
+ # osf3 & osf4 and I'm not really sure... Just
+ # implementing what was already the behavior.
+ newdeplibs=$deplibs
+ ;;
+ test_compile)
+ # This code stresses the "libraries are programs" paradigm to its
+ # limits. Maybe even breaks it. We compile a program, linking it
+ # against the deplibs as a proxy for the library. Then we can check
+ # whether they linked in statically or dynamically with ldd.
+ $opt_dry_run || $RM conftest.c
+ cat > conftest.c <<EOF
+ int main() { return 0; }
+EOF
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+ ldd_output=`ldd conftest`
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ func_append newdeplibs " $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ func_append newdeplibs " $i"
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which I believe you do not have"
+ echo "*** because a test_compile did reveal that the linker did not use it for"
+ echo "*** its dynamic dependency list that programs get resolved with at runtime."
+ fi
+ fi
+ ;;
+ *)
+ func_append newdeplibs " $i"
+ ;;
+ esac
+ done
+ else
+ # Error occurred in the first compile. Let's try to salvage
+ # the situation: Compile a separate program for each library.
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+ ldd_output=`ldd conftest`
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ func_append newdeplibs " $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ func_append newdeplibs " $i"
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because a test_compile did reveal that the linker did not use this one"
+ echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+ fi
+ fi
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
+ echo "*** make it link in! You will probably need to install it or some"
+ echo "*** library that it depends on before this library will be fully"
+ echo "*** functional. Installing it before continuing would be even better."
+ fi
+ ;;
+ *)
+ func_append newdeplibs " $i"
+ ;;
+ esac
+ done
+ fi
+ ;;
+ file_magic*)
+ set dummy $deplibs_check_method; shift
+ file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ if test -n "$file_magic_glob"; then
+ libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
+ else
+ libnameglob=$libname
+ fi
+ test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ if test "$want_nocaseglob" = yes; then
+ shopt -s nocaseglob
+ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+ $nocaseglob
+ else
+ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+ fi
+ for potent_lib in $potential_libs; do
+ # Follow soft links.
+ if ls -lLd "$potent_lib" 2>/dev/null |
+ $GREP " -> " >/dev/null; then
+ continue
+ fi
+ # The statement above tries to avoid entering an
+ # endless loop below, in case of cyclic links.
+ # We might still enter an endless loop, since a link
+ # loop can be closed while we follow links,
+ # but so what?
+ potlib="$potent_lib"
+ while test -h "$potlib" 2>/dev/null; do
+ potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+ case $potliblink in
+ [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+ *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
+ esac
+ done
+ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+ $SED -e 10q |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a file magic. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ potlib="$potent_lib" # see symlink-check above in file_magic test
+ if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
+ $EGREP "$match_pattern_regex" > /dev/null; then
+ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a regex pattern. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ none | unknown | *)
+ newdeplibs=""
+ tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ for i in $predeps $postdeps ; do
+ # can't use Xsed below, because $i might contain '/'
+ tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
+ done
+ fi
+ case $tmp_deplibs in
+ *[!\ \ ]*)
+ echo
+ if test "X$deplibs_check_method" = "Xnone"; then
+ echo "*** Warning: inter-library dependencies are not supported in this platform."
+ else
+ echo "*** Warning: inter-library dependencies are not known to be supported."
+ fi
+ echo "*** All declared inter-library dependencies are being dropped."
+ droppeddeps=yes
+ ;;
+ esac
+ ;;
+ esac
+ versuffix=$versuffix_save
+ major=$major_save
+ release=$release_save
+ libname=$libname_save
+ name=$name_save
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library with the System framework
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
+ ;;
+ esac
+
+ if test "$droppeddeps" = yes; then
+ if test "$module" = yes; then
+ echo
+ echo "*** Warning: libtool could not satisfy all declared inter-library"
+ $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
+ echo "*** a static module, that should work as long as the dlopening"
+ echo "*** application is linked with the -dlopen flag."
+ if test -z "$global_symbol_pipe"; then
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ else
+ echo "*** The inter-library dependencies that have been dropped here will be"
+ echo "*** automatically added whenever a program is linked with this library"
+ echo "*** or is declared to -dlopen it."
+
+ if test "$allow_undefined" = no; then
+ echo
+ echo "*** Since this library must not contain undefined symbols,"
+ echo "*** because either the platform does not support them or"
+ echo "*** it was explicitly requested with -no-undefined,"
+ echo "*** libtool will only create a static version of it."
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ fi
+ fi
+ # Done checking deplibs!
+ deplibs=$newdeplibs
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ case $host in
+ *-*-darwin*)
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $deplibs " in
+ *" -L$path/$objdir "*)
+ func_append new_libs " -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ deplibs="$new_libs"
+
+ # All the library-specific variables (install_libdir is set above).
+ library_names=
+ old_library=
+ dlname=
+
+ # Test again, we may have decided not to build it any more
+ if test "$build_libtool_libs" = yes; then
+ # Remove ${wl} instances when linking with ld.
+ # FIXME: should test the right _cmds variable.
+ case $archive_cmds in
+ *\$LD\ *) wl= ;;
+ esac
+ if test "$hardcode_into_libs" = yes; then
+ # Hardcode the library paths
+ hardcode_libdirs=
+ dep_rpath=
+ rpath="$finalize_rpath"
+ test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ func_replace_sysroot "$libdir"
+ libdir=$func_replace_sysroot_result
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append dep_rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append perm_rpath " $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
+ fi
+ if test -n "$runpath_var" && test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+ fi
+ test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+ fi
+
+ shlibpath="$finalize_shlibpath"
+ test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+ if test -n "$shlibpath"; then
+ eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+ fi
+
+ # Get the real and link names of the library.
+ eval shared_ext=\"$shrext_cmds\"
+ eval library_names=\"$library_names_spec\"
+ set dummy $library_names
+ shift
+ realname="$1"
+ shift
+
+ if test -n "$soname_spec"; then
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+ if test -z "$dlname"; then
+ dlname=$soname
+ fi
+
+ lib="$output_objdir/$realname"
+ linknames=
+ for link
+ do
+ func_append linknames " $link"
+ done
+
+ # Use standard objects if they are pic
+ test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ test "X$libobjs" = "X " && libobjs=
+
+ delfiles=
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+ export_symbols="$output_objdir/$libname.uexp"
+ func_append delfiles " $export_symbols"
+ fi
+
+ orig_export_symbols=
+ case $host_os in
+ cygwin* | mingw* | cegcc*)
+ if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+ # exporting using user supplied symfile
+ if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+ # and it's NOT already a .def file. Must figure out
+ # which of the given symbols are data symbols and tag
+ # them as such. So, trigger use of export_symbols_cmds.
+ # export_symbols gets reassigned inside the "prepare
+ # the list of exported symbols" if statement, so the
+ # include_expsyms logic still works.
+ orig_export_symbols="$export_symbols"
+ export_symbols=
+ always_export_symbols=yes
+ fi
+ fi
+ ;;
+ esac
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+ func_verbose "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $opt_dry_run || $RM $export_symbols
+ cmds=$export_symbols_cmds
+ save_ifs="$IFS"; IFS='~'
+ for cmd1 in $cmds; do
+ IFS="$save_ifs"
+ # Take the normal branch if the nm_file_list_spec branch
+ # doesn't work or if tool conversion is not needed.
+ case $nm_file_list_spec~$to_tool_file_cmd in
+ *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
+ try_normal_branch=yes
+ eval cmd=\"$cmd1\"
+ func_len " $cmd"
+ len=$func_len_result
+ ;;
+ *)
+ try_normal_branch=no
+ ;;
+ esac
+ if test "$try_normal_branch" = yes \
+ && { test "$len" -lt "$max_cmd_len" \
+ || test "$max_cmd_len" -le -1; }
+ then
+ func_show_eval "$cmd" 'exit $?'
+ skipped_export=false
+ elif test -n "$nm_file_list_spec"; then
+ func_basename "$output"
+ output_la=$func_basename_result
+ save_libobjs=$libobjs
+ save_output=$output
+ output=${output_objdir}/${output_la}.nm
+ func_to_tool_file "$output"
+ libobjs=$nm_file_list_spec$func_to_tool_file_result
+ func_append delfiles " $output"
+ func_verbose "creating $NM input file list: $output"
+ for obj in $save_libobjs; do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
+ done > "$output"
+ eval cmd=\"$cmd1\"
+ func_show_eval "$cmd" 'exit $?'
+ output=$save_output
+ libobjs=$save_libobjs
+ skipped_export=false
+ else
+ # The command line is too long to execute in one step.
+ func_verbose "using reloadable object file for export list..."
+ skipped_export=:
+ # Break out early, otherwise skipped_export may be
+ # set to false by a later but shorter cmd.
+ break
+ fi
+ done
+ IFS="$save_ifs"
+ if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+ fi
+
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+
+ tmp_deplibs=
+ for test_deplib in $deplibs; do
+ case " $convenience " in
+ *" $test_deplib "*) ;;
+ *)
+ func_append tmp_deplibs " $test_deplib"
+ ;;
+ esac
+ done
+ deplibs="$tmp_deplibs"
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec" &&
+ test "$compiler_needs_object" = yes &&
+ test -z "$libobjs"; then
+ # extract the archives, so we have objects to list.
+ # TODO: could optimize this to just extract one archive.
+ whole_archive_flag_spec=
+ fi
+ if test -n "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ else
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $convenience
+ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ fi
+
+ if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+ eval flag=\"$thread_safe_flag_spec\"
+ func_append linker_flags " $flag"
+ fi
+
+ # Make a backup of the uninstalled library when relinking
+ if test "$opt_mode" = relink; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+ fi
+
+ # Do each of the archive commands.
+ if test "$module" = yes && test -n "$module_cmds" ; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ eval test_cmds=\"$module_expsym_cmds\"
+ cmds=$module_expsym_cmds
+ else
+ eval test_cmds=\"$module_cmds\"
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ eval test_cmds=\"$archive_expsym_cmds\"
+ cmds=$archive_expsym_cmds
+ else
+ eval test_cmds=\"$archive_cmds\"
+ cmds=$archive_cmds
+ fi
+ fi
+
+ if test "X$skipped_export" != "X:" &&
+ func_len " $test_cmds" &&
+ len=$func_len_result &&
+ test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ :
+ else
+ # The command line is too long to link in one step, link piecewise
+ # or, if using GNU ld and skipped_export is not :, use a linker
+ # script.
+
+ # Save the value of $output and $libobjs because we want to
+ # use them later. If we have whole_archive_flag_spec, we
+ # want to use save_libobjs as it was before
+ # whole_archive_flag_spec was expanded, because we can't
+ # assume the linker understands whole_archive_flag_spec.
+ # This may have to be revisited, in case too many
+ # convenience libraries get linked in and end up exceeding
+ # the spec.
+ if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ fi
+ save_output=$output
+ func_basename "$output"
+ output_la=$func_basename_result
+
+ # Clear the reloadable object creation command queue and
+ # initialize k to one.
+ test_cmds=
+ concat_cmds=
+ objlist=
+ last_robj=
+ k=1
+
+ if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
+ output=${output_objdir}/${output_la}.lnkscript
+ func_verbose "creating GNU ld script: $output"
+ echo 'INPUT (' > $output
+ for obj in $save_libobjs
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
+ done
+ echo ')' >> $output
+ func_append delfiles " $output"
+ func_to_tool_file "$output"
+ output=$func_to_tool_file_result
+ elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
+ output=${output_objdir}/${output_la}.lnk
+ func_verbose "creating linker input file list: $output"
+ : > $output
+ set x $save_libobjs
+ shift
+ firstobj=
+ if test "$compiler_needs_object" = yes; then
+ firstobj="$1 "
+ shift
+ fi
+ for obj
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
+ done
+ func_append delfiles " $output"
+ func_to_tool_file "$output"
+ output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
+ else
+ if test -n "$save_libobjs"; then
+ func_verbose "creating reloadable object files..."
+ output=$output_objdir/$output_la-${k}.$objext
+ eval test_cmds=\"$reload_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+
+ # Loop over the list of objects to be linked.
+ for obj in $save_libobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ if test "X$objlist" = X ||
+ test "$len" -lt "$max_cmd_len"; then
+ func_append objlist " $obj"
+ else
+ # The command $test_cmds is almost too long, add a
+ # command to the queue.
+ if test "$k" -eq 1 ; then
+ # The first file doesn't have a previous command to add.
+ reload_objs=$objlist
+ eval concat_cmds=\"$reload_cmds\"
+ else
+ # All subsequent reloadable object files will link in
+ # the last one created.
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
+ fi
+ last_robj=$output_objdir/$output_la-${k}.$objext
+ func_arith $k + 1
+ k=$func_arith_result
+ output=$output_objdir/$output_la-${k}.$objext
+ objlist=" $obj"
+ func_len " $last_robj"
+ func_arith $len0 + $func_len_result
+ len=$func_arith_result
+ fi
+ done
+ # Handle the remaining objects by creating one last
+ # reloadable object file. All subsequent reloadable object
+ # files will link in the last one created.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+ fi
+ func_append delfiles " $output"
+
+ else
+ output=
+ fi
+
+ if ${skipped_export-false}; then
+ func_verbose "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $opt_dry_run || $RM $export_symbols
+ libobjs=$output
+ # Append the command to create the export file.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+ fi
+ fi
+
+ test -n "$save_libobjs" &&
+ func_verbose "creating a temporary reloadable object file: $output"
+
+ # Loop through the commands generated above and execute them.
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $concat_cmds; do
+ IFS="$save_ifs"
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test "$opt_mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS="$save_ifs"
+
+ if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+
+ if ${skipped_export-false}; then
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+ fi
+
+ libobjs=$output
+ # Restore the value of output.
+ output=$save_output
+
+ if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ # Expand the library linking commands again to reset the
+ # value of $libobjs for piecewise linking.
+
+ # Do each of the archive commands.
+ if test "$module" = yes && test -n "$module_cmds" ; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ cmds=$module_expsym_cmds
+ else
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ cmds=$archive_expsym_cmds
+ else
+ cmds=$archive_cmds
+ fi
+ fi
+ fi
+
+ if test -n "$delfiles"; then
+ # Append the command to remove temporary files to $cmds.
+ eval cmds=\"\$cmds~\$RM $delfiles\"
+ fi
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test "$opt_mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS="$save_ifs"
+
+ # Restore the uninstalled library and exit
+ if test "$opt_mode" = relink; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+ if test -n "$convenience"; then
+ if test -z "$whole_archive_flag_spec"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ # Create links to the real library.
+ for linkname in $linknames; do
+ if test "$realname" != "$linkname"; then
+ func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
+ fi
+ done
+
+ # If -module or -export-dynamic was specified, set the dlname.
+ if test "$module" = yes || test "$export_dynamic" = yes; then
+ # On all known operating systems, these are identical.
+ dlname="$soname"
+ fi
+ fi
+ ;;
+
+ obj)
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ func_warning "\`-dlopen' is ignored for objects"
+ fi
+
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for objects" ;;
+ esac
+
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for objects"
+
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for objects"
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for objects"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for objects"
+
+ case $output in
+ *.lo)
+ test -n "$objs$old_deplibs" && \
+ func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+
+ libobj=$output
+ func_lo2o "$libobj"
+ obj=$func_lo2o_result
+ ;;
+ *)
+ libobj=
+ obj="$output"
+ ;;
+ esac
+
+ # Delete the old objects.
+ $opt_dry_run || $RM $obj $libobj
+
+ # Objects from convenience libraries. This assumes
+ # single-version convenience libraries. Whenever we create
+ # different ones for PIC/non-PIC, this we'll have to duplicate
+ # the extraction.
+ reload_conv_objs=
+ gentop=
+ # reload_cmds runs $LD directly, so let us get rid of
+ # -Wl from whole_archive_flag_spec and hope we can get by with
+ # turning comma into space..
+ wl=
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec"; then
+ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+ reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+ else
+ gentop="$output_objdir/${obj}x"
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $convenience
+ reload_conv_objs="$reload_objs $func_extract_archives_result"
+ fi
+ fi
+
+ # If we're not building shared, we need to use non_pic_objs
+ test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
+
+ # Create the old-style object.
+ reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+ output="$obj"
+ func_execute_cmds "$reload_cmds" 'exit $?'
+
+ # Exit if we aren't doing a library object file.
+ if test -z "$libobj"; then
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ if test "$build_libtool_libs" != yes; then
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ # Create an invalid libtool object if no PIC, so that we don't
+ # accidentally link it into a program.
+ # $show "echo timestamp > $libobj"
+ # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+ exit $EXIT_SUCCESS
+ fi
+
+ if test -n "$pic_flag" || test "$pic_mode" != default; then
+ # Only do commands if we really have different PIC objects.
+ reload_objs="$libobjs $reload_conv_objs"
+ output="$libobj"
+ func_execute_cmds "$reload_cmds" 'exit $?'
+ fi
+
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
+ ;;
+
+ prog)
+ case $host in
+ *cygwin*) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result.exe;;
+ esac
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for programs"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for programs"
+
+ test "$preload" = yes \
+ && test "$dlopen_support" = unknown \
+ && test "$dlopen_self" = unknown \
+ && test "$dlopen_self_static" = unknown && \
+ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library is the System framework
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
+ ;;
+ esac
+
+ case $host in
+ *-*-darwin*)
+ # Don't allow lazy linking, it breaks C++ global constructors
+ # But is supposedly fixed on 10.4 or later (yay!).
+ if test "$tagname" = CXX ; then
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+ 10.[0123])
+ func_append compile_command " ${wl}-bind_at_load"
+ func_append finalize_command " ${wl}-bind_at_load"
+ ;;
+ esac
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $compile_deplibs " in
+ *" -L$path/$objdir "*)
+ func_append new_libs " -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $compile_deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ compile_deplibs="$new_libs"
+
+
+ func_append compile_command " $compile_deplibs"
+ func_append finalize_command " $finalize_deplibs"
+
+ if test -n "$rpath$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ for libdir in $rpath $xrpath; do
+ # This is the magic to use -rpath.
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ done
+ fi
+
+ # Now hardcode the library paths
+ rpath=
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append perm_rpath " $libdir" ;;
+ esac
+ fi
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$libdir:"*) ;;
+ ::) dllsearchpath=$libdir;;
+ *) func_append dllsearchpath ":$libdir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) func_append dllsearchpath ":$testbindir";;
+ esac
+ ;;
+ esac
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ compile_rpath="$rpath"
+
+ rpath=
+ hardcode_libdirs=
+ for libdir in $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$finalize_perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_perm_rpath " $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ finalize_rpath="$rpath"
+
+ if test -n "$libobjs" && test "$build_old_libs" = yes; then
+ # Transform all the library objects into standard objects.
+ compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ fi
+
+ func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+
+ # template prelinking step
+ if test -n "$prelink_cmds"; then
+ func_execute_cmds "$prelink_cmds" 'exit $?'
+ fi
+
+ wrappers_required=yes
+ case $host in
+ *cegcc* | *mingw32ce*)
+ # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
+ wrappers_required=no
+ ;;
+ *cygwin* | *mingw* )
+ if test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ *)
+ if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ esac
+ if test "$wrappers_required" = no; then
+ # Replace the output file specification.
+ compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+ link_command="$compile_command$compile_rpath"
+
+ # We have no uninstalled library dependencies, so finalize right now.
+ exit_status=0
+ func_show_eval "$link_command" 'exit_status=$?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
+ # Delete the generated files.
+ if test -f "$output_objdir/${outputname}S.${objext}"; then
+ func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+ fi
+
+ exit $exit_status
+ fi
+
+ if test -n "$compile_shlibpath$finalize_shlibpath"; then
+ compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+ fi
+ if test -n "$finalize_shlibpath"; then
+ finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+ fi
+
+ compile_var=
+ finalize_var=
+ if test -n "$runpath_var"; then
+ if test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ if test -n "$finalize_perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $finalize_perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ fi
+
+ if test "$no_install" = yes; then
+ # We don't need to create a wrapper script.
+ link_command="$compile_var$compile_command$compile_rpath"
+ # Replace the output file specification.
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+ # Delete the old output file.
+ $opt_dry_run || $RM $output
+ # Link the executable and exit
+ func_show_eval "$link_command" 'exit $?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ if test "$hardcode_action" = relink; then
+ # Fast installation is not supported
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+ func_warning "this platform does not like uninstalled shared libraries"
+ func_warning "\`$output' will be relinked during installation"
+ else
+ if test "$fast_install" != no; then
+ link_command="$finalize_var$compile_command$finalize_rpath"
+ if test "$fast_install" = yes; then
+ relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
+ else
+ # fast_install is set to needless
+ relink_command=
+ fi
+ else
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+ fi
+ fi
+
+ # Replace the output file specification.
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+ # Delete the old output files.
+ $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+ func_show_eval "$link_command" 'exit $?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output_objdir/$outputname"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
+ # Now create the wrapper script.
+ func_verbose "creating $output"
+
+ # Quote the relink command for shipping.
+ if test -n "$relink_command"; then
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ fi
+ done
+ relink_command="(cd `pwd`; $relink_command)"
+ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ fi
+
+ # Only actually do things if not in dry run mode.
+ $opt_dry_run || {
+ # win32 will think the script is a binary if it has
+ # a .exe suffix, so we strip it off here.
+ case $output in
+ *.exe) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result ;;
+ esac
+ # test for cygwin because mv fails w/o .exe extensions
+ case $host in
+ *cygwin*)
+ exeext=.exe
+ func_stripname '' '.exe' "$outputname"
+ outputname=$func_stripname_result ;;
+ *) exeext= ;;
+ esac
+ case $host in
+ *cygwin* | *mingw* )
+ func_dirname_and_basename "$output" "" "."
+ output_name=$func_basename_result
+ output_path=$func_dirname_result
+ cwrappersource="$output_path/$objdir/lt-$output_name.c"
+ cwrapper="$output_path/$output_name.exe"
+ $RM $cwrappersource $cwrapper
+ trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_cwrapperexe_src > $cwrappersource
+
+ # The wrapper executable is built using the $host compiler,
+ # because it contains $host paths and files. If cross-
+ # compiling, it, like the target executable, must be
+ # executed on the $host or under an emulation environment.
+ $opt_dry_run || {
+ $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+ $STRIP $cwrapper
+ }
+
+ # Now, create the wrapper script for func_source use:
+ func_ltwrapper_scriptname $cwrapper
+ $RM $func_ltwrapper_scriptname_result
+ trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+ $opt_dry_run || {
+ # note: this script will not be executed, so do not chmod.
+ if test "x$build" = "x$host" ; then
+ $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+ else
+ func_emit_wrapper no > $func_ltwrapper_scriptname_result
+ fi
+ }
+ ;;
+ * )
+ $RM $output
+ trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_wrapper no > $output
+ chmod +x $output
+ ;;
+ esac
+ }
+ exit $EXIT_SUCCESS
+ ;;
+ esac
+
+ # See if we need to build an old-fashioned archive.
+ for oldlib in $oldlibs; do
+
+ if test "$build_libtool_libs" = convenience; then
+ oldobjs="$libobjs_save $symfileobj"
+ addlibs="$convenience"
+ build_libtool_libs=no
+ else
+ if test "$build_libtool_libs" = module; then
+ oldobjs="$libobjs_save"
+ build_libtool_libs=no
+ else
+ oldobjs="$old_deplibs $non_pic_objects"
+ if test "$preload" = yes && test -f "$symfileobj"; then
+ func_append oldobjs " $symfileobj"
+ fi
+ fi
+ addlibs="$old_convenience"
+ fi
+
+ if test -n "$addlibs"; then
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $addlibs
+ func_append oldobjs " $func_extract_archives_result"
+ fi
+
+ # Do each command in the archive commands.
+ if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+ cmds=$old_archive_from_new_cmds
+ else
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ func_append oldobjs " $func_extract_archives_result"
+ fi
+
+ # POSIX demands no paths to be encoded in archives. We have
+ # to avoid creating archives with duplicate basenames if we
+ # might have to extract them afterwards, e.g., when creating a
+ # static archive out of a convenience library, or when linking
+ # the entirety of a libtool archive into another (currently
+ # not supported by libtool).
+ if (for obj in $oldobjs
+ do
+ func_basename "$obj"
+ $ECHO "$func_basename_result"
+ done | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ echo "copying selected object files to avoid basename conflicts..."
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
+ func_mkdir_p "$gentop"
+ save_oldobjs=$oldobjs
+ oldobjs=
+ counter=1
+ for obj in $save_oldobjs
+ do
+ func_basename "$obj"
+ objbase="$func_basename_result"
+ case " $oldobjs " in
+ " ") oldobjs=$obj ;;
+ *[\ /]"$objbase "*)
+ while :; do
+ # Make sure we don't pick an alternate name that also
+ # overlaps.
+ newobj=lt$counter-$objbase
+ func_arith $counter + 1
+ counter=$func_arith_result
+ case " $oldobjs " in
+ *[\ /]"$newobj "*) ;;
+ *) if test ! -f "$gentop/$newobj"; then break; fi ;;
+ esac
+ done
+ func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+ func_append oldobjs " $gentop/$newobj"
+ ;;
+ *) func_append oldobjs " $obj" ;;
+ esac
+ done
+ fi
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
+ eval cmds=\"$old_archive_cmds\"
+
+ func_len " $cmds"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ cmds=$old_archive_cmds
+ elif test -n "$archiver_list_spec"; then
+ func_verbose "using command file archive linking..."
+ for obj in $oldobjs
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
+ done > $output_objdir/$libname.libcmd
+ func_to_tool_file "$output_objdir/$libname.libcmd"
+ oldobjs=" $archiver_list_spec$func_to_tool_file_result"
+ cmds=$old_archive_cmds
+ else
+ # the command line is too long to link in one step, link in parts
+ func_verbose "using piecewise archive linking..."
+ save_RANLIB=$RANLIB
+ RANLIB=:
+ objlist=
+ concat_cmds=
+ save_oldobjs=$oldobjs
+ oldobjs=
+ # Is there a better way of finding the last object in the list?
+ for obj in $save_oldobjs
+ do
+ last_oldobj=$obj
+ done
+ eval test_cmds=\"$old_archive_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+ for obj in $save_oldobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ func_append objlist " $obj"
+ if test "$len" -lt "$max_cmd_len"; then
+ :
+ else
+ # the above command should be used before it gets too long
+ oldobjs=$objlist
+ if test "$obj" = "$last_oldobj" ; then
+ RANLIB=$save_RANLIB
+ fi
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+ objlist=
+ len=$len0
+ fi
+ done
+ RANLIB=$save_RANLIB
+ oldobjs=$objlist
+ if test "X$oldobjs" = "X" ; then
+ eval cmds=\"\$concat_cmds\"
+ else
+ eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+ fi
+ fi
+ fi
+ func_execute_cmds "$cmds" 'exit $?'
+ done
+
+ test -n "$generated" && \
+ func_show_eval "${RM}r$generated"
+
+ # Now create the libtool archive.
+ case $output in
+ *.la)
+ old_library=
+ test "$build_old_libs" = yes && old_library="$libname.$libext"
+ func_verbose "creating $output"
+
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ fi
+ done
+ # Quote the link command for shipping.
+ relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ if test "$hardcode_automatic" = yes ; then
+ relink_command=
+ fi
+
+ # Only create the output if not a dry run.
+ $opt_dry_run || {
+ for installed in no yes; do
+ if test "$installed" = yes; then
+ if test -z "$install_libdir"; then
+ break
+ fi
+ output="$output_objdir/$outputname"i
+ # Replace all uninstalled libtool libraries with the installed ones
+ newdependency_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ *.la)
+ func_basename "$deplib"
+ name="$func_basename_result"
+ func_resolve_sysroot "$deplib"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ -L*)
+ func_stripname -L '' "$deplib"
+ func_replace_sysroot "$func_stripname_result"
+ func_append newdependency_libs " -L$func_replace_sysroot_result"
+ ;;
+ -R*)
+ func_stripname -R '' "$deplib"
+ func_replace_sysroot "$func_stripname_result"
+ func_append newdependency_libs " -R$func_replace_sysroot_result"
+ ;;
+ *) func_append newdependency_libs " $deplib" ;;
+ esac
+ done
+ dependency_libs="$newdependency_libs"
+ newdlfiles=
+
+ for lib in $dlfiles; do
+ case $lib in
+ *.la)
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ *) func_append newdlfiles " $lib" ;;
+ esac
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ *.la)
+ # Only pass preopened files to the pseudo-archive (for
+ # eventual linking with the app. that links it) if we
+ # didn't already link the preopened objects directly into
+ # the library:
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ esac
+ done
+ dlprefiles="$newdlprefiles"
+ else
+ newdlfiles=
+ for lib in $dlfiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ func_append newdlfiles " $abs"
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ func_append newdlprefiles " $abs"
+ done
+ dlprefiles="$newdlprefiles"
+ fi
+ $RM $output
+ # place dlname in correct position for cygwin
+ # In fact, it would be nice if we could use this code for all target
+ # systems that can't hard-code library paths into their executables
+ # and that have no shared library path variable independent of PATH,
+ # but it turns out we can't easily determine that from inspecting
+ # libtool variables, so we have to hard-code the OSs to which it
+ # applies here; at the moment, that means platforms that use the PE
+ # object format with DLL files. See the long comment at the top of
+ # tests/bindir.at for full details.
+ tdlname=$dlname
+ case $host,$output,$installed,$module,$dlname in
+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
+ # If a -bindir argument was supplied, place the dll there.
+ if test "x$bindir" != x ;
+ then
+ func_relative_path "$install_libdir" "$bindir"
+ tdlname=$func_relative_path_result$dlname
+ else
+ # Otherwise fall back on heuristic.
+ tdlname=../bin/$dlname
+ fi
+ ;;
+ esac
+ $ECHO > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+ if test "$installed" = no && test "$need_relink" = yes; then
+ $ECHO >> $output "\
+relink_command=\"$relink_command\""
+ fi
+ done
+ }
+
+ # Do a symbolic link so that the libtool archive can be found in
+ # LD_LIBRARY_PATH before the program is installed.
+ func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
+ ;;
+ esac
+ exit $EXIT_SUCCESS
+}
+
+{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
+ func_mode_link ${1+"$@"}
+
+
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+ $opt_debug
+ RM="$nonopt"
+ files=
+ rmforce=
+ exit_status=0
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ for arg
+ do
+ case $arg in
+ -f) func_append RM " $arg"; rmforce=yes ;;
+ -*) func_append RM " $arg" ;;
+ *) func_append files " $arg" ;;
+ esac
+ done
+
+ test -z "$RM" && \
+ func_fatal_help "you must specify an RM program"
+
+ rmdirs=
+
+ for file in $files; do
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ if test "X$dir" = X.; then
+ odir="$objdir"
+ else
+ odir="$dir/$objdir"
+ fi
+ func_basename "$file"
+ name="$func_basename_result"
+ test "$opt_mode" = uninstall && odir="$dir"
+
+ # Remember odir for removal later, being careful to avoid duplicates
+ if test "$opt_mode" = clean; then
+ case " $rmdirs " in
+ *" $odir "*) ;;
+ *) func_append rmdirs " $odir" ;;
+ esac
+ fi
+
+ # Don't error if the file doesn't exist and rm -f was used.
+ if { test -L "$file"; } >/dev/null 2>&1 ||
+ { test -h "$file"; } >/dev/null 2>&1 ||
+ test -f "$file"; then
+ :
+ elif test -d "$file"; then
+ exit_status=1
+ continue
+ elif test "$rmforce" = yes; then
+ continue
+ fi
+
+ rmfiles="$file"
+
+ case $name in
+ *.la)
+ # Possibly a libtool archive, so verify it.
+ if func_lalib_p "$file"; then
+ func_source $dir/$name
+
+ # Delete the libtool libraries and symlinks.
+ for n in $library_names; do
+ func_append rmfiles " $odir/$n"
+ done
+ test -n "$old_library" && func_append rmfiles " $odir/$old_library"
+
+ case "$opt_mode" in
+ clean)
+ case " $library_names " in
+ *" $dlname "*) ;;
+ *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
+ esac
+ test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
+ ;;
+ uninstall)
+ if test -n "$library_names"; then
+ # Do each command in the postuninstall commands.
+ func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ fi
+
+ if test -n "$old_library"; then
+ # Do each command in the old_postuninstall commands.
+ func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ fi
+ # FIXME: should reinstall the best remaining shared library.
+ ;;
+ esac
+ fi
+ ;;
+
+ *.lo)
+ # Possibly a libtool object, so verify it.
+ if func_lalib_p "$file"; then
+
+ # Read the .lo file
+ func_source $dir/$name
+
+ # Add PIC object to the list of files to remove.
+ if test -n "$pic_object" &&
+ test "$pic_object" != none; then
+ func_append rmfiles " $dir/$pic_object"
+ fi
+
+ # Add non-PIC object to the list of files to remove.
+ if test -n "$non_pic_object" &&
+ test "$non_pic_object" != none; then
+ func_append rmfiles " $dir/$non_pic_object"
+ fi
+ fi
+ ;;
+
+ *)
+ if test "$opt_mode" = clean ; then
+ noexename=$name
+ case $file in
+ *.exe)
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ func_stripname '' '.exe' "$name"
+ noexename=$func_stripname_result
+ # $file with .exe has already been added to rmfiles,
+ # add $file without .exe
+ func_append rmfiles " $file"
+ ;;
+ esac
+ # Do a test to see if this is a libtool program.
+ if func_ltwrapper_p "$file"; then
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ relink_command=
+ func_source $func_ltwrapper_scriptname_result
+ func_append rmfiles " $func_ltwrapper_scriptname_result"
+ else
+ relink_command=
+ func_source $dir/$noexename
+ fi
+
+ # note $name still contains .exe if it was in $file originally
+ # as does the version of $file that was added into $rmfiles
+ func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
+ if test "$fast_install" = yes && test -n "$relink_command"; then
+ func_append rmfiles " $odir/lt-$name"
+ fi
+ if test "X$noexename" != "X$name" ; then
+ func_append rmfiles " $odir/lt-${noexename}.c"
+ fi
+ fi
+ fi
+ ;;
+ esac
+ func_show_eval "$RM $rmfiles" 'exit_status=1'
+ done
+
+ # Try to remove the ${objdir}s in the directories where we deleted files
+ for dir in $rmdirs; do
+ if test -d "$dir"; then
+ func_show_eval "rmdir $dir >/dev/null 2>&1"
+ fi
+ done
+
+ exit $exit_status
+}
+
+{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
+ func_mode_uninstall ${1+"$@"}
+
+test -z "$opt_mode" && {
+ help="$generic_help"
+ func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+ func_fatal_help "invalid operation mode \`$opt_mode'"
+
+if test -n "$exec_cmd"; then
+ eval exec "$exec_cmd"
+ exit $EXIT_FAILURE
+fi
+
+exit $exit_status
+
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries. Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them. This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration. But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+build_libtool_libs=no
+build_old_libs=yes
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
+# vi:sw=2
+
diff --git a/m4/libtool.m4 b/m4/libtool.m4
new file mode 100644
index 00000000..f12cfdf0
--- /dev/null
+++ b/m4/libtool.m4
@@ -0,0 +1,7992 @@
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
+
+# serial 57 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+ [m4_default([$3],
+ [m4_fatal([Libtool version $1 or higher is required],
+ 63)])],
+ [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+ *\ * | *\ *)
+ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_WITH_SYSROOT])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ _LT_PATH_MAGIC
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME. Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+ [m4_ifval([$1], [$1], [$2])])
+ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+ m4_ifval([$4],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+ lt_dict_add_subkey([lt_decl_dict], [$2],
+ [tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+ [0], [m4_fatal([$0: too few arguments: $#])],
+ [1], [m4_fatal([$0: too few arguments: $#: $1])],
+ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+ [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_if([$2], [],
+ m4_quote(lt_decl_varnames),
+ m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'. VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly. In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+# # Some comment about what VAR is for.
+# visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+ [description])))[]dnl
+m4_pushdef([_libtool_name],
+ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+ [0], [_libtool_name=[$]$1],
+ [1], [_libtool_name=$lt_[]$1],
+ [2], [_libtool_name=$lt_[]$1],
+ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'. Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+ dnl If the libtool generation code has been placed in $CONFIG_LT,
+ dnl instead of duplicating it all over again into config.status,
+ dnl then we will have config.status run $CONFIG_LT later, so it
+ dnl needs to know what name is stored there:
+ [AC_CONFIG_COMMANDS([libtool],
+ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+ dnl If the libtool generation code is destined for config.status,
+ dnl expand the accumulated commands and init code now:
+ [AC_CONFIG_COMMANDS([libtool],
+ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable. If COMMENT is supplied, it is inserted after the
+# `#!' sequence but before initialization text begins. After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script. The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test $lt_write_fail = 0 && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+lt_cl_silent=false
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+ echo
+ AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+ case $[1] in
+ --version | --v* | -V )
+ echo "$lt_cl_version"; exit 0 ;;
+ --help | --h* | -h )
+ echo "$lt_cl_help"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --quiet | --q* | --silent | --s* | -q )
+ lt_cl_silent=: ;;
+
+ -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+ *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+ esac
+ shift
+done
+
+if $lt_cl_silent; then
+ exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure. Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+lt_cl_success=:
+test "$silent" = yes &&
+ lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars. Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+ m4_if(_LT_TAG, [C], [
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+ _LT_PROG_LTMAIN
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ _LT_PROG_REPLACE_SHELLFNS
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+# autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+ [C], [_LT_LANG(C)],
+ [C++], [_LT_LANG(CXX)],
+ [Go], [_LT_LANG(GO)],
+ [Java], [_LT_LANG(GCJ)],
+ [Fortran 77], [_LT_LANG(F77)],
+ [Fortran], [_LT_LANG(FC)],
+ [Windows Resource], [_LT_LANG(RC)],
+ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+ [_LT_LANG($1)],
+ [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+ [LT_SUPPORTED_TAG([$1])dnl
+ m4_append([_LT_TAGS], [$1 ])dnl
+ m4_define([_LT_LANG_]$1[_enabled], [])dnl
+ _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+m4_ifndef([AC_PROG_GO], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_GO. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC], [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+ if test -n "$ac_tool_prefix"; then
+ AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+ fi
+fi
+if test -z "$GOC"; then
+ AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [LT_LANG(CXX)],
+ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [LT_LANG(F77)],
+ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+ [LT_LANG(FC)],
+ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [m4_ifdef([AC_PROG_GCJ],
+ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([A][M_PROG_GCJ],
+ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([LT_PROG_GCJ],
+ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+ [LT_LANG(GO)],
+ [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+ [LT_LANG(RC)],
+ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+ case $host_os in
+ rhapsody* | darwin*)
+ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+ AC_CHECK_TOOL([LIPO], [lipo], [:])
+ AC_CHECK_TOOL([OTOOL], [otool], [:])
+ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+ _LT_DECL([], [DSYMUTIL], [1],
+ [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+ _LT_DECL([], [NMEDIT], [1],
+ [Tool to change global to local symbols on Mac OS X])
+ _LT_DECL([], [LIPO], [1],
+ [Tool to manipulate fat objects and archives on Mac OS X])
+ _LT_DECL([], [OTOOL], [1],
+ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+ _LT_DECL([], [OTOOL64], [1],
+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+ [lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi])
+
+ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+ [lt_cv_ld_exported_symbols_list],
+ [lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [lt_cv_ld_exported_symbols_list=yes],
+ [lt_cv_ld_exported_symbols_list=no])
+ LDFLAGS="$save_LDFLAGS"
+ ])
+
+ AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+ [lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+ echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+ $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+ echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+ $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+ ])
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+ [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=func_echo_all
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ m4_if([$1], [CXX],
+[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ fi
+],[])
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
+# ----------------------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+# Store the results from the different compilers for each TAGNAME.
+# Allow to override them for all tags through lt_cv_aix_libpath.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
+ lt_aix_libpath_sed='[
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }]'
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi],[])
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
+ fi
+ ])
+ aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
+fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
+
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script which will find a shell with a builtin
+# printf (which we can use as an echo command).
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
+else
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
+case "$ECHO" in
+ printf*) AC_MSG_RESULT([printf]) ;;
+ print*) AC_MSG_RESULT([print -r]) ;;
+ *) AC_MSG_RESULT([cat]) ;;
+esac
+
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test "X`printf %s $ECHO`" = "X$ECHO" \
+ || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
+
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_WITH_SYSROOT
+# ----------------
+AC_DEFUN([_LT_WITH_SYSROOT],
+[AC_MSG_CHECKING([for sysroot])
+AC_ARG_WITH([sysroot],
+[ --with-sysroot[=DIR] Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).],
+[], [with_sysroot=no])
+
+dnl lt_sysroot will always be passed unquoted. We quote it here
+dnl in case the user passed a directory name.
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+ AC_MSG_RESULT([${with_sysroot}])
+ AC_MSG_ERROR([The sysroot must be an absolute path.])
+ ;;
+esac
+
+ AC_MSG_RESULT([${lt_sysroot:-no}])
+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
+[dependent libraries, and in which our libraries should be installed.])])
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+ [AS_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ powerpc64le-*linux*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ powerpcle-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_LANG_PUSH(C)
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_POP])
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*)
+ case $host in
+ i?86-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD="${LD-ld}_sol2"
+ fi
+ ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks="$enable_libtool_lock"
+])# _LT_ENABLE_LOCK
+
+
+# _LT_PROG_AR
+# -----------
+m4_defun([_LT_PROG_AR],
+[AC_CHECK_TOOLS(AR, [ar], false)
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+ [lt_cv_ar_at_file=no
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
+ [echo conftest.$ac_objext > conftest.lst
+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([lt_ar_try])
+ if test "$ac_status" -eq 0; then
+ # Ensure the archiver fails upon bogus file names.
+ rm -f conftest.$ac_objext libconftest.a
+ AC_TRY_EVAL([lt_ar_try])
+ if test "$ac_status" -ne 0; then
+ lt_cv_ar_at_file=@
+ fi
+ fi
+ rm -f conftest.* libconftest.a
+ ])
+ ])
+
+if test "x$lt_cv_ar_at_file" = xno; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
+_LT_DECL([], [archiver_list_spec], [1],
+ [How to feed a file listing to the archiver])
+])# _LT_PROG_AR
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[_LT_PROG_AR
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+ [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
+
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
+esac
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+ [Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+ [Whether to use a lock for old archive extraction])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$3"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ fi
+ $RM conftest*
+])
+
+if test x"[$]$2" = xyes; then
+ m4_if([$5], , :, [$5])
+else
+ m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $3"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&AS_MESSAGE_LOG_FD
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ else
+ $2=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+ m4_if([$4], , :, [$4])
+else
+ m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+ AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+ [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+ [$4]
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+[#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}]
+_LT_EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_dlunknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
+ fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ])
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen="shl_load"],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen="dlopen"],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+ [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+ [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+ [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ fi
+ fi
+ chmod u+w . 2>&AS_MESSAGE_LOG_FD
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+ [Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links="nottested"
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ AC_MSG_CHECKING([if we can lock with hard links])
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ AC_MSG_RESULT([$hard_links])
+ if test "$hard_links" = no; then
+ AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+ [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+ [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+ test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+ test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+ test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+ # Linking always hardcodes the temporary library directory.
+ _LT_TAGVAR(hardcode_action, $1)=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ _LT_TAGVAR(hardcode_action, $1)=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+ test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+ [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ;;
+ esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+ [], [
+if test "$GCC" = yes; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
+ *) lt_sed_strip_eq="s,=/,/,g" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix[[4-9]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[[45]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='${libname}.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec="$LIB"
+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
+ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[[23]].*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2.*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
+
+interix[[3-9]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+
+ # Some binutils ld are patched to set DT_RUNPATH
+ AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+ [lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+ [lt_cv_shlibpath_overrides_runpath=yes])])
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+ ])
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Add ABI-specific directories to the system library path.
+ sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[[89]] | openbsd2.[[89]].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+ [Variables whose values should be saved in libtool wrapper scripts and
+ restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+ [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+ [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+ [[List of archive names. First name is the real one, the rest are links.
+ The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+ [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+ [Permission mode override for installation of shared libraries])
+_LT_DECL([], [postinstall_cmds], [2],
+ [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+ [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+ [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+ [[As "finish_cmds", except a single script fragment to be evaled but
+ not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+ [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+ [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+ [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program which can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] | ?:[\\/]*])
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word. This closes a longstanding sh security hole.
+ ac_dummy="m4_if([$2], , $PATH, [$2])"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$1; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ AC_MSG_RESULT($MAGIC_CMD)
+else
+ AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program which can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
+
+AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+# -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+ lt_cv_ld_reload_flag,
+ [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ if test "$GCC" != yes; then
+ reload_cmds=false
+ fi
+ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_TAGDECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[[45]]*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+ if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+haiku*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[[3-9]]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+])
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+ case $host_os in
+ mingw* | pw32*)
+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+ want_nocaseglob=yes
+ else
+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
+ fi
+ ;;
+ esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+ [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+ [Command to use when deplibs_check_method = "file_magic"])
+_LT_DECL([], [file_magic_glob], [1],
+ [How to find potential files when deplibs_check_method = "file_magic"])
+_LT_DECL([], [want_nocaseglob], [1],
+ [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ : ${lt_cv_path_NM=no}
+fi])
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+ case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
+ fi
+ AC_SUBST([DUMPBIN])
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+ [lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
+ cat conftest.out >&AS_MESSAGE_LOG_FD
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+# --------------------------------
+# how to determine the name of the shared library
+# associated with a specific link library.
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+m4_require([_LT_DECL_DLLTOOL])
+AC_CACHE_CHECK([how to associate runtime and link libraries],
+lt_cv_sharedlib_from_linklib_cmd,
+[lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+ # two different shell functions defined in ltmain.sh
+ # decide which to use based on capabilities of $DLLTOOL
+ case `$DLLTOOL --help 2>&1` in
+ *--identify-strict*)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+ ;;
+ *)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+ ;;
+ esac
+ ;;
+*)
+ # fallback: assume linklib IS sharedlib
+ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ ;;
+esac
+])
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
+ [Command to associate shared and link libraries])
+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+
+
+# _LT_PATH_MANIFEST_TOOL
+# ----------------------
+# locate the manifest tool
+m4_defun([_LT_PATH_MANIFEST_TOOL],
+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
+ [lt_cv_path_mainfest_tool=no
+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
+ fi
+ rm -f conftest*])
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+ MANIFEST_TOOL=:
+fi
+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
+])# _LT_PATH_MANIFEST_TOOL
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
+ # These system don't have libm, or don't need it
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, cos, LIBM="-lm")
+ ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+ case $cc_basename in
+ nvcc*)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+ esac
+
+ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ lt_cv_prog_compiler_rtti_exceptions,
+ [-fno-rtti -fno-exceptions], [],
+ [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+ [Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[[ABCDEGRST]]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
+ ;;
+solaris*)
+ symcode='[[BDRT]]'
+ ;;
+sco3.2v5*)
+ symcode='[[DT]]'
+ ;;
+sysv4.2uw2*)
+ symcode='[[DT]]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[[ABDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK ['"\
+" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx]"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT@&t@_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT@&t@_DLSYM_CONST
+#else
+# define LT@&t@_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+LT@&t@_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_globsym_save_LIBS=$LIBS
+ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS=$lt_globsym_save_LIBS
+ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ AC_MSG_RESULT(failed)
+else
+ AC_MSG_RESULT(ok)
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
+ nm_file_list_spec='@'
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+ [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+ [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_c_name_address],
+ [lt_cv_sys_global_symbol_to_c_name_address], [1],
+ [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+ [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+ [Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([], [nm_file_list_spec], [1],
+ [Specify filename containing input files for $NM])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+m4_if([$1], [CXX], [
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix[[4-9]]*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ fi
+ ;;
+ aCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+ # IBM XL 8.0, 9.0 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd*)
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+],
+[
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+ if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+ fi
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC (with -KPIC) is the default.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+ ;;
+ nagfor*)
+ # NAG Fortran compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ ccc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All Alpha code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ *Sun\ F* | *Sun*Fortran*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ *Sun\ C*)
+ # Sun C 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ *Intel*\ [[CF]]*Compiler*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ *Portland\ Group*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All OSF/1 code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ rdos*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ unicos*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+])
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+ ;;
+esac
+
+AC_CACHE_CHECK([for $compiler option to produce PIC],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+ [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+ [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+ "" | " "*) ;;
+ *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+ esac],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+ [Additional compiler flags for building library objects])
+
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+ [How to pass a linker flag through the compiler])
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+ _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+ $lt_tmp_static_flag,
+ [],
+ [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+ [Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ case $host_os in
+ aix[[4-9]]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global defined
+ # symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ ;;
+ cygwin* | mingw* | cegcc*)
+ case $cc_basename in
+ cl*)
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+ ;;
+ esac
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+], [
+ runpath_var=
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)=
+ _LT_TAGVAR(archive_expsym_cmds, $1)=
+ _LT_TAGVAR(compiler_needs_object, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(hardcode_automatic, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(inherit_rpath, $1)=no
+ _LT_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_TAGVAR(module_cmds, $1)=
+ _LT_TAGVAR(module_expsym_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+ _LT_TAGVAR(thread_safe_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ _LT_TAGVAR(include_expsyms, $1)=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
+ if test "$with_gnu_ld" = yes; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+ *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+
+ if test "$lt_use_gnu_ld_interface" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[[3-9]]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ tmp_sharedflag='--shared' ;;
+ xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ xlf* | bgf* | bgxlf* | mpixlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+
+ if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+ runpath_var=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global
+ # defined symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[[45]]*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ case $cc_basename in
+ cl*)
+ # Native MSVC
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # Assume MSVC wrapper
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ # FIXME: Should let the user specify the lib program.
+ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+ esac
+ ;;
+
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2.*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ m4_if($1, [], [
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ _LT_LINKER_OPTION([if $CC understands -b],
+ _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+ [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ # This should be the same for all languages, so no per-tag cache variable.
+ AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
+ [lt_cv_irix_exported_symbol],
+ [save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ AC_LINK_IFELSE(
+ [AC_LANG_SOURCE(
+ [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
+ [C++], [[int foo (void) { return 0; }]],
+ [Fortran 77], [[
+ subroutine foo
+ end]],
+ [Fortran], [[
+ subroutine foo
+ end]])])],
+ [lt_cv_irix_exported_symbol=yes],
+ [lt_cv_irix_exported_symbol=no])
+ LDFLAGS="$save_LDFLAGS"])
+ if test "$lt_cv_irix_exported_symbol" = yes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ fi
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ else
+ case $host_os in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ ;;
+ motorola)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4.3*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+ [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+ # Assume -lc should be added
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $_LT_TAGVAR(archive_cmds, $1) in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_CACHE_CHECK([whether -lc should be explicitly linked in],
+ [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+ [$RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+ then
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ ])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+ [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+ [enable_shared_with_static_runtimes], [0],
+ [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+ [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+ [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+ [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+ [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+ [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+ [Commands used to build a loadable module if different from building
+ a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+ [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+ [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+ [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+ [Flag to hardcode $libdir into a binary during linking.
+ This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+ [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary and the resulting library dependency is
+ "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+ library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+ [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+ [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+ [Set to "yes" if building a shared library automatically hardcodes DIR
+ into the library and all subsequent libraries and executables linked
+ against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+ [Set to yes if linker adds runtime paths of dependent libraries
+ to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+ [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [always_export_symbols], [0],
+ [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+ [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+ [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+ [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+ [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [postlink_cmds], [2],
+ [Commands necessary for finishing linking programs])
+_LT_TAGDECL([], [file_list_spec], [1],
+ [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+ LT_SYS_DLOPEN_SELF
+ _LT_CMD_STRIPLIB
+
+ # Report which library types will actually be built
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC="$lt_save_CC"
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ AC_PROG_CXXCPP
+else
+ _lt_caught_CXX_error=yes
+fi
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_CFLAGS=$CFLAGS
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ CFLAGS=$CXXFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+ else
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+ fi
+
+ if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+ LT_PATH_LD
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+ fi
+
+ # PORTME: fill in a description of your system's C++ link characteristics
+ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared
+ # libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $GXX,$cc_basename in
+ ,cl* | no,cl*)
+ # Native MSVC
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # g++
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ freebsd2.*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ freebsd-elf*)
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ gnu*)
+ ;;
+
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ hpux9*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ fi
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+ esac
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
+ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
+ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 and above use weak symbols
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+ ;;
+ xl* | mpixl* | bgxl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ m88k*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+
+ *nto* | *qnx*)
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ openbsd2*)
+ # C++ shared libraries are fairly broken
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=func_echo_all
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
+ $RM $lib.exp'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ case $host in
+ osf3*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ psos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ fi
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+ '"$_LT_TAGVAR(old_archive_cmds, $1)"
+ _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+ '"$_LT_TAGVAR(reload_cmds, $1)"
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+ test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+ _LT_TAGVAR(GCC, $1)="$GXX"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_FUNC_STRIPNAME_CNF
+# ----------------------
+# func_stripname_cnf prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+#
+# This function is identical to the (non-XSI) version of func_stripname,
+# except this one can be used by m4 code that may be executed by configure,
+# rather than the libtool script.
+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
+AC_REQUIRE([_LT_DECL_SED])
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
+func_stripname_cnf ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ esac
+} # func_stripname_cnf
+])# _LT_FUNC_STRIPNAME_CNF
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library. It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer*4 a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+ private int a;
+ public void bar (void) {
+ a = 0;
+ }
+};
+_LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
+])
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case ${prev}${p} in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+ test $p = "-R"; then
+ prev=$p
+ continue
+ fi
+
+ # Expand the sysroot to ease extracting the directories later.
+ if test -z "$prev"; then
+ case $p in
+ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+ esac
+ fi
+ case $p in
+ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+ esac
+ if test "$pre_test_object_deps_done" = no; then
+ case ${prev} in
+ -L | -R)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+ _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+ fi
+ fi
+ prev=
+ ;;
+
+ *.lto.$objext) ;; # Ignore GCC LTO objects
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+ _LT_TAGVAR(predep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+ fi
+ else
+ if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+ _LT_TAGVAR(postdep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ _LT_TAGVAR(predep_objects,$1)=
+ _LT_TAGVAR(postdep_objects,$1)=
+ _LT_TAGVAR(postdeps,$1)=
+ ;;
+
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ # Adding this requires a known-good setup of shared libraries for
+ # Sun compiler versions before 5.6, else PIC objects from an old
+ # archive will be linked into the output, leading to subtle bugs.
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+ [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+ [Dependencies to place before and after the objects being linked to
+ create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+ [The library search path used internally by the compiler when linking
+ a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test "X$F77" = "Xno"; then
+ _lt_disable_F77=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_F77" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${F77-"f77"}
+ CFLAGS=$FFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+ GCC=$G77
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$G77"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC="$lt_save_CC"
+ CFLAGS="$lt_save_CFLAGS"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test "X$FC" = "Xno"; then
+ _lt_disable_FC=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_FC" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${FC-"f95"}
+ CFLAGS=$FCFLAGS
+ compiler=$CC
+ GCC=$ac_cv_fc_compiler_gnu
+
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+fi # test "$_lt_disable_FC" != yes
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+CFLAGS=$GCJFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+CFLAGS=
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+ :
+ _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+ [AC_CHECK_TOOL(GCJ, gcj,)
+ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+ AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+# _LT_DECL_DLLTOOL
+# ----------------
+# Ensure DLLTOOL variable is set.
+m4_defun([_LT_DECL_DLLTOOL],
+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
+AC_SUBST([DLLTOOL])
+])
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+ [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_SED. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for lt_ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+ test ! -f $lt_ac_sed && continue
+ cat /dev/null > conftest.in
+ lt_ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+ # Check for GNU sed and select it if it is found.
+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+ lt_cv_path_SED=$lt_ac_sed
+ break
+ fi
+ while true; do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo >>conftest.nl
+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+ cmp -s conftest.out conftest.nl || break
+ # 10000 chars as input seems more than enough
+ test $lt_ac_count -gt 10 && break
+ lt_ac_count=`expr $lt_ac_count + 1`
+ if test $lt_ac_count -gt $lt_ac_max; then
+ lt_ac_max=$lt_ac_count
+ lt_cv_path_SED=$lt_ac_sed
+ fi
+ done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+AC_MSG_RESULT([$xsi_shell])
+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
+AC_MSG_CHECKING([whether the shell understands "+="])
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+AC_MSG_RESULT([$lt_shell_append])
+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
+# ------------------------------------------------------
+# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
+# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
+m4_defun([_LT_PROG_FUNCTION_REPLACE],
+[dnl {
+sed -e '/^$1 ()$/,/^} # $1 /c\
+$1 ()\
+{\
+m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
+} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+])
+
+
+# _LT_PROG_REPLACE_SHELLFNS
+# -------------------------
+# Replace existing portable implementations of several shell functions with
+# equivalent extended shell implementations where those features are available..
+m4_defun([_LT_PROG_REPLACE_SHELLFNS],
+[if test x"$xsi_shell" = xyes; then
+ _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac])
+
+ _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
+ func_basename_result="${1##*/}"])
+
+ _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+ func_basename_result="${1##*/}"])
+
+ _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary parameter first.
+ func_stripname_result=${3}
+ func_stripname_result=${func_stripname_result#"${1}"}
+ func_stripname_result=${func_stripname_result%"${2}"}])
+
+ _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
+ func_split_long_opt_name=${1%%=*}
+ func_split_long_opt_arg=${1#*=}])
+
+ _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
+ func_split_short_opt_arg=${1#??}
+ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
+
+ _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
+ case ${1} in
+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+ *) func_lo2o_result=${1} ;;
+ esac])
+
+ _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
+
+ _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
+
+ _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
+fi
+
+if test x"$lt_shell_append" = xyes; then
+ _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
+
+ _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
+ func_quote_for_eval "${2}"
+dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
+ eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
+
+ # Save a `func_append' function call where possible by direct use of '+='
+ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+else
+ # Save a `func_append' function call even when '+=' is not available
+ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+fi
+
+if test x"$_lt_function_replace_fail" = x":"; then
+ AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
+fi
+])
+
+# _LT_PATH_CONVERSION_FUNCTIONS
+# -----------------------------
+# Determine which file name conversion functions should be used by
+# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
+# for certain cross-compile configurations and native mingw.
+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_MSG_CHECKING([how to convert $build file names to $host format])
+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
+[case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+ ;;
+ esac
+ ;;
+ *-*-cygwin* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+ ;;
+ esac
+ ;;
+ * ) # unhandled hosts (and "normal" native builds)
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+esac
+])
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
+ [0], [convert $build file names to $host format])dnl
+
+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
+[#assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
+])
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+ [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
new file mode 100644
index 00000000..5d9acd8e
--- /dev/null
+++ b/m4/ltoptions.m4
@@ -0,0 +1,384 @@
+# Helper functions for option handling. -*- Autoconf -*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 7 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it. Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+ _LT_MANGLE_DEFUN([$1], [$2]),
+ [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+ [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME. If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+ dnl
+ dnl Simply set some default values (i.e off) if boolean options were not
+ dnl specified:
+ _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+ ])
+ _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+ ])
+ dnl
+ dnl If no reference was made to various pairs of opposing options, then
+ dnl we run the default mode handler for the pair. For example, if neither
+ dnl `shared' nor `disable-shared' was passed, we enable building of shared
+ dnl archives by default:
+ _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+ _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+ [_LT_ENABLE_FAST_INSTALL])
+ ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS], [1], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+ [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+ [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+ _LT_DECL([build_libtool_libs], [enable_shared], [0],
+ [Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+ [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+ [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+ _LT_DECL([build_old_libs], [enable_static], [0],
+ [Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+ [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+ [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+ [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+ [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+ [lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for lt_pkg in $withval; do
+ IFS="$lt_save_ifs"
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+ [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+ [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+ [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+ [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+ [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
new file mode 100644
index 00000000..9000a057
--- /dev/null
+++ b/m4/ltsugar.m4
@@ -0,0 +1,123 @@
+# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+ [$#], [2], [[$2]],
+ [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+ [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+ [$#], 1, [],
+ [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+ m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+ [m4_foreach([_Lt_suffix],
+ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+ [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+ [lt_append([$1], [$2], [$3])$4],
+ [$5])],
+ [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+ m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+ m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+ [$5],
+ [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+ [lt_join(m4_quote(m4_default([$4], [[, ]])),
+ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+ [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
new file mode 100644
index 00000000..07a8602d
--- /dev/null
+++ b/m4/ltversion.m4
@@ -0,0 +1,23 @@
+# ltversion.m4 -- version numbers -*- Autoconf -*-
+#
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# @configure_input@
+
+# serial 3337 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.4.2])
+m4_define([LT_PACKAGE_REVISION], [1.3337])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.4.2'
+macro_revision='1.3337'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
new file mode 100644
index 00000000..c573da90
--- /dev/null
+++ b/m4/lt~obsolete.m4
@@ -0,0 +1,98 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 5 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else. This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
diff --git a/m4/pkg.m4 b/m4/pkg.m4
new file mode 100644
index 00000000..c5b26b52
--- /dev/null
+++ b/m4/pkg.m4
@@ -0,0 +1,214 @@
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
+#
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists. Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_default([$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ],
+ [pkg_failed=yes])
+ else
+ pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ AC_MSG_RESULT([no])
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])[]dnl
+ ])
+elif test $pkg_failed = untried; then
+ AC_MSG_RESULT([no])
+ m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+ ])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ $3
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+
+# PKG_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable pkgconfigdir as the location where a module
+# should install pkg-config .pc files. By default the directory is
+# $libdir/pkgconfig, but the default can be changed by passing
+# DIRECTORY. The user can override through the --with-pkgconfigdir
+# parameter.
+AC_DEFUN([PKG_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+ [pkg-config installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([pkgconfigdir],
+ [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
+ [with_pkgconfigdir=]pkg_default)
+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_INSTALLDIR
+
+
+# PKG_NOARCH_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable noarch_pkgconfigdir as the location where a
+# module should install arch-independent pkg-config .pc files. By
+# default the directory is $datadir/pkgconfig, but the default can be
+# changed by passing DIRECTORY. The user can override through the
+# --with-noarch-pkgconfigdir parameter.
+AC_DEFUN([PKG_NOARCH_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+ [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([noarch-pkgconfigdir],
+ [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
+ [with_noarch_pkgconfigdir=]pkg_default)
+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_NOARCH_INSTALLDIR
+
+
+# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -------------------------------------------
+# Retrieves the value of the pkg-config variable for the given module.
+AC_DEFUN([PKG_CHECK_VAR],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
+
+_PKG_CONFIG([$1], [variable="][$3]["], [$2])
+AS_VAR_COPY([$1], [pkg_cv_][$1])
+
+AS_VAR_IF([$1], [""], [$5], [$4])dnl
+])# PKG_CHECK_VAR
diff --git a/missing b/missing
new file mode 100755
index 00000000..db98974f
--- /dev/null
+++ b/missing
@@ -0,0 +1,215 @@
+#! /bin/sh
+# Common wrapper for a few potentially missing GNU programs.
+
+scriptversion=2013-10-28.13; # UTC
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try '$0 --help' for more information"
+ exit 1
+fi
+
+case $1 in
+
+ --is-lightweight)
+ # Used by our autoconf macros to check whether the available missing
+ # script is modern enough.
+ exit 0
+ ;;
+
+ --run)
+ # Back-compat with the calling convention used by older automake.
+ shift
+ ;;
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+
+Supported PROGRAM values:
+ aclocal autoconf autoheader autom4te automake makeinfo
+ bison yacc flex lex help2man
+
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
+
+Send bug reports to <bug-automake@gnu.org>."
+ exit $?
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing $scriptversion (GNU Automake)"
+ exit $?
+ ;;
+
+ -*)
+ echo 1>&2 "$0: unknown '$1' option"
+ echo 1>&2 "Try '$0 --help' for more information"
+ exit 1
+ ;;
+
+esac
+
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch. This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+ msg="probably too old"
+elif test $st -eq 127; then
+ # Program was missing.
+ msg="missing on your system"
+else
+ # Program was found and executed, but failed. Give up.
+ exit $st
+fi
+
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+ case $1 in
+ aclocal|automake)
+ echo "The '$1' program is part of the GNU Automake package:"
+ echo "<$gnu_software_URL/automake>"
+ echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/autoconf>"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ autoconf|autom4te|autoheader)
+ echo "The '$1' program is part of the GNU Autoconf package:"
+ echo "<$gnu_software_URL/autoconf/>"
+ echo "It also requires GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ esac
+}
+
+give_advice ()
+{
+ # Normalize program name to check for.
+ normalized_program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+ printf '%s\n' "'$1' is $msg."
+
+ configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+ case $normalized_program in
+ autoconf*)
+ echo "You should only need it if you modified 'configure.ac',"
+ echo "or m4 files included by it."
+ program_details 'autoconf'
+ ;;
+ autoheader*)
+ echo "You should only need it if you modified 'acconfig.h' or"
+ echo "$configure_deps."
+ program_details 'autoheader'
+ ;;
+ automake*)
+ echo "You should only need it if you modified 'Makefile.am' or"
+ echo "$configure_deps."
+ program_details 'automake'
+ ;;
+ aclocal*)
+ echo "You should only need it if you modified 'acinclude.m4' or"
+ echo "$configure_deps."
+ program_details 'aclocal'
+ ;;
+ autom4te*)
+ echo "You might have modified some maintainer files that require"
+ echo "the 'autom4te' program to be rebuilt."
+ program_details 'autom4te'
+ ;;
+ bison*|yacc*)
+ echo "You should only need it if you modified a '.y' file."
+ echo "You may want to install the GNU Bison package:"
+ echo "<$gnu_software_URL/bison/>"
+ ;;
+ lex*|flex*)
+ echo "You should only need it if you modified a '.l' file."
+ echo "You may want to install the Fast Lexical Analyzer package:"
+ echo "<$flex_URL>"
+ ;;
+ help2man*)
+ echo "You should only need it if you modified a dependency" \
+ "of a man page."
+ echo "You may want to install the GNU Help2man package:"
+ echo "<$gnu_software_URL/help2man/>"
+ ;;
+ makeinfo*)
+ echo "You should only need it if you modified a '.texi' file, or"
+ echo "any other file indirectly affecting the aspect of the manual."
+ echo "You might want to install the Texinfo package:"
+ echo "<$gnu_software_URL/texinfo/>"
+ echo "The spurious makeinfo call might also be the consequence of"
+ echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+ echo "want to install GNU make:"
+ echo "<$gnu_software_URL/make/>"
+ ;;
+ *)
+ echo "You might have modified some files without having the proper"
+ echo "tools for further handling them. Check the 'README' file, it"
+ echo "often tells you about the needed prerequisites for installing"
+ echo "this package. You may also peek at any GNU archive site, in"
+ echo "case some other package contains this missing '$1' program."
+ ;;
+ esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+ -e '2,$s/^/ /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/src/Makefile.am b/src/Makefile.am
index 066cc03e..3757cf8f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -139,7 +139,6 @@ libfontconfig_la_SOURCES = \
fcformat.c \
fcfreetype.c \
fcfs.c \
- fchash.c \
fcinit.c \
fclang.c \
fclist.c \
@@ -151,9 +150,11 @@ libfontconfig_la_SOURCES = \
fcobjs.h \
fcobjshash.h \
fcpat.c \
+ fcrange.c \
fcserialize.c \
fcstat.c \
fcstr.c \
+ fcweight.c \
fcwindows.h \
fcxml.c \
ftglue.h \
diff --git a/src/Makefile.in b/src/Makefile.in
new file mode 100644
index 00000000..f54e08af
--- /dev/null
+++ b/src/Makefile.in
@@ -0,0 +1,929 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+# fontconfig/src/Makefile.am
+#
+# Copyright © 2003 Keith Packard
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+
+
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = fcarch$(EXEEXT)
+subdir = src
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp $(noinst_HEADERS)
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(libdir)"
+LTLIBRARIES = $(lib_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+am_libfontconfig_la_OBJECTS = fcatomic.lo fcblanks.lo fccache.lo \
+ fccfg.lo fccharset.lo fccompat.lo fcdbg.lo fcdefault.lo \
+ fcdir.lo fcformat.lo fcfreetype.lo fcfs.lo fcinit.lo fclang.lo \
+ fclist.lo fcmatch.lo fcmatrix.lo fcname.lo fcobjs.lo fcpat.lo \
+ fcrange.lo fcserialize.lo fcstat.lo fcstr.lo fcweight.lo \
+ fcxml.lo ftglue.lo
+libfontconfig_la_OBJECTS = $(am_libfontconfig_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+libfontconfig_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libfontconfig_la_LDFLAGS) $(LDFLAGS) \
+ -o $@
+PROGRAMS = $(noinst_PROGRAMS)
+fcarch_SOURCES = fcarch.c
+fcarch_OBJECTS = fcarch.$(OBJEXT)
+fcarch_LDADD = $(LDADD)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(libfontconfig_la_SOURCES) fcarch.c
+DIST_SOURCES = $(libfontconfig_la_SOURCES) fcarch.c
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+DATA = $(noinst_DATA)
+HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = makealias fcobjshash.gperf.h fcobjshash.gperf \
+ fcobjshash.h
+@OS_WIN32_TRUE@export_symbols = -export-symbols fontconfig.def
+@OS_WIN32_FALSE@fontconfig_def_dependency =
+@OS_WIN32_TRUE@fontconfig_def_dependency = fontconfig.def
+
+# Microsoft import library install/uninstall
+@MS_LIB_AVAILABLE_TRUE@noinst_DATA = fontconfig.lib
+AM_CPPFLAGS = \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/src \
+ $(FREETYPE_CFLAGS) \
+ $(ICONV_CFLAGS) \
+ $(LIBXML2_CFLAGS) \
+ $(EXPAT_CFLAGS) \
+ $(WARN_CFLAGS) \
+ -DFC_CACHEDIR='"$(FC_CACHEDIR)"' \
+ -DFONTCONFIG_PATH='"$(BASECONFIGDIR)"'
+
+noinst_HEADERS = fcint.h fcftint.h fcdeprecate.h fcstdint.h
+ALIAS_FILES = fcalias.h fcaliastail.h fcftalias.h fcftaliastail.h
+BUILT_SOURCES = $(ALIAS_FILES) \
+ ../fc-case/fccase.h \
+ ../fc-glyphname/fcglyphname.h \
+ ../fc-lang/fclang.h \
+ stamp-fcstdint \
+ fcobjshash.h \
+ fcobjshash.gperf
+
+libfontconfig_la_SOURCES = \
+ fcarch.h \
+ fcatomic.c \
+ fcatomic.h \
+ fcblanks.c \
+ fccache.c \
+ fccfg.c \
+ fccharset.c \
+ fccompat.c \
+ fcdbg.c \
+ fcdefault.c \
+ fcdir.c \
+ fcformat.c \
+ fcfreetype.c \
+ fcfs.c \
+ fcinit.c \
+ fclang.c \
+ fclist.c \
+ fcmatch.c \
+ fcmatrix.c \
+ fcmutex.h \
+ fcname.c \
+ fcobjs.c \
+ fcobjs.h \
+ fcobjshash.h \
+ fcpat.c \
+ fcrange.c \
+ fcserialize.c \
+ fcstat.c \
+ fcstr.c \
+ fcweight.c \
+ fcwindows.h \
+ fcxml.c \
+ ftglue.h \
+ ftglue.c
+
+lib_LTLIBRARIES = libfontconfig.la
+libfontconfig_la_LDFLAGS = \
+ -version-info @LIBT_VERSION_INFO@ -no-undefined $(export_symbols)
+
+libfontconfig_la_LIBADD = $(ICONV_LIBS) $(FREETYPE_LIBS) $(LIBXML2_LIBS) $(EXPAT_LIBS)
+libfontconfig_la_DEPENDENCIES = $(fontconfig_def_dependency)
+PUBLIC_FILES = \
+ $(top_srcdir)/fontconfig/fontconfig.h \
+ $(top_srcdir)/src/fcdeprecate.h \
+ $(top_srcdir)/fontconfig/fcprivate.h
+
+PUBLIC_FT_FILES = \
+ $(top_srcdir)/fontconfig/fcfreetype.h
+
+CLEANFILES = $(ALIAS_FILES) fontconfig.def
+DISTCLEANFILES = stamp-fcstdint fcstdint.h
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
+ done
+
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+libfontconfig.la: $(libfontconfig_la_OBJECTS) $(libfontconfig_la_DEPENDENCIES) $(EXTRA_libfontconfig_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libfontconfig_la_LINK) -rpath $(libdir) $(libfontconfig_la_OBJECTS) $(libfontconfig_la_LIBADD) $(LIBS)
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+fcarch$(EXEEXT): $(fcarch_OBJECTS) $(fcarch_DEPENDENCIES) $(EXTRA_fcarch_DEPENDENCIES)
+ @rm -f fcarch$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fcarch_OBJECTS) $(fcarch_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcarch.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcatomic.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcblanks.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fccache.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fccfg.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fccharset.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fccompat.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcdbg.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcdefault.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcdir.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcformat.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcfreetype.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcinit.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fclang.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fclist.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcmatch.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcmatrix.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcname.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcobjs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcpat.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcrange.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcserialize.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcstat.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcstr.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcweight.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcxml.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftglue.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS)
+installdirs:
+ for dir in "$(DESTDIR)$(libdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+@ENABLE_SHARED_FALSE@uninstall-local:
+@ENABLE_SHARED_FALSE@install-data-local:
+clean: clean-am
+
+clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
+ clean-noinstPROGRAMS mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-libLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-libLTLIBRARIES uninstall-local
+
+.MAKE: all check install install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool clean-noinstPROGRAMS \
+ cscopelist-am ctags ctags-am distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-data-local install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am \
+ install-libLTLIBRARIES install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES \
+ uninstall-local
+
+
+# gcc import library install/uninstall
+
+@OS_WIN32_TRUE@install-libtool-import-lib: libfontconfig.la
+@OS_WIN32_TRUE@ $(MKDIR_P) $(DESTDIR)$(libdir)
+@OS_WIN32_TRUE@ $(INSTALL) .libs/libfontconfig.dll.a $(DESTDIR)$(libdir)/libfontconfig.dll.a
+@OS_WIN32_TRUE@ $(INSTALL) fontconfig.def $(DESTDIR)$(libdir)/fontconfig.def
+
+@OS_WIN32_TRUE@uninstall-libtool-import-lib:
+@OS_WIN32_TRUE@ $(RM) $(DESTDIR)$(libdir)/libfontconfig.dll.a $(DESTDIR)$(libdir)/fontconfig.def
+
+@OS_WIN32_FALSE@install-libtool-import-lib:
+@OS_WIN32_FALSE@uninstall-libtool-import-lib:
+
+@MS_LIB_AVAILABLE_TRUE@fontconfig.lib : libfontconfig.la
+@MS_LIB_AVAILABLE_TRUE@ lib -name:libfontconfig-@LIBT_CURRENT_MINUS_AGE@.dll -def:fontconfig.def -out:$@
+
+@MS_LIB_AVAILABLE_TRUE@install-ms-import-lib:
+@MS_LIB_AVAILABLE_TRUE@ $(INSTALL) fontconfig.lib $(DESTDIR)$(libdir)
+
+@MS_LIB_AVAILABLE_TRUE@uninstall-ms-import-lib:
+@MS_LIB_AVAILABLE_TRUE@ $(RM) $(DESTDIR)$(libdir)/fontconfig.lib
+
+@MS_LIB_AVAILABLE_FALSE@install-ms-import-lib:
+@MS_LIB_AVAILABLE_FALSE@uninstall-ms-import-lib:
+
+../fc-case/fccase.h:
+ cd ../fc-case && $(MAKE) $(AM_MAKEFLAGS) fccase.h
+../fc-glyphname/fcglyphname.h:
+ cd ../fc-glyphname && $(MAKE) $(AM_MAKEFLAGS) fcglyphname.h
+../fc-lang/fclang.h:
+ cd ../fc-lang && $(MAKE) $(AM_MAKEFLAGS) fclang.h
+
+fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h
+ $(AM_V_GEN) $(CPP) -I$(top_srcdir) $< | \
+ $(SED) 's/^ *//;s/ *, */,/' | \
+ $(GREP) '^[^#]' | \
+ awk ' \
+ /CUT_OUT_BEGIN/ { no_write=1; next; }; \
+ /CUT_OUT_END/ { no_write=0; next; }; \
+ { if (!no_write) print; next; }; \
+ ' - > $@.tmp && \
+ mv -f $@.tmp $@ || ( $(RM) $@.tmp && false )
+
+fcobjshash.h: fcobjshash.gperf
+ $(AM_V_GEN) $(GPERF) -m 100 $< > $@.tmp && \
+ mv -f $@.tmp $@ || ( $(RM) $@.tmp && false )
+
+@ENABLE_SHARED_TRUE@install-data-local: install-ms-import-lib install-libtool-import-lib
+
+@ENABLE_SHARED_TRUE@uninstall-local: uninstall-ms-import-lib uninstall-libtool-import-lib
+
+fcaliastail.h: fcalias.h
+
+fcalias.h: $(top_srcdir)/src/makealias $(PUBLIC_FILES)
+ $(AM_V_GEN) sh $(top_srcdir)/src/makealias "$(top_srcdir)/src" fcalias.h fcaliastail.h $(PUBLIC_FILES)
+
+fcftaliastail.h: fcftalias.h
+
+fcftalias.h: $(top_srcdir)/src/makealias $(PUBLIC_FT_FILES)
+ $(AM_V_GEN) sh $(top_srcdir)/src/makealias "$(top_srcdir)/src" fcftalias.h fcftaliastail.h $(PUBLIC_FT_FILES)
+
+stamp-fcstdint: $(top_builddir)/config.status
+ $(AM_V_GEN) cd $(top_builddir) && \
+ $(SHELL) ./config.status src/fcstdint.h
+ @touch $@
+
+fontconfig.def: $(PUBLIC_FILES) $(PUBLIC_FT_FILES)
+ echo Generating $@
+ (echo EXPORTS; \
+ (cat $(PUBLIC_FILES) $(PUBLIC_FT_FILES) || echo 'FcERROR ()' ) | \
+ $(GREP) '^Fc[^ ]* *(' | $(SED) -e 's/ *(.*$$//' -e 's/^/ /' | \
+ sort; \
+ echo LIBRARY libfontconfig-@LIBT_CURRENT_MINUS_AGE@.dll; \
+ echo VERSION @LIBT_CURRENT@.@LIBT_REVISION@) >$@
+ @ ! $(GREP) -q FcERROR $@ || ($(RM) $@; false)
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/fcarch.c b/src/fcarch.c
index 398f4bbf..4a921c06 100644
--- a/src/fcarch.c
+++ b/src/fcarch.c
@@ -21,10 +21,9 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-#include <stdio.h>
-
#include "fcint.h"
#include "fcarch.h"
+#include <stdio.h>
FC_ASSERT_STATIC (1 == sizeof (char));
FC_ASSERT_STATIC (2 == sizeof (FcChar16));
diff --git a/src/fcatomic.c b/src/fcatomic.c
index c1daed93..2ce419f7 100644
--- a/src/fcatomic.c
+++ b/src/fcatomic.c
@@ -131,7 +131,7 @@ FcAtomicLock (FcAtomic *atomic)
return FcFalse;
}
ret = link ((char *) atomic->tmp, (char *) atomic->lck);
- if (ret < 0 && errno == EPERM)
+ if (ret < 0 && (errno == EPERM || errno == ENOTSUP))
{
/* the filesystem where atomic->lck points to may not supports
* the hard link. so better try to fallback
diff --git a/src/fcatomic.h b/src/fcatomic.h
index 362e5216..cc28a883 100644
--- a/src/fcatomic.h
+++ b/src/fcatomic.h
@@ -48,22 +48,22 @@
#include "fcwindows.h"
-/* mingw32 does not have MemoryBarrier.
- * MemoryBarrier may be defined as a macro or a function.
- * Just make a failsafe version for ourselves. */
-#ifdef MemoryBarrier
-#define HBMemoryBarrier MemoryBarrier
-#else
-static inline void HBMemoryBarrier (void) {
+/* MinGW has a convoluted history of supporting MemoryBarrier
+ * properly. As such, define a function to wrap the whole
+ * thing. */
+static inline void _FCMemoryBarrier (void) {
+#if !defined(MemoryBarrier)
long dummy = 0;
InterlockedExchange (&dummy, 1);
-}
+#else
+ MemoryBarrier ();
#endif
+}
typedef LONG fc_atomic_int_t;
#define fc_atomic_int_add(AI, V) InterlockedExchangeAdd (&(AI), (V))
-#define fc_atomic_ptr_get(P) (HBMemoryBarrier (), (void *) *(P))
+#define fc_atomic_ptr_get(P) (_FCMemoryBarrier (), (void *) *(P))
#define fc_atomic_ptr_cmpexch(P,O,N) (InterlockedCompareExchangePointer ((void **) (P), (void *) (N), (void *) (O)) == (void *) (O))
diff --git a/src/fcblanks.c b/src/fcblanks.c
index 46698bcd..5132a510 100644
--- a/src/fcblanks.c
+++ b/src/fcblanks.c
@@ -41,6 +41,8 @@ FcBlanksCreate (void)
void
FcBlanksDestroy (FcBlanks *b)
{
+ if (b->sblank == -1)
+ return;
if (b->blanks)
free (b->blanks);
free (b);
@@ -56,6 +58,11 @@ FcBlanksAdd (FcBlanks *b, FcChar32 ucs4)
if (b->blanks[sblank] == ucs4)
return FcTrue;
+ if (b->sblank == -1)
+ {
+ fprintf (stderr, "Unable to update the static FcBlanks: 0x%04x\n", ucs4);
+ return FcTrue;
+ }
if (b->nblank == b->sblank)
{
sblank = b->sblank + 32;
@@ -75,11 +82,25 @@ FcBlanksAdd (FcBlanks *b, FcChar32 ucs4)
FcBool
FcBlanksIsMember (FcBlanks *b, FcChar32 ucs4)
{
- int i;
+ int lower = 0, higher = b->nblank, middle;
- for (i = 0; i < b->nblank; i++)
- if (b->blanks[i] == ucs4)
+ if (b->nblank == 0 ||
+ b->blanks[0] > ucs4 ||
+ b->blanks[b->nblank - 1] < ucs4)
+ return FcFalse;
+ while (1)
+ {
+ middle = (lower + higher) / 2;
+ if (b->blanks[middle] == ucs4)
return FcTrue;
+ if (lower >= higher)
+ break;
+ if (b->blanks[middle] < ucs4)
+ lower = middle + 1;
+ else
+ higher = middle - 1;
+ }
+
return FcFalse;
}
#define __fcblanks__
diff --git a/src/fccache.c b/src/fccache.c
index 5173e0be..25538bd7 100644
--- a/src/fccache.c
+++ b/src/fccache.c
@@ -177,19 +177,28 @@ FcDirCacheOpenFile (const FcChar8 *cache_file, struct stat *file_stat)
*/
static FcBool
FcDirCacheProcess (FcConfig *config, const FcChar8 *dir,
- FcBool (*callback) (int fd, struct stat *fd_stat,
+ FcBool (*callback) (FcConfig *config, int fd, struct stat *fd_stat,
struct stat *dir_stat, void *closure),
void *closure, FcChar8 **cache_file_ret)
{
int fd = -1;
FcChar8 cache_base[CACHEBASE_LEN];
FcStrList *list;
- FcChar8 *cache_dir;
+ FcChar8 *cache_dir, *d;
struct stat file_stat, dir_stat;
FcBool ret = FcFalse;
+ const FcChar8 *sysroot = FcConfigGetSysRoot (config);
- if (FcStatChecksum (dir, &dir_stat) < 0)
+ if (sysroot)
+ d = FcStrBuildFilename (sysroot, dir, NULL);
+ else
+ d = FcStrdup (dir);
+ if (FcStatChecksum (d, &dir_stat) < 0)
+ {
+ FcStrFree (d);
return FcFalse;
+ }
+ FcStrFree (d);
FcDirCacheBasename (dir, cache_base);
@@ -199,7 +208,6 @@ FcDirCacheProcess (FcConfig *config, const FcChar8 *dir,
while ((cache_dir = FcStrListNext (list)))
{
- const FcChar8 *sysroot = FcConfigGetSysRoot (config);
FcChar8 *cache_hashed;
if (sysroot)
@@ -210,7 +218,7 @@ FcDirCacheProcess (FcConfig *config, const FcChar8 *dir,
break;
fd = FcDirCacheOpenFile (cache_hashed, &file_stat);
if (fd >= 0) {
- ret = (*callback) (fd, &file_stat, &dir_stat, closure);
+ ret = (*callback) (config, fd, &file_stat, &dir_stat, closure);
close (fd);
if (ret)
{
@@ -529,14 +537,25 @@ FcCacheFini (void)
}
static FcBool
-FcCacheTimeValid (FcCache *cache, struct stat *dir_stat)
+FcCacheTimeValid (FcConfig *config, FcCache *cache, struct stat *dir_stat)
{
struct stat dir_static;
if (!dir_stat)
{
- if (FcStatChecksum (FcCacheDir (cache), &dir_static) < 0)
+ const FcChar8 *sysroot = FcConfigGetSysRoot (config);
+ FcChar8 *d;
+
+ if (sysroot)
+ d = FcStrBuildFilename (sysroot, FcCacheDir (cache), NULL);
+ else
+ d = FcStrdup (FcCacheDir (cache));
+ if (FcStatChecksum (d, &dir_static) < 0)
+ {
+ FcStrFree (d);
return FcFalse;
+ }
+ FcStrFree (d);
dir_stat = &dir_static;
}
if (FcDebug () & FC_DBG_CACHE)
@@ -545,11 +564,38 @@ FcCacheTimeValid (FcCache *cache, struct stat *dir_stat)
return cache->checksum == (int) dir_stat->st_mtime;
}
+static FcBool
+FcCacheDirsValid (FcConfig *config, FcCache *cache)
+{
+ FcStrSet *dirs = FcStrSetCreate ();
+ FcBool ret = FcFalse;
+ const FcChar8 *sysroot = FcConfigGetSysRoot (config);
+ FcChar8 *d;
+
+ if (!dirs)
+ goto bail;
+ if (sysroot)
+ d = FcStrBuildFilename (sysroot, FcCacheDir (cache), NULL);
+ else
+ d = FcStrdup (FcCacheDir (cache));
+ if (!FcDirScanOnly (dirs, d, config))
+ goto bail1;
+ ret = cache->dirs_count == dirs->num;
+ if (FcDebug () & FC_DBG_CACHE)
+ printf ("%s: cache: %d, fs: %d\n", d, cache->dirs_count, dirs->num);
+
+bail1:
+ FcStrSetDestroy (dirs);
+ FcStrFree (d);
+bail:
+ return ret;
+}
+
/*
* Map a cache file into memory
*/
static FcCache *
-FcDirCacheMapFd (int fd, struct stat *fd_stat, struct stat *dir_stat)
+FcDirCacheMapFd (FcConfig *config, int fd, struct stat *fd_stat, struct stat *dir_stat)
{
FcCache *cache;
FcBool allocated = FcFalse;
@@ -559,7 +605,8 @@ FcDirCacheMapFd (int fd, struct stat *fd_stat, struct stat *dir_stat)
cache = FcCacheFindByStat (fd_stat);
if (cache)
{
- if (FcCacheTimeValid (cache, dir_stat))
+ if (FcCacheTimeValid (config, cache, dir_stat) &&
+ FcCacheDirsValid (config, cache))
return cache;
FcDirCacheUnload (cache);
cache = NULL;
@@ -610,7 +657,8 @@ FcDirCacheMapFd (int fd, struct stat *fd_stat, struct stat *dir_stat)
if (cache->magic != FC_CACHE_MAGIC_MMAP ||
cache->version < FC_CACHE_CONTENT_VERSION ||
cache->size != (intptr_t) fd_stat->st_size ||
- !FcCacheTimeValid (cache, dir_stat) ||
+ !FcCacheTimeValid (config, cache, dir_stat) ||
+ !FcCacheDirsValid (config, cache) ||
!FcCacheInsert (cache, fd_stat))
{
if (allocated)
@@ -649,9 +697,9 @@ FcDirCacheUnload (FcCache *cache)
}
static FcBool
-FcDirCacheMapHelper (int fd, struct stat *fd_stat, struct stat *dir_stat, void *closure)
+FcDirCacheMapHelper (FcConfig *config, int fd, struct stat *fd_stat, struct stat *dir_stat, void *closure)
{
- FcCache *cache = FcDirCacheMapFd (fd, fd_stat, dir_stat);
+ FcCache *cache = FcDirCacheMapFd (config, fd, fd_stat, dir_stat);
if (!cache)
return FcFalse;
@@ -668,6 +716,7 @@ FcDirCacheLoad (const FcChar8 *dir, FcConfig *config, FcChar8 **cache_file)
FcDirCacheMapHelper,
&cache, cache_file))
return NULL;
+
return cache;
}
@@ -683,7 +732,7 @@ FcDirCacheLoadFile (const FcChar8 *cache_file, struct stat *file_stat)
fd = FcDirCacheOpenFile (cache_file, file_stat);
if (fd < 0)
return NULL;
- cache = FcDirCacheMapFd (fd, file_stat, NULL);
+ cache = FcDirCacheMapFd (FcConfigGetCurrent (), fd, file_stat, NULL);
close (fd);
return cache;
}
@@ -693,7 +742,7 @@ FcDirCacheLoadFile (const FcChar8 *cache_file, struct stat *file_stat)
* the magic number and the size field
*/
static FcBool
-FcDirCacheValidateHelper (int fd, struct stat *fd_stat, struct stat *dir_stat, void *closure FC_UNUSED)
+FcDirCacheValidateHelper (FcConfig *config, int fd, struct stat *fd_stat, struct stat *dir_stat, void *closure FC_UNUSED)
{
FcBool ret = FcTrue;
FcCache c;
@@ -1058,15 +1107,22 @@ FcDirCacheClean (const FcChar8 *cache_dir, FcBool verbose)
}
else
{
+ FcChar8 *s;
+
target_dir = FcCacheDir (cache);
- if (stat ((char *) target_dir, &target_stat) < 0)
+ if (sysroot)
+ s = FcStrBuildFilename (sysroot, target_dir, NULL);
+ else
+ s = FcStrdup (target_dir);
+ if (stat ((char *) s, &target_stat) < 0)
{
if (verbose || FcDebug () & FC_DBG_CACHE)
printf ("%s: %s: missing directory: %s \n",
- dir, ent->d_name, target_dir);
+ dir, ent->d_name, s);
remove = FcTrue;
}
FcDirCacheUnload (cache);
+ FcStrFree (s);
}
if (remove)
{
diff --git a/src/fccfg.c b/src/fccfg.c
index 6377fd7c..b92270b6 100644
--- a/src/fccfg.c
+++ b/src/fccfg.c
@@ -27,6 +27,7 @@
#include "fcint.h"
#include <dirent.h>
#include <sys/types.h>
+#include "../fc-blanks/fcblanks.h"
#if defined (_WIN32) && !defined (R_OK)
#define R_OK 4
@@ -109,7 +110,7 @@ FcConfigCreate (void)
if (!config->cacheDirs)
goto bail8;
- config->blanks = 0;
+ config->blanks = &fcBlanks;
config->substPattern = 0;
config->substFont = 0;
@@ -367,6 +368,7 @@ FcConfigAddDirList (FcConfig *config, FcSetName set, FcStrSet *dirSet)
FcStrList *dirlist;
FcChar8 *dir;
FcCache *cache;
+ FcBool ret = FcFalse;
dirlist = FcStrListCreate (dirSet);
if (!dirlist)
@@ -375,15 +377,16 @@ FcConfigAddDirList (FcConfig *config, FcSetName set, FcStrSet *dirSet)
while ((dir = FcStrListNext (dirlist)))
{
if (FcDebug () & FC_DBG_FONTSET)
- printf ("adding fonts from%s\n", dir);
+ printf ("adding fonts from %s\n", dir);
cache = FcDirCacheRead (dir, FcFalse, config);
if (!cache)
continue;
FcConfigAddCache (config, cache, set, dirSet);
FcDirCacheUnload (cache);
+ ret = FcTrue;
}
FcStrListDone (dirlist);
- return FcTrue;
+ return ret;
}
/*
@@ -434,6 +437,7 @@ retry:
if (!fc_atomic_ptr_cmpexch (&_fcConfig, cfg, config))
goto retry;
+ FcConfigReference (config);
if (cfg)
FcConfigDestroy (cfg);
@@ -722,6 +726,21 @@ FcConfigPromote (FcValue v, FcValue u, FcValuePromotionBuffer *buf)
v.u.l = FcLangSetPromote (v.u.s, buf);
v.type = FcTypeLangSet;
}
+ else if (v.type == FcTypeVoid && u.type == FcTypeLangSet)
+ {
+ v.u.l = FcLangSetPromote (NULL, buf);
+ v.type = FcTypeLangSet;
+ }
+ else if (v.type == FcTypeVoid && u.type == FcTypeCharSet)
+ {
+ v.u.c = FcCharSetPromote (buf);
+ v.type = FcTypeCharSet;
+ }
+ if (buf && v.type == FcTypeDouble && u.type == FcTypeRange)
+ {
+ v.u.r = FcRangePromote (v.u.d, buf);
+ v.type = FcTypeRange;
+ }
return v;
}
@@ -894,6 +913,9 @@ FcConfigCompareValue (const FcValue *left_o,
break;
}
break;
+ case FcTypeRange:
+ ret = FcRangeCompare (op, left.u.r, right.u.r);
+ break;
}
}
else
@@ -915,10 +937,11 @@ FcConfigCompareValue (const FcValue *left_o,
static FcValue
FcConfigEvaluate (FcPattern *p, FcPattern *p_pat, FcMatchKind kind, FcExpr *e)
{
- FcValue v, vl, vr;
+ FcValue v, vl, vr, vle, vre;
FcMatrix *m;
FcChar8 *str;
FcOp op = FC_OP_GET_OP (e->op);
+ FcValuePromotionBuffer buf1, buf2;
switch ((int) op) {
case FcOpInteger:
@@ -967,6 +990,11 @@ FcConfigEvaluate (FcPattern *p, FcPattern *p_pat, FcMatchKind kind, FcExpr *e)
v.u.l = e->u.lval;
v = FcValueSave (v);
break;
+ case FcOpRange:
+ v.type = FcTypeRange;
+ v.u.r = e->u.rval;
+ v = FcValueSave (v);
+ break;
case FcOpBool:
v.type = FcTypeBool;
v.u.b = e->u.bval;
@@ -1033,28 +1061,28 @@ FcConfigEvaluate (FcPattern *p, FcPattern *p_pat, FcMatchKind kind, FcExpr *e)
case FcOpDivide:
vl = FcConfigEvaluate (p, p_pat, kind, e->u.tree.left);
vr = FcConfigEvaluate (p, p_pat, kind, e->u.tree.right);
- vl = FcConfigPromote (vl, vr, NULL);
- vr = FcConfigPromote (vr, vl, NULL);
- if (vl.type == vr.type)
+ vle = FcConfigPromote (vl, vr, &buf1);
+ vre = FcConfigPromote (vr, vle, &buf2);
+ if (vle.type == vre.type)
{
- switch ((int) vl.type) {
+ switch ((int) vle.type) {
case FcTypeDouble:
switch ((int) op) {
case FcOpPlus:
v.type = FcTypeDouble;
- v.u.d = vl.u.d + vr.u.d;
+ v.u.d = vle.u.d + vre.u.d;
break;
case FcOpMinus:
v.type = FcTypeDouble;
- v.u.d = vl.u.d - vr.u.d;
+ v.u.d = vle.u.d - vre.u.d;
break;
case FcOpTimes:
v.type = FcTypeDouble;
- v.u.d = vl.u.d * vr.u.d;
+ v.u.d = vle.u.d * vre.u.d;
break;
case FcOpDivide:
v.type = FcTypeDouble;
- v.u.d = vl.u.d / vr.u.d;
+ v.u.d = vle.u.d / vre.u.d;
break;
default:
v.type = FcTypeVoid;
@@ -1071,11 +1099,11 @@ FcConfigEvaluate (FcPattern *p, FcPattern *p_pat, FcMatchKind kind, FcExpr *e)
switch ((int) op) {
case FcOpOr:
v.type = FcTypeBool;
- v.u.b = vl.u.b || vr.u.b;
+ v.u.b = vle.u.b || vre.u.b;
break;
case FcOpAnd:
v.type = FcTypeBool;
- v.u.b = vl.u.b && vr.u.b;
+ v.u.b = vle.u.b && vre.u.b;
break;
default:
v.type = FcTypeVoid;
@@ -1086,7 +1114,7 @@ FcConfigEvaluate (FcPattern *p, FcPattern *p_pat, FcMatchKind kind, FcExpr *e)
switch ((int) op) {
case FcOpPlus:
v.type = FcTypeString;
- str = FcStrPlus (vl.u.s, vr.u.s);
+ str = FcStrPlus (vle.u.s, vre.u.s);
v.u.s = FcStrdup (str);
FcStrFree (str);
@@ -1105,7 +1133,7 @@ FcConfigEvaluate (FcPattern *p, FcPattern *p_pat, FcMatchKind kind, FcExpr *e)
m = malloc (sizeof (FcMatrix));
if (m)
{
- FcMatrixMultiply (m, vl.u.m, vr.u.m);
+ FcMatrixMultiply (m, vle.u.m, vre.u.m);
v.u.m = m;
}
else
@@ -1122,13 +1150,13 @@ FcConfigEvaluate (FcPattern *p, FcPattern *p_pat, FcMatchKind kind, FcExpr *e)
switch ((int) op) {
case FcOpPlus:
v.type = FcTypeCharSet;
- v.u.c = FcCharSetUnion (vl.u.c, vr.u.c);
+ v.u.c = FcCharSetUnion (vle.u.c, vre.u.c);
if (!v.u.c)
v.type = FcTypeVoid;
break;
case FcOpMinus:
v.type = FcTypeCharSet;
- v.u.c = FcCharSetSubtract (vl.u.c, vr.u.c);
+ v.u.c = FcCharSetSubtract (vle.u.c, vre.u.c);
if (!v.u.c)
v.type = FcTypeVoid;
break;
@@ -1141,13 +1169,13 @@ FcConfigEvaluate (FcPattern *p, FcPattern *p_pat, FcMatchKind kind, FcExpr *e)
switch ((int) op) {
case FcOpPlus:
v.type = FcTypeLangSet;
- v.u.l = FcLangSetUnion (vl.u.l, vr.u.l);
+ v.u.l = FcLangSetUnion (vle.u.l, vre.u.l);
if (!v.u.l)
v.type = FcTypeVoid;
break;
case FcOpMinus:
v.type = FcTypeLangSet;
- v.u.l = FcLangSetSubtract (vl.u.l, vr.u.l);
+ v.u.l = FcLangSetSubtract (vle.u.l, vre.u.l);
if (!v.u.l)
v.type = FcTypeVoid;
break;
@@ -1518,15 +1546,52 @@ FcConfigSubstituteWithPat (FcConfig *config,
FcStrList *l = FcStrListCreate (strs);
FcChar8 *lang;
FcValue v;
+ FcLangSet *lsund = FcLangSetCreate ();
+ FcLangSetAdd (lsund, (const FcChar8 *)"und");
FcStrSetDestroy (strs);
while (l && (lang = FcStrListNext (l)))
{
+ FcPatternElt *e = FcPatternObjectFindElt (p, FC_LANG_OBJECT);
+
+ if (e)
+ {
+ FcValueListPtr ll;
+
+ for (ll = FcPatternEltValues (e); ll; ll = FcValueListNext (ll))
+ {
+ FcValue vv = FcValueCanonicalize (&ll->value);
+
+ if (vv.type == FcTypeLangSet)
+ {
+ FcLangSet *ls = FcLangSetCreate ();
+ FcBool b;
+
+ FcLangSetAdd (ls, lang);
+ b = FcLangSetContains (vv.u.l, ls);
+ FcLangSetDestroy (ls);
+ if (b)
+ goto bail_lang;
+ if (FcLangSetContains (vv.u.l, lsund))
+ goto bail_lang;
+ }
+ else
+ {
+ if (FcStrCmpIgnoreCase (vv.u.s, lang) == 0)
+ goto bail_lang;
+ if (FcStrCmpIgnoreCase (vv.u.s, (const FcChar8 *)"und") == 0)
+ goto bail_lang;
+ }
+ }
+ }
v.type = FcTypeString;
v.u.s = lang;
+
FcPatternObjectAddWithBinding (p, FC_LANG_OBJECT, v, FcValueBindingWeak, FcTrue);
}
+ bail_lang:
FcStrListDone (l);
+ FcLangSetDestroy (lsund);
}
if (FcPatternObjectGet (p, FC_PRGNAME_OBJECT, 0, &v) == FcResultNoMatch)
{
@@ -1985,6 +2050,8 @@ FcConfigXdgCacheHome (void)
const char *env = getenv ("XDG_CACHE_HOME");
FcChar8 *ret = NULL;
+ if (!_FcConfigHomeEnabled)
+ return NULL;
if (env)
ret = FcStrCopy ((const FcChar8 *)env);
else
@@ -2010,6 +2077,8 @@ FcConfigXdgConfigHome (void)
const char *env = getenv ("XDG_CONFIG_HOME");
FcChar8 *ret = NULL;
+ if (!_FcConfigHomeEnabled)
+ return NULL;
if (env)
ret = FcStrCopy ((const FcChar8 *)env);
else
@@ -2035,6 +2104,8 @@ FcConfigXdgDataHome (void)
const char *env = getenv ("XDG_DATA_HOME");
FcChar8 *ret = NULL;
+ if (!_FcConfigHomeEnabled)
+ return NULL;
if (env)
ret = FcStrCopy ((const FcChar8 *)env);
else
@@ -2126,6 +2197,7 @@ FcConfigAppFontAddFile (FcConfig *config,
FcStrSet *subdirs;
FcStrList *sublist;
FcChar8 *subdir;
+ FcBool ret = FcFalse;
if (!config)
{
@@ -2159,12 +2231,13 @@ FcConfigAppFontAddFile (FcConfig *config,
{
while ((subdir = FcStrListNext (sublist)))
{
- FcConfigAppFontAddDir (config, subdir);
+ if (FcConfigAppFontAddDir (config, subdir))
+ ret = FcTrue;
}
FcStrListDone (sublist);
}
FcStrSetDestroy (subdirs);
- return FcTrue;
+ return ret;
}
FcBool
@@ -2173,6 +2246,7 @@ FcConfigAppFontAddDir (FcConfig *config,
{
FcFontSet *set;
FcStrSet *dirs;
+ FcBool ret = FcTrue;
if (!config)
{
@@ -2191,8 +2265,8 @@ FcConfigAppFontAddDir (FcConfig *config,
set = FcFontSetCreate ();
if (!set)
{
- FcStrSetDestroy (dirs);
- return FcFalse;
+ ret = FcFalse;
+ goto bail;
}
FcConfigSetFonts (config, set, FcSetApplication);
}
@@ -2200,12 +2274,10 @@ FcConfigAppFontAddDir (FcConfig *config,
FcStrSetAddFilename (dirs, dir);
if (!FcConfigAddDirList (config, FcSetApplication, dirs))
- {
- FcStrSetDestroy (dirs);
- return FcFalse;
- }
+ ret = FcFalse;
+bail:
FcStrSetDestroy (dirs);
- return FcTrue;
+ return ret;
}
void
@@ -2312,7 +2384,7 @@ void
FcConfigSetSysRoot (FcConfig *config,
const FcChar8 *sysroot)
{
- FcChar8 *s;
+ FcChar8 *s = NULL;
FcBool init = FcFalse;
if (!config)
@@ -2332,9 +2404,12 @@ FcConfigSetSysRoot (FcConfig *config,
}
}
- s = FcStrCopyFilename (sysroot);
- if (!s)
- return;
+ if (sysroot)
+ {
+ s = FcStrCopyFilename (sysroot);
+ if (!s)
+ return;
+ }
if (config->sysRoot)
FcStrFree (config->sysRoot);
@@ -2344,6 +2419,10 @@ FcConfigSetSysRoot (FcConfig *config,
{
config = FcInitLoadOwnConfigAndFonts (config);
FcConfigSetCurrent (config);
+ /* FcConfigSetCurrent() increases the refcount.
+ * decrease it here to avoid the memory leak.
+ */
+ FcConfigDestroy (config);
}
}
diff --git a/src/fccharset.c b/src/fccharset.c
index c9f928cd..6e0093f1 100644
--- a/src/fccharset.c
+++ b/src/fccharset.c
@@ -43,6 +43,21 @@ FcCharSetCreate (void)
}
FcCharSet *
+FcCharSetPromote (FcValuePromotionBuffer *vbuf)
+{
+ FcCharSet *fcs = (FcCharSet *) vbuf;
+
+ FC_ASSERT_STATIC (sizeof (FcCharSet) <= sizeof (FcValuePromotionBuffer));
+
+ FcRefSetConst (&fcs->ref);
+ fcs->num = 0;
+ fcs->leaves_offset = 0;
+ fcs->numbers_offset = 0;
+
+ return fcs;
+}
+
+FcCharSet *
FcCharSetNew (void)
{
return FcCharSetCreate ();
@@ -800,188 +815,123 @@ FcCharSetCoverage (const FcCharSet *a, FcChar32 page, FcChar32 *result)
return page;
}
-/*
- * ASCII representation of charsets.
- *
- * Each leaf is represented as 9 32-bit values, the code of the first character followed
- * by 8 32 bit values for the leaf itself. Each value is encoded as 5 ASCII characters,
- * only 85 different values are used to avoid control characters as well as the other
- * characters used to encode font names. 85**5 > 2^32 so things work out, but
- * it's not exactly human readable output. As a special case, 0 is encoded as a space
- */
-
-static const unsigned char charToValue[256] = {
- /* "" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\b" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\020" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\030" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* " " */ 0xff, 0x00, 0xff, 0x01, 0x02, 0x03, 0x04, 0xff,
- /* "(" */ 0x05, 0x06, 0x07, 0x08, 0xff, 0xff, 0x09, 0x0a,
- /* "0" */ 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12,
- /* "8" */ 0x13, 0x14, 0xff, 0x15, 0x16, 0xff, 0x17, 0x18,
- /* "@" */ 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
- /* "H" */ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
- /* "P" */ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
- /* "X" */ 0x31, 0x32, 0x33, 0x34, 0xff, 0x35, 0x36, 0xff,
- /* "`" */ 0xff, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d,
- /* "h" */ 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45,
- /* "p" */ 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d,
- /* "x" */ 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0xff,
- /* "\200" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\210" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\220" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\230" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\240" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\250" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\260" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\270" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\300" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\310" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\320" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\330" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\340" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\350" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\360" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- /* "\370" */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-};
-
-static const FcChar8 valueToChar[0x55] = {
- /* 0x00 */ '!', '#', '$', '%', '&', '(', ')', '*',
- /* 0x08 */ '+', '.', '/', '0', '1', '2', '3', '4',
- /* 0x10 */ '5', '6', '7', '8', '9', ';', '<', '>',
- /* 0x18 */ '?', '@', 'A', 'B', 'C', 'D', 'E', 'F',
- /* 0x20 */ 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',
- /* 0x28 */ 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
- /* 0x30 */ 'W', 'X', 'Y', 'Z', '[', ']', '^', 'a',
- /* 0x38 */ 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
- /* 0x40 */ 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q',
- /* 0x48 */ 'r', 's', 't', 'u', 'v', 'w', 'x', 'y',
- /* 0x50 */ 'z', '{', '|', '}', '~',
-};
-
-static FcChar8 *
-FcCharSetParseValue (FcChar8 *string, FcChar32 *value)
-{
- int i;
- FcChar32 v;
- FcChar32 c;
-
- if (*string == ' ')
- {
- v = 0;
- string++;
- }
- else
- {
- v = 0;
- for (i = 0; i < 5; i++)
- {
- if (!(c = (FcChar32) (unsigned char) *string++))
- return 0;
- c = charToValue[c];
- if (c == 0xff)
- return 0;
- v = v * 85 + c;
- }
- }
- *value = v;
- return string;
-}
-
static FcBool
-FcCharSetUnparseValue (FcStrBuf *buf, FcChar32 value)
+FcNameParseRange (FcChar8 **string, FcChar32 *pfirst, FcChar32 *plast)
{
- int i;
- if (value == 0)
- {
- return FcStrBufChar (buf, ' ');
- }
- else
- {
- FcChar8 string[6];
- FcChar8 *s = string + 5;
- string[5] = '\0';
- for (i = 0; i < 5; i++)
+ char *s = (char *) *string;
+ char *t;
+ long first, last;
+
+ while (isspace(*s))
+ s++;
+ t = s;
+ errno = 0;
+ first = last = strtol (s, &s, 16);
+ if (errno)
+ return FcFalse;
+ while (isspace(*s))
+ s++;
+ if (*s == '-')
{
- *--s = valueToChar[value % 85];
- value /= 85;
- }
- for (i = 0; i < 5; i++)
- if (!FcStrBufChar (buf, *s++))
+ s++;
+ errno = 0;
+ last = strtol (s, &s, 16);
+ if (errno)
return FcFalse;
- }
- return FcTrue;
+ }
+
+ if (s == t || first < 0 || last < 0 || last < first || last > 0x10ffff)
+ return FcFalse;
+
+ *string = (FcChar8 *) s;
+ *pfirst = first;
+ *plast = last;
+ return FcTrue;
}
FcCharSet *
FcNameParseCharSet (FcChar8 *string)
{
FcCharSet *c;
- FcChar32 ucs4;
- FcCharLeaf *leaf;
- FcCharLeaf temp;
- FcChar32 bits;
- int i;
+ FcChar32 first, last;
c = FcCharSetCreate ();
if (!c)
goto bail0;
while (*string)
{
- string = FcCharSetParseValue (string, &ucs4);
- if (!string)
- goto bail1;
- bits = 0;
- for (i = 0; i < 256/32; i++)
- {
- string = FcCharSetParseValue (string, &temp.map[i]);
- if (!string)
- goto bail1;
- bits |= temp.map[i];
- }
- if (bits)
- {
- leaf = malloc (sizeof (FcCharLeaf));
- if (!leaf)
- goto bail1;
- *leaf = temp;
- if (!FcCharSetInsertLeaf (c, ucs4, leaf))
+ FcChar32 u;
+
+ if (!FcNameParseRange (&string, &first, &last))
goto bail1;
- }
+
+ for (u = first; u < last + 1; u++)
+ FcCharSetAddChar (c, u);
}
return c;
bail1:
- if (c->num)
- {
- free (FcCharSetLeaves (c));
- }
- if (c->num)
- {
- free (FcCharSetNumbers (c));
- }
- free (c);
+ FcCharSetDestroy (c);
bail0:
return NULL;
}
+static void
+FcNameUnparseUnicode (FcStrBuf *buf, FcChar32 u)
+{
+ FcChar8 buf_static[64];
+ snprintf ((char *) buf_static, sizeof (buf_static), "%x", u);
+ FcStrBufString (buf, buf_static);
+}
+
FcBool
FcNameUnparseCharSet (FcStrBuf *buf, const FcCharSet *c)
{
FcCharSetIter ci;
+ FcChar32 first, last;
int i;
#ifdef CHECK
int len = buf->len;
#endif
+ first = last = 0x7FFFFFFF;
+
for (FcCharSetIterStart (c, &ci);
ci.leaf;
FcCharSetIterNext (c, &ci))
{
- if (!FcCharSetUnparseValue (buf, ci.ucs4))
- return FcFalse;
for (i = 0; i < 256/32; i++)
- if (!FcCharSetUnparseValue (buf, ci.leaf->map[i]))
- return FcFalse;
+ {
+ FcChar32 bits = ci.leaf->map[i];
+ FcChar32 u = ci.ucs4 + i * 32;
+
+ while (bits)
+ {
+ if (bits & 1)
+ {
+ if (u != last + 1)
+ {
+ if (last != first)
+ {
+ FcStrBufChar (buf, '-');
+ FcNameUnparseUnicode (buf, last);
+ }
+ if (last != 0x7FFFFFFF)
+ FcStrBufChar (buf, ' ');
+ /* Start new range. */
+ first = u;
+ FcNameUnparseUnicode (buf, u);
+ }
+ last = u;
+ }
+ bits >>= 1;
+ u++;
+ }
+ }
+ }
+ if (last != first)
+ {
+ FcStrBufChar (buf, '-');
+ FcNameUnparseUnicode (buf, last);
}
#ifdef CHECK
{
diff --git a/src/fccompat.c b/src/fccompat.c
index f4f3f5fd..31d80bef 100644
--- a/src/fccompat.c
+++ b/src/fccompat.c
@@ -255,3 +255,7 @@ FcMakeDirectory (const FcChar8 *dir)
FcStrFree (parent);
return ret;
}
+
+#define __fccompat__
+#include "fcaliastail.h"
+#undef __fccompat__
diff --git a/src/fcdbg.c b/src/fcdbg.c
index d74bc276..ef038f01 100644
--- a/src/fcdbg.c
+++ b/src/fcdbg.c
@@ -29,6 +29,8 @@
static void
_FcValuePrintFile (FILE *f, const FcValue v)
{
+ FcRange r;
+
switch (v.type) {
case FcTypeUnknown:
fprintf (f, "<unknown>");
@@ -61,6 +63,10 @@ _FcValuePrintFile (FILE *f, const FcValue v)
case FcTypeFTFace:
fprintf (f, "face");
break;
+ case FcTypeRange:
+ r = FcRangeCanonicalize (v.u.r);
+ fprintf (f, "(%g, %g)", r.u.d.begin, r.u.d.end);
+ break;
}
}
@@ -261,6 +267,8 @@ FcOpPrint (FcOp op_)
void
FcExprPrint (const FcExpr *expr)
{
+ FcRange r;
+
if (!expr) printf ("none");
else switch (FC_OP_GET_OP (expr->op)) {
case FcOpInteger: printf ("%d", expr->u.ival); break;
@@ -277,7 +285,10 @@ FcExprPrint (const FcExpr *expr)
FcExprPrint (expr->u.mexpr->yy);
printf ("]");
break;
- case FcOpRange: break;
+ case FcOpRange:
+ r = FcRangeCanonicalize (expr->u.rval);
+ printf ("(%g, %g)", r.u.d.begin, r.u.d.end);
+ break;
case FcOpBool: printf ("%s", expr->u.bval ? "true" : "false"); break;
case FcOpCharSet: printf ("charset\n"); break;
case FcOpLangSet:
diff --git a/src/fcdefault.c b/src/fcdefault.c
index 4beda7c0..7c16f484 100644
--- a/src/fcdefault.c
+++ b/src/fcdefault.c
@@ -219,6 +219,7 @@ FcDefaultSubstitute (FcPattern *pattern)
{
FcValue v, namelang, v2;
int i;
+ double dpi, size, scale, pixelsize;
if (FcPatternObjectGet (pattern, FC_WEIGHT_OBJECT, 0, &v) == FcResultNoMatch )
FcPatternObjectAddInteger (pattern, FC_WEIGHT_OBJECT, FC_WEIGHT_NORMAL);
@@ -233,32 +234,30 @@ FcDefaultSubstitute (FcPattern *pattern)
if (FcPatternObjectGet (pattern, FcBoolDefaults[i].field, 0, &v) == FcResultNoMatch)
FcPatternObjectAddBool (pattern, FcBoolDefaults[i].field, FcBoolDefaults[i].value);
- if (FcPatternObjectGet (pattern, FC_PIXEL_SIZE_OBJECT, 0, &v) == FcResultNoMatch)
- {
- double dpi, size, scale;
+ if (FcPatternObjectGetDouble (pattern, FC_SIZE_OBJECT, 0, &size) != FcResultMatch)
+ size = 12.0L;
+ if (FcPatternObjectGetDouble (pattern, FC_SCALE_OBJECT, 0, &scale) != FcResultMatch)
+ scale = 1.0;
+ if (FcPatternObjectGetDouble (pattern, FC_DPI_OBJECT, 0, &dpi) != FcResultMatch)
+ dpi = 75.0;
- if (FcPatternObjectGetDouble (pattern, FC_SIZE_OBJECT, 0, &size) != FcResultMatch)
- {
- size = 12.0;
- (void) FcPatternObjectDel (pattern, FC_SIZE_OBJECT);
- FcPatternObjectAddDouble (pattern, FC_SIZE_OBJECT, size);
- }
- if (FcPatternObjectGetDouble (pattern, FC_SCALE_OBJECT, 0, &scale) != FcResultMatch)
- {
- scale = 1.0;
- (void) FcPatternObjectDel (pattern, FC_SCALE_OBJECT);
- FcPatternObjectAddDouble (pattern, FC_SCALE_OBJECT, scale);
- }
- size *= scale;
- if (FcPatternObjectGetDouble (pattern, FC_DPI_OBJECT, 0, &dpi) != FcResultMatch)
- {
- dpi = 75.0;
- (void) FcPatternObjectDel (pattern, FC_DPI_OBJECT);
- FcPatternObjectAddDouble (pattern, FC_DPI_OBJECT, dpi);
- }
- size *= dpi / 72.0;
- FcPatternObjectAddDouble (pattern, FC_PIXEL_SIZE_OBJECT, size);
+ if (FcPatternObjectGet (pattern, FC_PIXEL_SIZE_OBJECT, 0, &v) != FcResultMatch)
+ {
+ (void) FcPatternObjectDel (pattern, FC_SCALE_OBJECT);
+ FcPatternObjectAddDouble (pattern, FC_SCALE_OBJECT, scale);
+ pixelsize = size * scale;
+ (void) FcPatternObjectDel (pattern, FC_DPI_OBJECT);
+ FcPatternObjectAddDouble (pattern, FC_DPI_OBJECT, dpi);
+ pixelsize *= dpi / 72.0;
+ FcPatternObjectAddDouble (pattern, FC_PIXEL_SIZE_OBJECT, pixelsize);
+ }
+ else
+ {
+ size = v.u.d;
+ size = size / dpi * 72.0 / scale;
}
+ (void) FcPatternObjectDel (pattern, FC_SIZE_OBJECT);
+ FcPatternObjectAddDouble (pattern, FC_SIZE_OBJECT, size);
if (FcPatternObjectGet (pattern, FC_FONTVERSION_OBJECT, 0, &v) == FcResultNoMatch)
{
diff --git a/src/fcdir.c b/src/fcdir.c
index 3bcd0b86..593382f4 100644
--- a/src/fcdir.c
+++ b/src/fcdir.c
@@ -69,6 +69,7 @@ FcFileScanFontConfig (FcFontSet *set,
FcBool ret = FcTrue;
int id;
int count = 0;
+ const FcChar8 *sysroot = FcConfigGetSysRoot (config);
id = 0;
do
@@ -85,6 +86,28 @@ FcFileScanFontConfig (FcFontSet *set,
font = FcFreeTypeQuery (file, id, blanks, &count);
if (FcDebug () & FC_DBG_SCAN)
printf ("done\n");
+ /*
+ * Get rid of sysroot here so that targeting scan rule may contains FC_FILE pattern
+ * and they should usually expect without sysroot.
+ */
+ if (sysroot)
+ {
+ size_t len = strlen ((const char *)sysroot);
+ FcChar8 *f = NULL;
+
+ if (FcPatternObjectGetString (font, FC_FILE_OBJECT, 0, &f) == FcResultMatch &&
+ strncmp ((const char *)f, (const char *)sysroot, len) == 0)
+ {
+ FcChar8 *s = FcStrdup (f);
+ FcPatternObjectDel (font, FC_FILE_OBJECT);
+ if (s[len] != '/')
+ len--;
+ else if (s[len+1] == '/')
+ len++;
+ FcPatternObjectAddString (font, FC_FILE_OBJECT, &s[len]);
+ FcStrFree (s);
+ }
+ }
/*
* Edit pattern with user-defined rules
@@ -128,7 +151,25 @@ FcFileScanConfig (FcFontSet *set,
FcConfig *config)
{
if (FcFileIsDir (file))
- return FcStrSetAdd (dirs, file);
+ {
+ const FcChar8 *sysroot = FcConfigGetSysRoot (config);
+ const FcChar8 *d = file;
+ size_t len;
+
+ if (sysroot)
+ {
+ len = strlen ((const char *)sysroot);
+ if (strncmp ((const char *)file, (const char *)sysroot, len) == 0)
+ {
+ if (file[len] != '/')
+ len--;
+ else if (file[len+1] == '/')
+ len++;
+ d = &file[len];
+ }
+ }
+ return FcStrSetAdd (dirs, d);
+ }
else
{
if (set)
@@ -164,7 +205,8 @@ FcDirScanConfig (FcFontSet *set,
FcBlanks *blanks,
const FcChar8 *dir,
FcBool force, /* XXX unused */
- FcConfig *config)
+ FcConfig *config,
+ FcBool scanOnly)
{
DIR *d;
struct dirent *e;
@@ -180,7 +222,7 @@ FcDirScanConfig (FcFontSet *set,
if (!set && !dirs)
return FcTrue;
- if (!blanks)
+ if (!blanks && !scanOnly)
blanks = FcConfigGetBlanks (config);
/* freed below */
@@ -233,7 +275,17 @@ FcDirScanConfig (FcFontSet *set,
* Scan file files to build font patterns
*/
for (i = 0; i < files->num; i++)
- FcFileScanConfig (set, dirs, blanks, files->strs[i], config);
+ {
+ if (scanOnly)
+ {
+ if (FcFileIsDir (files->strs[i]))
+ FcFileScanConfig (NULL, dirs, NULL, files->strs[i], config);
+ }
+ else
+ {
+ FcFileScanConfig (set, dirs, blanks, files->strs[i], config);
+ }
+ }
bail2:
FcStrSetDestroy (files);
@@ -257,7 +309,15 @@ FcDirScan (FcFontSet *set,
if (cache || !force)
return FcFalse;
- return FcDirScanConfig (set, dirs, blanks, dir, force, FcConfigGetCurrent ());
+ return FcDirScanConfig (set, dirs, blanks, dir, force, FcConfigGetCurrent (), FcFalse);
+}
+
+FcBool
+FcDirScanOnly (FcStrSet *dirs,
+ const FcChar8 *dir,
+ FcConfig *config)
+{
+ return FcDirScanConfig (NULL, dirs, NULL, dir, FcTrue, config, FcTrue);
}
/*
@@ -270,11 +330,18 @@ FcDirCacheScan (const FcChar8 *dir, FcConfig *config)
FcFontSet *set;
FcCache *cache = NULL;
struct stat dir_stat;
+ const FcChar8 *sysroot = FcConfigGetSysRoot (config);
+ FcChar8 *d;
+
+ if (sysroot)
+ d = FcStrBuildFilename (sysroot, dir, NULL);
+ else
+ d = FcStrdup (dir);
if (FcDebug () & FC_DBG_FONTSET)
- printf ("cache scan dir %s\n", dir);
+ printf ("cache scan dir %s\n", d);
- if (FcStatChecksum (dir, &dir_stat) < 0)
+ if (FcStatChecksum (d, &dir_stat) < 0)
goto bail;
set = FcFontSetCreate();
@@ -288,7 +355,7 @@ FcDirCacheScan (const FcChar8 *dir, FcConfig *config)
/*
* Scan the dir
*/
- if (!FcDirScanConfig (set, dirs, NULL, dir, FcTrue, config))
+ if (!FcDirScanConfig (set, dirs, NULL, d, FcTrue, config, FcFalse))
goto bail2;
/*
@@ -308,20 +375,30 @@ FcDirCacheScan (const FcChar8 *dir, FcConfig *config)
bail1:
FcFontSetDestroy (set);
bail:
+ FcStrFree (d);
+
return cache;
}
FcCache *
FcDirCacheRescan (const FcChar8 *dir, FcConfig *config)
{
- FcCache *cache = FcDirCacheLoad (dir, config, NULL);
+ FcCache *cache;
FcCache *new = NULL;
struct stat dir_stat;
FcStrSet *dirs;
+ const FcChar8 *sysroot = FcConfigGetSysRoot (config);
+ FcChar8 *d = NULL;
+ cache = FcDirCacheLoad (dir, config, NULL);
if (!cache)
- return NULL;
- if (FcStatChecksum (dir, &dir_stat) < 0)
+ goto bail;
+
+ if (sysroot)
+ d = FcStrBuildFilename (sysroot, dir, NULL);
+ else
+ d = FcStrdup (dir);
+ if (FcStatChecksum (d, &dir_stat) < 0)
goto bail;
dirs = FcStrSetCreate ();
if (!dirs)
@@ -330,7 +407,7 @@ FcDirCacheRescan (const FcChar8 *dir, FcConfig *config)
/*
* Scan the dir
*/
- if (!FcDirScanConfig (NULL, dirs, NULL, dir, FcTrue, config))
+ if (!FcDirScanConfig (NULL, dirs, NULL, d, FcTrue, config, FcFalse))
goto bail1;
/*
* Rebuild the cache object
@@ -347,6 +424,9 @@ FcDirCacheRescan (const FcChar8 *dir, FcConfig *config)
bail1:
FcStrSetDestroy (dirs);
bail:
+ if (d)
+ FcStrFree (d);
+
return new;
}
diff --git a/src/fcfreetype.c b/src/fcfreetype.c
index d271d69e..50ff3489 100644
--- a/src/fcfreetype.c
+++ b/src/fcfreetype.c
@@ -558,6 +558,139 @@ FcFontCapabilities(FT_Face face);
#define NUM_FC_MAC_ROMAN_FAKE (int) (sizeof (fcMacRomanFake) / sizeof (fcMacRomanFake[0]))
+
+/* From http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMAN.TXT */
+static const FcChar16 fcMacRomanNonASCIIToUnicode[128] = {
+ /*0x80*/ 0x00C4, /* LATIN CAPITAL LETTER A WITH DIAERESIS */
+ /*0x81*/ 0x00C5, /* LATIN CAPITAL LETTER A WITH RING ABOVE */
+ /*0x82*/ 0x00C7, /* LATIN CAPITAL LETTER C WITH CEDILLA */
+ /*0x83*/ 0x00C9, /* LATIN CAPITAL LETTER E WITH ACUTE */
+ /*0x84*/ 0x00D1, /* LATIN CAPITAL LETTER N WITH TILDE */
+ /*0x85*/ 0x00D6, /* LATIN CAPITAL LETTER O WITH DIAERESIS */
+ /*0x86*/ 0x00DC, /* LATIN CAPITAL LETTER U WITH DIAERESIS */
+ /*0x87*/ 0x00E1, /* LATIN SMALL LETTER A WITH ACUTE */
+ /*0x88*/ 0x00E0, /* LATIN SMALL LETTER A WITH GRAVE */
+ /*0x89*/ 0x00E2, /* LATIN SMALL LETTER A WITH CIRCUMFLEX */
+ /*0x8A*/ 0x00E4, /* LATIN SMALL LETTER A WITH DIAERESIS */
+ /*0x8B*/ 0x00E3, /* LATIN SMALL LETTER A WITH TILDE */
+ /*0x8C*/ 0x00E5, /* LATIN SMALL LETTER A WITH RING ABOVE */
+ /*0x8D*/ 0x00E7, /* LATIN SMALL LETTER C WITH CEDILLA */
+ /*0x8E*/ 0x00E9, /* LATIN SMALL LETTER E WITH ACUTE */
+ /*0x8F*/ 0x00E8, /* LATIN SMALL LETTER E WITH GRAVE */
+ /*0x90*/ 0x00EA, /* LATIN SMALL LETTER E WITH CIRCUMFLEX */
+ /*0x91*/ 0x00EB, /* LATIN SMALL LETTER E WITH DIAERESIS */
+ /*0x92*/ 0x00ED, /* LATIN SMALL LETTER I WITH ACUTE */
+ /*0x93*/ 0x00EC, /* LATIN SMALL LETTER I WITH GRAVE */
+ /*0x94*/ 0x00EE, /* LATIN SMALL LETTER I WITH CIRCUMFLEX */
+ /*0x95*/ 0x00EF, /* LATIN SMALL LETTER I WITH DIAERESIS */
+ /*0x96*/ 0x00F1, /* LATIN SMALL LETTER N WITH TILDE */
+ /*0x97*/ 0x00F3, /* LATIN SMALL LETTER O WITH ACUTE */
+ /*0x98*/ 0x00F2, /* LATIN SMALL LETTER O WITH GRAVE */
+ /*0x99*/ 0x00F4, /* LATIN SMALL LETTER O WITH CIRCUMFLEX */
+ /*0x9A*/ 0x00F6, /* LATIN SMALL LETTER O WITH DIAERESIS */
+ /*0x9B*/ 0x00F5, /* LATIN SMALL LETTER O WITH TILDE */
+ /*0x9C*/ 0x00FA, /* LATIN SMALL LETTER U WITH ACUTE */
+ /*0x9D*/ 0x00F9, /* LATIN SMALL LETTER U WITH GRAVE */
+ /*0x9E*/ 0x00FB, /* LATIN SMALL LETTER U WITH CIRCUMFLEX */
+ /*0x9F*/ 0x00FC, /* LATIN SMALL LETTER U WITH DIAERESIS */
+ /*0xA0*/ 0x2020, /* DAGGER */
+ /*0xA1*/ 0x00B0, /* DEGREE SIGN */
+ /*0xA2*/ 0x00A2, /* CENT SIGN */
+ /*0xA3*/ 0x00A3, /* POUND SIGN */
+ /*0xA4*/ 0x00A7, /* SECTION SIGN */
+ /*0xA5*/ 0x2022, /* BULLET */
+ /*0xA6*/ 0x00B6, /* PILCROW SIGN */
+ /*0xA7*/ 0x00DF, /* LATIN SMALL LETTER SHARP S */
+ /*0xA8*/ 0x00AE, /* REGISTERED SIGN */
+ /*0xA9*/ 0x00A9, /* COPYRIGHT SIGN */
+ /*0xAA*/ 0x2122, /* TRADE MARK SIGN */
+ /*0xAB*/ 0x00B4, /* ACUTE ACCENT */
+ /*0xAC*/ 0x00A8, /* DIAERESIS */
+ /*0xAD*/ 0x2260, /* NOT EQUAL TO */
+ /*0xAE*/ 0x00C6, /* LATIN CAPITAL LETTER AE */
+ /*0xAF*/ 0x00D8, /* LATIN CAPITAL LETTER O WITH STROKE */
+ /*0xB0*/ 0x221E, /* INFINITY */
+ /*0xB1*/ 0x00B1, /* PLUS-MINUS SIGN */
+ /*0xB2*/ 0x2264, /* LESS-THAN OR EQUAL TO */
+ /*0xB3*/ 0x2265, /* GREATER-THAN OR EQUAL TO */
+ /*0xB4*/ 0x00A5, /* YEN SIGN */
+ /*0xB5*/ 0x00B5, /* MICRO SIGN */
+ /*0xB6*/ 0x2202, /* PARTIAL DIFFERENTIAL */
+ /*0xB7*/ 0x2211, /* N-ARY SUMMATION */
+ /*0xB8*/ 0x220F, /* N-ARY PRODUCT */
+ /*0xB9*/ 0x03C0, /* GREEK SMALL LETTER PI */
+ /*0xBA*/ 0x222B, /* INTEGRAL */
+ /*0xBB*/ 0x00AA, /* FEMININE ORDINAL INDICATOR */
+ /*0xBC*/ 0x00BA, /* MASCULINE ORDINAL INDICATOR */
+ /*0xBD*/ 0x03A9, /* GREEK CAPITAL LETTER OMEGA */
+ /*0xBE*/ 0x00E6, /* LATIN SMALL LETTER AE */
+ /*0xBF*/ 0x00F8, /* LATIN SMALL LETTER O WITH STROKE */
+ /*0xC0*/ 0x00BF, /* INVERTED QUESTION MARK */
+ /*0xC1*/ 0x00A1, /* INVERTED EXCLAMATION MARK */
+ /*0xC2*/ 0x00AC, /* NOT SIGN */
+ /*0xC3*/ 0x221A, /* SQUARE ROOT */
+ /*0xC4*/ 0x0192, /* LATIN SMALL LETTER F WITH HOOK */
+ /*0xC5*/ 0x2248, /* ALMOST EQUAL TO */
+ /*0xC6*/ 0x2206, /* INCREMENT */
+ /*0xC7*/ 0x00AB, /* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
+ /*0xC8*/ 0x00BB, /* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
+ /*0xC9*/ 0x2026, /* HORIZONTAL ELLIPSIS */
+ /*0xCA*/ 0x00A0, /* NO-BREAK SPACE */
+ /*0xCB*/ 0x00C0, /* LATIN CAPITAL LETTER A WITH GRAVE */
+ /*0xCC*/ 0x00C3, /* LATIN CAPITAL LETTER A WITH TILDE */
+ /*0xCD*/ 0x00D5, /* LATIN CAPITAL LETTER O WITH TILDE */
+ /*0xCE*/ 0x0152, /* LATIN CAPITAL LIGATURE OE */
+ /*0xCF*/ 0x0153, /* LATIN SMALL LIGATURE OE */
+ /*0xD0*/ 0x2013, /* EN DASH */
+ /*0xD1*/ 0x2014, /* EM DASH */
+ /*0xD2*/ 0x201C, /* LEFT DOUBLE QUOTATION MARK */
+ /*0xD3*/ 0x201D, /* RIGHT DOUBLE QUOTATION MARK */
+ /*0xD4*/ 0x2018, /* LEFT SINGLE QUOTATION MARK */
+ /*0xD5*/ 0x2019, /* RIGHT SINGLE QUOTATION MARK */
+ /*0xD6*/ 0x00F7, /* DIVISION SIGN */
+ /*0xD7*/ 0x25CA, /* LOZENGE */
+ /*0xD8*/ 0x00FF, /* LATIN SMALL LETTER Y WITH DIAERESIS */
+ /*0xD9*/ 0x0178, /* LATIN CAPITAL LETTER Y WITH DIAERESIS */
+ /*0xDA*/ 0x2044, /* FRACTION SLASH */
+ /*0xDB*/ 0x20AC, /* EURO SIGN */
+ /*0xDC*/ 0x2039, /* SINGLE LEFT-POINTING ANGLE QUOTATION MARK */
+ /*0xDD*/ 0x203A, /* SINGLE RIGHT-POINTING ANGLE QUOTATION MARK */
+ /*0xDE*/ 0xFB01, /* LATIN SMALL LIGATURE FI */
+ /*0xDF*/ 0xFB02, /* LATIN SMALL LIGATURE FL */
+ /*0xE0*/ 0x2021, /* DOUBLE DAGGER */
+ /*0xE1*/ 0x00B7, /* MIDDLE DOT */
+ /*0xE2*/ 0x201A, /* SINGLE LOW-9 QUOTATION MARK */
+ /*0xE3*/ 0x201E, /* DOUBLE LOW-9 QUOTATION MARK */
+ /*0xE4*/ 0x2030, /* PER MILLE SIGN */
+ /*0xE5*/ 0x00C2, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
+ /*0xE6*/ 0x00CA, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
+ /*0xE7*/ 0x00C1, /* LATIN CAPITAL LETTER A WITH ACUTE */
+ /*0xE8*/ 0x00CB, /* LATIN CAPITAL LETTER E WITH DIAERESIS */
+ /*0xE9*/ 0x00C8, /* LATIN CAPITAL LETTER E WITH GRAVE */
+ /*0xEA*/ 0x00CD, /* LATIN CAPITAL LETTER I WITH ACUTE */
+ /*0xEB*/ 0x00CE, /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
+ /*0xEC*/ 0x00CF, /* LATIN CAPITAL LETTER I WITH DIAERESIS */
+ /*0xED*/ 0x00CC, /* LATIN CAPITAL LETTER I WITH GRAVE */
+ /*0xEE*/ 0x00D3, /* LATIN CAPITAL LETTER O WITH ACUTE */
+ /*0xEF*/ 0x00D4, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
+ /*0xF0*/ 0xF8FF, /* Apple logo */
+ /*0xF1*/ 0x00D2, /* LATIN CAPITAL LETTER O WITH GRAVE */
+ /*0xF2*/ 0x00DA, /* LATIN CAPITAL LETTER U WITH ACUTE */
+ /*0xF3*/ 0x00DB, /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
+ /*0xF4*/ 0x00D9, /* LATIN CAPITAL LETTER U WITH GRAVE */
+ /*0xF5*/ 0x0131, /* LATIN SMALL LETTER DOTLESS I */
+ /*0xF6*/ 0x02C6, /* MODIFIER LETTER CIRCUMFLEX ACCENT */
+ /*0xF7*/ 0x02DC, /* SMALL TILDE */
+ /*0xF8*/ 0x00AF, /* MACRON */
+ /*0xF9*/ 0x02D8, /* BREVE */
+ /*0xFA*/ 0x02D9, /* DOT ABOVE */
+ /*0xFB*/ 0x02DA, /* RING ABOVE */
+ /*0xFC*/ 0x00B8, /* CEDILLA */
+ /*0xFD*/ 0x02DD, /* DOUBLE ACUTE ACCENT */
+ /*0xFE*/ 0x02DB, /* OGONEK */
+ /*0xFF*/ 0x02C7, /* CARON */
+};
+
#if USE_ICONV
#include <iconv.h>
#endif
@@ -696,6 +829,35 @@ FcSfntNameTranscode (FT_SfntName *sname)
*u8 = '\0';
goto done;
}
+ if (!strcmp (fromcode, FC_ENCODING_MAC_ROMAN))
+ {
+ FcChar8 *src = sname->string;
+ int src_len = sname->string_len;
+ int olen;
+ FcChar8 *u8;
+ FcChar32 ucs4;
+
+ /*
+ * Convert Latin1 to Utf8. Freed below
+ */
+ utf8 = malloc (src_len * 3 + 1);
+ if (!utf8)
+ return 0;
+
+ u8 = utf8;
+ while (src_len > 0)
+ {
+ ucs4 = *src++;
+ if (ucs4 >= 128)
+ ucs4 = fcMacRomanNonASCIIToUnicode[ucs4 - 128];
+ src_len--;
+ olen = FcUcs4ToUtf8 (ucs4, u8);
+ u8 += olen;
+ }
+ *u8 = '\0';
+ goto done;
+ }
+
#if USE_ICONV
cd = iconv_open ("UTF-8", fromcode);
if (cd && cd != (iconv_t) (-1))
@@ -933,6 +1095,8 @@ static const FcStringConst weightConsts[] = {
{ (FC8) "thin", FC_WEIGHT_THIN },
{ (FC8) "extralight", FC_WEIGHT_EXTRALIGHT },
{ (FC8) "ultralight", FC_WEIGHT_ULTRALIGHT },
+ { (FC8) "demilight", FC_WEIGHT_DEMILIGHT },
+ { (FC8) "semilight", FC_WEIGHT_SEMILIGHT },
{ (FC8) "light", FC_WEIGHT_LIGHT },
{ (FC8) "book", FC_WEIGHT_BOOK },
{ (FC8) "regular", FC_WEIGHT_REGULAR },
@@ -1104,21 +1268,37 @@ FcFreeTypeQueryFace (const FT_Face face,
char psname[256];
const char *tmp;
- FcChar8 *hashstr = NULL;
- FT_Error err;
- FT_ULong len = 0, alen;
+ FcRange *r = NULL;
+ double lower_size = 0.0L, upper_size = DBL_MAX;
+
+ FcInitDebug (); /* We might be called with no initizalization whatsoever. */
pat = FcPatternCreate ();
if (!pat)
goto bail0;
- if (!FcPatternAddBool (pat, FC_OUTLINE,
- (face->face_flags & FT_FACE_FLAG_SCALABLE) != 0))
- goto bail1;
+ {
+ int has_outline = !!(face->face_flags & FT_FACE_FLAG_SCALABLE);
+ int has_color = 0;
- if (!FcPatternAddBool (pat, FC_SCALABLE,
- (face->face_flags & FT_FACE_FLAG_SCALABLE) != 0))
- goto bail1;
+#ifdef FT_FACE_FLAG_COLOR
+ has_color = !!(face->face_flags & FT_FACE_FLAG_COLOR);
+#endif
+
+ if (!FcPatternAddBool (pat, FC_OUTLINE, has_outline))
+ goto bail1;
+
+#ifdef FT_FACE_FLAG_COLOR
+ if (!FcPatternAddBool (pat, FC_COLOR, has_color))
+ goto bail1;
+#endif
+
+ /* All color fonts are designed to be scaled, even if they only have
+ * bitmap strikes. Client is responsible to scale the bitmaps. This
+ * is in constrast to non-color strikes... */
+ if (!FcPatternAddBool (pat, FC_SCALABLE, has_outline || has_color))
+ goto bail1;
+ }
/*
@@ -1283,10 +1463,10 @@ FcFreeTypeQueryFace (const FT_Face face,
free (utf8);
if (lang)
{
- /* pad lang list with 'xx' to line up with elt */
+ /* pad lang list with 'und' to line up with elt */
while (*nlangp < *np)
{
- if (!FcPatternAddString (pat, eltlang, (FcChar8 *) "xx"))
+ if (!FcPatternAddString (pat, eltlang, (FcChar8 *) "und"))
goto bail1;
++*nlangp;
}
@@ -1322,7 +1502,7 @@ FcFreeTypeQueryFace (const FT_Face face,
++nstyle;
}
- if (!nfamily)
+ if (!nfamily && file && *file)
{
FcChar8 *start, *end;
FcChar8 *family;
@@ -1391,12 +1571,13 @@ FcFreeTypeQueryFace (const FT_Face face,
}
else
{
- strcpy (psname, tmp);
+ strncpy (psname, tmp, 255);
+ psname[255] = 0;
}
if (!FcPatternAddString (pat, FC_POSTSCRIPT_NAME, (const FcChar8 *)psname))
goto bail1;
- if (!FcPatternAddString (pat, FC_FILE, file))
+ if (file && *file && !FcPatternAddString (pat, FC_FILE, file))
goto bail1;
if (!FcPatternAddInteger (pat, FC_INDEX, id))
@@ -1463,28 +1644,7 @@ FcFreeTypeQueryFace (const FT_Face face,
if (os2 && os2->version != 0xffff)
{
- if (os2->usWeightClass == 0)
- ;
- else if (os2->usWeightClass < 150)
- weight = FC_WEIGHT_THIN;
- else if (os2->usWeightClass < 250)
- weight = FC_WEIGHT_EXTRALIGHT;
- else if (os2->usWeightClass < 350)
- weight = FC_WEIGHT_LIGHT;
- else if (os2->usWeightClass < 450)
- weight = FC_WEIGHT_REGULAR;
- else if (os2->usWeightClass < 550)
- weight = FC_WEIGHT_MEDIUM;
- else if (os2->usWeightClass < 650)
- weight = FC_WEIGHT_SEMIBOLD;
- else if (os2->usWeightClass < 750)
- weight = FC_WEIGHT_BOLD;
- else if (os2->usWeightClass < 850)
- weight = FC_WEIGHT_EXTRABOLD;
- else if (os2->usWeightClass < 925)
- weight = FC_WEIGHT_BLACK;
- else if (os2->usWeightClass < 1000)
- weight = FC_WEIGHT_EXTRABLACK;
+ weight = FcWeightFromOpenType (os2->usWeightClass);
if ((FcDebug() & FC_DBG_SCANV) && weight != -1)
printf ("\tos2 weight class %d maps to weight %d\n",
os2->usWeightClass, weight);
@@ -1514,6 +1674,39 @@ FcFreeTypeQueryFace (const FT_Face face,
free (complex_);
}
+#if defined (HAVE_TT_OS2_USUPPEROPTICALPOINTSIZE) && defined (HAVE_TT_OS2_USLOWEROPTICALPOINTSIZE)
+ if (os2 && os2->version >= 0x0005 && os2->version != 0xffff)
+ {
+ /* usLowerPointSize and usUpperPointSize is actually twips */
+ lower_size = os2->usLowerOpticalPointSize / 20.0L;
+ upper_size = os2->usUpperOpticalPointSize / 20.0L;
+ }
+#endif
+ if (os2)
+ {
+ r = FcRangeCreateDouble (lower_size, upper_size);
+ if (!FcPatternAddRange (pat, FC_SIZE, r))
+ {
+ FcRangeDestroy (r);
+ goto bail1;
+ }
+ FcRangeDestroy (r);
+ }
+ else
+ {
+ for (i = 0; i < face->num_fixed_sizes; i++)
+ {
+ double d = FcGetPixelSize (face, i);
+ r = FcRangeCreateDouble (d, d);
+ if (!FcPatternAddRange (pat, FC_SIZE, r))
+ {
+ FcRangeDestroy (r);
+ goto bail1;
+ }
+ FcRangeDestroy (r);
+ }
+ }
+
/*
* Type 1: Check for FontInfo dictionary information
* Code from g2@magestudios.net (Gerard Escalante)
@@ -1664,46 +1857,6 @@ FcFreeTypeQueryFace (const FT_Face face,
if (!FcPatternAddBool (pat, FC_DECORATIVE, decorative))
goto bail1;
- err = FT_Load_Sfnt_Table (face, 0, 0, NULL, &len);
- if (err == FT_Err_Ok)
- {
- char *fontdata;
-
- alen = (len + 63) & ~63;
- fontdata = malloc (alen);
- if (!fontdata)
- goto bail3;
- err = FT_Load_Sfnt_Table (face, 0, 0, (FT_Byte *)fontdata, &len);
- if (err != FT_Err_Ok)
- {
- free (fontdata);
- goto bail3;
- }
- memset (&fontdata[len], 0, alen - len);
- hashstr = FcHashGetSHA256DigestFromMemory (fontdata, len);
- free (fontdata);
- }
- else if (err == FT_Err_Invalid_Face_Handle)
- {
- /* font may not support SFNT. falling back to
- * read the font data from file directly
- */
- hashstr = FcHashGetSHA256DigestFromFile (file);
- }
- else
- {
- goto bail3;
- }
- if (hashstr)
- {
- if (!FcPatternAddString (pat, FC_HASH, hashstr))
- {
- free (hashstr);
- goto bail1;
- }
- free (hashstr);
- }
-bail3:
/*
* Compute the unicode coverage for the font
@@ -1833,283 +1986,17 @@ bail:
#warning "No FT_Get_Next_Char: Please install freetype version 2.1.0 or newer"
#endif
-typedef struct _FcCharEnt {
- FcChar16 bmp;
- unsigned char encode;
-} FcCharEnt;
-
-struct _FcCharMap {
- const FcCharEnt *ent;
- int nent;
-};
-
-typedef struct _FcFontDecode {
- FT_Encoding encoding;
- const FcCharMap *map;
- FcChar32 max;
-} FcFontDecode;
-
-static const FcCharEnt AdobeSymbolEnt[] = {
- { 0x0020, 0x20 }, /* SPACE # space */
- { 0x0021, 0x21 }, /* EXCLAMATION MARK # exclam */
- { 0x0023, 0x23 }, /* NUMBER SIGN # numbersign */
- { 0x0025, 0x25 }, /* PERCENT SIGN # percent */
- { 0x0026, 0x26 }, /* AMPERSAND # ampersand */
- { 0x0028, 0x28 }, /* LEFT PARENTHESIS # parenleft */
- { 0x0029, 0x29 }, /* RIGHT PARENTHESIS # parenright */
- { 0x002B, 0x2B }, /* PLUS SIGN # plus */
- { 0x002C, 0x2C }, /* COMMA # comma */
- { 0x002E, 0x2E }, /* FULL STOP # period */
- { 0x002F, 0x2F }, /* SOLIDUS # slash */
- { 0x0030, 0x30 }, /* DIGIT ZERO # zero */
- { 0x0031, 0x31 }, /* DIGIT ONE # one */
- { 0x0032, 0x32 }, /* DIGIT TWO # two */
- { 0x0033, 0x33 }, /* DIGIT THREE # three */
- { 0x0034, 0x34 }, /* DIGIT FOUR # four */
- { 0x0035, 0x35 }, /* DIGIT FIVE # five */
- { 0x0036, 0x36 }, /* DIGIT SIX # six */
- { 0x0037, 0x37 }, /* DIGIT SEVEN # seven */
- { 0x0038, 0x38 }, /* DIGIT EIGHT # eight */
- { 0x0039, 0x39 }, /* DIGIT NINE # nine */
- { 0x003A, 0x3A }, /* COLON # colon */
- { 0x003B, 0x3B }, /* SEMICOLON # semicolon */
- { 0x003C, 0x3C }, /* LESS-THAN SIGN # less */
- { 0x003D, 0x3D }, /* EQUALS SIGN # equal */
- { 0x003E, 0x3E }, /* GREATER-THAN SIGN # greater */
- { 0x003F, 0x3F }, /* QUESTION MARK # question */
- { 0x005B, 0x5B }, /* LEFT SQUARE BRACKET # bracketleft */
- { 0x005D, 0x5D }, /* RIGHT SQUARE BRACKET # bracketright */
- { 0x005F, 0x5F }, /* LOW LINE # underscore */
- { 0x007B, 0x7B }, /* LEFT CURLY BRACKET # braceleft */
- { 0x007C, 0x7C }, /* VERTICAL LINE # bar */
- { 0x007D, 0x7D }, /* RIGHT CURLY BRACKET # braceright */
- { 0x00A0, 0x20 }, /* NO-BREAK SPACE # space */
- { 0x00AC, 0xD8 }, /* NOT SIGN # logicalnot */
- { 0x00B0, 0xB0 }, /* DEGREE SIGN # degree */
- { 0x00B1, 0xB1 }, /* PLUS-MINUS SIGN # plusminus */
- { 0x00B5, 0x6D }, /* MICRO SIGN # mu */
- { 0x00D7, 0xB4 }, /* MULTIPLICATION SIGN # multiply */
- { 0x00F7, 0xB8 }, /* DIVISION SIGN # divide */
- { 0x0192, 0xA6 }, /* LATIN SMALL LETTER F WITH HOOK # florin */
- { 0x0391, 0x41 }, /* GREEK CAPITAL LETTER ALPHA # Alpha */
- { 0x0392, 0x42 }, /* GREEK CAPITAL LETTER BETA # Beta */
- { 0x0393, 0x47 }, /* GREEK CAPITAL LETTER GAMMA # Gamma */
- { 0x0394, 0x44 }, /* GREEK CAPITAL LETTER DELTA # Delta */
- { 0x0395, 0x45 }, /* GREEK CAPITAL LETTER EPSILON # Epsilon */
- { 0x0396, 0x5A }, /* GREEK CAPITAL LETTER ZETA # Zeta */
- { 0x0397, 0x48 }, /* GREEK CAPITAL LETTER ETA # Eta */
- { 0x0398, 0x51 }, /* GREEK CAPITAL LETTER THETA # Theta */
- { 0x0399, 0x49 }, /* GREEK CAPITAL LETTER IOTA # Iota */
- { 0x039A, 0x4B }, /* GREEK CAPITAL LETTER KAPPA # Kappa */
- { 0x039B, 0x4C }, /* GREEK CAPITAL LETTER LAMDA # Lambda */
- { 0x039C, 0x4D }, /* GREEK CAPITAL LETTER MU # Mu */
- { 0x039D, 0x4E }, /* GREEK CAPITAL LETTER NU # Nu */
- { 0x039E, 0x58 }, /* GREEK CAPITAL LETTER XI # Xi */
- { 0x039F, 0x4F }, /* GREEK CAPITAL LETTER OMICRON # Omicron */
- { 0x03A0, 0x50 }, /* GREEK CAPITAL LETTER PI # Pi */
- { 0x03A1, 0x52 }, /* GREEK CAPITAL LETTER RHO # Rho */
- { 0x03A3, 0x53 }, /* GREEK CAPITAL LETTER SIGMA # Sigma */
- { 0x03A4, 0x54 }, /* GREEK CAPITAL LETTER TAU # Tau */
- { 0x03A5, 0x55 }, /* GREEK CAPITAL LETTER UPSILON # Upsilon */
- { 0x03A6, 0x46 }, /* GREEK CAPITAL LETTER PHI # Phi */
- { 0x03A7, 0x43 }, /* GREEK CAPITAL LETTER CHI # Chi */
- { 0x03A8, 0x59 }, /* GREEK CAPITAL LETTER PSI # Psi */
- { 0x03A9, 0x57 }, /* GREEK CAPITAL LETTER OMEGA # Omega */
- { 0x03B1, 0x61 }, /* GREEK SMALL LETTER ALPHA # alpha */
- { 0x03B2, 0x62 }, /* GREEK SMALL LETTER BETA # beta */
- { 0x03B3, 0x67 }, /* GREEK SMALL LETTER GAMMA # gamma */
- { 0x03B4, 0x64 }, /* GREEK SMALL LETTER DELTA # delta */
- { 0x03B5, 0x65 }, /* GREEK SMALL LETTER EPSILON # epsilon */
- { 0x03B6, 0x7A }, /* GREEK SMALL LETTER ZETA # zeta */
- { 0x03B7, 0x68 }, /* GREEK SMALL LETTER ETA # eta */
- { 0x03B8, 0x71 }, /* GREEK SMALL LETTER THETA # theta */
- { 0x03B9, 0x69 }, /* GREEK SMALL LETTER IOTA # iota */
- { 0x03BA, 0x6B }, /* GREEK SMALL LETTER KAPPA # kappa */
- { 0x03BB, 0x6C }, /* GREEK SMALL LETTER LAMDA # lambda */
- { 0x03BC, 0x6D }, /* GREEK SMALL LETTER MU # mu */
- { 0x03BD, 0x6E }, /* GREEK SMALL LETTER NU # nu */
- { 0x03BE, 0x78 }, /* GREEK SMALL LETTER XI # xi */
- { 0x03BF, 0x6F }, /* GREEK SMALL LETTER OMICRON # omicron */
- { 0x03C0, 0x70 }, /* GREEK SMALL LETTER PI # pi */
- { 0x03C1, 0x72 }, /* GREEK SMALL LETTER RHO # rho */
- { 0x03C2, 0x56 }, /* GREEK SMALL LETTER FINAL SIGMA # sigma1 */
- { 0x03C3, 0x73 }, /* GREEK SMALL LETTER SIGMA # sigma */
- { 0x03C4, 0x74 }, /* GREEK SMALL LETTER TAU # tau */
- { 0x03C5, 0x75 }, /* GREEK SMALL LETTER UPSILON # upsilon */
- { 0x03C6, 0x66 }, /* GREEK SMALL LETTER PHI # phi */
- { 0x03C7, 0x63 }, /* GREEK SMALL LETTER CHI # chi */
- { 0x03C8, 0x79 }, /* GREEK SMALL LETTER PSI # psi */
- { 0x03C9, 0x77 }, /* GREEK SMALL LETTER OMEGA # omega */
- { 0x03D1, 0x4A }, /* GREEK THETA SYMBOL # theta1 */
- { 0x03D2, 0xA1 }, /* GREEK UPSILON WITH HOOK SYMBOL # Upsilon1 */
- { 0x03D5, 0x6A }, /* GREEK PHI SYMBOL # phi1 */
- { 0x03D6, 0x76 }, /* GREEK PI SYMBOL # omega1 */
- { 0x2022, 0xB7 }, /* BULLET # bullet */
- { 0x2026, 0xBC }, /* HORIZONTAL ELLIPSIS # ellipsis */
- { 0x2032, 0xA2 }, /* PRIME # minute */
- { 0x2033, 0xB2 }, /* DOUBLE PRIME # second */
- { 0x2044, 0xA4 }, /* FRACTION SLASH # fraction */
- { 0x20AC, 0xA0 }, /* EURO SIGN # Euro */
- { 0x2111, 0xC1 }, /* BLACK-LETTER CAPITAL I # Ifraktur */
- { 0x2118, 0xC3 }, /* SCRIPT CAPITAL P # weierstrass */
- { 0x211C, 0xC2 }, /* BLACK-LETTER CAPITAL R # Rfraktur */
- { 0x2126, 0x57 }, /* OHM SIGN # Omega */
- { 0x2135, 0xC0 }, /* ALEF SYMBOL # aleph */
- { 0x2190, 0xAC }, /* LEFTWARDS ARROW # arrowleft */
- { 0x2191, 0xAD }, /* UPWARDS ARROW # arrowup */
- { 0x2192, 0xAE }, /* RIGHTWARDS ARROW # arrowright */
- { 0x2193, 0xAF }, /* DOWNWARDS ARROW # arrowdown */
- { 0x2194, 0xAB }, /* LEFT RIGHT ARROW # arrowboth */
- { 0x21B5, 0xBF }, /* DOWNWARDS ARROW WITH CORNER LEFTWARDS # carriagereturn */
- { 0x21D0, 0xDC }, /* LEFTWARDS DOUBLE ARROW # arrowdblleft */
- { 0x21D1, 0xDD }, /* UPWARDS DOUBLE ARROW # arrowdblup */
- { 0x21D2, 0xDE }, /* RIGHTWARDS DOUBLE ARROW # arrowdblright */
- { 0x21D3, 0xDF }, /* DOWNWARDS DOUBLE ARROW # arrowdbldown */
- { 0x21D4, 0xDB }, /* LEFT RIGHT DOUBLE ARROW # arrowdblboth */
- { 0x2200, 0x22 }, /* FOR ALL # universal */
- { 0x2202, 0xB6 }, /* PARTIAL DIFFERENTIAL # partialdiff */
- { 0x2203, 0x24 }, /* THERE EXISTS # existential */
- { 0x2205, 0xC6 }, /* EMPTY SET # emptyset */
- { 0x2206, 0x44 }, /* INCREMENT # Delta */
- { 0x2207, 0xD1 }, /* NABLA # gradient */
- { 0x2208, 0xCE }, /* ELEMENT OF # element */
- { 0x2209, 0xCF }, /* NOT AN ELEMENT OF # notelement */
- { 0x220B, 0x27 }, /* CONTAINS AS MEMBER # suchthat */
- { 0x220F, 0xD5 }, /* N-ARY PRODUCT # product */
- { 0x2211, 0xE5 }, /* N-ARY SUMMATION # summation */
- { 0x2212, 0x2D }, /* MINUS SIGN # minus */
- { 0x2215, 0xA4 }, /* DIVISION SLASH # fraction */
- { 0x2217, 0x2A }, /* ASTERISK OPERATOR # asteriskmath */
- { 0x221A, 0xD6 }, /* SQUARE ROOT # radical */
- { 0x221D, 0xB5 }, /* PROPORTIONAL TO # proportional */
- { 0x221E, 0xA5 }, /* INFINITY # infinity */
- { 0x2220, 0xD0 }, /* ANGLE # angle */
- { 0x2227, 0xD9 }, /* LOGICAL AND # logicaland */
- { 0x2228, 0xDA }, /* LOGICAL OR # logicalor */
- { 0x2229, 0xC7 }, /* INTERSECTION # intersection */
- { 0x222A, 0xC8 }, /* UNION # union */
- { 0x222B, 0xF2 }, /* INTEGRAL # integral */
- { 0x2234, 0x5C }, /* THEREFORE # therefore */
- { 0x223C, 0x7E }, /* TILDE OPERATOR # similar */
- { 0x2245, 0x40 }, /* APPROXIMATELY EQUAL TO # congruent */
- { 0x2248, 0xBB }, /* ALMOST EQUAL TO # approxequal */
- { 0x2260, 0xB9 }, /* NOT EQUAL TO # notequal */
- { 0x2261, 0xBA }, /* IDENTICAL TO # equivalence */
- { 0x2264, 0xA3 }, /* LESS-THAN OR EQUAL TO # lessequal */
- { 0x2265, 0xB3 }, /* GREATER-THAN OR EQUAL TO # greaterequal */
- { 0x2282, 0xCC }, /* SUBSET OF # propersubset */
- { 0x2283, 0xC9 }, /* SUPERSET OF # propersuperset */
- { 0x2284, 0xCB }, /* NOT A SUBSET OF # notsubset */
- { 0x2286, 0xCD }, /* SUBSET OF OR EQUAL TO # reflexsubset */
- { 0x2287, 0xCA }, /* SUPERSET OF OR EQUAL TO # reflexsuperset */
- { 0x2295, 0xC5 }, /* CIRCLED PLUS # circleplus */
- { 0x2297, 0xC4 }, /* CIRCLED TIMES # circlemultiply */
- { 0x22A5, 0x5E }, /* UP TACK # perpendicular */
- { 0x22C5, 0xD7 }, /* DOT OPERATOR # dotmath */
- { 0x2320, 0xF3 }, /* TOP HALF INTEGRAL # integraltp */
- { 0x2321, 0xF5 }, /* BOTTOM HALF INTEGRAL # integralbt */
- { 0x2329, 0xE1 }, /* LEFT-POINTING ANGLE BRACKET # angleleft */
- { 0x232A, 0xF1 }, /* RIGHT-POINTING ANGLE BRACKET # angleright */
- { 0x25CA, 0xE0 }, /* LOZENGE # lozenge */
- { 0x2660, 0xAA }, /* BLACK SPADE SUIT # spade */
- { 0x2663, 0xA7 }, /* BLACK CLUB SUIT # club */
- { 0x2665, 0xA9 }, /* BLACK HEART SUIT # heart */
- { 0x2666, 0xA8 }, /* BLACK DIAMOND SUIT # diamond */
- { 0xF6D9, 0xD3 }, /* COPYRIGHT SIGN SERIF # copyrightserif (CUS) */
- { 0xF6DA, 0xD2 }, /* REGISTERED SIGN SERIF # registerserif (CUS) */
- { 0xF6DB, 0xD4 }, /* TRADE MARK SIGN SERIF # trademarkserif (CUS) */
- { 0xF8E5, 0x60 }, /* RADICAL EXTENDER # radicalex (CUS) */
- { 0xF8E6, 0xBD }, /* VERTICAL ARROW EXTENDER # arrowvertex (CUS) */
- { 0xF8E7, 0xBE }, /* HORIZONTAL ARROW EXTENDER # arrowhorizex (CUS) */
- { 0xF8E8, 0xE2 }, /* REGISTERED SIGN SANS SERIF # registersans (CUS) */
- { 0xF8E9, 0xE3 }, /* COPYRIGHT SIGN SANS SERIF # copyrightsans (CUS) */
- { 0xF8EA, 0xE4 }, /* TRADE MARK SIGN SANS SERIF # trademarksans (CUS) */
- { 0xF8EB, 0xE6 }, /* LEFT PAREN TOP # parenlefttp (CUS) */
- { 0xF8EC, 0xE7 }, /* LEFT PAREN EXTENDER # parenleftex (CUS) */
- { 0xF8ED, 0xE8 }, /* LEFT PAREN BOTTOM # parenleftbt (CUS) */
- { 0xF8EE, 0xE9 }, /* LEFT SQUARE BRACKET TOP # bracketlefttp (CUS) */
- { 0xF8EF, 0xEA }, /* LEFT SQUARE BRACKET EXTENDER # bracketleftex (CUS) */
- { 0xF8F0, 0xEB }, /* LEFT SQUARE BRACKET BOTTOM # bracketleftbt (CUS) */
- { 0xF8F1, 0xEC }, /* LEFT CURLY BRACKET TOP # bracelefttp (CUS) */
- { 0xF8F2, 0xED }, /* LEFT CURLY BRACKET MID # braceleftmid (CUS) */
- { 0xF8F3, 0xEE }, /* LEFT CURLY BRACKET BOTTOM # braceleftbt (CUS) */
- { 0xF8F4, 0xEF }, /* CURLY BRACKET EXTENDER # braceex (CUS) */
- { 0xF8F5, 0xF4 }, /* INTEGRAL EXTENDER # integralex (CUS) */
- { 0xF8F6, 0xF6 }, /* RIGHT PAREN TOP # parenrighttp (CUS) */
- { 0xF8F7, 0xF7 }, /* RIGHT PAREN EXTENDER # parenrightex (CUS) */
- { 0xF8F8, 0xF8 }, /* RIGHT PAREN BOTTOM # parenrightbt (CUS) */
- { 0xF8F9, 0xF9 }, /* RIGHT SQUARE BRACKET TOP # bracketrighttp (CUS) */
- { 0xF8FA, 0xFA }, /* RIGHT SQUARE BRACKET EXTENDER # bracketrightex (CUS) */
- { 0xF8FB, 0xFB }, /* RIGHT SQUARE BRACKET BOTTOM # bracketrightbt (CUS) */
- { 0xF8FC, 0xFC }, /* RIGHT CURLY BRACKET TOP # bracerighttp (CUS) */
- { 0xF8FD, 0xFD }, /* RIGHT CURLY BRACKET MID # bracerightmid (CUS) */
- { 0xF8FE, 0xFE }, /* RIGHT CURLY BRACKET BOTTOM # bracerightbt (CUS) */
+static const FT_Encoding fcFontEncodings[] = {
+ FT_ENCODING_UNICODE,
+ FT_ENCODING_MS_SYMBOL
};
-static const FcCharMap AdobeSymbol = {
- AdobeSymbolEnt,
- sizeof (AdobeSymbolEnt) / sizeof (AdobeSymbolEnt[0]),
-};
-
-static const FcFontDecode fcFontDecoders[] = {
- { ft_encoding_unicode, 0, (1 << 21) - 1 },
- { ft_encoding_symbol, &AdobeSymbol, (1 << 16) - 1 },
-};
-
-#define NUM_DECODE (int) (sizeof (fcFontDecoders) / sizeof (fcFontDecoders[0]))
+#define NUM_DECODE (int) (sizeof (fcFontEncodings) / sizeof (fcFontEncodings[0]))
static const FcChar32 prefer_unicode[] = {
0x20ac, /* EURO SIGN */
};
-#define NUM_PREFER_UNICODE (int) (sizeof (prefer_unicode) / sizeof (prefer_unicode[0]))
-
-FcChar32
-FcFreeTypeUcs4ToPrivate (FcChar32 ucs4, const FcCharMap *map)
-{
- int low, high, mid;
- FcChar16 bmp;
-
- low = 0;
- high = map->nent - 1;
- if (ucs4 < map->ent[low].bmp || map->ent[high].bmp < ucs4)
- return ~0;
- while (low <= high)
- {
- mid = (high + low) >> 1;
- bmp = map->ent[mid].bmp;
- if (ucs4 == bmp)
- return (FT_ULong) map->ent[mid].encode;
- if (ucs4 < bmp)
- high = mid - 1;
- else
- low = mid + 1;
- }
- return ~0;
-}
-
-FcChar32
-FcFreeTypePrivateToUcs4 (FcChar32 private, const FcCharMap *map)
-{
- int i;
-
- for (i = 0; i < map->nent; i++)
- if (map->ent[i].encode == private)
- return (FcChar32) map->ent[i].bmp;
- return ~0;
-}
-
-const FcCharMap *
-FcFreeTypeGetPrivateMap (FT_Encoding encoding)
-{
- int i;
-
- for (i = 0; i < NUM_DECODE; i++)
- if (fcFontDecoders[i].encoding == encoding)
- return fcFontDecoders[i].map;
- return 0;
-}
-
#include "../fc-glyphname/fcglyphname.h"
static FcChar32
@@ -2237,8 +2124,6 @@ FcFreeTypeCharIndex (FT_Face face, FcChar32 ucs4)
{
int initial, offset, decode;
FT_UInt glyphindex;
- FcChar32 charcode;
- int p;
initial = 0;
@@ -2251,35 +2136,21 @@ FcFreeTypeCharIndex (FT_Face face, FcChar32 ucs4)
if (face->charmap)
{
for (; initial < NUM_DECODE; initial++)
- if (fcFontDecoders[initial].encoding == face->charmap->encoding)
+ if (fcFontEncodings[initial] == face->charmap->encoding)
break;
if (initial == NUM_DECODE)
initial = 0;
}
- for (p = 0; p < NUM_PREFER_UNICODE; p++)
- if (ucs4 == prefer_unicode[p])
- {
- initial = 0;
- break;
- }
/*
* Check each encoding for the glyph, starting with the current one
*/
for (offset = 0; offset < NUM_DECODE; offset++)
{
decode = (initial + offset) % NUM_DECODE;
- if (!face->charmap || face->charmap->encoding != fcFontDecoders[decode].encoding)
- if (FT_Select_Charmap (face, fcFontDecoders[decode].encoding) != 0)
- continue;
- if (fcFontDecoders[decode].map)
- {
- charcode = FcFreeTypeUcs4ToPrivate (ucs4, fcFontDecoders[decode].map);
- if (charcode == ~0U)
+ if (!face->charmap || face->charmap->encoding != fcFontEncodings[decode])
+ if (FT_Select_Charmap (face, fcFontEncodings[decode]) != 0)
continue;
- }
- else
- charcode = ucs4;
- glyphindex = FT_Get_Char_Index (face, (FT_ULong) charcode);
+ glyphindex = FT_Get_Char_Index (face, (FT_ULong) ucs4);
if (glyphindex)
return glyphindex;
}
@@ -2372,9 +2243,7 @@ FcFreeTypeCharSetAndSpacingForSize (FT_Face face, FcBlanks *blanks, int *spacing
#endif
FcCharSet *fcs;
FcCharLeaf *leaf;
- const FcCharMap *map;
int o;
- int i;
FT_UInt glyph;
FT_Pos advance, advance_one = 0, advance_two = 0;
FcBool has_advance = FcFalse, fixed_advance = FcTrue, dual_advance = FcFalse;
@@ -2397,62 +2266,9 @@ FcFreeTypeCharSetAndSpacingForSize (FT_Face face, FcBlanks *blanks, int *spacing
#endif
for (o = 0; o < NUM_DECODE; o++)
{
- if (FT_Select_Charmap (face, fcFontDecoders[o].encoding) != 0)
+ if (FT_Select_Charmap (face, fcFontEncodings[o]) != 0)
continue;
- map = fcFontDecoders[o].map;
- if (map)
- {
- /*
- * Non-Unicode tables are easy; there's a list of all possible
- * characters
- */
- for (i = 0; i < map->nent; i++)
- {
- ucs4 = map->ent[i].bmp;
- glyph = FT_Get_Char_Index (face, map->ent[i].encode);
- if (glyph &&
- FcFreeTypeCheckGlyph (face, ucs4, glyph, blanks, &advance, using_strike))
- {
- /*
- * ignore glyphs with zero advance. They’re
- * combining characters, and while their behaviour
- * isn’t well defined for monospaced applications in
- * Unicode, there are many fonts which include
- * zero-width combining characters in otherwise
- * monospaced fonts.
- */
- if (advance)
- {
- if (!has_advance)
- {
- has_advance = FcTrue;
- advance_one = advance;
- }
- else if (!APPROXIMATELY_EQUAL (advance, advance_one))
- {
- if (fixed_advance)
- {
- dual_advance = FcTrue;
- fixed_advance = FcFalse;
- advance_two = advance;
- }
- else if (!APPROXIMATELY_EQUAL (advance, advance_two))
- dual_advance = FcFalse;
- }
- }
- leaf = FcCharSetFindLeafCreate (fcs, ucs4);
- if (!leaf)
- goto bail1;
- leaf->map[(ucs4 & 0xff) >> 5] |= (1 << (ucs4 & 0x1f));
-#ifdef CHECK
- if (ucs4 > font_max)
- font_max = ucs4;
-#endif
- }
- }
- }
- else
{
page = ~0;
leaf = NULL;
diff --git a/src/fchash.c b/src/fchash.c
deleted file mode 100644
index 38300028..00000000
--- a/src/fchash.c
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- * fontconfig/src/fchash.c
- *
- * Copyright © 2003 Keith Packard
- * Copyright © 2013 Red Hat, Inc.
- * Red Hat Author(s): Akira TAGOH
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of the author(s) not be used in
- * advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission. The authors make no
- * representations about the suitability of this software for any purpose. It
- * is provided "as is" without express or implied warranty.
- *
- * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-#include "fcint.h"
-#include <stdio.h>
-#include <string.h>
-
-#define ROTRN(w, v, n) ((((FcChar32)v) >> n) | (((FcChar32)v) << (w - n)))
-#define ROTR32(v, n) ROTRN(32, v, n)
-#define SHR(v, n) (v >> n)
-#define Ch(x, y, z) ((x & y) ^ (~x & z))
-#define Maj(x, y, z) ((x & y) ^ (x & z) ^ (y & z))
-#define SS0(x) (ROTR32(x, 2) ^ ROTR32(x, 13) ^ ROTR32(x, 22))
-#define SS1(x) (ROTR32(x, 6) ^ ROTR32(x, 11) ^ ROTR32(x, 25))
-#define ss0(x) (ROTR32(x, 7) ^ ROTR32(x, 18) ^ SHR(x, 3))
-#define ss1(x) (ROTR32(x, 17) ^ ROTR32(x, 19) ^ SHR(x, 10))
-
-
-static FcChar32 *
-FcHashInitSHA256Digest (void)
-{
- int i;
- static const FcChar32 h[] = {
- 0x6a09e667UL, 0xbb67ae85UL, 0x3c6ef372UL, 0xa54ff53aUL,
- 0x510e527fUL, 0x9b05688cUL, 0x1f83d9abUL, 0x5be0cd19UL
- };
- FcChar32 *ret = malloc (sizeof (FcChar32) * 8);
-
- if (!ret)
- return NULL;
-
- for (i = 0; i < 8; i++)
- ret[i] = h[i];
-
- return ret;
-}
-
-static void
-FcHashComputeSHA256Digest (FcChar32 *hash,
- const char *block)
-{
- static const FcChar32 k[] = {
- 0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL,
- 0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL,
- 0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL,
- 0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL,
- 0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL,
- 0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL,
- 0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL,
- 0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL,
- 0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL,
- 0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL,
- 0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL,
- 0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL,
- 0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL,
- 0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL,
- 0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL,
- 0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL
- };
- FcChar32 w[64], i, j, t1, t2;
- FcChar32 a, b, c, d, e, f, g, h;
-
-#define H(n) (hash[n])
-
- a = H(0);
- b = H(1);
- c = H(2);
- d = H(3);
- e = H(4);
- f = H(5);
- g = H(6);
- h = H(7);
-
- for (i = 0; i < 16; i++)
- {
- j = (block[(i * 4) + 0] & 0xff) << (8 * 3);
- j |= (block[(i * 4) + 1] & 0xff) << (8 * 2);
- j |= (block[(i * 4) + 2] & 0xff) << (8 * 1);
- j |= (block[(i * 4) + 3] & 0xff);
- w[i] = j;
- }
- for (i = 16; i < 64; i++)
- w[i] = ss1(w[i - 2]) + w[i - 7] + ss0(w[i - 15]) + w[i - 16];
-
- for (i = 0; i < 64; i++)
- {
- t1 = h + SS1(e) + Ch(e, f, g) + k[i] + w[i];
- t2 = SS0(a) + Maj(a, b, c);
- h = g;
- g = f;
- f = e;
- e = d + t1;
- d = c;
- c = b;
- b = a;
- a = t1 + t2;
- }
-
- H(0) += a;
- H(1) += b;
- H(2) += c;
- H(3) += d;
- H(4) += e;
- H(5) += f;
- H(6) += g;
- H(7) += h;
-
-#undef H
-}
-
-static FcChar8 *
-FcHashSHA256ToString (FcChar32 *hash)
-{
- FcChar8 *ret = NULL;
- static const char hex[] = "0123456789abcdef";
- int i, j;
-
- if (hash)
- {
- ret = malloc (sizeof (FcChar8) * (8 * 8 + 7 + 1));
- if (!ret)
- return NULL;
- memcpy (ret, "sha256:", 7);
-#define H(n) hash[n]
- for (i = 0; i < 8; i++)
- {
- FcChar32 v = H(i);
-
- for (j = 0; j < 8; j++)
- ret[7 + (i * 8) + j] = hex[(v >> (28 - j * 4)) & 0xf];
- }
- ret[7 + i * 8] = 0;
-#undef H
- free (hash);
- }
-
- return ret;
-}
-
-FcChar8 *
-FcHashGetSHA256Digest (const FcChar8 *input_strings,
- size_t len)
-{
- size_t i, round_len = len / 64;
- char block[64];
- FcChar32 *ret = FcHashInitSHA256Digest ();
-
- if (!ret)
- return NULL;
-
- for (i = 0; i < round_len; i++)
- {
- FcHashComputeSHA256Digest (ret, (const char *)&input_strings[i * 64]);
- }
- /* padding */
- if ((len % 64) != 0)
- memcpy (block, &input_strings[len / 64], len % 64);
- memset (&block[len % 64], 0, 64 - (len % 64));
- block[len % 64] = 0x80;
- if ((64 - (len % 64)) < 9)
- {
- /* process a block once */
- FcHashComputeSHA256Digest (ret, block);
- memset (block, 0, 64);
- }
- /* set input size at the end */
- len *= 8;
- block[63 - 0] = (uint64_t)len & 0xff;
- block[63 - 1] = ((uint64_t)len >> 8) & 0xff;
- block[63 - 2] = ((uint64_t)len >> 16) & 0xff;
- block[63 - 3] = ((uint64_t)len >> 24) & 0xff;
- block[63 - 4] = ((uint64_t)len >> 32) & 0xff;
- block[63 - 5] = ((uint64_t)len >> 40) & 0xff;
- block[63 - 6] = ((uint64_t)len >> 48) & 0xff;
- block[63 - 7] = ((uint64_t)len >> 56) & 0xff;
- FcHashComputeSHA256Digest (ret, block);
-
- return FcHashSHA256ToString (ret);
-}
-
-FcChar8 *
-FcHashGetSHA256DigestFromFile (const FcChar8 *filename)
-{
- FILE *fp = fopen ((const char *)filename, "rb");
- char ibuf[64];
- FcChar32 *ret;
- size_t len;
- struct stat st;
-
- if (!fp)
- return NULL;
-
- if (FcStat (filename, &st))
- goto bail0;
-
- ret = FcHashInitSHA256Digest ();
- if (!ret)
- goto bail0;
-
- while (!feof (fp))
- {
- if ((len = fread (ibuf, sizeof (char), 64, fp)) < 64)
- {
- uint64_t v;
-
- /* add a padding */
- memset (&ibuf[len], 0, 64 - len);
- ibuf[len] = 0x80;
- if ((64 - len) < 9)
- {
- /* process a block once */
- FcHashComputeSHA256Digest (ret, ibuf);
- memset (ibuf, 0, 64);
- }
- /* set input size at the end */
- v = (long)st.st_size * 8;
- ibuf[63 - 0] = v & 0xff;
- ibuf[63 - 1] = (v >> 8) & 0xff;
- ibuf[63 - 2] = (v >> 16) & 0xff;
- ibuf[63 - 3] = (v >> 24) & 0xff;
- ibuf[63 - 4] = (v >> 32) & 0xff;
- ibuf[63 - 5] = (v >> 40) & 0xff;
- ibuf[63 - 6] = (v >> 48) & 0xff;
- ibuf[63 - 7] = (v >> 56) & 0xff;
- FcHashComputeSHA256Digest (ret, ibuf);
- break;
- }
- else
- {
- FcHashComputeSHA256Digest (ret, ibuf);
- }
- }
- fclose (fp);
-
- return FcHashSHA256ToString (ret);
-
-bail0:
- fclose (fp);
-
- return NULL;
-}
-
-FcChar8 *
-FcHashGetSHA256DigestFromMemory (const char *fontdata,
- size_t length)
-{
- char ibuf[64];
- FcChar32 *ret;
- size_t i = 0;
-
- ret = FcHashInitSHA256Digest ();
- if (!ret)
- return NULL;
-
- while (i <= length)
- {
- if ((length - i) < 64)
- {
- uint64_t v;
- size_t n;
-
- /* add a padding */
- n = length - i;
- if (n > 0)
- memcpy (ibuf, &fontdata[i], n);
- memset (&ibuf[n], 0, 64 - n);
- ibuf[n] = 0x80;
- if ((64 - n) < 9)
- {
- /* process a block once */
- FcHashComputeSHA256Digest (ret, ibuf);
- memset (ibuf, 0, 64);
- }
- /* set input size at the end */
- v = length * 8;
- ibuf[63 - 0] = v & 0xff;
- ibuf[63 - 1] = (v >> 8) & 0xff;
- ibuf[63 - 2] = (v >> 16) & 0xff;
- ibuf[63 - 3] = (v >> 24) & 0xff;
- ibuf[63 - 4] = (v >> 32) & 0xff;
- ibuf[63 - 5] = (v >> 40) & 0xff;
- ibuf[63 - 6] = (v >> 48) & 0xff;
- ibuf[63 - 7] = (v >> 56) & 0xff;
- FcHashComputeSHA256Digest (ret, ibuf);
- break;
- }
- else
- {
- FcHashComputeSHA256Digest (ret, &fontdata[i]);
- }
- i += 64;
- }
-
- return FcHashSHA256ToString (ret);
-}
diff --git a/src/fcinit.c b/src/fcinit.c
index b8d5d060..6134ed40 100644
--- a/src/fcinit.c
+++ b/src/fcinit.c
@@ -36,13 +36,14 @@
#endif
static FcConfig *
-FcInitFallbackConfig (void)
+FcInitFallbackConfig (const FcChar8 *sysroot)
{
FcConfig *config;
config = FcConfigCreate ();
if (!config)
goto bail0;
+ FcConfigSetSysRoot (config, sysroot);
if (!FcConfigAddDir (config, (FcChar8 *) FC_DEFAULT_FONTS))
goto bail1;
if (!FcConfigAddCacheDir (config, (FcChar8 *) FC_CACHEDIR))
@@ -78,8 +79,12 @@ FcInitLoadOwnConfig (FcConfig *config)
if (!FcConfigParseAndLoad (config, 0, FcTrue))
{
+ const FcChar8 *sysroot = FcConfigGetSysRoot (config);
+ FcConfig *fallback = FcInitFallbackConfig (sysroot);
+
FcConfigDestroy (config);
- return FcInitFallbackConfig ();
+
+ return fallback;
}
if (config->cacheDirs && config->cacheDirs->num == 0)
@@ -108,13 +113,19 @@ FcInitLoadOwnConfig (FcConfig *config)
if (!FcConfigAddCacheDir (config, (FcChar8 *) FC_CACHEDIR) ||
!FcConfigAddCacheDir (config, (FcChar8 *) prefix))
{
+ FcConfig *fallback;
+ const FcChar8 *sysroot;
+
bail:
+ sysroot = FcConfigGetSysRoot (config);
fprintf (stderr,
"Fontconfig error: out of memory");
if (prefix)
FcStrFree (prefix);
+ fallback = FcInitFallbackConfig (sysroot);
FcConfigDestroy (config);
- return FcInitFallbackConfig ();
+
+ return fallback;
}
FcStrFree (prefix);
}
@@ -178,11 +189,18 @@ FcBool
FcInitReinitialize (void)
{
FcConfig *config;
+ FcBool ret;
config = FcInitLoadConfigAndFonts ();
if (!config)
return FcFalse;
- return FcConfigSetCurrent (config);
+ ret = FcConfigSetCurrent (config);
+ /* FcConfigSetCurrent() increases the refcount.
+ * decrease it here to avoid the memory leak.
+ */
+ FcConfigDestroy (config);
+
+ return ret;
}
FcBool
@@ -191,6 +209,8 @@ FcInitBringUptoDate (void)
FcConfig *config = FcConfigGetCurrent ();
time_t now;
+ if (!config)
+ return FcFalse;
/*
* rescanInterval == 0 disables automatic up to date
*/
diff --git a/src/fcint.h b/src/fcint.h
index cdf2daba..80205c95 100644
--- a/src/fcint.h
+++ b/src/fcint.h
@@ -38,6 +38,8 @@
#include <assert.h>
#include <errno.h>
#include <limits.h>
+#include <float.h>
+#include <math.h>
#include <unistd.h>
#include <stddef.h>
#include <sys/types.h>
@@ -94,6 +96,11 @@ extern pfnSHGetFolderPathA pSHGetFolderPathA;
#define FC_MAX(a,b) ((a) > (b) ? (a) : (b))
#define FC_ABS(a) ((a) < 0 ? -(a) : (a))
+#define FcDoubleIsZero(a) (fabs ((a)) <= DBL_EPSILON)
+#define FcDoubleCmpEQ(a,b) (fabs ((a) - (b)) <= DBL_EPSILON)
+#define FcDoubleCmpGE(a,b) (FcDoubleCmpEQ (a, b) || (a) > (b))
+#define FcDoubleCmpLE(a,b) (FcDoubleCmpEQ (a, b) || (a) < (b))
+
/* slim_internal.h */
#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__) && !defined(__sun)
#define FcPrivate __attribute__((__visibility__("hidden")))
@@ -161,6 +168,7 @@ typedef enum _FcValueBinding {
#define FcValueString(v) FcPointerMember(v,u.s,FcChar8)
#define FcValueCharSet(v) FcPointerMember(v,u.c,const FcCharSet)
#define FcValueLangSet(v) FcPointerMember(v,u.l,const FcLangSet)
+#define FcValueRange(v) FcPointerMember(v,u.r,const FcRange)
typedef struct _FcValueList *FcValueListPtr;
@@ -244,20 +252,38 @@ typedef struct _FcExprName {
FcMatchKind kind;
} FcExprName;
+typedef struct _FcRangeInt {
+ FcChar32 begin;
+ FcChar32 end;
+} FcRangeInt;
+typedef struct _FcRangeDouble {
+ double begin;
+ double end;
+} FcRangeDouble;
+struct _FcRange {
+ FcBool is_double;
+ FcBool is_inclusive;
+ union {
+ FcRangeInt i;
+ FcRangeDouble d;
+ } u;
+};
+
typedef struct _FcExpr {
FcOp op;
union {
- int ival;
- double dval;
- const FcChar8 *sval;
- FcExprMatrix *mexpr;
- FcBool bval;
- FcCharSet *cval;
- FcLangSet *lval;
-
- FcExprName name;
- const FcChar8 *constant;
+ int ival;
+ double dval;
+ const FcChar8 *sval;
+ FcExprMatrix *mexpr;
+ FcBool bval;
+ FcCharSet *cval;
+ FcLangSet *lval;
+ FcRange *rval;
+
+ FcExprName name;
+ const FcChar8 *constant;
struct {
struct _FcExpr *left, *right;
} tree;
@@ -444,7 +470,7 @@ typedef struct _FcCaseFold {
#define FC_CACHE_MAGIC_MMAP 0xFC02FC04
#define FC_CACHE_MAGIC_ALLOC 0xFC02FC05
-#define FC_CACHE_CONTENT_VERSION 4
+#define FC_CACHE_CONTENT_VERSION 5
struct _FcAtomic {
FcChar8 *file; /* original file name */
@@ -532,13 +558,6 @@ typedef struct _FcFileTime {
typedef struct _FcCharMap FcCharMap;
-typedef struct _FcRange FcRange;
-
-struct _FcRange {
- FcChar32 begin;
- FcChar32 end;
-};
-
typedef struct _FcStatFS FcStatFS;
struct _FcStatFS {
@@ -701,6 +720,9 @@ FcPrivate FcLangSet *
FcLangSetSerialize(FcSerialize *serialize, const FcLangSet *l);
/* fccharset.c */
+FcPrivate FcCharSet *
+FcCharSetPromote (FcValuePromotionBuffer *vbuf);
+
FcPrivate void
FcLangCharSetPopulate (void);
@@ -827,7 +849,13 @@ FcDirScanConfig (FcFontSet *set,
FcBlanks *blanks,
const FcChar8 *dir,
FcBool force,
- FcConfig *config);
+ FcConfig *config,
+ FcBool scanOnly);
+
+FcPrivate FcBool
+FcDirScanOnly (FcStrSet *dirs,
+ const FcChar8 *dir,
+ FcConfig *config);
/* fcfont.c */
FcPrivate int
@@ -844,18 +872,6 @@ FcFontSetSerialize (FcSerialize *serialize, const FcFontSet * s);
FcPrivate FcFontSet *
FcFontSetDeserialize (const FcFontSet *set);
-/* fchash.c */
-FcPrivate FcChar8 *
-FcHashGetSHA256Digest (const FcChar8 *input_strings,
- size_t len);
-
-FcPrivate FcChar8 *
-FcHashGetSHA256DigestFromFile (const FcChar8 *filename);
-
-FcPrivate FcChar8 *
-FcHashGetSHA256DigestFromMemory (const char *fontdata,
- size_t length);
-
/* fcinit.c */
FcPrivate FcConfig *
FcInitLoadOwnConfig (FcConfig *config);
@@ -1008,6 +1024,9 @@ FcPatternObjectAddBool (FcPattern *p, FcObject object, FcBool b);
FcPrivate FcBool
FcPatternObjectAddLangSet (FcPattern *p, FcObject object, const FcLangSet *ls);
+FcPrivate FcBool
+FcPatternObjectAddRange (FcPattern *p, FcObject object, const FcRange *r);
+
FcPrivate FcResult
FcPatternObjectGetInteger (const FcPattern *p, FcObject object, int n, int *i);
@@ -1029,6 +1048,9 @@ FcPatternObjectGetBool (const FcPattern *p, FcObject object, int n, FcBool *b);
FcPrivate FcResult
FcPatternObjectGetLangSet (const FcPattern *p, FcObject object, int n, FcLangSet **ls);
+FcPrivate FcResult
+FcPatternObjectGetRange (const FcPattern *p, FcObject object, int id, FcRange **r);
+
FcPrivate FcBool
FcPatternAppend (FcPattern *p, FcPattern *s);
@@ -1056,6 +1078,32 @@ extern FcPrivate const FcMatrix FcIdentityMatrix;
FcPrivate void
FcMatrixFree (FcMatrix *mat);
+/* fcrange.c */
+
+FcPrivate FcRange
+FcRangeCanonicalize (const FcRange *range);
+
+FcPrivate FcRange *
+FcRangePromote (double v, FcValuePromotionBuffer *vbuf);
+
+FcPrivate FcBool
+FcRangeIsZero (const FcRange *r);
+
+FcPrivate FcBool
+FcRangeIsInRange (const FcRange *a, const FcRange *b);
+
+FcPrivate FcBool
+FcRangeCompare (FcOp op, const FcRange *a, const FcRange *b);
+
+FcPrivate FcChar32
+FcRangeHash (const FcRange *r);
+
+FcPrivate FcBool
+FcRangeSerializeAlloc (FcSerialize *serialize, const FcRange *r);
+
+FcPrivate FcRange *
+FcRangeSerialize (FcSerialize *serialize, const FcRange *r);
+
/* fcstat.c */
FcPrivate int
@@ -1104,12 +1152,6 @@ FcStrCmpIgnoreBlanksAndCase (const FcChar8 *s1, const FcChar8 *s2);
FcPrivate int
FcStrCmpIgnoreCaseAndDelims (const FcChar8 *s1, const FcChar8 *s2, const FcChar8 *delims);
-FcPrivate FcBool
-FcStrRegexCmp (const FcChar8 *s, const FcChar8 *regex);
-
-FcPrivate FcBool
-FcStrRegexCmpIgnoreCase (const FcChar8 *s, const FcChar8 *regex);
-
FcPrivate const FcChar8 *
FcStrContainsIgnoreBlanksAndCase (const FcChar8 *s1, const FcChar8 *s2);
diff --git a/src/fclang.c b/src/fclang.c
index 9f685f6f..b1fd1bca 100644
--- a/src/fclang.c
+++ b/src/fclang.c
@@ -720,19 +720,22 @@ FcLangSetPromote (const FcChar8 *lang, FcValuePromotionBuffer *vbuf)
memset (buf->ls.map, '\0', sizeof (buf->ls.map));
buf->ls.map_size = NUM_LANG_SET_MAP;
buf->ls.extra = 0;
- id = FcLangSetIndex (lang);
- if (id > 0)
+ if (lang)
{
- FcLangSetBitSet (&buf->ls, id);
- }
- else
- {
- buf->ls.extra = &buf->strs;
- buf->strs.num = 1;
- buf->strs.size = 1;
- buf->strs.strs = &buf->str;
- FcRefInit (&buf->strs.ref, 1);
- buf->str = (FcChar8 *) lang;
+ id = FcLangSetIndex (lang);
+ if (id > 0)
+ {
+ FcLangSetBitSet (&buf->ls, id);
+ }
+ else
+ {
+ buf->ls.extra = &buf->strs;
+ buf->strs.num = 1;
+ buf->strs.size = 1;
+ buf->strs.strs = &buf->str;
+ FcRefInit (&buf->strs.ref, 1);
+ buf->str = (FcChar8 *) lang;
+ }
}
return &buf->ls;
}
diff --git a/src/fclist.c b/src/fclist.c
index a365098a..d7e8fc09 100644
--- a/src/fclist.c
+++ b/src/fclist.c
@@ -270,9 +270,11 @@ FcListValueHash (FcValue *value)
case FcTypeCharSet:
return FcCharSetCount (v.u.c);
case FcTypeFTFace:
- return (long) v.u.f;
+ return (intptr_t) v.u.f;
case FcTypeLangSet:
return FcLangSetHash (v.u.l);
+ case FcTypeRange:
+ return FcRangeHash (v.u.r);
}
return 0;
}
diff --git a/src/fcmatch.c b/src/fcmatch.c
index 93e013f9..46d08bcc 100644
--- a/src/fcmatch.c
+++ b/src/fcmatch.c
@@ -189,6 +189,49 @@ FcCompareSize (FcValue *value1, FcValue *value2)
}
static double
+FcCompareSizeRange (FcValue *v1, FcValue *v2)
+{
+ FcValue value1 = FcValueCanonicalize (v1);
+ FcValue value2 = FcValueCanonicalize (v2);
+ FcRange *r1 = NULL, *r2 = NULL;
+ double ret = -1.0;
+
+ switch ((int) value1.type) {
+ case FcTypeDouble:
+ r1 = FcRangeCreateDouble (value1.u.d, value1.u.d);
+ break;
+ case FcTypeRange:
+ r1 = FcRangeCopy (value1.u.r);
+ break;
+ default:
+ goto bail;
+ }
+ switch ((int) value2.type) {
+ case FcTypeDouble:
+ r2 = FcRangeCreateDouble (value2.u.d, value2.u.d);
+ break;
+ case FcTypeRange:
+ r2 = FcRangeCopy (value2.u.r);
+ break;
+ default:
+ goto bail;
+ }
+
+ if (FcRangeIsInRange (r1, r2))
+ ret = 0.0;
+ else
+ ret = FC_MIN (fabs (r1->u.d.end - r2->u.d.begin), fabs (r1->u.d.begin - r2->u.d.end));
+
+bail:
+ if (r1)
+ FcRangeDestroy (r1);
+ if (r2)
+ FcRangeDestroy (r2);
+
+ return ret;
+}
+
+static double
FcCompareFilename (FcValue *v1, FcValue *v2)
{
const FcChar8 *s1 = FcValueString (v1), *s2 = FcValueString (v2);
@@ -202,16 +245,8 @@ FcCompareFilename (FcValue *v1, FcValue *v2)
return 3.0;
}
-static double
-FcCompareHash (FcValue *v1, FcValue *v2)
-{
- const FcChar8 *s1 = FcValueString (v1), *s2 = FcValueString (v2);
- /* Do not match an empty string */
- if (!s1 || !s2 || !s1[0] || !s2[0])
- return 1.0;
- return FcCompareString (v1, v2);
-}
+/* Define priorities to -1 for objects that don't have a compare function. */
#define PRI_NULL(n) \
PRI_ ## n ## _STRONG = -1, \
@@ -226,7 +261,7 @@ FcCompareHash (FcValue *v1, FcValue *v2)
#define PRI_FcCompareCharSet(n) PRI1(n)
#define PRI_FcCompareLang(n) PRI1(n)
#define PRI_FcComparePostScript(n) PRI1(n)
-#define PRI_FcCompareHash(n) PRI1(n)
+#define PRI_FcCompareSizeRange(n) PRI1(n)
#define FC_OBJECT(NAME, Type, Cmp) PRI_##Cmp(NAME)
@@ -236,6 +271,9 @@ typedef enum _FcMatcherPriorityDummy {
#undef FC_OBJECT
+
+/* Canonical match priority order. */
+
#undef PRI1
#define PRI1(n) \
PRI_ ## n, \
@@ -243,10 +281,10 @@ typedef enum _FcMatcherPriorityDummy {
PRI_ ## n ## _WEAK = PRI_ ## n
typedef enum _FcMatcherPriority {
- PRI1(HASH),
PRI1(FILE),
PRI1(FONTFORMAT),
PRI1(SCALABLE),
+ PRI1(COLOR),
PRI1(FOUNDRY),
PRI1(CHARSET),
PRI_FAMILY_STRONG,
@@ -255,6 +293,7 @@ typedef enum _FcMatcherPriority {
PRI_FAMILY_WEAK,
PRI_POSTSCRIPT_NAME_WEAK,
PRI1(SPACING),
+ PRI1(SIZE),
PRI1(PIXEL_SIZE),
PRI1(STYLE),
PRI1(SLANT),
@@ -337,7 +376,7 @@ FcCompareValueList (FcObject object,
best = 1e99;
bestStrong = 1e99;
bestWeak = 1e99;
- j = 1;
+ j = 0;
for (v1 = v1orig; v1; v1 = FcValueListNext(v1))
{
for (v2 = v2orig, k = 0; v2; v2 = FcValueListNext(v2), k++)
@@ -445,7 +484,7 @@ FcFontRenderPrepare (FcConfig *config,
{
FcPattern *new;
int i;
- FcPatternElt *fe, *pe, *fel, *pel;
+ FcPatternElt *fe, *pe;
FcValue v;
FcResult result;
@@ -470,36 +509,25 @@ FcFontRenderPrepare (FcConfig *config,
fe->object == FC_STYLE_OBJECT ||
fe->object == FC_FULLNAME_OBJECT)
{
+ FcPatternElt *fel, *pel;
+
FC_ASSERT_STATIC ((FC_FAMILY_OBJECT + 1) == FC_FAMILYLANG_OBJECT);
FC_ASSERT_STATIC ((FC_STYLE_OBJECT + 1) == FC_STYLELANG_OBJECT);
FC_ASSERT_STATIC ((FC_FULLNAME_OBJECT + 1) == FC_FULLNAMELANG_OBJECT);
fel = FcPatternObjectFindElt (font, fe->object + 1);
pel = FcPatternObjectFindElt (pat, fe->object + 1);
- }
- else
- {
- fel = NULL;
- pel = NULL;
- }
- pe = FcPatternObjectFindElt (pat, fe->object);
- if (pe)
- {
- const FcMatcher *match = FcObjectToMatcher (pe->object, FcFalse);
- if (!FcCompareValueList (pe->object, match,
- FcPatternEltValues(pe),
- FcPatternEltValues(fe), &v, NULL, NULL, &result))
- {
- FcPatternDestroy (new);
- return NULL;
- }
if (fel && pel)
{
+ /* The font has name languages, and pattern asks for specific language(s).
+ * Match on language and and prefer that result.
+ * Note: Currently the code only give priority to first matching language.
+ */
int n = 1, j;
FcValueListPtr l1, l2, ln = NULL, ll = NULL;
+ const FcMatcher *match = FcObjectToMatcher (pel->object, FcTrue);
- match = FcObjectToMatcher (pel->object, FcTrue);
if (!FcCompareValueList (pel->object, match,
FcPatternEltValues (pel),
FcPatternEltValues (fel), NULL, NULL, &n, &result))
@@ -542,9 +570,10 @@ FcFontRenderPrepare (FcConfig *config,
}
else if (fel)
{
+ /* Pattern doesn't ask for specific language. Copy all for name and
+ * lang. */
FcValueListPtr l1, l2;
- copy_lang:
l1 = FcValueListDuplicate (FcPatternEltValues (fe));
l2 = FcValueListDuplicate (FcPatternEltValues (fel));
FcPatternObjectListAdd (new, fe->object, l1, FcFalse);
@@ -552,12 +581,23 @@ FcFontRenderPrepare (FcConfig *config,
continue;
}
+ }
+
+ pe = FcPatternObjectFindElt (pat, fe->object);
+ if (pe)
+ {
+ const FcMatcher *match = FcObjectToMatcher (pe->object, FcFalse);
+ if (!FcCompareValueList (pe->object, match,
+ FcPatternEltValues(pe),
+ FcPatternEltValues(fe), &v, NULL, NULL, &result))
+ {
+ FcPatternDestroy (new);
+ return NULL;
+ }
FcPatternObjectAdd (new, fe->object, v, FcFalse);
}
else
{
- if (fel)
- goto copy_lang;
FcPatternObjectListAdd (new, fe->object,
FcValueListDuplicate (FcPatternEltValues (fe)),
FcTrue);
diff --git a/src/fcname.c b/src/fcname.c
index f302948d..1d8fe757 100644
--- a/src/fcname.c
+++ b/src/fcname.c
@@ -87,6 +87,10 @@ FcObjectValidType (FcObject object, FcType type)
if (type == FcTypeLangSet || type == FcTypeString)
return FcTrue;
break;
+ case FcTypeRange:
+ if (type == FcTypeRange || type == FcTypeDouble)
+ return FcTrue;
+ break;
default:
if (type == t->type)
return FcTrue;
@@ -132,6 +136,8 @@ static const FcConstant _FcBaseConstants[] = {
{ (FcChar8 *) "thin", "weight", FC_WEIGHT_THIN, },
{ (FcChar8 *) "extralight", "weight", FC_WEIGHT_EXTRALIGHT, },
{ (FcChar8 *) "ultralight", "weight", FC_WEIGHT_EXTRALIGHT, },
+ { (FcChar8 *) "demilight", "weight", FC_WEIGHT_DEMILIGHT, },
+ { (FcChar8 *) "semilight", "weight", FC_WEIGHT_DEMILIGHT, },
{ (FcChar8 *) "light", "weight", FC_WEIGHT_LIGHT, },
{ (FcChar8 *) "book", "weight", FC_WEIGHT_BOOK, },
{ (FcChar8 *) "regular", "weight", FC_WEIGHT_REGULAR, },
@@ -273,6 +279,8 @@ FcNameConvert (FcType type, FcChar8 *string)
{
FcValue v;
FcMatrix m;
+ double b, e;
+ char *p;
v.type = type;
switch ((int) v.type) {
@@ -307,6 +315,20 @@ FcNameConvert (FcType type, FcChar8 *string)
if (!v.u.l)
v.type = FcTypeVoid;
break;
+ case FcTypeRange:
+ if (sscanf ((char *) string, "(%lg %lg)", &b, &e) != 2)
+ {
+ v.u.d = strtod ((char *) string, &p);
+ if (p != NULL && p[0] != 0)
+ {
+ v.type = FcTypeVoid;
+ break;
+ }
+ v.type = FcTypeDouble;
+ }
+ else
+ v.u.r = FcRangeCreateDouble (b, e);
+ break;
default:
break;
}
@@ -476,6 +498,7 @@ FcNameUnparseValue (FcStrBuf *buf,
{
FcChar8 temp[1024];
FcValue v = FcValueCanonicalize(v0);
+ FcRange r;
switch (v.type) {
case FcTypeUnknown:
@@ -501,6 +524,18 @@ FcNameUnparseValue (FcStrBuf *buf,
return FcNameUnparseLangSet (buf, v.u.l);
case FcTypeFTFace:
return FcTrue;
+ case FcTypeRange:
+ r = FcRangeCanonicalize (v.u.r);
+ if (!FcDoubleIsZero (r.u.d.begin) || !FcDoubleIsZero (r.u.d.end))
+ {
+ if (FcDoubleCmpEQ (r.u.d.begin, r.u.d.end))
+ sprintf ((char *) temp, "%g", r.u.d.begin);
+ else
+ sprintf ((char *) temp, "(%g %g)", r.u.d.begin, r.u.d.end);
+ return FcNameUnparseString (buf, temp, 0);
+ }
+ else
+ return FcTrue;
}
return FcFalse;
}
@@ -533,12 +568,13 @@ FcNameUnparse (FcPattern *pat)
FcChar8 *
FcNameUnparseEscaped (FcPattern *pat, FcBool escape)
{
- FcStrBuf buf;
- FcChar8 buf_static[8192];
+ FcStrBuf buf, buf2;
+ FcChar8 buf_static[8192], buf2_static[256];
int i;
FcPatternElt *e;
FcStrBufInit (&buf, buf_static, sizeof (buf_static));
+ FcStrBufInit (&buf2, buf2_static, sizeof (buf2_static));
e = FcPatternObjectFindElt (pat, FC_FAMILY_OBJECT);
if (e)
{
@@ -548,10 +584,17 @@ FcNameUnparseEscaped (FcPattern *pat, FcBool escape)
e = FcPatternObjectFindElt (pat, FC_SIZE_OBJECT);
if (e)
{
- if (!FcNameUnparseString (&buf, (FcChar8 *) "-", 0))
+ FcChar8 *p;
+
+ if (!FcNameUnparseString (&buf2, (FcChar8 *) "-", 0))
goto bail0;
- if (!FcNameUnparseValueList (&buf, FcPatternEltValues(e), escape ? (FcChar8 *) FC_ESCAPE_FIXED : 0))
+ if (!FcNameUnparseValueList (&buf2, FcPatternEltValues(e), escape ? (FcChar8 *) FC_ESCAPE_FIXED : 0))
goto bail0;
+ p = FcStrBufDoneStatic (&buf2);
+ FcStrBufDestroy (&buf2);
+ if (strlen ((const char *)p) > 1)
+ if (!FcStrBufString (&buf, p))
+ goto bail0;
}
for (i = 0; i < NUM_OBJECT_TYPES; i++)
{
diff --git a/src/fcobjs.h b/src/fcobjs.h
index a0ee0795..573fa610 100644
--- a/src/fcobjs.h
+++ b/src/fcobjs.h
@@ -31,7 +31,7 @@ FC_OBJECT (FULLNAMELANG, FcTypeString, NULL)
FC_OBJECT (SLANT, FcTypeInteger, FcCompareNumber)
FC_OBJECT (WEIGHT, FcTypeInteger, FcCompareNumber)
FC_OBJECT (WIDTH, FcTypeInteger, FcCompareNumber)
-FC_OBJECT (SIZE, FcTypeDouble, NULL)
+FC_OBJECT (SIZE, FcTypeRange, FcCompareSizeRange)
FC_OBJECT (ASPECT, FcTypeDouble, NULL)
FC_OBJECT (PIXEL_SIZE, FcTypeDouble, FcCompareSize)
FC_OBJECT (SPACING, FcTypeInteger, FcCompareNumber)
@@ -44,7 +44,7 @@ FC_OBJECT (AUTOHINT, FcTypeBool, NULL)
FC_OBJECT (GLOBAL_ADVANCE, FcTypeBool, NULL) /* deprecated */
FC_OBJECT (FILE, FcTypeString, FcCompareFilename)
FC_OBJECT (INDEX, FcTypeInteger, NULL)
-FC_OBJECT (RASTERIZER, FcTypeString, FcCompareString)
+FC_OBJECT (RASTERIZER, FcTypeString, FcCompareString) /* deprecated */
FC_OBJECT (OUTLINE, FcTypeBool, FcCompareBool)
FC_OBJECT (SCALABLE, FcTypeBool, FcCompareBool)
FC_OBJECT (DPI, FcTypeDouble, NULL)
@@ -66,6 +66,7 @@ FC_OBJECT (LCD_FILTER, FcTypeInteger, NULL)
FC_OBJECT (NAMELANG, FcTypeString, NULL)
FC_OBJECT (FONT_FEATURES, FcTypeString, NULL)
FC_OBJECT (PRGNAME, FcTypeString, NULL)
-FC_OBJECT (HASH, FcTypeString, FcCompareHash)
+FC_OBJECT (HASH, FcTypeString, NULL) /* deprecated */
FC_OBJECT (POSTSCRIPT_NAME, FcTypeString, FcComparePostScript)
+FC_OBJECT (COLOR, FcTypeBool, FcCompareBool)
/* ^-------------- Add new objects here. */
diff --git a/src/fcobjshash.gperf b/src/fcobjshash.gperf
new file mode 100644
index 00000000..6bc62dfa
--- /dev/null
+++ b/src/fcobjshash.gperf
@@ -0,0 +1,64 @@
+%{
+%}
+%struct-type
+%language=ANSI-C
+%includes
+%enum
+%readonly-tables
+%define slot-name name
+%define hash-function-name FcObjectTypeHash
+%define lookup-function-name FcObjectTypeLookup
+%pic
+%define string-pool-name FcObjectTypeNamePool
+struct FcObjectTypeInfo {
+int name;
+int id;
+};
+%%
+"family",FC_FAMILY_OBJECT
+"familylang",FC_FAMILYLANG_OBJECT
+"style",FC_STYLE_OBJECT
+"stylelang",FC_STYLELANG_OBJECT
+"fullname",FC_FULLNAME_OBJECT
+"fullnamelang",FC_FULLNAMELANG_OBJECT
+"slant",FC_SLANT_OBJECT
+"weight",FC_WEIGHT_OBJECT
+"width",FC_WIDTH_OBJECT
+"size",FC_SIZE_OBJECT
+"aspect",FC_ASPECT_OBJECT
+"pixelsize",FC_PIXEL_SIZE_OBJECT
+"spacing",FC_SPACING_OBJECT
+"foundry",FC_FOUNDRY_OBJECT
+"antialias",FC_ANTIALIAS_OBJECT
+"hintstyle",FC_HINT_STYLE_OBJECT
+"hinting",FC_HINTING_OBJECT
+"verticallayout",FC_VERTICAL_LAYOUT_OBJECT
+"autohint",FC_AUTOHINT_OBJECT
+"globaladvance",FC_GLOBAL_ADVANCE_OBJECT
+"file",FC_FILE_OBJECT
+"index",FC_INDEX_OBJECT
+"rasterizer",FC_RASTERIZER_OBJECT
+"outline",FC_OUTLINE_OBJECT
+"scalable",FC_SCALABLE_OBJECT
+"dpi",FC_DPI_OBJECT
+"rgba",FC_RGBA_OBJECT
+"scale",FC_SCALE_OBJECT
+"minspace",FC_MINSPACE_OBJECT
+"charwidth",FC_CHAR_WIDTH_OBJECT
+"charheight",FC_CHAR_HEIGHT_OBJECT
+"matrix",FC_MATRIX_OBJECT
+"charset",FC_CHARSET_OBJECT
+"lang",FC_LANG_OBJECT
+"fontversion",FC_FONTVERSION_OBJECT
+"capability",FC_CAPABILITY_OBJECT
+"fontformat",FC_FONTFORMAT_OBJECT
+"embolden",FC_EMBOLDEN_OBJECT
+"embeddedbitmap",FC_EMBEDDED_BITMAP_OBJECT
+"decorative",FC_DECORATIVE_OBJECT
+"lcdfilter",FC_LCD_FILTER_OBJECT
+"namelang",FC_NAMELANG_OBJECT
+"fontfeatures",FC_FONT_FEATURES_OBJECT
+"prgname",FC_PRGNAME_OBJECT
+"hash",FC_HASH_OBJECT
+"postscriptname",FC_POSTSCRIPT_NAME_OBJECT
+"color",FC_COLOR_OBJECT
diff --git a/src/fcobjshash.h b/src/fcobjshash.h
new file mode 100644
index 00000000..dbaee964
--- /dev/null
+++ b/src/fcobjshash.h
@@ -0,0 +1,320 @@
+/* ANSI-C code produced by gperf version 3.0.4 */
+/* Command-line: gperf -m 100 fcobjshash.gperf */
+/* Computed positions: -k'2-3' */
+
+#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
+ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
+ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
+ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
+ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
+ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
+ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
+ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
+ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
+ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
+ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
+ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
+ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
+ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
+ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
+ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
+ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
+ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
+ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
+ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
+ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
+/* The character set is not based on ISO-646. */
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#endif
+
+#line 1 "fcobjshash.gperf"
+
+#line 13 "fcobjshash.gperf"
+struct FcObjectTypeInfo {
+int name;
+int id;
+};
+#include <string.h>
+/* maximum key range = 52, duplicates = 0 */
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static unsigned int
+FcObjectTypeHash (register const char *str, register unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 17, 12, 1,
+ 35, 0, 56, 27, 15, 0, 56, 56, 0, 7,
+ 7, 0, 22, 56, 21, 10, 13, 0, 56, 56,
+ 1, 26, 5, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56
+ };
+ return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[1]];
+}
+
+struct FcObjectTypeNamePool_t
+ {
+ char FcObjectTypeNamePool_str4[sizeof("file")];
+ char FcObjectTypeNamePool_str5[sizeof("color")];
+ char FcObjectTypeNamePool_str6[sizeof("weight")];
+ char FcObjectTypeNamePool_str7[sizeof("foundry")];
+ char FcObjectTypeNamePool_str8[sizeof("fullname")];
+ char FcObjectTypeNamePool_str9[sizeof("size")];
+ char FcObjectTypeNamePool_str10[sizeof("pixelsize")];
+ char FcObjectTypeNamePool_str11[sizeof("decorative")];
+ char FcObjectTypeNamePool_str12[sizeof("fullnamelang")];
+ char FcObjectTypeNamePool_str13[sizeof("globaladvance")];
+ char FcObjectTypeNamePool_str14[sizeof("hinting")];
+ char FcObjectTypeNamePool_str15[sizeof("minspace")];
+ char FcObjectTypeNamePool_str16[sizeof("hintstyle")];
+ char FcObjectTypeNamePool_str17[sizeof("fontformat")];
+ char FcObjectTypeNamePool_str18[sizeof("fontversion")];
+ char FcObjectTypeNamePool_str19[sizeof("fontfeatures")];
+ char FcObjectTypeNamePool_str20[sizeof("outline")];
+ char FcObjectTypeNamePool_str21[sizeof("autohint")];
+ char FcObjectTypeNamePool_str22[sizeof("slant")];
+ char FcObjectTypeNamePool_str23[sizeof("scale")];
+ char FcObjectTypeNamePool_str24[sizeof("postscriptname")];
+ char FcObjectTypeNamePool_str25[sizeof("dpi")];
+ char FcObjectTypeNamePool_str26[sizeof("scalable")];
+ char FcObjectTypeNamePool_str27[sizeof("embolden")];
+ char FcObjectTypeNamePool_str28[sizeof("lang")];
+ char FcObjectTypeNamePool_str29[sizeof("antialias")];
+ char FcObjectTypeNamePool_str30[sizeof("family")];
+ char FcObjectTypeNamePool_str31[sizeof("hash")];
+ char FcObjectTypeNamePool_str32[sizeof("namelang")];
+ char FcObjectTypeNamePool_str33[sizeof("embeddedbitmap")];
+ char FcObjectTypeNamePool_str34[sizeof("familylang")];
+ char FcObjectTypeNamePool_str35[sizeof("verticallayout")];
+ char FcObjectTypeNamePool_str36[sizeof("matrix")];
+ char FcObjectTypeNamePool_str37[sizeof("rasterizer")];
+ char FcObjectTypeNamePool_str38[sizeof("aspect")];
+ char FcObjectTypeNamePool_str39[sizeof("charset")];
+ char FcObjectTypeNamePool_str40[sizeof("width")];
+ char FcObjectTypeNamePool_str41[sizeof("charwidth")];
+ char FcObjectTypeNamePool_str42[sizeof("charheight")];
+ char FcObjectTypeNamePool_str43[sizeof("rgba")];
+ char FcObjectTypeNamePool_str44[sizeof("style")];
+ char FcObjectTypeNamePool_str45[sizeof("lcdfilter")];
+ char FcObjectTypeNamePool_str46[sizeof("spacing")];
+ char FcObjectTypeNamePool_str47[sizeof("index")];
+ char FcObjectTypeNamePool_str48[sizeof("stylelang")];
+ char FcObjectTypeNamePool_str49[sizeof("capability")];
+ char FcObjectTypeNamePool_str55[sizeof("prgname")];
+ };
+static const struct FcObjectTypeNamePool_t FcObjectTypeNamePool_contents =
+ {
+ "file",
+ "color",
+ "weight",
+ "foundry",
+ "fullname",
+ "size",
+ "pixelsize",
+ "decorative",
+ "fullnamelang",
+ "globaladvance",
+ "hinting",
+ "minspace",
+ "hintstyle",
+ "fontformat",
+ "fontversion",
+ "fontfeatures",
+ "outline",
+ "autohint",
+ "slant",
+ "scale",
+ "postscriptname",
+ "dpi",
+ "scalable",
+ "embolden",
+ "lang",
+ "antialias",
+ "family",
+ "hash",
+ "namelang",
+ "embeddedbitmap",
+ "familylang",
+ "verticallayout",
+ "matrix",
+ "rasterizer",
+ "aspect",
+ "charset",
+ "width",
+ "charwidth",
+ "charheight",
+ "rgba",
+ "style",
+ "lcdfilter",
+ "spacing",
+ "index",
+ "stylelang",
+ "capability",
+ "prgname"
+ };
+#define FcObjectTypeNamePool ((const char *) &FcObjectTypeNamePool_contents)
+#ifdef __GNUC__
+__inline
+#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
+__attribute__ ((__gnu_inline__))
+#endif
+#endif
+const struct FcObjectTypeInfo *
+FcObjectTypeLookup (register const char *str, register unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 47,
+ MIN_WORD_LENGTH = 3,
+ MAX_WORD_LENGTH = 14,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 55
+ };
+
+ static const struct FcObjectTypeInfo wordlist[] =
+ {
+ {-1}, {-1}, {-1}, {-1},
+#line 38 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str4,FC_FILE_OBJECT},
+#line 64 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str5,FC_COLOR_OBJECT},
+#line 25 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str6,FC_WEIGHT_OBJECT},
+#line 31 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str7,FC_FOUNDRY_OBJECT},
+#line 22 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str8,FC_FULLNAME_OBJECT},
+#line 27 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str9,FC_SIZE_OBJECT},
+#line 29 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str10,FC_PIXEL_SIZE_OBJECT},
+#line 57 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str11,FC_DECORATIVE_OBJECT},
+#line 23 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str12,FC_FULLNAMELANG_OBJECT},
+#line 37 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str13,FC_GLOBAL_ADVANCE_OBJECT},
+#line 34 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str14,FC_HINTING_OBJECT},
+#line 46 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str15,FC_MINSPACE_OBJECT},
+#line 33 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str16,FC_HINT_STYLE_OBJECT},
+#line 54 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str17,FC_FONTFORMAT_OBJECT},
+#line 52 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str18,FC_FONTVERSION_OBJECT},
+#line 60 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str19,FC_FONT_FEATURES_OBJECT},
+#line 41 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str20,FC_OUTLINE_OBJECT},
+#line 36 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str21,FC_AUTOHINT_OBJECT},
+#line 24 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str22,FC_SLANT_OBJECT},
+#line 45 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str23,FC_SCALE_OBJECT},
+#line 63 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str24,FC_POSTSCRIPT_NAME_OBJECT},
+#line 43 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str25,FC_DPI_OBJECT},
+#line 42 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str26,FC_SCALABLE_OBJECT},
+#line 55 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str27,FC_EMBOLDEN_OBJECT},
+#line 51 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str28,FC_LANG_OBJECT},
+#line 32 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str29,FC_ANTIALIAS_OBJECT},
+#line 18 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str30,FC_FAMILY_OBJECT},
+#line 62 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str31,FC_HASH_OBJECT},
+#line 59 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str32,FC_NAMELANG_OBJECT},
+#line 56 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str33,FC_EMBEDDED_BITMAP_OBJECT},
+#line 19 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str34,FC_FAMILYLANG_OBJECT},
+#line 35 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str35,FC_VERTICAL_LAYOUT_OBJECT},
+#line 49 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str36,FC_MATRIX_OBJECT},
+#line 40 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str37,FC_RASTERIZER_OBJECT},
+#line 28 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str38,FC_ASPECT_OBJECT},
+#line 50 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str39,FC_CHARSET_OBJECT},
+#line 26 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str40,FC_WIDTH_OBJECT},
+#line 47 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str41,FC_CHAR_WIDTH_OBJECT},
+#line 48 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str42,FC_CHAR_HEIGHT_OBJECT},
+#line 44 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_RGBA_OBJECT},
+#line 20 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str44,FC_STYLE_OBJECT},
+#line 58 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_LCD_FILTER_OBJECT},
+#line 30 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_SPACING_OBJECT},
+#line 39 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str47,FC_INDEX_OBJECT},
+#line 21 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str48,FC_STYLELANG_OBJECT},
+#line 53 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str49,FC_CAPABILITY_OBJECT},
+ {-1}, {-1}, {-1}, {-1}, {-1},
+#line 61 "fcobjshash.gperf"
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str55,FC_PRGNAME_OBJECT}
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ register int key = FcObjectTypeHash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= 0)
+ {
+ register int o = wordlist[key].name;
+ if (o >= 0)
+ {
+ register const char *s = o + FcObjectTypeNamePool;
+
+ if (*str == *s && !strcmp (str + 1, s + 1))
+ return &wordlist[key];
+ }
+ }
+ }
+ return 0;
+}
diff --git a/src/fcpat.c b/src/fcpat.c
index 986cca39..7e7d54a4 100644
--- a/src/fcpat.c
+++ b/src/fcpat.c
@@ -57,6 +57,9 @@ FcValueDestroy (FcValue v)
case FcTypeLangSet:
FcLangSetDestroy ((FcLangSet *) v.u.l);
break;
+ case FcTypeRange:
+ FcRangeDestroy ((FcRange *) v.u.r);
+ break;
default:
break;
}
@@ -81,6 +84,10 @@ FcValueCanonicalize (const FcValue *v)
new.u.l = FcValueLangSet(v);
new.type = FcTypeLangSet;
break;
+ case FcTypeRange:
+ new.u.r = FcValueRange(v);
+ new.type = FcTypeRange;
+ break;
default:
new = *v;
break;
@@ -112,6 +119,11 @@ FcValueSave (FcValue v)
if (!v.u.l)
v.type = FcTypeVoid;
break;
+ case FcTypeRange:
+ v.u.r = FcRangeCopy (v.u.r);
+ if (!v.u.r)
+ v.type = FcTypeVoid;
+ break;
default:
break;
}
@@ -145,6 +157,9 @@ FcValueListDestroy (FcValueListPtr l)
FcLangSetDestroy
((FcLangSet *) (l->value.u.l));
break;
+ case FcTypeRange:
+ FcRangeDestroy ((FcRange *) (l->value.u.r));
+ break;
default:
break;
}
@@ -267,6 +282,8 @@ FcValueEqual (FcValue va, FcValue vb)
return va.u.f == vb.u.f;
case FcTypeLangSet:
return FcLangSetEqual (va.u.l, vb.u.l);
+ case FcTypeRange:
+ return FcRangeIsInRange (va.u.r, vb.u.r);
}
return FcFalse;
}
@@ -320,6 +337,8 @@ FcValueHash (const FcValue *v)
FcStringHash ((const FcChar8 *) ((FT_Face) v->u.f)->style_name);
case FcTypeLangSet:
return FcLangSetHash (FcValueLangSet(v));
+ case FcTypeRange:
+ return FcRangeHash (v->u.r);
}
return 0;
}
@@ -841,6 +860,22 @@ FcPatternAddLangSet (FcPattern *p, const char *object, const FcLangSet *ls)
return FcPatternAdd (p, object, v, FcTrue);
}
+FcBool
+FcPatternObjectAddRange (FcPattern *p, FcObject object, const FcRange *r)
+{
+ FcValue v;
+
+ v.type = FcTypeRange;
+ v.u.r = (FcRange *)r;
+ return FcPatternObjectAdd (p, object, v, FcTrue);
+}
+
+FcBool
+FcPatternAddRange (FcPattern *p, const char *object, const FcRange *r)
+{
+ return FcPatternObjectAddRange (p, FcObjectFromName (object), r);
+}
+
FcResult
FcPatternObjectGet (const FcPattern *p, FcObject object, int id, FcValue *v)
{
@@ -1025,6 +1060,31 @@ FcPatternGetLangSet(const FcPattern *p, const char *object, int id, FcLangSet **
return FcResultMatch;
}
+FcResult
+FcPatternObjectGetRange (const FcPattern *p, FcObject object, int id, FcRange **r)
+{
+ FcValue v;
+ FcResult res;
+
+ res = FcPatternObjectGet (p, object, id, &v);
+ if (res != FcResultMatch)
+ return res;
+ switch ((int)v.type) {
+ case FcTypeRange:
+ *r = (FcRange *)v.u.r;
+ break;
+ default:
+ return FcResultTypeMismatch;
+ }
+ return FcResultMatch;
+}
+
+FcResult
+FcPatternGetRange (const FcPattern *p, const char *object, int id, FcRange **r)
+{
+ return FcPatternObjectGetRange (p, FcObjectFromName (object), id, r);
+}
+
FcPattern *
FcPatternDuplicate (const FcPattern *orig)
{
@@ -1230,6 +1290,10 @@ FcValueListSerializeAlloc (FcSerialize *serialize, const FcValueList *vl)
if (!FcLangSetSerializeAlloc (serialize, vl->value.u.l))
return FcFalse;
break;
+ case FcTypeRange:
+ if (!FcRangeSerializeAlloc (serialize, vl->value.u.r))
+ return FcFalse;
+ break;
default:
break;
}
@@ -1245,6 +1309,7 @@ FcValueListSerialize (FcSerialize *serialize, const FcValueList *vl)
FcChar8 *s_serialized;
FcCharSet *c_serialized;
FcLangSet *l_serialized;
+ FcRange *r_serialized;
FcValueList *head_serialized = NULL;
FcValueList *prev_serialized = NULL;
@@ -1303,6 +1368,14 @@ FcValueListSerialize (FcSerialize *serialize, const FcValueList *vl)
l_serialized,
FcLangSet);
break;
+ case FcTypeRange:
+ r_serialized = FcRangeSerialize (serialize, vl->value.u.r);
+ if (!r_serialized)
+ return NULL;
+ vl_serialized->value.u.r = FcPtrToEncodedOffset (&vl_serialized->value,
+ r_serialized,
+ FcRange);
+ break;
default:
break;
}
diff --git a/src/fcrange.c b/src/fcrange.c
new file mode 100644
index 00000000..37cf0675
--- /dev/null
+++ b/src/fcrange.c
@@ -0,0 +1,234 @@
+/*
+ * fontconfig/src/fcrange.c
+ *
+ * Copyright © 2002 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. The authors make no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include "fcint.h"
+
+
+FcRange *
+FcRangeCreateDouble (double begin, double end)
+{
+ FcRange *ret = malloc (sizeof (FcRange));
+
+ if (ret)
+ {
+ ret->is_double = FcTrue;
+ ret->is_inclusive = FcDoubleCmpEQ (begin, end);
+ ret->u.d.begin = begin;
+ ret->u.d.end = end;
+ }
+
+ return ret;
+}
+
+FcRange *
+FcRangeCreateInteger (FcChar32 begin, FcChar32 end)
+{
+ FcRange *ret = malloc (sizeof (FcRange));
+
+ if (ret)
+ {
+ ret->is_double = FcFalse;
+ ret->is_inclusive = (begin == end);
+ ret->u.i.begin = begin;
+ ret->u.i.end = end;
+ }
+
+ return ret;
+}
+
+void
+FcRangeDestroy (FcRange *range)
+{
+ free (range);
+}
+
+FcRange *
+FcRangeCopy (const FcRange *range)
+{
+ FcRange *ret;
+
+ if (range->is_double)
+ ret = FcRangeCreateDouble (range->u.d.begin, range->u.d.end);
+ else
+ ret = FcRangeCreateInteger (range->u.i.begin, range->u.i.end);
+
+ return ret;
+}
+
+FcBool
+FcRangeGetDouble(const FcRange *range, double *begin, double *end)
+{
+ if (!range)
+ return FcFalse;
+ if (range->is_double)
+ {
+ if (begin)
+ *begin = range->u.d.begin;
+ if (end)
+ *end = range->u.d.end;
+ }
+ else
+ {
+ if (begin)
+ *begin = (double)range->u.i.begin;
+ if (end)
+ *end = (double)range->u.i.end;
+ }
+
+ return FcTrue;
+}
+
+FcRange
+FcRangeCanonicalize (const FcRange *range)
+{
+ FcRange new;
+
+ if (range->is_double)
+ new = *range;
+ else
+ {
+ new.is_double = FcTrue;
+ new.is_inclusive = range->is_inclusive;
+ new.u.d.begin = (double)range->u.i.begin;
+ new.u.d.end = (double)range->u.i.end;
+ }
+ return new;
+}
+
+FcRange *
+FcRangePromote (double v, FcValuePromotionBuffer *vbuf)
+{
+ typedef struct {
+ FcRange r;
+ } FcRangePromotionBuffer;
+ FcRangePromotionBuffer *buf = (FcRangePromotionBuffer *) vbuf;
+
+ FC_ASSERT_STATIC (sizeof (FcRangePromotionBuffer) <= sizeof (FcValuePromotionBuffer));
+ buf->r.is_double = FcTrue;
+ buf->r.is_inclusive = FcTrue;
+ buf->r.u.d.begin = v;
+ buf->r.u.d.end = v;
+
+ return &buf->r;
+}
+
+FcBool
+FcRangeIsZero (const FcRange *r)
+{
+ FcRange c;
+
+ if (!r)
+ return FcFalse;
+ c = FcRangeCanonicalize (r);
+
+ return FcDoubleIsZero (c.u.d.begin) && FcDoubleIsZero (c.u.d.end);
+}
+
+FcBool
+FcRangeIsInRange (const FcRange *a, const FcRange *b)
+{
+ FcRange ca, cb;
+ FcBool f;
+
+ if (!a || !b)
+ return FcFalse;
+
+ ca = FcRangeCanonicalize (a);
+ cb = FcRangeCanonicalize (b);
+ if (ca.is_inclusive & cb.is_inclusive)
+ f = ca.u.d.end <= cb.u.d.end;
+ else
+ f = ca.u.d.end < cb.u.d.end;
+
+ return FcDoubleCmpGE (ca.u.d.begin, cb.u.d.begin) && f;
+}
+
+FcBool
+FcRangeCompare (FcOp op, const FcRange *a, const FcRange *b)
+{
+ FcRange ca, cb;
+
+ switch ((int) op) {
+ case FcOpEqual:
+ case FcOpContains:
+ case FcOpListing:
+ return FcRangeIsInRange (a, b);
+ case FcOpNotEqual:
+ case FcOpNotContains:
+ return !FcRangeIsInRange (a, b);
+ case FcOpLess:
+ ca = FcRangeCanonicalize (a);
+ cb = FcRangeCanonicalize (b);
+ return ca.u.d.begin < cb.u.d.begin;
+ case FcOpLessEqual:
+ ca = FcRangeCanonicalize (a);
+ cb = FcRangeCanonicalize (b);
+ return FcDoubleCmpLE (ca.u.d.begin, cb.u.d.begin);
+ case FcOpMore:
+ ca = FcRangeCanonicalize (a);
+ cb = FcRangeCanonicalize (b);
+ return ca.u.d.end > cb.u.d.end;
+ case FcOpMoreEqual:
+ ca = FcRangeCanonicalize (a);
+ cb = FcRangeCanonicalize (b);
+ return FcDoubleCmpGE (ca.u.d.end, cb.u.d.end);
+ default:
+ break;
+ }
+ return FcFalse;
+}
+
+FcChar32
+FcRangeHash (const FcRange *r)
+{
+ FcRange c = FcRangeCanonicalize (r);
+ int b = (int) (c.u.d.begin * 100);
+ int e = (int) (c.u.d.end * 100);
+
+ return b ^ (b << 1) ^ (e << 9);
+}
+
+FcBool
+FcRangeSerializeAlloc (FcSerialize *serialize, const FcRange *r)
+{
+ if (!FcSerializeAlloc (serialize, r, sizeof (FcRange)))
+ return FcFalse;
+ return FcTrue;
+}
+
+FcRange *
+FcRangeSerialize (FcSerialize *serialize, const FcRange *r)
+{
+ FcRange *r_serialize = FcSerializePtr (serialize, r);
+
+ if (!r_serialize)
+ return NULL;
+ memcpy (r_serialize, r, sizeof (FcRange));
+
+ return r_serialize;
+}
+
+#define __fcrange__
+#include "fcaliastail.h"
+#undef __fcrange__
diff --git a/src/fcstat.c b/src/fcstat.c
index 0a880975..1734fa42 100644
--- a/src/fcstat.c
+++ b/src/fcstat.c
@@ -42,6 +42,7 @@
#ifdef HAVE_SYS_MOUNT_H
#include <sys/mount.h>
#endif
+#include <errno.h>
#ifdef _WIN32
#ifdef __GNUC__
@@ -164,21 +165,86 @@ FcDirChecksumScandirFilter(const struct dirent *entry)
}
#endif
-#ifdef HAVE_SCANDIR
static int
FcDirChecksumScandirSorter(const struct dirent **lhs, const struct dirent **rhs)
{
return strcmp((*lhs)->d_name, (*rhs)->d_name);
}
-#elif HAVE_SCANDIR_VOID_P
-static int
-FcDirChecksumScandirSorter(const void *a, const void *b)
+
+static void
+free_dirent (struct dirent **p)
{
- const struct dirent *lhs = a, *rhs = b;
+ struct dirent **x;
+
+ for (x = p; *x != NULL; x++)
+ free (*x);
- return strcmp(lhs->d_name, rhs->d_name);
+ free (p);
+}
+
+int
+FcScandir (const char *dirp,
+ struct dirent ***namelist,
+ int (*filter) (const struct dirent *),
+ int (*compar) (const struct dirent **, const struct dirent **));
+
+int
+FcScandir (const char *dirp,
+ struct dirent ***namelist,
+ int (*filter) (const struct dirent *),
+ int (*compar) (const struct dirent **, const struct dirent **))
+{
+ DIR *d;
+ struct dirent *dent, *p, **dlist, **dlp;
+ size_t lsize = 128, n = 0;
+
+ d = opendir (dirp);
+ if (!d)
+ return -1;
+
+ dlist = (struct dirent **) malloc (sizeof (struct dirent *) * lsize);
+ if (!dlist)
+ {
+ closedir (d);
+ errno = ENOMEM;
+
+ return -1;
+ }
+ *dlist = NULL;
+ while ((dent = readdir (d)))
+ {
+ if (!filter || (filter) (dent))
+ {
+ size_t dentlen = FcPtrToOffset (dent, dent->d_name) + strlen (dent->d_name) + 1;
+ dentlen = ((dentlen + ALIGNOF_VOID_P - 1) & ~(ALIGNOF_VOID_P - 1));
+ p = (struct dirent *) malloc (dentlen);
+ memcpy (p, dent, dentlen);
+ if ((n + 1) >= lsize)
+ {
+ lsize += 128;
+ dlp = (struct dirent **) realloc (dlist, sizeof (struct dirent *) * lsize);
+ if (!dlp)
+ {
+ free_dirent (dlist);
+ closedir (d);
+ errno = ENOMEM;
+
+ return -1;
+ }
+ dlist = dlp;
+ }
+ dlist[n++] = p;
+ dlist[n] = NULL;
+ }
+ }
+ closedir (d);
+
+ qsort (dlist, n, sizeof (struct dirent *), (int (*) (const void *, const void *))compar);
+
+ *namelist = dlist;
+
+ return n;
}
-#endif
static int
FcDirChecksum (const FcChar8 *dir, time_t *checksum)
@@ -191,7 +257,7 @@ FcDirChecksum (const FcChar8 *dir, time_t *checksum)
Adler32Init (&ctx);
- n = scandir ((const char *)dir, &files,
+ n = FcScandir ((const char *)dir, &files,
#ifdef HAVE_STRUCT_DIRENT_D_TYPE
&FcDirChecksumScandirFilter,
#else
@@ -360,3 +426,7 @@ FcIsFsMtimeBroken (const FcChar8 *dir)
return FcFalse;
}
+
+#define __fcstat__
+#include "fcaliastail.h"
+#undef __fcstat__
diff --git a/src/fcstdint.h b/src/fcstdint.h
new file mode 100644
index 00000000..d33e70a4
--- /dev/null
+++ b/src/fcstdint.h
@@ -0,0 +1,9 @@
+#ifndef _FONTCONFIG_SRC_FCSTDINT_H
+#define _FONTCONFIG_SRC_FCSTDINT_H 1
+#ifndef _GENERATED_STDINT_H
+#define _GENERATED_STDINT_H "fontconfig 2.11.93"
+/* generated using gnu compiler gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6) */
+#define _STDINT_HAVE_STDINT_H 1
+#include <stdint.h>
+#endif
+#endif
diff --git a/src/fcstr.c b/src/fcstr.c
index 024dae32..29a577d1 100644
--- a/src/fcstr.c
+++ b/src/fcstr.c
@@ -26,9 +26,6 @@
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
-#ifdef HAVE_REGEX_H
-#include <regex.h>
-#endif
/* Objects MT-safe for readonly access. */
@@ -242,55 +239,6 @@ FcStrCmp (const FcChar8 *s1, const FcChar8 *s2)
return (int) c1 - (int) c2;
}
-#ifdef USE_REGEX
-static FcBool
-_FcStrRegexCmp (const FcChar8 *s, const FcChar8 *regex, int cflags, int eflags)
-{
- int ret = -1;
- regex_t reg;
-
- if ((ret = regcomp (&reg, (const char *)regex, cflags)) != 0)
- {
- if (FcDebug () & FC_DBG_MATCHV)
- {
- char buf[512];
-
- regerror (ret, &reg, buf, 512);
- printf("Regexp compile error: %s\n", buf);
- }
- return FcFalse;
- }
- ret = regexec (&reg, (const char *)s, 0, NULL, eflags);
- if (ret != 0)
- {
- if (FcDebug () & FC_DBG_MATCHV)
- {
- char buf[512];
-
- regerror (ret, &reg, buf, 512);
- printf("Regexp exec error: %s\n", buf);
- }
- }
- regfree (&reg);
-
- return ret == 0 ? FcTrue : FcFalse;
-}
-#else
-# define _FcStrRegexCmp(_s_, _regex_, _cflags_, _eflags_) (FcFalse)
-#endif
-
-FcBool
-FcStrRegexCmp (const FcChar8 *s, const FcChar8 *regex)
-{
- return _FcStrRegexCmp (s, regex, REG_EXTENDED | REG_NOSUB, 0);
-}
-
-FcBool
-FcStrRegexCmpIgnoreCase (const FcChar8 *s, const FcChar8 *regex)
-{
- return _FcStrRegexCmp (s, regex, REG_EXTENDED | REG_NOSUB | REG_ICASE, 0);
-}
-
/*
* Return a hash value for a string
*/
diff --git a/src/fcweight.c b/src/fcweight.c
new file mode 100644
index 00000000..77b78ad5
--- /dev/null
+++ b/src/fcweight.c
@@ -0,0 +1,95 @@
+/*
+ * fontconfig/src/fcweight.c
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. The authors make no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include "fcint.h"
+
+static const struct {
+ int ot;
+ int fc;
+} map[] = {
+ { 0, FC_WEIGHT_THIN },
+ { 100, FC_WEIGHT_THIN },
+ { 200, FC_WEIGHT_EXTRALIGHT },
+ { 350, FC_WEIGHT_DEMILIGHT },
+ { 300, FC_WEIGHT_LIGHT },
+ { 380, FC_WEIGHT_BOOK },
+ { 400, FC_WEIGHT_REGULAR },
+ { 500, FC_WEIGHT_MEDIUM },
+ { 600, FC_WEIGHT_DEMIBOLD },
+ { 700, FC_WEIGHT_BOLD },
+ { 800, FC_WEIGHT_EXTRABOLD },
+ { 900, FC_WEIGHT_BLACK },
+ {1000, FC_WEIGHT_EXTRABLACK },
+};
+
+static int lerp(int x, int x1, int x2, int y1, int y2)
+{
+ int dx = x2 - x1;
+ int dy = y2 - y1;
+ assert (dx > 0 && dy >= 0 && x1 <= x && x <= x2);
+ return y1 + (dy*(x-x1) + dx/2) / dx;
+}
+
+int
+FcWeightFromOpenType (int ot_weight)
+{
+ int i;
+
+ /* Follow WPF Font Selection Model's advice. */
+ if (1 <= ot_weight && ot_weight <= 9)
+ ot_weight *= 100;
+
+ /* WPF Font Selection Model rejects 1000, we allow it
+ * because Pango uses that number. */
+ if (ot_weight < 1 || ot_weight > 1000)
+ return -1;
+
+ for (i = 1; ot_weight > map[i].ot; i++)
+ ;
+
+ if (ot_weight == map[i].ot)
+ return map[i].fc;
+
+ /* Interpolate between two items. */
+ return lerp (ot_weight, map[i-1].ot, map[i].ot, map[i-1].fc, map[i].fc);
+}
+
+int
+FcWeightToOpenType (int fc_weight)
+{
+ int i;
+ if (fc_weight < 0 || fc_weight > FC_WEIGHT_EXTRABLACK)
+ return -1;
+
+ for (i = 1; fc_weight > map[i].fc; i++)
+ ;
+
+ if (fc_weight == map[i].fc)
+ return map[i].ot;
+
+ /* Interpolate between two items. */
+ return lerp (fc_weight, map[i-1].fc, map[i].fc, map[i-1].ot, map[i].ot);
+}
+
+#define __fcweight__
+#include "fcaliastail.h"
+#undef __fcweight__
diff --git a/src/fcwindows.h b/src/fcwindows.h
index 02489d9d..a0eee675 100644
--- a/src/fcwindows.h
+++ b/src/fcwindows.h
@@ -32,8 +32,13 @@
#endif
#ifdef _WIN32
+ /* Request Windows Vista for building. This is required to
+ * get MemoryBarrier on mingw32... */
+# if defined(_WIN32_WINNT) && _WIN32_WINNT < 0x0600
+# undef _WIN32_WINNT
+# endif
# ifndef _WIN32_WINNT
-# define _WIN32_WINNT 0x0500
+# define _WIN32_WINNT 0x0600
# endif
# define WIN32_LEAN_AND_MEAN
# define WIN32_EXTRA_LEAN
diff --git a/src/fcxml.c b/src/fcxml.c
index 91d166f3..cdb14b67 100644
--- a/src/fcxml.c
+++ b/src/fcxml.c
@@ -169,6 +169,18 @@ FcExprCreateMatrix (FcConfig *config, const FcExprMatrix *matrix)
}
static FcExpr *
+FcExprCreateRange (FcConfig *config, FcRange *range)
+{
+ FcExpr *e = FcConfigAllocExpr (config);
+ if (e)
+ {
+ e->op = FcOpRange;
+ e->u.rval = FcRangeCopy (range);
+ }
+ return e;
+}
+
+static FcExpr *
FcExprCreateBool (FcConfig *config, FcBool b)
{
FcExpr *e = FcConfigAllocExpr (config);
@@ -258,6 +270,7 @@ FcExprDestroy (FcExpr *e)
FcExprMatrixFree (e->u.mexpr);
break;
case FcOpRange:
+ FcRangeDestroy (e->u.rval);
break;
case FcOpCharSet:
FcCharSetDestroy (e->u.cval);
@@ -503,7 +516,7 @@ typedef struct _FcVStack {
int integer;
double _double;
FcExprMatrix *matrix;
- FcRange range;
+ FcRange *range;
FcBool bool_;
FcCharSet *charset;
FcLangSet *langset;
@@ -593,6 +606,8 @@ FcTypeName (FcType type)
return "FT_Face";
case FcTypeLangSet:
return "langset";
+ case FcTypeRange:
+ return "range";
default:
return "unknown";
}
@@ -608,7 +623,9 @@ FcTypecheckValue (FcConfigParse *parse, FcType value, FcType type)
if (value != type)
{
if ((value == FcTypeLangSet && type == FcTypeString) ||
- (value == FcTypeString && type == FcTypeLangSet))
+ (value == FcTypeString && type == FcTypeLangSet) ||
+ (value == FcTypeInteger && type == FcTypeRange) ||
+ (value == FcTypeDouble && type == FcTypeRange))
return;
if (type == FcTypeUnknown)
return;
@@ -651,6 +668,9 @@ FcTypecheckExpr (FcConfigParse *parse, FcExpr *expr, FcType type)
case FcOpLangSet:
FcTypecheckValue (parse, FcTypeLangSet, type);
break;
+ case FcOpRange:
+ FcTypecheckValue (parse, FcTypeRange, type);
+ break;
case FcOpNil:
break;
case FcOpField:
@@ -865,11 +885,10 @@ FcVStackPushMatrix (FcConfigParse *parse, FcExprMatrix *matrix)
static FcBool
FcVStackPushRange (FcConfigParse *parse, FcRange *range)
{
- FcVStack *vstack = FcVStackCreateAndPush (parse);
+ FcVStack *vstack = FcVStackCreateAndPush (parse);
if (!vstack)
return FcFalse;
- vstack->u.range.begin = range->begin;
- vstack->u.range.end = range->end;
+ vstack->u.range = range;
vstack->tag = FcVStackRange;
return FcTrue;
}
@@ -1017,9 +1036,11 @@ FcVStackPopAndDestroy (FcConfigParse *parse)
case FcVStackMatrix:
FcExprMatrixFreeShallow (vstack->u.matrix);
break;
- case FcVStackRange:
case FcVStackBool:
break;
+ case FcVStackRange:
+ FcRangeDestroy (vstack->u.range);
+ break;
case FcVStackCharSet:
FcCharSetDestroy (vstack->u.charset);
break;
@@ -1232,7 +1253,9 @@ static void
FcParseBlank (FcConfigParse *parse)
{
int n = FcVStackElements (parse);
- FcChar32 i;
+ FcChar32 i, begin, end;
+ FcRange r;
+
while (n-- > 0)
{
FcVStack *v = FcVStackFetch (parse, n);
@@ -1248,9 +1271,12 @@ FcParseBlank (FcConfigParse *parse)
goto bail;
break;
case FcVStackRange:
- if (v->u.range.begin <= v->u.range.end)
+ r = FcRangeCanonicalize (v->u.range);
+ begin = (FcChar32)r.u.d.begin;
+ end = (FcChar32)r.u.d.end;
+ if (begin <= end)
{
- for (i = v->u.range.begin; i <= v->u.range.end; i++)
+ for (i = begin; i <= end; i++)
{
if (!FcBlanksAdd (parse->config->blanks, i))
goto bail;
@@ -1463,9 +1489,11 @@ static void
FcParseRange (FcConfigParse *parse)
{
FcVStack *vstack;
- FcRange r = {0, 0};
- FcChar32 n;
+ FcRange *r;
+ FcChar32 n[2] = {0, 0};
int count = 1;
+ double d[2] = {0.0L, 0.0L};
+ FcBool dflag = FcFalse;
while ((vstack = FcVStackPeek (parse)))
{
@@ -1476,31 +1504,52 @@ FcParseRange (FcConfigParse *parse)
}
switch ((int) vstack->tag) {
case FcVStackInteger:
- n = vstack->u.integer;
+ if (dflag)
+ d[count] = (double)vstack->u.integer;
+ else
+ n[count] = vstack->u.integer;
+ break;
+ case FcVStackDouble:
+ if (count == 0 && !dflag)
+ d[1] = (double)n[1];
+ d[count] = vstack->u._double;
+ dflag = FcTrue;
break;
default:
FcConfigMessage (parse, FcSevereError, "invalid element in range");
- n = 0;
+ if (dflag)
+ d[count] = 0.0L;
+ else
+ n[count] = 0;
break;
}
- if (count == 1)
- r.end = n;
- else
- r.begin = n;
count--;
FcVStackPopAndDestroy (parse);
}
- if (count < 0)
+ if (count >= 0)
{
- if (r.begin > r.end)
+ FcConfigMessage (parse, FcSevereError, "invalid range");
+ return;
+ }
+ if (dflag)
+ {
+ if (d[0] > d[1])
{
FcConfigMessage (parse, FcSevereError, "invalid range");
return;
}
- FcVStackPushRange (parse, &r);
+ r = FcRangeCreateDouble (d[0], d[1]);
}
else
- FcConfigMessage (parse, FcSevereError, "invalid range");
+ {
+ if (n[0] > n[1])
+ {
+ FcConfigMessage (parse, FcSevereError, "invalid range");
+ return;
+ }
+ r = FcRangeCreateInteger (n[0], n[1]);
+ }
+ FcVStackPushRange (parse, r);
}
static FcBool
@@ -1536,7 +1585,8 @@ FcParseCharSet (FcConfigParse *parse)
{
FcVStack *vstack;
FcCharSet *charset = FcCharSetCreate ();
- FcChar32 i;
+ FcChar32 i, begin, end;
+ FcRange r;
int n = 0;
while ((vstack = FcVStackPeek (parse)))
@@ -1551,9 +1601,13 @@ FcParseCharSet (FcConfigParse *parse)
n++;
break;
case FcVStackRange:
- if (vstack->u.range.begin <= vstack->u.range.end)
+ r = FcRangeCanonicalize (vstack->u.range);
+ begin = (FcChar32)r.u.d.begin;
+ end = (FcChar32)r.u.d.end;
+
+ if (begin <= end)
{
- for (i = vstack->u.range.begin; i <= vstack->u.range.end; i++)
+ for (i = begin; i <= end; i++)
{
if (!FcCharSetAddChar (charset, i))
{
@@ -1888,6 +1942,7 @@ FcPopExpr (FcConfigParse *parse)
expr = FcExprCreateMatrix (parse->config, vstack->u.matrix);
break;
case FcVStackRange:
+ expr = FcExprCreateRange (parse->config, vstack->u.range);
break;
case FcVStackBool:
expr = FcExprCreateBool (parse->config, vstack->u.bool_);
@@ -1996,7 +2051,14 @@ FcParseDir (FcConfigParse *parse)
attr = FcConfigGetAttribute (parse, "prefix");
if (attr && FcStrCmp (attr, (const FcChar8 *)"xdg") == 0)
+ {
prefix = FcConfigXdgDataHome ();
+ /* home directory might be disabled.
+ * simply ignore this element.
+ */
+ if (!prefix)
+ goto bail;
+ }
data = FcStrBufDoneStatic (&parse->pstack->str);
if (!data)
{
@@ -2087,11 +2149,18 @@ static void
FcParseCacheDir (FcConfigParse *parse)
{
const FcChar8 *attr;
- FcChar8 *prefix = NULL, *p, *data;
+ FcChar8 *prefix = NULL, *p, *data = NULL;
attr = FcConfigGetAttribute (parse, "prefix");
if (attr && FcStrCmp (attr, (const FcChar8 *)"xdg") == 0)
+ {
prefix = FcConfigXdgCacheHome ();
+ /* home directory might be disabled.
+ * simply ignore this element.
+ */
+ if (!prefix)
+ goto bail;
+ }
data = FcStrBufDone (&parse->pstack->str);
if (!data)
{
@@ -2180,7 +2249,9 @@ FcParseInclude (FcConfigParse *parse)
FcChar8 *s;
const FcChar8 *attr;
FcBool ignore_missing = FcFalse;
+#ifndef _WIN32
FcBool deprecated = FcFalse;
+#endif
FcChar8 *prefix = NULL, *p;
static FcChar8 *userdir = NULL;
static FcChar8 *userconf = NULL;
@@ -2194,12 +2265,21 @@ FcParseInclude (FcConfigParse *parse)
attr = FcConfigGetAttribute (parse, "ignore_missing");
if (attr && FcConfigLexBool (parse, (FcChar8 *) attr) == FcTrue)
ignore_missing = FcTrue;
+#ifndef _WIN32
attr = FcConfigGetAttribute (parse, "deprecated");
if (attr && FcConfigLexBool (parse, (FcChar8 *) attr) == FcTrue)
deprecated = FcTrue;
+#endif
attr = FcConfigGetAttribute (parse, "prefix");
if (attr && FcStrCmp (attr, (const FcChar8 *)"xdg") == 0)
+ {
prefix = FcConfigXdgConfigHome ();
+ /* home directory might be disabled.
+ * simply ignore this element.
+ */
+ if (!prefix)
+ goto bail;
+ }
if (prefix)
{
size_t plen = strlen ((const char *)prefix);
@@ -2653,6 +2733,11 @@ FcPopValue (FcConfigParse *parse)
if (value.u.l)
value.type = FcTypeLangSet;
break;
+ case FcVStackRange:
+ value.u.r = FcRangeCopy (vstack->u.range);
+ if (value.u.r)
+ value.type = FcTypeRange;
+ break;
default:
FcConfigMessage (parse, FcSevereWarning, "unknown pattern element %d",
vstack->tag);
@@ -3069,11 +3154,12 @@ FcConfigParseAndLoad (FcConfig *config,
{
XML_Parser p;
- FcChar8 *filename;
+ FcChar8 *filename, *f;
int fd;
int len;
FcConfigParse parse;
FcBool error = FcTrue;
+ const FcChar8 *sysroot = FcConfigGetSysRoot (config);
#ifdef ENABLE_LIBXML2
xmlSAXHandler sax;
@@ -3098,9 +3184,14 @@ FcConfigParseAndLoad (FcConfig *config,
}
#endif
- filename = FcConfigFilename (name);
- if (!filename)
+ f = FcConfigFilename (name);
+ if (!f)
goto bail0;
+ if (sysroot)
+ filename = FcStrBuildFilename (sysroot, f, NULL);
+ else
+ filename = FcStrdup (f);
+ FcStrFree (f);
if (FcStrSetMember (config->configFiles, filename))
{
diff --git a/test-driver b/test-driver
new file mode 100755
index 00000000..d3060566
--- /dev/null
+++ b/test-driver
@@ -0,0 +1,139 @@
+#! /bin/sh
+# test-driver - basic testsuite driver script.
+
+scriptversion=2013-07-13.22; # UTC
+
+# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+# Make unconditional expansion of undefined variables an error. This
+# helps a lot in preventing typo-related bugs.
+set -u
+
+usage_error ()
+{
+ echo "$0: $*" >&2
+ print_usage >&2
+ exit 2
+}
+
+print_usage ()
+{
+ cat <<END
+Usage:
+ test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
+ [--expect-failure={yes|no}] [--color-tests={yes|no}]
+ [--enable-hard-errors={yes|no}] [--]
+ TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
+The '--test-name', '--log-file' and '--trs-file' options are mandatory.
+END
+}
+
+test_name= # Used for reporting.
+log_file= # Where to save the output of the test script.
+trs_file= # Where to save the metadata of the test run.
+expect_failure=no
+color_tests=no
+enable_hard_errors=yes
+while test $# -gt 0; do
+ case $1 in
+ --help) print_usage; exit $?;;
+ --version) echo "test-driver $scriptversion"; exit $?;;
+ --test-name) test_name=$2; shift;;
+ --log-file) log_file=$2; shift;;
+ --trs-file) trs_file=$2; shift;;
+ --color-tests) color_tests=$2; shift;;
+ --expect-failure) expect_failure=$2; shift;;
+ --enable-hard-errors) enable_hard_errors=$2; shift;;
+ --) shift; break;;
+ -*) usage_error "invalid option: '$1'";;
+ *) break;;
+ esac
+ shift
+done
+
+missing_opts=
+test x"$test_name" = x && missing_opts="$missing_opts --test-name"
+test x"$log_file" = x && missing_opts="$missing_opts --log-file"
+test x"$trs_file" = x && missing_opts="$missing_opts --trs-file"
+if test x"$missing_opts" != x; then
+ usage_error "the following mandatory options are missing:$missing_opts"
+fi
+
+if test $# -eq 0; then
+ usage_error "missing argument"
+fi
+
+if test $color_tests = yes; then
+ # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
+ red='' # Red.
+ grn='' # Green.
+ lgn='' # Light green.
+ blu='' # Blue.
+ mgn='' # Magenta.
+ std='' # No color.
+else
+ red= grn= lgn= blu= mgn= std=
+fi
+
+do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
+trap "st=129; $do_exit" 1
+trap "st=130; $do_exit" 2
+trap "st=141; $do_exit" 13
+trap "st=143; $do_exit" 15
+
+# Test script is run here.
+"$@" >$log_file 2>&1
+estatus=$?
+if test $enable_hard_errors = no && test $estatus -eq 99; then
+ estatus=1
+fi
+
+case $estatus:$expect_failure in
+ 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
+ 0:*) col=$grn res=PASS recheck=no gcopy=no;;
+ 77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
+ 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;;
+ *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;;
+ *:*) col=$red res=FAIL recheck=yes gcopy=yes;;
+esac
+
+# Report outcome to console.
+echo "${col}${res}${std}: $test_name"
+
+# Register the test result, and other relevant metadata.
+echo ":test-result: $res" > $trs_file
+echo ":global-test-result: $res" >> $trs_file
+echo ":recheck: $recheck" >> $trs_file
+echo ":copy-in-global-log: $gcopy" >> $trs_file
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/test/Makefile.in b/test/Makefile.in
new file mode 100644
index 00000000..87869db1
--- /dev/null
+++ b/test/Makefile.in
@@ -0,0 +1,1033 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2)
+@HAVE_PTHREAD_TRUE@am__append_1 = test-pthread
+@OS_WIN32_FALSE@am__append_2 = test-migration
+subdir = test
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp $(top_srcdir)/test-driver
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
+ $(top_srcdir)/m4/ax_cc_for_build.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+@HAVE_PTHREAD_TRUE@am__EXEEXT_1 = test-pthread$(EXEEXT)
+@OS_WIN32_FALSE@am__EXEEXT_2 = test-migration$(EXEEXT)
+PROGRAMS = $(noinst_PROGRAMS)
+test_migration_SOURCES = test-migration.c
+test_migration_OBJECTS = test-migration.$(OBJEXT)
+@OS_WIN32_FALSE@test_migration_DEPENDENCIES = \
+@OS_WIN32_FALSE@ $(top_builddir)/src/libfontconfig.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+test_pthread_SOURCES = test-pthread.c
+test_pthread_OBJECTS = test-pthread.$(OBJEXT)
+@HAVE_PTHREAD_TRUE@test_pthread_DEPENDENCIES = \
+@HAVE_PTHREAD_TRUE@ $(top_builddir)/src/libfontconfig.la
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = test-migration.c test-pthread.c
+DIST_SOURCES = test-migration.c test-pthread.c
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors_dummy = \
+ mgn= red= grn= lgn= blu= brg= std=; \
+ am__color_tests=no
+am__tty_colors = { \
+ $(am__tty_colors_dummy); \
+ if test "X$(AM_COLOR_TESTS)" = Xno; then \
+ am__color_tests=no; \
+ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+ am__color_tests=yes; \
+ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+ am__color_tests=yes; \
+ fi; \
+ if test $$am__color_tests = yes; then \
+ red=''; \
+ grn=''; \
+ lgn=''; \
+ blu=''; \
+ mgn=''; \
+ brg=''; \
+ std=''; \
+ fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__recheck_rx = ^[ ]*:recheck:[ ]*
+am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
+am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+ recheck = 1; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ { \
+ if ((getline line2 < ($$0 ".log")) < 0) \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+ { \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+ { \
+ break; \
+ } \
+ }; \
+ if (recheck) \
+ print $$0; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+ print "fatal: making $@: " msg | "cat >&2"; \
+ exit 1; \
+} \
+function rst_section(header) \
+{ \
+ print header; \
+ len = length(header); \
+ for (i = 1; i <= len; i = i + 1) \
+ printf "="; \
+ printf "\n\n"; \
+} \
+{ \
+ copy_in_global_log = 1; \
+ global_test_result = "RUN"; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".trs"); \
+ if (line ~ /$(am__global_test_result_rx)/) \
+ { \
+ sub("$(am__global_test_result_rx)", "", line); \
+ sub("[ ]*$$", "", line); \
+ global_test_result = line; \
+ } \
+ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+ copy_in_global_log = 0; \
+ }; \
+ if (copy_in_global_log) \
+ { \
+ rst_section(global_test_result ": " $$0); \
+ while ((rc = (getline line < ($$0 ".log"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".log"); \
+ print line; \
+ }; \
+ printf "\n"; \
+ }; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+ --color-tests "$$am__color_tests" \
+ --enable-hard-errors "$$am__enable_hard_errors" \
+ --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test. Creates the
+# directory for the log if needed. Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log. Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup); \
+$(am__vpath_adj_setup) $(am__vpath_adj) \
+$(am__tty_colors); \
+srcdir=$(srcdir); export srcdir; \
+case "$@" in \
+ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
+ *) am__odir=.;; \
+esac; \
+test "x$$am__odir" = x"." || test -d "$$am__odir" \
+ || $(MKDIR_P) "$$am__odir" || exit $$?; \
+if test -f "./$$f"; then dir=./; \
+elif test -f "$$f"; then dir=; \
+else dir="$(srcdir)/"; fi; \
+tst=$$dir$$f; log='$@'; \
+if test -n '$(DISABLE_HARD_ERRORS)'; then \
+ am__enable_hard_errors=no; \
+else \
+ am__enable_hard_errors=yes; \
+fi; \
+case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
+ am__expect_failure=yes;; \
+ *) \
+ am__expect_failure=no;; \
+esac; \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed). The result is saved in the shell variable
+# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+ bases='$(TEST_LOGS)'; \
+ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+ bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+TEST_SUITE_LOG = test-suite.log
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+TEST_LOGS = $(am__test_logs2:.sh.log=.log)
+SH_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
+SH_LOG_COMPILE = $(SH_LOG_COMPILER) $(AM_SH_LOG_FLAGS) $(SH_LOG_FLAGS)
+am__set_b = \
+ case '$@' in \
+ */*) \
+ case '$*' in \
+ */*) b='$*';; \
+ *) b=`echo '$@' | sed 's/\.log$$//'`; \
+ esac;; \
+ *) \
+ b='$*';; \
+ esac
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASECONFIGDIR = @BASECONFIGDIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CONFIGDIR = @CONFIGDIR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCMAN3 = @DOCMAN3@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FC_ADD_FONTS = @FC_ADD_FONTS@
+FC_CACHEDIR = @FC_CACHEDIR@
+FC_DEFAULT_FONTS = @FC_DEFAULT_FONTS@
+FC_FONTDATE = @FC_FONTDATE@
+FC_FONTPATH = @FC_FONTPATH@
+FGREP = @FGREP@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GIT = @GIT@
+GPERF = @GPERF@
+GREP = @GREP@
+HASDOCBOOK = @HASDOCBOOK@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+ICONV_CFLAGS = @ICONV_CFLAGS@
+ICONV_LIBS = @ICONV_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBT_CURRENT = @LIBT_CURRENT@
+LIBT_CURRENT_MINUS_AGE = @LIBT_CURRENT_MINUS_AGE@
+LIBT_REVISION = @LIBT_REVISION@
+LIBT_VERSION_INFO = @LIBT_VERSION_INFO@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RM = @RM@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEMPLATEDIR = @TEMPLATEDIR@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XMLDIR = @XMLDIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+fc_cachedir = @fc_cachedir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+check_SCRIPTS = run-test.sh
+TEST_EXTENSIONS = \
+ .sh \
+ $(NULL)
+
+AM_TESTS_ENVIRONMENT = \
+ src=${srcdir}; export src; \
+ EXEEXT=${EXEEXT}; export EXEEXT; \
+ $(NULL)
+
+SH_LOG_COMPILER = sh
+TESTS = run-test.sh
+TESTDATA = 4x6.pcf 8x16.pcf out.expected fonts.conf.in
+AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir)
+@HAVE_PTHREAD_TRUE@test_pthread_LDADD = $(top_builddir)/src/libfontconfig.la
+# We don't enable this test by default because it will require config and fonts
+# to meaningfully test anything, and we are not installed yet.
+#TESTS += test-pthread
+noinst_PROGRAMS = $(check_PROGRAMS)
+@OS_WIN32_FALSE@test_migration_LDADD = $(top_builddir)/src/libfontconfig.la
+EXTRA_DIST = $(check_SCRIPTS) $(TESTDATA)
+CLEANFILES =
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .log .o .obj .sh .sh$(EXEEXT) .trs
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu test/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+test-migration$(EXEEXT): $(test_migration_OBJECTS) $(test_migration_DEPENDENCIES) $(EXTRA_test_migration_DEPENDENCIES)
+ @rm -f test-migration$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_migration_OBJECTS) $(test_migration_LDADD) $(LIBS)
+
+test-pthread$(EXEEXT): $(test_pthread_OBJECTS) $(test_pthread_DEPENDENCIES) $(EXTRA_test_pthread_DEPENDENCIES)
+ @rm -f test-pthread$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_pthread_OBJECTS) $(test_pthread_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-migration.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pthread.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+ rm -f $< $@
+ $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+ @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+ @$(am__set_TESTS_bases); \
+ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+ redo_bases=`for i in $$bases; do \
+ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+ done`; \
+ if test -n "$$redo_bases"; then \
+ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+ if $(am__make_dryrun); then :; else \
+ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+ fi; \
+ fi; \
+ if test -n "$$am__remaking_logs"; then \
+ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+ "recursion detected" >&2; \
+ else \
+ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+ fi; \
+ if $(am__make_dryrun); then :; else \
+ st=0; \
+ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+ for i in $$redo_bases; do \
+ test -f $$i.trs && test -r $$i.trs \
+ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+ test -f $$i.log && test -r $$i.log \
+ || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+ done; \
+ test $$st -eq 0 || exit 1; \
+ fi
+ @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+ ws='[ ]'; \
+ results=`for b in $$bases; do echo $$b.trs; done`; \
+ test -n "$$results" || results=/dev/null; \
+ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
+ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
+ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
+ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
+ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+ if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+ success=true; \
+ else \
+ success=false; \
+ fi; \
+ br='==================='; br=$$br$$br$$br$$br; \
+ result_count () \
+ { \
+ if test x"$$1" = x"--maybe-color"; then \
+ maybe_colorize=yes; \
+ elif test x"$$1" = x"--no-color"; then \
+ maybe_colorize=no; \
+ else \
+ echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+ fi; \
+ shift; \
+ desc=$$1 count=$$2; \
+ if test $$maybe_colorize = yes && test $$count -gt 0; then \
+ color_start=$$3 color_end=$$std; \
+ else \
+ color_start= color_end=; \
+ fi; \
+ echo "$${color_start}# $$desc $$count$${color_end}"; \
+ }; \
+ create_testsuite_report () \
+ { \
+ result_count $$1 "TOTAL:" $$all "$$brg"; \
+ result_count $$1 "PASS: " $$pass "$$grn"; \
+ result_count $$1 "SKIP: " $$skip "$$blu"; \
+ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+ result_count $$1 "FAIL: " $$fail "$$red"; \
+ result_count $$1 "XPASS:" $$xpass "$$red"; \
+ result_count $$1 "ERROR:" $$error "$$mgn"; \
+ }; \
+ { \
+ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
+ $(am__rst_title); \
+ create_testsuite_report --no-color; \
+ echo; \
+ echo ".. contents:: :depth: 2"; \
+ echo; \
+ for b in $$bases; do echo $$b; done \
+ | $(am__create_global_log); \
+ } >$(TEST_SUITE_LOG).tmp || exit 1; \
+ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
+ if $$success; then \
+ col="$$grn"; \
+ else \
+ col="$$red"; \
+ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
+ fi; \
+ echo "$${col}$$br$${std}"; \
+ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
+ echo "$${col}$$br$${std}"; \
+ create_testsuite_report --maybe-color; \
+ echo "$$col$$br$$std"; \
+ if $$success; then :; else \
+ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
+ if test -n "$(PACKAGE_BUGREPORT)"; then \
+ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+ fi; \
+ echo "$$col$$br$$std"; \
+ fi; \
+ $$success || exit 1
+
+check-TESTS:
+ @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
+ @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @set +e; $(am__set_TESTS_bases); \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+ exit $$?;
+recheck: all $(check_PROGRAMS) $(check_SCRIPTS)
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @set +e; $(am__set_TESTS_bases); \
+ bases=`for i in $$bases; do echo $$i; done \
+ | $(am__list_recheck_tests)` || exit 1; \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ log_list=`echo $$log_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+ am__force_recheck=am--force-recheck \
+ TEST_LOGS="$$log_list"; \
+ exit $$?
+.sh.log:
+ @p='$<'; \
+ $(am__set_b); \
+ $(am__check_pre) $(SH_LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.sh$(EXEEXT).log:
+@am__EXEEXT_TRUE@ @p='$<'; \
+@am__EXEEXT_TRUE@ $(am__set_b); \
+@am__EXEEXT_TRUE@ $(am__check_pre) $(SH_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \
+@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_SCRIPTS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+ -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+ -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+ -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-noinstPROGRAMS mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
+ clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am recheck tags tags-am uninstall \
+ uninstall-am
+
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/test/test-migration.c b/test/test-migration.c
index 9366edbf..bcd805df 100644
--- a/test/test-migration.c
+++ b/test/test-migration.c
@@ -56,7 +56,7 @@ mkdir_p(const char *dir)
if (strlen (dir) == 0)
return FcFalse;
- parent = (char *) FcStrDirname (dir);
+ parent = (char *) FcStrDirname ((const FcChar8 *)dir);
if (!parent)
return FcFalse;
if (access (parent, F_OK) == 0)